1
wangbin
2024-07-08 3dfe7dfe993869c8a44e9ccf177849abe98ca8d0
WebTM/views/PublicPage/HSourceReportHtml.html
@@ -31,38 +31,132 @@
                                <div class="layui-inline">
                                    <label class="layui-form-label">单据号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HBillNo" id="HBillNo" style="width:190px;">
                                        <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">
                                        <select name="HDeptName" id="HDeptName" lay-verify="required" lay-search class="layui-input ForFilteringSchemes">
                                            <!--动态渲染车间-->
                                        </select>
                                    </div>
                                </div>
                                <!--<div class="layui-inline">
                                    <label class="layui-form-label">部门</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HDeptName" id="HDeptName" style="width:190px;">
                                    </div>
                                </div>-->
                                <div class="layui-inline" id="HProcExchBillNoHidden" style="display:none;">
                                    <label class="layui-form-label">流转卡号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HProcExchBillNo" id="HProcExchBillNo" 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" name="PartNumber" id="PartNumber" 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" name="PartName" id="PartName" style="width:190px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="PartNumber" id="PartNumber" 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>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <!--显示当前过滤方案-->
                                <div class="layui-inline" style="margin-left:5px;">
                                    <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393" id="HFilterScheme_Now"></div>
                                </div>
                                <div class="layui-colla-content">
                                    <div class="layui-inline">
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <span>其他条件></span>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">物料名称</label>
                                            <div class="layui-input-block">
                                                <input type="text" class="layui-input ForFilteringSchemes" name="PartName" id="PartName" style="width:190px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">状态</label>
                                            <div class="layui-input-block">
                                                <select name="HBillStatus" id="HBillStatus" lay-verify="" lay-search class="layui-input ForFilteringSchemes">
                                                    <option value="">请选择</option>
                                                    <option value="计划">计划</option>
                                                    <option value="计划确认">计划确认</option>
                                                    <option value="下达">下达</option>
                                                    <option value="开工" selected>开工</option>
                                                    <option value="完工">完工</option>
                                                    <option value="结案">结案</option>
                                                    <option value="结算">结算</option>
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline" id="ICMOFilter_SPickMtrlStatus">
                                            <label class="layui-form-label">领料状态</label>
                                            <div class="layui-input-block">
                                                <select name="HPickMtrlStatus" id="HSPickMtrlStatus" lay-verify="" lay-search class="layui-input ForFilteringSchemes">
                                                    <option value="" selected>请选择</option>
                                                    <option value="未领料">未领料</option>
                                                    <option value="部分领料">部分领料</option>
                                                    <option value="全部领料">全部领料</option>
                                                    <option value="超额领料">超额领料</option>
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-row" style="margin-top:5px;margin-left:40px;">
                                            <div class="layui-inline" id="ICMOFilter_IsScheduling">
                                                <label class="layui-form-label">是否排产</label>
                                                <div class="layui-input-block">
                                                    <select name="HIsScheduling" id="HIsScheduling" lay-verify="" lay-search class="layui-input ForFilteringSchemes">
                                                        <option value="">请选择</option>
                                                        <option value="已排产" selected>已排产</option>
                                                        <option value="未排产">未排产</option>
                                                    </select>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="layui-row" style="margin-top:5px;margin-left:40px;">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">过滤</label>
                                                <div class="layui-input-block">
                                                    <select name="ColName" id="ColName" lay-filter="ColName" class="ForFilteringSchemes" style="width:190px;">
                                                    </select>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <select name="Comparator" id="Comparator" lay-filter="Comparator" class="ForFilteringSchemes" style="width:190px;">
                                                    <option value="0" selected="selected"></option>
                                                    <option value="=">=</option>
                                                    <option value=">=">>=</option>
                                                    <option value=">">></option>
                                                    <option value="<="><=</option>
                                                    <option value="<"><</option>
                                                    <option value="<>"><></option>
                                                    <option value="7">包含</option>
                                                    <option value="8">左包含</option>
                                                    <option value="9">右包含</option>
                                                    <option value="10">不包含</option>
                                                </select>
                                            </div>
                                            <div class="layui-inline">
                                                <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                    </div>
                            </div>
                        </div>
                        <table class="" id="layTable" lay-filter="layTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-add-1"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>保存方案</button>
                                <button type="button" class="layui-btn layui-btn-sm" style="" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>读取方案</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-add-1"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-edit"></i>编辑</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload" style="display:none;"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
@@ -70,7 +164,7 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back" id="btn_back" style="display:none;"><i class="layui-icon layui-icon-close-fill"></i>驳回</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-details" style="display:none;"><i class="layui-icon layui-icon-form"></i>详情</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-generate" style="display:none;"><i class="layui-icon layui-icon-file"></i>生成送货单</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit" style="display:none;"><i class="layui-icon layui-icon-return"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit" style="display:none;"><i class="layui-icon layui-icon-return"></i>退出</button>-->
                            </div>
                        </script>
@@ -84,6 +178,7 @@
    <script src="../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../layuiadmin/PubCustom.js"></script>
    <script src="../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script>
        //获取参数
        var params = get_UrlVars();
@@ -91,8 +186,8 @@
            var OperationType = 1;//操作类型
        } else {
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSouceBillType =  decodeURI(params[params[2]]);//源单类型
            var HOrgID = params[params[1]];//源单id
            var HSouceBillType = decodeURI(params[params[2]]);//源单类型
        }
        var cols_arr = []; //存储表格头的数组
        var table = null;
@@ -114,28 +209,80 @@
            //查询条件
            var sWhere = "";
            var resultTableHead = []; //获取列表头字段自定义列数组
            var HModName = "";
            var option = [];
            var titleData = [];//不需要显示的字段 可扩展
            //#endregion
            //#region 【过滤方案】
            //过滤条件的class类
            var HClassTag = "ForFilteringSchemes";
            //模块名称(中文版) 每个模块页面都需要修改
            window.HModuleName = "条码选源单";
            //是否已经选择了过滤方案(全局变量)
            window.HDefaultFilter = "";
            //选择的过滤方案内码(全局变量)
            window.HInterID_Choose = 0;
            //#endregion
            //隐藏过滤字段
            if (HSouceBillType != "生产订单") {
                document.getElementById("ICMOFilter_SPickMtrlStatus").style.display = "none";
                document.getElementById("ICMOFilter_IsScheduling").style.display = "none";
                document.getElementById("ICMOFilter_SPickMtrlStatus").style.visibility = 'hidden';
                document.getElementById("ICMOFilter_IsScheduling").style.visibility = 'hidden';
            }
            //#region 进入页面即加载
            //初始化表单插件
            //set_InitFrom();
            //获取部门列
            var HDeptName = '<option value="0" style="color:red;" selected>全部部门</option>';
            $.ajax({
                type: "get",
                async: false,
                url: GetWEBURL() + "/Sc_ICMOBill/GetHDeptList",
                data: { "HOrgID": HOrgID },
                success: function (result) {
                    if (result.count == 1) { // 说明验证成功了,
                        var data = result.data;
                        for (var i = 0; i < data.length; i++) {
                            if (i == 0)
                                HDeptName += '<option  style="color:blue;"  value="' + data[i].HItemID + '" >' + data[i].HName + '</option>';
                            else
                                HDeptName += '<option  style="color:blue;" value="' + data[i].HItemID + '">' + data[i].HName + '</option>';
                        }
                        $("#HDeptName").append(HDeptName);
                        form.render('select');
                    }
                    layer.closeAll("loading");
                }
            })
            //判断操作类型
            if (OperationType == 1) {//无源单
            }
            else if (OperationType == 3) {//有源单
                //get_FastQuery(HSouceBillType);
                set_ClearBill(sWhere, HSouceBillType);
                //查询当前登录用户有没有在当前模块设置默认过滤方案
                get_DefaultModule();
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#region 触发事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region 头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
            table.on('toolbar(layTable)', function (obj) {
                switch (obj.event) {
                    //新增
                    case 'set_AddNew': set_AddNew();
@@ -146,7 +293,16 @@
                    //删除
                    case 'set_DeleteBill': set_DeleteBill();
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumn();
                        break;
                    //保存方案
                    case 'set_SaveScheme': set_SaveScheme();
                        break;
                    //读取方案
                    case 'set_ReadScheme': set_ReadScheme();
                        break;
                };
            });
            //#endregion
@@ -154,6 +310,8 @@
            //#region 查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery(HSouceBillType);
                set_ClearBill(sWhere, HSouceBillType);
                sWhere = "";//调用接口后清空sWhere缓存
            });
            //#endregion
@@ -161,6 +319,27 @@
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
            //#region 点击行选中高亮
            table.on('row(layTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#FDFD7E;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable 为表格ID   注意此处如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.layTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#endregion
@@ -181,6 +360,39 @@
            // #region 初始化界面
            function set_ClearBill(sWhere, HSouceBillType) {
                resultTableHead = []; //清空表头列,防止重复渲染
                switch (HSouceBillType) {
                    case '生产订单':
                        HModName = "Sc_ICMOBill_3710";
                        break;
                    case '生产汇报单':
                        HModName = "Sc_ICMOReportBill_3711";
                        break;
                    case '采购订单':
                        HModName = "Cg_POOrderBill_1102";
                        break;
                    case '收料通知单':
                        HModName = "Cg_POInStockBill_1103";
                        break;
                    case '委外订单':
                        HModName = "WW_EntrustOrderBill_1601";
                        break;
                    case '生产入库单':
                        $("#HProcExchBillNoHidden").show();
                        HModName = "ProductInBill_1202";
                        break;
                    case '采购入库':
                        HModName = "POStockInBill_1201";
                        break;
                    case '销售退货':
                        HModName = "SellOutBackBill_1247";
                        break;
                    case '生产退料':
                        HModName = "MateOutBackBill_1244";
                        break;
                    case '工序流转卡':
                        HModName = "ProcessExchangeBill_3772";
                        break;
                }
                //初始查询
                get_Display(sWhere, HSouceBillType);
@@ -195,16 +407,18 @@
                $.ajax({
                    url: GetWEBURL() + '/Sc_BarCode/ReportFromBillList',
                    type: "GET",
                    data: { "page": 1, "limit": 50, "sWhere": sWhere, "HSouceBillType": HSouceBillType, "HOrgID": linterid },
                    data: { "page": 1, "limit": 50, "sWhere": sWhere, "HSouceBillType": HSouceBillType, "HOrgID": HOrgID },
                    async: false,
                    dataType: "json",//数据类型可以为 text xml json  script  jsonp
                    success: function (data1) {
                        layer.close(ajaxLoad);
                        for (var key in data1.list) {
                            resultTableHead.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                        }
                        set_InitGrid(sWhere);
                        set_InitGrid(data1);
                    }, error: function (err) {
                        layer.alert(err.Message, { icon: 5 });
                        layer.close(ajaxLoad);
                    }
                });
            }
@@ -212,7 +426,7 @@
            //#endregion
            //#region  初始化表格方法
            function set_InitGrid(sWhere) {
            function set_InitGrid(data1) {
                //填充表格头数组
                var data = resultTableHead;
                cols_arr[0] = [];
@@ -220,45 +434,49 @@
                for (var i = 0; i < data.length; i++) {
                    if (data[i].name.substr(0, 1) == 'H' || data[i].name.substr(0, 1) == 'h') {
                        cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', hide: true }; //隐藏id列
                        titleData.push(data[i].name);
                    }
                    else {
                        switch (data[i].Type) {
                            //int
                            case 'Int32':
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true,width:130 };
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true, width: 130 };
                                break;
                            //Decimal
                            case 'Decimal':
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true, width: 150};
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true, width: 150 };
                                break;
                            default:
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200};
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 };
                        }
                    }
                }
                //填充表格数据
                table.render({
                    elem: '#layTable',
                    url: GetWEBURL() + '/Sc_BarCode/ReportFromBillList',
                    //toolbar: '#toolbarDemo', //开启头部工具栏,并为其绑定左侧模板
                    title: '' + HSouceBillType + '',
                    cols: cols_arr,    //填充表格头数据,
                    id: 'layTable', //表格id
                    where: { sWhere: sWhere, HSouceBillType: HSouceBillType, HOrgID: linterid }, //扩展参数,可以传数据到后台
                    page: true,   //开启分页
                    totalRow: false, //开启合计
                    limit: 50,     //一页能够显示的最大数目
                    limits: [50, 500, 2000, 20000], //控制多少行一页(默认五条一页)
                    method: 'get',  //提交方式
                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
                    height:600,
                    response: {
                        statusCode: 1 //重新规定成功的状态码为 1,table 组件默认为 0
                    },
                    done: function (res) {   //返回数据执行回调函数
                option = {
                    id: 'layTable'
                    , elem: '#layTable'
                    , toolbar: '#toolbarDemo'
                    , cols: [cols_arr[0]]
                    , data: data1.data == null ? [] : data1.data
                    , title: '' + HSouceBillType + ''
                    , page: true   //开启分页
                    , totalRow: false //开启合计
                    , cellMinWidth: 120
                    , height: 'full-50'
                    , limit: 500     //一页能够显示的最大数目
                    , limits: [50, 500, 5000, 20000]
                    , method: 'get'  //提交方式
                    , layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
                    , loading: false
                    , done: function (res, curr, count) {  //返回数据执行回调函数
                        layer.close(layer.index);    //返回数据关闭loading
                    }
                });
                };
                table.render(option);
                DisPlay_HideColumn();
                if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                    ColFilter();
                }
            }
            //endregion
@@ -267,7 +485,33 @@
                var HBillNo = $("#HBillNo").val();//单据编号
                var PartNumber = $("#PartNumber").val();//物料编码
                var PartName = $("#PartName").val();//物料名称
                var HDeptName = $("#HDeptName").val();//部门
                var HProcExchBillNo = $("#HProcExchBillNo").val();//流转卡
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                switch (HSouceBillType) {
                    case '生产订单':
                        if (HBillNo) {
@@ -279,6 +523,22 @@
                        if (PartName) {
                            sWhere += " and 物料名称 like '%" + PartName + "%'";
                        }
                        if (HDeptName && HDeptName != 0) {
                            sWhere += " and HDeptID = '" + HDeptName + "'";
                        }
                        if ($("#HBillStatus").val() != "") {
                            sWhere += " and 状态 = '" + $("#HBillStatus").val() + "'";
                        }
                        //判断客户
                        if (sessionStorage["Organization"] == "九菱电机") {
                            if ($("#HSPickMtrlStatus").val() != "") {
                                sWhere += " and 领料状态 = '" + $("#HSPickMtrlStatus").val() + "'";
                            }
                            if ($("#HIsScheduling").val() != "") {
                                sWhere += $("#HIsScheduling").val() == "未排产" ? "and 是否排产 = ''" : " and 是否排产 = '" + $("#HIsScheduling").val() + "'";
                            }
                        }
                        return sWhere;
                        break;
                    case '生产汇报单':
@@ -290,6 +550,9 @@
                        }
                        if (PartName) {
                            sWhere += " and 物料名称 like '%" + PartName + "%'";
                        }
                        if (HDeptName && HDeptName != 0) {
                            sWhere += " and HDeptID = '" + HDeptName + "'";
                        }
                        return sWhere;
                        break;
@@ -303,6 +566,9 @@
                        if (PartName) {
                            sWhere += " and 物料名称 like '%" + PartName + "%'";
                        }
                        if (HDeptName && HDeptName != 0) {
                            sWhere += " and HDeptID = '" + HDeptName + "'";
                        }
                        return sWhere;
                        break;
                    case '收料通知单':
@@ -315,6 +581,9 @@
                        if (PartName) {
                            sWhere += " and 物料名称 like '%" + PartName + "%'";
                        }
                        if (HDeptName && HDeptName != 0) {
                            sWhere += " and HDeptID = '" + HDeptName + "'";
                        }
                        return sWhere;
                        break;
                    case '委外订单':
@@ -326,6 +595,27 @@
                        }
                        if (PartName) {
                            sWhere += " and 物料名称 like '%" + PartName + "%'";
                        }
                        if (HDeptName && HDeptName != 0) {
                            sWhere += " and HDeptID = '" + HDeptName + "'";
                        }
                        return sWhere;
                        break;
                    case '生产入库单':
                        if (HBillNo) {
                            sWhere += " and 单据号 like '%" + HBillNo + "%'";
                        }
                        if (PartNumber) {
                            sWhere += " and 物料代码 like '%" + PartNumber + "%'";
                        }
                        if (PartName) {
                            sWhere += " and 物料名称 like '%" + PartName + "%'";
                        }
                        if (HDeptName && HDeptName != 0) {
                            sWhere += " and HDeptID = '" + HDeptName + "'";
                        }
                        if (HProcExchBillNo != "") {
                            sWhere += " and 流转卡号 like '" + HProcExchBillNo + "%'";
                        }
                        return sWhere;
                        break;
@@ -346,22 +636,415 @@
                        break;
                    case '组装拆卸单':
                        return sWhere;
                    case '工序流转卡':
                        if (HBillNo) {
                            sWhere += " and 单据号 like '%" + HBillNo + "%'";
                        }
                        if (PartNumber) {
                            sWhere += " and 物料代码 like '%" + PartNumber + "%'";
                        }
                        if (PartName) {
                            sWhere += " and 物料名称 like '%" + PartName + "%'";
                        }
                        if (HDeptName && HDeptName != 0) {
                            sWhere += " and HDeptID = '" + HDeptName + "'";
                        }
                        return sWhere;
                        break;
                }
                set_ClearBill(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var contentUrl = "";
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI 进行编码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 的 样式
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //显示列数据 物料信息
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    async: false,
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(左 居中 右)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#region 重置过滤条件方法
            function set_ClearQuery() {
                $("#HBillNo").val("");//单据号
                $("#PartNumber").val("");//物料编码
                $("#PartName").val("");//物料名称
                $("#HDeptName").val("");//单据号
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                $("#HBillStatus").val("开工");//状态
                $("#HSPickMtrlStatus").val("");//领料状态
                form.render('select');
                get_FastQuery(HSouceBillType);
                sWhere = "";
            }
            //#endregion
            //#region 列明显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                for (var i = 1; i < option.cols[0].length; i++) {
                    if (option.cols[0][i].hide != true) {
                        Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                form.render('select');
            }
            //#endregion
            //获取参数
            function getUrlVars() {
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for (var i = 0; i < hashes.length; i++) {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
                return vars;
            }
            //#region 【过滤方案】
            //获取当前用户的默认过滤方案
            function get_DefaultModule() {
                $.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) {
                            //当前用户设置有默认的过滤方案
                            var data = data1.data;
                            //当前选择的过滤方案
                            HInterID_Choose = data[0].hmainid;
                            //过滤方案内码
                            HInterID = data[0].hmainid
                            //过滤方案名称
                            HDefaultFilter = data[0].方案名称
                            //过滤方案的备注(方案信息描述)
                            var HRemark = data[0].备注
                            //显示出当前的默认过滤方案
                            document.getElementById("HFilterScheme_Now").style.display = "block";
                            document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                            //把过滤条件值回写到页面上
                            for (let i = 0; i < data.length; i++) {
                                $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                                if (data[i].过滤标签类型 == 'SELECT') {
                                    $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                                }
                            }
                            var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
                            //若日期间隔不为 任意间隔,则禁用开始日期与结束日期的选择
                            if (HInitTimeCycle != -1) {
                                //$('#HDate').prop('disabled', true);
                                //$('#HDate1').prop('disabled', true);
                                $("#HDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
                                $("#HDate1").val(Format(new Date(), "yyyy-MM-dd"));
                                //执行查询方法
                                get_FastQuery(HSouceBillType);
                            } else {
                                //$('#HDate').prop('disabled', false);
                                //$('#HDate1').prop('disabled', false);
                            }
                            //执行查询方法
                            //get_FastQuery(HSouceBillType);
                            set_ClearBill(sWhere, HSouceBillType);
                            form.render("select");
                        } else {
                            //当前用户没有设置默认的过滤方案
                            //隐藏显示过滤方案的标签信息
                            document.getElementById("HFilterScheme_Now").style.display = "none";
                            //执行查询方法
                            get_FastQuery(HSouceBillType);
                            set_ClearBill(sWhere, HSouceBillType);
                            form.render("select");
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //保存方案
            function set_SaveScheme() {
                var index = layer.open()
                //判断用户是否点击了右上角的“叉号”关闭弹窗页面
                var HIsClose_Manual = false;
                //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var Filter = document.getElementsByClassName(HClassTag);
                var HFilterIdList = "";//过滤条件
                var HFilterIdLists = "";//拼接多个过滤条件
                var HValue = "";//过滤值
                var HElement_type = "";//过滤标签类型
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                //当前页面上没有选择过滤方案,进入新增方法
                if (HDefaultFilter == "") {
                    layer.open({
                        type: 2
                        , area: ['40%', '80%']
                        , title: '过滤方案'
                        , shift: 0//弹出动画
                        , content: '../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                        , cancel: function () {
                            // 右上角关闭事件的逻辑
                            HIsClose_Manual = true;
                        }
                        , end: function () {
                            if (HIsClose_Manual != true) {
                                get_FastQuery(HSouceBillType);
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        }
                    })
                    layer.close(index)
                } else {
                    //当前页面已有过滤方案,用户选择 新增或者编辑
                    layer.confirm('当前已选择过滤方案,是否修改?请选择对应操作', {
                        title: "操作提示",
                        icon: 0,
                        btn: ['新增方案', '保存修改当前方案', '取消']
                    }, function (index, layero) {
                        //新增
                        layer.open({
                            type: 2
                            , area: ['40%', '80%']
                            , title: '过滤方案'
                            , shift: 0//弹出动画
                            , content: '../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                            , end: function () {
                                get_FastQuery(HSouceBillType);
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        })
                        layer.close(index)
                    }, function (index) {
                        //编辑
                        var Filter_Edit = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                        HFilterIdList = "";
                        HFilterIdLists = "";
                        HValue = "";
                        HElement_type = "";
                        for (var i = 0; i < Filter_Edit.length; i++) {
                            HFilterIdList = Filter_Edit[i].id; //过滤条件ID
                            HFilterIdLists += Filter_Edit[i].id + ","; //过滤条件ID(拼接)
                            HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                            HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                        }
                        //去除末尾逗号
                        HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                        HValue = HValue.substring(0, HValue.length - 1);
                        HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                        var sMainSub = HInterID_Choose + ';' + HFilterIdLists + ';' + HValue + ';' + HElement_type + ';' + sessionStorage["Czybm"] + ';' + 3;
                        //修改
                        $.ajax({
                            type: "POST",
                            url: GetWEBURL() + "/Xt_FastICScheme/save", //方法所在页面和方法名
                            async: true,
                            data: { "oMain": sMainSub },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // 说明验证成功了,
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 });
                                }
                                else {
                                }
                                layer.closeAll("loading");
                            },
                            error: function (err) {
                            }
                        });
                        layer.close(index)
                    }, function (index) {
                        //取消
                        layer.alert('取消')
                        layer.close(index)
                    });
                }
            }
            //读取方案
            function set_ReadScheme() {
                var HIsClose_Manual = false;
                var Filter = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var HFilterIdList = "";
                var HFilterIdLists = "";
                var HValue = "";
                var HElement_type = "";
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                layer.open({
                    type: 2
                    , area: ['80%', '80%']
                    , title: '过滤方案列表'
                    , shift: 0//弹出动画
                    , content: '../系统管理/过滤方案设置/Xt_FastICSchemeList.html?HType=Select&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type + '&HModuleName=' + HModuleName
                    , cancel: function () {
                        // 右上角关闭事件的逻辑
                        HIsClose_Manual = true;
                    }
                    , end: function () {
                        if (HIsClose_Manual != true) {
                            get_FastQuery(HSouceBillType);
                            form.render("select");
                        }
                    }
                })
            }
            //#endregion
@@ -369,6 +1052,46 @@
            //以上是layui模块
        });
        //#region 【过滤方案返回数据】
        function HFilterScheme(obj)  //返回过滤方案
        {
            var HInterID = obj[0].hmainid;
            HInterID_Choose = obj[0].hmainid;
            $.ajax({
                url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                type: "GET",
                data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": HInterID, "Type": "Select" },
                success: function (data1) {
                    if (data1.count == 1) {
                        var data = data1.data;
                        //赋值过滤方案名称
                        HDefaultFilter = data[0].方案名称
                        var HRemark = data[0].备注
                        //显示当前的过滤方案
                        document.getElementById("HFilterScheme_Now").style.display = "block";
                        document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                        HInterID = data[0].hmainid
                        //根据选择的过滤方案回填数据到列表过滤条件
                        for (let i = 0; i < data.length; i++) {
                            $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                            if (data[i].过滤标签类型 == 'SELECT') {
                                $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                            }
                        }
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
                        //#endregion
    </script>
</body>