yxj
2024-12-17 e37e050f953f9934896ea9b65f3c063bf4d8d45f
WebTM/views/ÁìÁÏ·¢»õ/ÏúÊÛ³ö¿â/Kf_SellOutBillList.html
@@ -17,7 +17,7 @@
    <script src="../../../layuiadmin/HideButton.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <style type="text/css">
        input.layui-input.layui-unselect {
            padding-right: 0;
@@ -62,6 +62,12 @@
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBillNo" id="HBillNo" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">项目编号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HProjectNumber" id="HProjectNumber" style="width:190px;">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
@@ -90,6 +96,17 @@
                                                <input type="text" class="layui-input ForFilteringSchemes" name="HMaterName" id="HMaterName" style="width:190px;">
                                            </div>
                                        </div>
                                        <!--<div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">子类型</label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                                <select name="HBillSubType" id="HBillSubType" lay-filter="HBillSubType" style="" disabled>
                                                    <option value="0" selected="selected"></option>
                                                    <option value="工程类">工程类</option>
                                                    <option value="任务类">任务类</option>
                                                </select>
                                            </div>
                                        </div>-->
                                    </div>
                                    <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
                                        <div class="layui-inline">
@@ -177,6 +194,7 @@
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <div id="page"></div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Add" id="btn-Add"><i class="layui-icon layui-icon-file-b"></i>新增</button>
@@ -184,6 +202,7 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-PushExceptiveCheckRequestBill" id="btn-PushExceptiveCheckRequestBill"><i class="layui-icon layui-icon-delete"></i>下推(特批申请单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-PushReceivableBills" id="btn-PushReceivableBills"><i class="layui-icon layui-icon-delete"></i>多行下推(应收单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-PushSellOutChangeBills" id="btn-PushSellOutChangeBills"><i class="layui-icon layui-icon-delete"></i>多行下推(销售调价单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-PushOutDoorBills" id="btn-PushOutDoorBills"><i class="layui-icon layui-icon-delete"></i>多行下推(出门确认单)</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Delete" id="btn-Delete"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_CheckBill" id="CheckBill"><i class="layui-icon layui-icon-form"></i>审核</button>
@@ -194,9 +213,9 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AbandonCheck_Flow" id="AbandonCheck_Flow"><i class="layui-icon layui-icon-form"></i>多级反审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_RejectCheck_Flow" id="RejectCheck_Flow"><i class="layui-icon layui-icon-form"></i>驳回</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm"   lay-event="set_CloseBill" id="set_CloseBill"><i class="layui-icon layui-icon-form"></i>关闭</button>
                                <button type="button" class="layui-btn layui-btn-sm"   lay-event="set_CancelCloseBill" id="set_CancelCloseBill"><i class="layui-icon layui-icon-form"></i>反关闭</button>-->
            <button type="button" class="layui-btn layui-btn-sm"   lay-event="set_CancelCloseBill" id="set_CancelCloseBill"><i class="layui-icon layui-icon-form"></i>反关闭</button>-->
                                <!--<button type="button" class="layui-btn layui-btn-sm"   lay-event="set_Drop" id="set_Drop"><i class="layui-icon layui-icon-radio"></i>作废</button>
                                <button type="button" class="layui-btn layui-btn-sm"   lay-event="set_DeDrop" id="set_DeDrop"><i class="layui-icon layui-icon-radio"></i>反作废</button>-->
            <button type="button" class="layui-btn layui-btn-sm"   lay-event="set_DeDrop" id="set_DeDrop"><i class="layui-icon layui-icon-radio"></i>反作废</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_BarCodeNote" id="get_BarCodeNote"><i class="layui-icon layui-icon-refresh-3"></i>条码明细</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_LookDown" id="get_LookDown"><i class="layui-icon layui-icon-refresh-3"></i>下查</button>
                                <button type="button" class="layui-btn layui-btn-sm" id="btn-print" lay-event="btn-print"><i class="layui-icon layui-icon-form"></i>打印</button>
@@ -235,12 +254,16 @@
                , laydate = layui.laydate
                , util = layui.util
                , soulTable = layui.soulTable
            var Organization = sessionStorage["Organization"];
            //查询条件
            var sWhere = "";
            var option = [];
            var HModName = "Kf_SellOutBillList";
            var HBillType = "1205";
            var HBillSubType = "";
            var ins;                        //用于导出excel
            //#endregion
@@ -275,12 +298,25 @@
            form.on('submit(btnReSearch)', function (data) {
                //清空过滤条件
                set_ClearQuery();
                optionPage.curr = 1;
                get_FastQuery(table, option);
            });
            //#endregion
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                optionPage.curr = 1;
                get_FastQuery(table, option);
            });
            //#endregion
            //#endregion è¾“入框回车监听
            $('input[type="text"]').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    $("#btnSearch").click();
                }
            });
            //#endregion
@@ -307,6 +343,11 @@
                    //多行下推(销售调价单)
                    case 'btn-PushSellOutChangeBills':
                        set_PushSellOutChangeBills();
                        break;
                    //多行下推(出门确认单)
                    case 'btn-PushOutDoorBills':
                        set_PushOutDoorBills();
                        break;
                    //删除
                    case 'btn-Delete':
@@ -408,6 +449,23 @@
            })
            //#endregion
            //#region æŽ’序后选择
            table.on('sort(mainTable)', function (obj) { //注:sort æ˜¯å·¥å…·æ¡äº‹ä»¶åï¼Œtest æ˜¯ table åŽŸå§‹å®¹å™¨çš„å±žæ€§ lay-filter="对应的值"
                table.reload('mainTable', {
                    initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 æ–°å¢žå‚æ•°
                    , where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
                        field: obj.field //排序字段   åœ¨æŽ¥å£ä½œä¸ºå‚数字段  field order
                        , order: obj.type //排序方式   åœ¨æŽ¥å£ä½œä¸ºå‚数字段  field order
                    }
                });
                option.data = layui.table.cache["mainTable"];
                table.render(option);
                //刷新按钮显示
                var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                Display_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
            });
            //#endregion
            //#region åŒå‡»è¿›å…¥ç¼–辑
            table.on('rowDouble(mainTable)', function (obj) {
                //选中高亮 åŒå‡»è¡Œ
@@ -485,6 +543,8 @@
                //初始化表格
                set_InitGrid();
                //初始化页大小
                DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], optionPage);
                //查询
                get_FastQuery(table, option);
                DisPlay_HideColumn();
@@ -500,10 +560,10 @@
                    , toolbar: '#toolbarDemo'
                    , totalRow: true
                    , height: 'full-50'
                    , page: true
                    //, page: true
                    , cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                    //, limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
@@ -558,6 +618,29 @@
                        //, { field: '销售方式', title: '销售方式', width: 200, hide: true, sort: true }
                    ]]
                };
                optionPage = {
                    elem: 'page', //注意,这里的 page æ˜¯ ID,不用加 # å·
                    count: 10000, //数据总数,从服务端得到
                    limit: 50,
                    limits: [50, 500, 5000, 50000],
                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
                    jump: function (obj, first) {
                        //console.log(obj)
                        //obj包含了当前分页的所有参数,比如:
                        //console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
                        //console.log(obj.limit); //得到每页显示的条数
                        //首次不执行
                        if (!first) {
                            //do something
                            console.log(obj)
                            get_FastQuery(table, option);
                        }
                    }
                }
                laypage.render(optionPage);
            }
            //#endregion
            //#endregion  ç›‘听网格表体事件
@@ -711,11 +794,122 @@
            }
            //#endregion
            //#region æŸ¥è¯¢(主表)-分页
            function get_DisplayPage(sWhere) {
                var wait = layer.load();//遮罩
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Kf_SellOutBill/GetSellOutBillList_byPage',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "Organization": Organization, "page": optionPage.curr, "size": optionPage.limit },
                    success: function (data1) {
                        option.limit = optionPage.limit;//改变表格页大小
                        if (data1.code == 1) {
                            optionPage.count = data1.count;//改变列表数据总数
                            var data = [];//列字段数据
                            var col = [];
                            var totalArray = ["件数"];
                            //给空的数组赋值
                            for (var key in data1.list) {//循序遍历数组
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//从每个对象中提取数据
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            for (var i = 0; i < data.length; i++) {//遍历data数组重的数据
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {//检查data【i】.name是否在数组中  //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if ($.inArray(data[i].name, totalArray) > -1 || (data[i].Type == "Decimal" || data[i].Type == "Int32")) { //计算列
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
                                } else if (data[i].name == '单据号') {
                                    col.push({
                                        field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: '单据号'
                                        , event: '单据号', templet: function (d) {
                                            return '<span style="color: blue;">' + d.单据号 + '</span>'
                                        }, style: 'cursor: pointer;'
                                    });
                                } else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            var result = data1.data;
                            var temp = "";
                            for (var i = 0; i < result.length; i++) {
                                if (temp != result[i]["hmainid"]) {
                                    temp = result[i]["hmainid"];
                                } else {
                                    result[i].日期 = null;
                                    result[i].单据号 = "";
                                    /*result[i].状态 = "";*/
                                    result[i].红蓝单标记 = "";
                                    result[i].hsupid = "";
                                    result[i].客户 = "";
                                    result[i].HEmpID = "";
                                    result[i].业务员 = "";
                                    result[i].hmanagerid = "";
                                    result[i].主管 = "";
                                    result[i].hsecmanagerid = "";
                                    result[i].发货人 = "";
                                    result[i].hkeeperid = "";
                                    result[i].保管员 = "";
                                    result[i].HDeptID = "";
                                    result[i].部门 = "";
                                    result[i].销售方式 = "";
                                }
                            }
                            option.data = result;
                            ins = table.render(option);
                            laypage.render(optionPage);
                            DisPlay_HideColumn();
                            //刷新按钮显示
                            var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                            Display_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                                ColFilter();
                            }
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                            /*layer.alert(data1.code + data1.Message, { icon: 5 });*/
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                DisPlay_HideColumn();
                layer.close(wait);
            }
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(table, option) {
                var HBeginDate = $("#HBeginDate").val();//开始日期
                var HEndDate = $("#HEndDate").val();//结束日期
                var HBillNo = $("#HBillNo").val();//单据号
                var HProjectNumber = $("#HProjectNumber").val(); //项目编号
                var HCusID = $("#HCusID").val();
                var HMaterNumber = $("#HMaterNumber").val();
                var HMaterName = $("#HMaterName").val();
@@ -801,6 +995,15 @@
                if (HBillNo) {
                    sWhere += " and å•据号 like '%" + HBillNo + "%'";
                }
                if (HProjectNumber) {
                    sWhere += " and é¡¹ç›®ç¼–码 like '%" + HProjectNumber + "%'";
                    if (HBillSubType == "工程类") {
                        sWhere += "and é¡¹ç›®å­ç±»åž‹='工程类'"
                    } else if (HBillSubType == "任务类") {
                        sWhere += "and é¡¹ç›®å­ç±»åž‹='任务类'"
                    }
                }
                if (HCusID) {
                    sWhere += " and å®¢æˆ· like '%" + HCusID + "%'";
                }
@@ -816,7 +1019,10 @@
                //根据用户过滤用户关联客户的记录
                sWhere += getSWhereByHUser();
                get_Display(sWhere);
                //get_Display(sWhere);
                get_DisplayPage(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
@@ -827,6 +1033,7 @@
                $("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd")); //开始日期
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));  //结束日期
                $("#HBillNo").val("");//
                $("#HProjectNumber").val("");
                $("#HCusID").val("");
                $("#HMaterNumber").val("");
                $("#HMaterName").val("");
@@ -890,7 +1097,7 @@
                    shift: 2,
                    area: ['100%', '100%'],
                    maxmin: true,
                    content: '../../领料发货/销售出库/Kf_SellOutBill.html?OperationType=1&linterid=0&HSouceBillType=0&closeType=1',
                    content: '../../领料发货/销售出库/Kf_SellOutBill.html?OperationType=1&linterid=0&HSouceBillType=0&closeType=1&HBillSubType=' + HBillSubType,
                    end: function () {
                        //刷新页面,
                        $("#btnSearch").trigger('click');
@@ -917,7 +1124,7 @@
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: '../../领料发货/销售出库/Kf_SellOutBill.html?OperationType=3&linterid=' + hID + '&HSouceBillType=0&closeType=1'
                        , content: '../../领料发货/销售出库/Kf_SellOutBill.html?OperationType=3&linterid=' + hID + '&HSouceBillType=0&closeType=1&HBillSubType=' + HBillSubType
                        , resize: false,
                        end: function () {
                            //刷新页面,
@@ -1080,6 +1287,59 @@
                        , btn: ['确定']
                        // æŒ‰é’®1 çš„回调
                        ,end: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
                    })
                } else {
                    layer.msg('请选择数据下推!');
                }
            }
            //#endregion
            //#region å¤šè¡Œä¸‹æŽ¨ï¼ˆå‡ºé—¨è°ƒä»·å•)
            function set_PushOutDoorBills() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (data.length > 0) {
                    var dataArray = [];
                    var HSupID = data[0].HSupID;
                    for (var i = 0; i < data.length; i++) {
                        var temp = {
                            "hmainid": data[i].hmainid
                            , "hsubid": data[i].hsubid
                            , "HBillStatus": data[i].状态
                            , "HSourceBillType": "1205"
                        }
                        dataArray.push(temp);
                        if (data[i].状态 != "已审核") {
                            var err = "下推失败!单据【" + data[i].单据号 + "】的状态为“" + data[0].状态 + "”,不允许下推!";
                            layer.alert(err, { icon: 5 });
                            return;
                        }
                        //if (data[i].HSupID != HSupID) {
                        //    layer.msg("下推失败!已经选中的记录归属不同客户!");
                        //    return;
                        //}
                    }
                    var datajson = {
                        "data": dataArray
                    };
                    var url = encodeURI('../../销售管理/出门确认单_新/Xs_OutDoorBill.html?OperationType=4&linterid=0&HSouceBillType=1205&res=' + JSON.stringify(datajson));
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '销售出库单-多行下推出门确认单'
                        , shift: 0//弹出动画
                        , content: url
                        , btn: ['确定']
                        // æŒ‰é’®1 çš„回调
                        , end: function (index, layero, that) {
                            //刷新页面
                            $("#btnSearch").trigger('click');
                        }
@@ -1529,8 +1789,10 @@
                    , content: ['../../基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //初始化页大小
                        DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], optionPage);
                        //直接执行列表筛选 åŠ è½½æ•°æ®åˆ°ç½‘æ ¼
                        get_FastQuery(table, option);
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
@@ -1555,7 +1817,7 @@
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                if (dataCol.length =< i) {
                                if (dataCol.length <= i) {
                                    break;
                                }
                                var dataCols = dataCol[i].split('|');
@@ -1612,6 +1874,15 @@
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            //设置列排序
                            for (var i = 1; i < option.cols[0].length; i++) {
                                if (data1.data[0].HSortFlag == "是") {
                                    option.cols[0][i]["sort"] = true;
                                }
                                else {
                                    option.cols[0][i]["sort"] = false;
                                }
                            }
                            table.render(option);
@@ -1718,14 +1989,32 @@
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                HBillSubType = getParams("HBillSubType");
                var addSWhere = "";
                if (openType == 2) {
                    addSWhere = " and çŠ¶æ€ = '已审核' and è¡ŒçŠ¶æ€ = '' and HOrgID = " + HOrgID;
                    addSWhere = " and çŠ¶æ€ = '已审核' and HOrgID = " + HOrgID;
                    if (HBillSubType == "工程类") {
                        addSWhere += "and HBillSubType='工程类'"
                    } else if (HBillSubType == "任务类") {
                        addSWhere += "and HBillSubType='任务类'"
                    }
                }
                return addSWhere;
            }
            //将url参数中的中文乱码重新转换成中文
            function getParams(key) {
                var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
                //如果地址栏中出现中文则进行编码
                var r = encodeURI(window.location.search).substr(1).match(reg);
                if (r != null) {
                    //将中文编码的字符重新变成中文
                    return decodeURI(unescape(r[2]));
                }
                return "";
            };
            //#endregion
            //#region åˆå§‹æ—¥æœŸé—´éš” ä¸‹æ‹‰åˆ—表
@@ -1753,6 +2042,7 @@
                $.ajax({
                    url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                    type: "GET",
                    async: false,
                    data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": 0, "Type": "Default" },
                    success: function (data1) {
                        if (data1.count == 1) {