添康排产;日计划列表添加日期过滤;设备点检计划选择规程后自动带出摘要;质量追溯报表;车间上下架报表;
6个文件已修改
1个文件已添加
855 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/添康三周排产/JIT_DayPlanPlatForm_TK2.html 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/生产计划平台/Sc_ICMOSortBillList.html 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/设备管理/Sb_EquipDotCheckPlanBillEdit.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/质量管理/质量报表/QC_QualityTraceabilityReport.html 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/报表分析/Kf_WorkShopICStockBillList.html 614 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/周计划/PM_WorkTaskWeekBill.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -906,6 +906,7 @@
    <Content Include="views\车间管理\报表分析\Mes_OrderProcFlowAllReport_ICMO.html" />
    <Content Include="views\车间管理\报表分析\Qc_PreventErrMouldCheckReport.html" />
    <Content Include="views\车间管理\报表分析\Sc_AllowedPrintProcExchangeBillList.html" />
    <Content Include="views\车间管理\报表分析\Kf_WorkShopICStockBillList.html" />
    <Content Include="views\车间管理\报表分析\Sc_WorkShopXJICInventoryList.html" />
    <Content Include="views\车间管理\报表分析\Sc_OrderDelistingList_Query.html" />
    <Content Include="views\车间管理\报表分析\Sc_OEEReport_RunLogs.html" />
WebTM/views/Éú²ú¹ÜÀí/Ìí¿µÈýÖÜÅŲú/JIT_DayPlanPlatForm_TK2.html
@@ -29,6 +29,7 @@
                            <!--<button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnTLYS" id="btnTLYS">提料运算</button>-->
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnAddICMO" id="btnAddICMO">添加订单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnAddICMO_Batch" id="btnAddICMO_Batch">添加护理床-椅架订单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnICMOBill" id="btnICMOBill">生产订单选单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnProZZPC" id="btnProZZPC">组装排产</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnLockOrder" id="btnLockOrder">锁定工单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnUnlockOrder" id="btnUnlockOrder">解锁工单</button>
@@ -75,6 +76,15 @@
                                        <select name="HMergeDept" id="HMergeDept" lay-verify="HMergeDept">
                                            <option value="否" selected="selected">否</option>
                                            <option value="是">是</option>
                                        </select>
                                    </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: 85px;">
                                        <select name="HAutoYX" id="HAutoYX" lay-verify="HMergeDept">
                                            <option value="是" selected="selected">是</option>
                                            <option value="否">否</option>
                                        </select>
                                    </div>
                                </div>
@@ -546,6 +556,21 @@
                });
            }
            //要货日期
            if (obj.event == 'HDeliveryDate') {
                var field = $(this).data('field');
                laydate.render({
                    elem: this.firstChild
                    , show: true //直接显示
                    , closeStop: this
                    , done: function (nowDate) {
                        //时间选择完成,行数据更新
                        data[field] = nowDate;
                        obj.update(data);
                    }
                });
            }
            //#endregion
        });
        //#endregion
@@ -650,7 +675,12 @@
                layer.alert("当前不为多车间排产模式");
            }
            
        })
        })
        //生产订单选单
        form.on('submit(btnICMOBill)', function (data) {
            get_btnICMOBill();
        })
        //组装排产
        form.on('submit(btnProZZPC)', function (data) {
@@ -826,7 +856,7 @@
            columns.push({ field: '昨日数量', title: '昨日数量', filter: true });
            columns.push({ field: '优先级', title: '优先级', width: 150, edit: 'text', sort: true });
            columns.push({ field: '生产资源', title: '生产资源', width: 150, edit: 'text', event: "HSourceID", filter: true });
            columns.push({ field: '要货日期', title: '要货日期', width: 150, templet: "<div>{{d.要货日期 ==null ?'':layui.util.toDateString(d.要货日期, 'yyyy-MM-dd')}}</div>", sort: true, filter: { type: 'date[yyyy-MM-dd HH:mm:ss]' } });
            columns.push({ field: '要货日期', title: '要货日期', width: 150, templet: "<div>{{d.要货日期 == '' ? '1900-01-01':layui.util.toDateString(d.要货日期, 'yyyy-MM-dd')}}</div>", event: "HDeliveryDate", sort: true, filter: { type: 'date[yyyy-MM-dd HH:mm:ss]' } });
            columns.push({ field: '开工日期', title: '开工日期', width: 150, templet: "<div>{{d.开工日期 ==null ?'':layui.util.toDateString(d.开工日期, 'yyyy-MM-dd')}}</div>", sort: true, filter: { type: 'date[yyyy-MM-dd HH:mm:ss]' } });
            columns.push({ field: '完工日期', title: '完工日期', width: 150, templet: "<div>{{d.完工日期 ==null ?'':layui.util.toDateString(d.完工日期, 'yyyy-MM-dd')}}</div>", sort: true, filter: { type: 'date[yyyy-MM-dd HH:mm:ss]' } });
            columns.push({ field: '生产车间', title: '生产车间', width: 150 });
@@ -1183,6 +1213,96 @@
                        layer.alert(data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
        //#region ç”Ÿäº§è®¢å•选单
        function get_btnICMOBill() {
            var HDeptID = $("#HWorkShopID").val() == "" ? 0 : $("#HWorkShopID").val();
            layer.open({
                type: 2 //类型
                , skin: 'layui-layer-rim'//加上边框
                , area: ['90%', '90%']//大小
                , title: '生产订单列表'//标题
                , shift: 2//弹出动画
                , content: ['../../生产管理/生产任务单/Sc_ICMOBillList_Select.html?Type=2&HDeptID=' + HDeptID, 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    //获取数据
                    var hmainid = [];
                    //var HEntryID = [];
                    for (var i = 0; i < checkStatus.data.length; i++) {
                        if ($.inArray(checkStatus.data[i]["hmainid"] + '_' + checkStatus.data[i]["HEntryID"], hmainid) == -1) {
                            hmainid.push(checkStatus.data[i]["hmainid"] + '_' + checkStatus.data[i]["HEntryID"]);
                        }
                    }
                    //查询生产订单
                    SelectICMOBill(hmainid);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        }
        //#endregion
        //#region æŸ¥è¯¢ç”Ÿäº§è®¢å•
        function SelectICMOBill(hmainid) {
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/JIT_ICMOBillList',
                type: "GET",
                data: { "hmainid": hmainid.toString() },
                success: function (data1) {
                    if (data1.count == 1) {
                        var dataPush = [];
                        var tableBak = table.cache["mainTable"]; //获取之前编辑过的表格数据
                        buttonArr = [];//清空数组
                        for (var i = 0; i < tableBak.length; i++) {
                            dataPush.push(tableBak[i]);  //将之前的数据存储
                        }
                        for (var i = 0; i < dataPush.length; i++) {
                            if (dataPush[i]["单据号"] == "") {
                                for (var j = 0; j < data1.data.length; j++) {
                                    if (data1.data[j]["源单主内码"] == dataPush[i]["源单主内码"] && data1.data[j]["源单子内码"] == dataPush[i]["源单子内码"]) {
                                        layer.close(ajaxLoad);
                                        return layer.alert("生产明细行重复,重复的生产订单号:" + dataPush[i]["生产订单号"] + ",明细行号:" + dataPush[i]["生产订单明细行号"], { icon: 5 });
                                    }
                                }
                            }
                        }
                        //存储数据
                        for (var i = 0; i < data1.data.length; i++) {
                            dataPush.push(data1.data[i]);
                        }
                        option.data = dataPush;
                        table.render(option);
                        //获取上方排产列表数据,用于对比下方生产订单列表,将下方生产订单列表相同的数据不显示
                        var compareList = [];
                        for (var i = 0; i < option.data.length; i++) {
                            var temp = option.data[i]["源单主内码"] + "|" + option.data[i]["源单子内码"];
                            compareList.push(temp);
                        }
                        layer.close(ajaxLoad);
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
@@ -2232,17 +2352,21 @@
            //根据销售订单要货日期,销售订单审核日期排序数组
            data.sort(function (a, b) {
                // é»˜è®¤æ ¹æ®æœ€æ—©å¼€å·¥æ—¥æœŸæŽ’序,最早开工日期相同则按照销售订单审核日期排序
                // é»˜è®¤æ ¹æ®è¦è´§æ—¥æœŸæŽ’序,要货日期相同则按照销售订单审核日期排序
                if (new Date(a.要货日期) == new Date(b.要货日期)) {
                    return new Date(a.销售订单审核日期) - new Date(b.销售订单审核日期)
                }
                return new Date(a.要货日期) - new Date(b.要货日期)
            });
            for (var i = 0; i < data.length; i++) {
                if (data[i]["优先级"] == 0 || data[i]["优先级"] == "") {
            for (var i = 0; i < data.length; i++) {
                if ($("#HAutoYX").val == "是") {
                    data[i]["优先级"] = ((i + 1) * 5);
                }
                } else {
                    if (data[i]["优先级"] == 0 || data[i]["优先级"] == "") {
                        data[i]["优先级"] = ((i + 1) * 5);
                    }
                }
            }
            option.data = data;
            table.render(option);
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/Sc_ICMOSortBillList.html
@@ -40,13 +40,13 @@
                                    </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="Organization" id="Organization" lay-verify="Organization">-->
        <label class="layui-form-label" style="width: 85px;">生产组织</label>
        <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
            <select name="Organization" id="Organization" lay-verify="Organization">-->
                                <!--动态渲染组织-->
                                <!--</select>
                                    </div>
                                </div>-->
        </div>
    </div>-->
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">生产车间</label>
                                    <div class="layui-input-block" style="margin-left: 77px;">
@@ -55,6 +55,18 @@
                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHWorkShopID" id="btnHWorkShopID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                        </button>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">日期</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HBTimes" name="HBTimes" id="HBTimes" style="padding-left: 78px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">至:</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HETimes" name="HETimes" id="HETimes" style="padding-left: 78px;">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
@@ -175,6 +187,9 @@
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化日期
            $("#HBTimes").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//日期
            $("#HETimes").val(Format(new Date(), "yyyy-MM-dd"));//至
            //生产组织加载
            Organ();
            //初始化表格
@@ -287,6 +302,7 @@
            var HMaterNumber = $("#HMaterNumber").val();//物料编码
            var HSeOrderBillNo = $("#HSeOrderBillNo").val();//销售订单号
            if (HICOMNo) {
                sWhere += " and ç”Ÿäº§ä»»åŠ¡å•å· like '%" + HICOMNo + "%'";
            }
@@ -307,6 +323,9 @@
            }
            if (HSeOrderBillNo) {
                sWhere += " and é”€å”®è®¢å•号 like'%" + HSeOrderBillNo + "%'";
            }
            if (HBTimes != "" && HETimes != "") {
                sWhere += " and convert(varchar(120),日期,23) between '" + HBTimes + "' and '" + HETimes + "'  ";
            }
            get_Display(sWhere);
            sWhere = "";//调用接口后清空sWhere缓存
@@ -340,8 +359,8 @@
            $("#Organization").val("");//采购组织
            $("#HWorkShopIDName").val("");//生产车间
            $("#HWorkShopID").val("");//生产车间
            //$("#HBTimes").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//日期
            //$("#HETimes").val(Format(new Date(), "yyyy-MM-dd"));//至
            $("#HBTimes").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//日期
            $("#HETimes").val(Format(new Date(), "yyyy-MM-dd"));//至
            $("#HMaterName").val("");//物料名称
            $("#HMaterNumber").val("");//物料编码
            $("#HSeOrderBillNo").val("");//销售订单号
WebTM/views/É豸¹ÜÀí/Sb_EquipDotCheckPlanBillEdit.html
@@ -460,6 +460,7 @@
                        $("#HMouldDotCheckRuleID").val(checkStatus.data[0].hmainid);
                        $("#HCycleUnit").val(checkStatus.data[0].周期单位);
                        $("#HCheckCycle").val(checkStatus.data[0].点检周期);
                        $("#HExplanation").val(checkStatus.data[0].摘要);
                        //$("#HBeginDate").val(Pub_Format(checkStatus.data[0].计划开始日期, "yyyy-MM-dd"));
                        //$("#HEndDate").val(Pub_Format(checkStatus.data[0].计划结束日期, "yyyy-MM-dd"));
                        form.render('select');
WebTM/views/ÖÊÁ¿¹ÜÀí/ÖÊÁ¿±¨±í/QC_QualityTraceabilityReport.html
@@ -55,19 +55,23 @@
                            </div>
                        </div>
                        <div>
                            <div style="width:99%;height:calc(35vh);">
                            <div style="width:99%;height:calc(45vh);">
                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">首件检验单</span></div>
                                <table class="" id="mainTable_SJ" lay-filter="mainTable_SJ"></table>
                            </div>
                            <div style="width:99%;height:calc(35vh);">
                            <div style="width:99%;height:calc(45vh);">
                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">巡检记录单</span></div>
                                <table class="" id="mainTable_XJ" lay-filter="mainTable_XJ"></table>
                            </div>
                            <div style="width:99%;height:calc(45vh);">
                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">过程检验单</span></div>
                                <table class="" id="mainTable_GXJ" lay-filter="mainTable_GXJ"></table>
                            </div>
                            <div style="width:99%;height:calc(35vh);">
                            <div style="width:99%;height:calc(45vh);">
                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">生产汇报单</span></div>
                                <table class="" id="mainTable_SC" lay-filter="mainTable_SC"></table>
                            </div>
                            <div style="width:99%;height:calc(35vh);">
                            <div style="width:99%;height:calc(45vh);">
                                <div style="width:100px;height:23px; background: linear-gradient(-135deg, transparent 30px, #2baaca 0);"><span style="color:aliceblue;">质量汇报单</span></div>
                                <table class="" id="mainTable_ZL" lay-filter="mainTable_ZL"></table>
                            </div>
@@ -108,6 +112,7 @@
            var option_GCJ = [];//过程检验
            var option_SC = [];//生产汇报
            var option_ZL = [];//质量汇报
            var option_XJ = [];//巡检记录单
            var HModName = "QC_QualityTraceabilityReport";
            //#endregion
@@ -200,6 +205,14 @@
                    , limit: Number.MAX_VALUE // æ•°æ®è¡¨æ ¼é»˜è®¤å…¨éƒ¨æ˜¾ç¤º
                    , height: 'full-490'
                };
                option_XJ = {
                    elem: '#mainTable_XJ'
                    , totalRow: true
                    //, toolbar: '#toolbarDemo'
                    , cellMinWidth: 120
                    , limit: Number.MAX_VALUE // æ•°æ®è¡¨æ ¼é»˜è®¤å…¨éƒ¨æ˜¾ç¤º
                    , height: 'full-490'
                }
            }
            //加载网格
@@ -390,7 +403,53 @@
                    }
                });
            }
            //加载网格
            function get_Display5(sWhere) {
                var wait = layer.load();//遮罩
                var HICMOBillNo = $("#HICMOBillNo").val();
                $.ajax({
                    url: GetWEBURL() + '/QC_Report/QualityTraceability5',
                    type: "GET",
                    data: { "HICMOBillNo": HICMOBillNo, "HType": "" },
                    success: function (data1) {
                        var col = [];
                        if (data1.count == 1) {
                            var data = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //判断是否是纯英文
                            var patrn = new RegExp("[\u4E00-\u9FA5]+");
                            for (var i = 0; i < data.length; i++) {
                                if (!patrn.test(data[i].name)) {
                                    col.push({ field: data[i].name, title: data[i].name, hide: true }); //隐藏列
                                }
                                else {
                                    switch (data[i].Type) {
                                        case 'DateTime':
                                            col.push({ field: data[i].name, 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].name, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true });
                                    }
                                }
                            }
                            option_XJ.cols = [col];
                            option_XJ.data = data1.data;
                            table.render(option_XJ);
                            layer.close(wait);
                        } else {
                            layer.close(wait);
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(wait);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //快速过滤
            function get_FastQuery() {
@@ -402,6 +461,7 @@
                get_Display2(sWhere);
                get_Display3(sWhere);
                get_Display4(sWhere);
                get_Display5(sWhere);
                //调用接口后清空sWhere缓存
                sWhere = "";
            }
WebTM/views/³µ¼ä¹ÜÀí/±¨±í·ÖÎö/Kf_WorkShopICStockBillList.html
New file
@@ -0,0 +1,614 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>车间定位时间查询</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/HideButton.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">操作类型</label>
                                    <div class="layui-input-inline">
                                        <select name="HBillType" lay-filter="HBillType" id="HBillType">
                                            <option value="" selected="selected">全部</option>
                                            <option value="1253">上架</option>
                                            <option value="1252">下架</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">小车编码</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input" name="HCarBarCode" id="HCarBarCode">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">流转卡号</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input" name="HProcExBillNo" id="HProcExBillNo">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">物料代码</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber">
                                    </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:80px;">
                                    <label class="layui-form-label" style="width: 85px;">仓库名称</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input" name="HWHID" id="HWHID" value="0" style="display:none">
                                        <input type="text" class="layui-input" name="HWHName" id="HWHName" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHWHID" id="btnHWHID" style="padding: 0 10px; margin-right: 3px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                        </button>
                                    </div>
                                </div>
                                <div class="layui-inline" style="margin-left: -60px;">
                                    <label class="layui-form-label" style="width: 85px;">仓位名称</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input" name="HSPID" id="HSPID" value="0" style="display:none">
                                        <input type="text" class="layui-input" name="HStockPlaceName" id="HStockPlaceName" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHStockPlaceID" id="btnHStockPlaceID" style="padding: 0 10px; margin-right: 3px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideButton"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="ExitButton"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
            //查询条件
            var sWhere = "";
            var option = [];
            var HModName = "Kf_WorkShopICStockBillList";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["HMaterID", "HProcID", "HGroupID", "HSourceID", "HBadReasonID"];
            var ins;                        //用于导出excel
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus(obj.config.id);
                switch (obj.event) {
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //导出excel
                    case 'get_export':
                        get_Export();
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
                    case 'set_HideButton':
                        var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                        var HBillType = "Kf_WorkShopICStockBillList";
                        get_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
                        break;
                };
            });
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            // é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', 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:#ceedfa;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.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
            // åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                get_FastQuery();
            }
            //初始化表格
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , totalRow: true
                    , page: true
                    , limits: [50, 500, 5000, 50000]
                    , limit: 50
                    , cellMinWidth: 90
                };
                var data = [];
                option.cols = [[
                    { field: '数量', title: '数量', width: 100 }
                    , { field: '仓库', title: '仓库', width: 100 }
                    , { field: '仓位', title: '仓位', width: 100 }
                    , { field: '物料代码', title: '物料代码', width: 100 }
                    , { field: '物料名称', title: '物料名称', width: 100 }
                    , { field: '规格型号', title: '规格型号', width: 100 }
                    , { field: '批次', title: '批次', width: 100 }
                    , { field: '辅助属性', title: '辅助属性', width: 100 }
                    , { field: '生产日期', title: '生产日期', width: 100 }
                    , { field: '有效期至', title: '有效期至', width: 100 }
                    , { field: '组织', title: '组织', width: 100 }
                ]];
                option.data = data;
                table.render(option);
            }
            //小车编码回车方法
            $('#HCarBarCode').on('keydown', function (event) {
                var HCarBarCode = $('#HCarBarCode').val();
                if (event.keyCode == 13) {
                    if (!HCarBarCode) {
                        layer.msg(get_MessageError("[0000-2-019]条形码不能为空!", sessionStorage["HTranSlate"]))
                        return;
                    }
                    get_FastQuery();
                }
            });
            //流转卡号回车方法
            $('#HProcExBillNo').on('keydown', function (event) {
                var HProcExBillNo = $('#HProcExBillNo').val();
                if (event.keyCode == 13) {
                    if (!HProcExBillNo) {
                        layer.msg(get_MessageError("[0000-2-019]条形码不能为空!", sessionStorage["HTranSlate"]))
                        return;
                    }
                    get_FastQuery();
                }
            });
            //物料代码回车方法
            $('#HMaterNumber').on('keydown', function (event) {
                var HMaterNumber = $('#HMaterNumber').val();
                if (event.keyCode == 13) {
                    if (!HMaterNumber) {
                        layer.msg(get_MessageError("[0000-2-019]条形码不能为空!", sessionStorage["HTranSlate"]))
                        return;
                    }
                    get_FastQuery();
                }
            });
            //查询
            function get_Display(HCarBarCode, HBillType, HProcExBillNo, HMaterNumber, HWHID, HSPID) {
                var index = layer.load(0, { shade: false });
                var ajaxLoad = layer.load();
                //进入页面显示的缓存列表
                $.ajax({
                    url: GetWEBURL() + '/Kf_WorkShopICStockBill/List',
                    type: "GET",
                    async:false,
                    data: { "HBillType": HBillType, "HCarBarCode": HCarBarCode,  "HProcExBillNo": HProcExBillNo, "HMaterNumber": HMaterNumber, "HWHID": HWHID, "HSPID": HSPID,"sWhere": '' },
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                //动态获取列表所有列名
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                                //获取不需要显示的列(H开头的列不显示)
                                var patrn = new RegExp(/^h/i);
                                if (patrn.test(data1.list[key].ColmCols)) {
                                    titleData[key] = data1.list[key].ColmCols;
                                }
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', totalRowText: '合计', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else {
                                    switch (data[i].Type) {
                                        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 HH:mm:ss')}}</div>", width: 200 });
                                            break;
                                        case 'long':
                                        case 'Int32':
                                        case 'Int64':
                                        case 'double':
                                        case 'Decimal':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                    }
                                }
                            }
                            //动态显示列名
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 'full-80'
                                , totalRow: true
                                , page: true
                                , limits: [50, 500, 5000, 50000]
                                , limit: 50
                                , cellMinWidth: 90
                            }
                            ins = table.render(option);
                            //刷新按钮显示
                            var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                            var HBillType = "Kf_WorkShopICStockBillList";
                            Display_HideButton(btns, HBillType, HModName, sessionStorage["HUserName"]);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                layer.close(index);
            }
            //快速查询
            function get_FastQuery() {
                var HCarBarCode = $('#HCarBarCode').val()
                var HBillType = $('#HBillType').val()
                var HProcExBillNo = $('#HProcExBillNo').val()
                var HMaterNumber = $('#HMaterNumber').val()
                var HWHID = $("#HWHID").val()
                var HSPID = $("#HSPID").val()
                get_Display(HCarBarCode, HBillType, HProcExBillNo, HMaterNumber, HWHID, HSPID);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //重置快速查询
            function set_ClearQuery() {
                $('#HCarBarCode').val("")
                $('#HBillType').val("")
                $('#HProcExBillNo').val("")
                $('#HMaterNumber').val("")
                $("#HWHID").val(0)
                $("#HWHName").val("")
                $("#HSPID").val(0)
                $("#HStockPlaceName").val("")
                get_FastQuery();
            }
            //#region å¯¼å‡ºExecel
            function get_Export() {
                option.data.forEach((item) => {
                    for (let itemobj in item) {
                        if (item[itemobj] == null) {
                            item[itemobj] = "";
                        }
                        if (item[itemobj].length > 0) {  // å‡è®¾å­—段名为field
                            item[itemobj] = item[itemobj].toString().replaceAll(/[\r\n]+/g, '').replaceAll(',', ',').replaceAll(';', ';').replaceAll('"', '“').replaceAll('\'', '‘');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                        }
                    }
                });
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //仓库
            form.on('submit(btnHWHID)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '仓库列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../views/基础资料/公用基础资料/Gy_Warehouse.html?openType=2', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HWHName").val(checkStatus.data[0].仓库名称);
                        $("#HWHID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //默认仓位
            form.on('submit(btnHStockPlaceID)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '仓位列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../基础资料/公用基础资料/Gy_StockPlace_List.html?openType=2', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HStockPlaceName").val(checkStatus.data[0].仓位名称);
                        $("#HSPID").val(checkStatus.data[0].HMainID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                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);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    async: false,
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 1; 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 });
                    }
                })
            }
            //#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);
                $("#ColName1").empty();
                $("#ColName1").append(Organization);
                $("#ColName2").empty();
                $("#ColName2").append(Organization);
                form.render('select');
            }
            //#endregion
            //以上是layui模块
        });
    </script>
</body>
</html>
WebTM/views/ÏîÄ¿¹ÜÀí/Öܼƻ®/PM_WorkTaskWeekBill.html
@@ -921,7 +921,7 @@
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    //, page: true
                    //, limit: 500
                    , limit: 500
                    //, limits: [50, 500, 5000, 50000]
                    , totalRow: true
                    , cellMinWidth: 120