1
yxj
2023-12-27 3c1c8a3f7b697de8ea8d3185054a28f15f3c56b2
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/JIT_DayPlanPlatForm.html
@@ -181,7 +181,40 @@
                            </div>
                        </div>
                        <div id="HProgressBar"></div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <div class="layui-row" style="padding:10px 0">
                            <table class="" id="mainTable" lay-filter="mainTable"></table>
                        </div>
                        <div class="layui-tab layui-tab-card" style="margin-top:40px;">
                            <ul class="layui-tab-title">
                                <li class="layui-this">生产订单</li>
                            </ul>
                            <div class="layui-tab-content">
                                <div class="layui-tab-item layui-show">
                                    <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="HMaterName" id="HMaterName">
                                        </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="HMaterName" id="HMaterName">
                                        </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="HMaterName" id="HMaterName">
                                        </div>
                                    </div>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                                    <!--待排订单-->
                                    <table class="layui-hide" id="mainTable_ICMO" lay-filter="mainTable_ICMO"></table>
                                </div>
                            </div>
                        </div>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="set_BatchFill"><i class="layui-icon layui-icon-file-b"></i>批量填充</button>
@@ -194,6 +227,13 @@
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadyAsc"><i class="layui-icon layui-icon-delete"></i>准备排序</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Souce"><i class="layui-icon layui-icon-delete"></i>选产线</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                        <script type="text/html" id="toolbarDemo2">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Arrangement"><i class="layui-icon layuiiconform"></i>排产</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2"><i class="layui-icon layuiiconform"></i>列设置</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Close"><i class="layui-icon layui-icon-logout"></i>退出</button>
                            </div>
                        </script>
                    </form>
@@ -227,9 +267,13 @@
            , element = layui.element;
        var sWhere = "";
        var sWhere_ICMO = "";
        var option = [];
        var option2 = [];
        var option_columns = [];
        var HModName = "JIT_DayPlanPlatForm";
        //不需要显示的字段 å¯æ‰©å±•
        var titleData = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -413,9 +457,28 @@
                case 'set_Souce':
                    set_Souce(data);
                    break;
            }
        });
        table.on('toolbar(mainTable_ICMO)', function (obj) {
            var checkStatus = table.checkStatus(obj.config.id);
            switch (obj.event) {
                //排产
                case 'set_Arrangement':
                    set_Arrangement();
                    break;
                //退出按钮
                case 'btn-Close':
                    parent.layui.admin.events.closeThisTabs();
                    break;
                //列设置
                case 'set_HideColumn2':
                    get_HideColumn2();
                    break;
            };
        });
        //导入
@@ -562,6 +625,7 @@
            get_FastQuery(1);
            //隐藏勾选字段
            DisPlay_HideColumn();
            get_Display2(sWhere_ICMO);
        }
         //#endregion
@@ -599,7 +663,6 @@
            columns.push({ field: '销售订单号', title: '销售订单号', width: 150, sort: true });
            columns.push({ field: '生产订单号', title: '生产订单号', width: 150, style: 'background-color: #f9f9f9;', sort: true });
            columns.push({ field: '生产订单明细行号', title: '生产订单明细行号', width: 150, sort: true });
            columns.push({ field: 'HMaterID', title: 'HMaterID', hide: true });
            columns.push({ field: '生产组织', title: '生产组织', width: 150, sort: true });
            columns.push({ field: '物料代码', title: '物料编码', width: 150, sort: true });
            columns.push({ field: '物料名称', title: '物料名称', width: 150, sort: true });
@@ -614,6 +677,7 @@
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150, edit: 'text' });
            columns.push({ field: '昨日数量', title: '昨日数量'});
            columns.push({ field: '优先级', title: '优先级', width: 150, edit: 'text', sort: true });
            columns.push({ field: '拆单汇报数量', title: '拆单汇报数量', width: 150, edit: 'text', sort: true });
            columns.push({ field: '生产资源', title: '生产资源', width: 150, edit: 'text', event: "HSourceID" });
            columns.push({
@@ -768,12 +832,12 @@
            columns.push({ field: 'HGroupName', title: 'HGroupName', width: 150, hide:true });
            columns.push({ field: '生产资源代码', title: '生产资源代码', width: 150, hide: true });
            columns.push({ field: 'HSourceID', title: 'HSourceID', hide: true });
            columns.push({ field: 'HMaterID', title: 'HMaterID', hide: true });
            columns.push({ field: 'HWorkShopID', title: 'HWorkShopID', hide: true });
            columns.push({ field: 'HUnitID', title: 'HUnitID', hide: true });
            columns.push({ field: 'HProdORGID', title: 'HProdORGID', hide: true });
            columns.push({ fixed: 'right', title: '操作', toolbar: '#barDemo' });
            option_columns = columns;
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
@@ -1142,6 +1206,70 @@
            sWhere = ""//调用接口后清空sWhere缓存
        }
        //快速过滤
        function get_FastQuery_ICMO(number) {
            var HWorkShopID = 0;
            var HProdORGID = 0;
            HWorkShopID = $("#HWorkShopID").val();//生产车间
            if (number == 2) {
                if (HWorkShopID == 0) {
                    return layer.msg("生产车间不能为空!");
                }
                HProdORGID = $("#HProdORGID").val();//生产订单组织
            }
            if (number == 1) {
                HProdORGID = sessionStorage["OrganizationID"];//生产订单组织
            }
            var HPlanBeginDate = $("#HPlanBeginDate").val();//开工起始日期
            var HPlanEndDate = $("#HPlanEndDate").val();//开工截止日期
            var HMastersDate = $("#HMastersDate").val();//排产日期
            var HSeOrderBillNo = $("#HSeOrderBillNo").val();//销售订单号
            var HMaterID = $("#HMaterID").val();//物料编码id
            var HICMOBillNo = $("#HICMOBillNo").val();//生产订单号
            var ColName = $("#ColName").val();//复选框
            var Comparator = $("#Comparator").val()
            var ColContent = $("#ColContent").val();
            var sWhere_ICMO = "";
            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_ICMO += " and [" + ColName + "] " + com;
            }
            sWhere_ICMO = {
                HPlanBeginDate: HPlanBeginDate
                , HProdORGID: HProdORGID
                , HSeOrderBillNo: HSeOrderBillNo
                , HPlanEndDate: HPlanEndDate
                , HMaterID: HMaterID
                , HICMOBillNo: HICMOBillNo
                , HWorkShopID: HWorkShopID
                , HMastersDate: HMastersDate
                , sWheres: sWheres
            }
            get_Display2(JSON.stringify(sWhere_ICMO));
            sWhere_ICMO = ""//调用接口后清空sWhere缓存
        }
        //双击跳转齐套分析明细表
        function btnrowDouble(obj) {
@@ -1183,6 +1311,27 @@
            $("#Comparator").val("0");
            form.render('select');
            sWhere = "";
        }
        //重置
        function set_ClearQuery_ICMO() {
            $("#HPlanBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));//开工起始日期
            $("#HSeOrderBillNo").val("");//销售订单号
            $("#HPlanEndDate").val(Format(new Date(), "yyyy-MM-dd"));//开工截止日期
            $("#HMastersDate").val("");//排产日期
            $("#HMaterID").val("0");//物料编码id
            $("#HMaterNumber").val("");//物料编码
            $("#HMaterName").val("");//物料名称
            $("#HMaterModel").val("");//规格型号
            $("#HICMOBillNo").val("");//生产订单号
            $("#HWorkShopID").val("0");//生产车间id
            $("#HWorkShopIDName").val("");//生产车间
            $("#HProdORGID").val(sessionStorage["OrganizationID"])//生产订单组织
            $("#ColContent").val("");
            $("#ColName").val("0");
            $("#Comparator").val("0");
            form.render('select');
            sWhere_ICMO = "";
        }
        //齐套分析
@@ -1725,6 +1874,9 @@
                TableData = option.data;
            } else {
                option.data[nums] = TableData[nums];
                if (nums == option.data.length-1) {
                    set_AddNew();
                }
            }
        }
@@ -2196,7 +2348,7 @@
                            if (num >= data.length) {
                                break;
                            }
                            if (option.data[i]["源单主内码"] == data[num]["源单主内码"] && option.data[i]["源单子内码"] == data[num]["源单子内码"]) {
                            if (option.data[i]["LAY_CHECKED"] == true) {
                                option.data[i]["HSourceID"] = OptionData.HItemID;
                                option.data[i]["生产资源"] = OptionData.生产资源名称;
                                num += 1;
@@ -2211,13 +2363,13 @@
                    }
                })
            }
            else {
                return layer.msg("请选择数据!")
            }
        }
        //保存
        function set_AddNew() {
@@ -2228,7 +2380,7 @@
                    if (parseFloat(table.cache["mainTable"][i]["拆单数量"]) == 0) {
                        return layer.msg("第" + (i + 1) + "行,拆产数量有误,请重新输入!");
                    }
                    if (parseFloat(table.cache["mainTable"][i]["拆单数量"]) < parseFloat(table.cache["mainTable"][i]["日计划数量总量"]) + parseFloat(table.cache["mainTable"][i]["今日之前日计划数量"])) { // - å·²æ±‡æŠ¥æ•°é‡
                    if (parseFloat(table.cache["mainTable"][i]["拆单数量"]) - parseFloat(table.cache["mainTable"][i]["拆单汇报数量"]) < parseFloat(table.cache["mainTable"][i]["日计划数量总量"])) { // - å·²æ±‡æŠ¥æ•°é‡
                        return layer.msg("第" + (i + 1) + "行,排产数量超出订单数量!");
                    }
                    table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
@@ -2404,6 +2556,177 @@
            }
        }
        //查询未排产的生产订单
        function get_Display2(sWhere_ICMO) {
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/LEMS/MES_IF_ICMOBillList_Json',
                type: "GET",
                data: { "sWhere": sWhere_ICMO, "user": sessionStorage["HUserName"] },
                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 });
                        }
                        //在列表左边添加勾选框
                        col.push({ type: 'checkbox', fixed: 'left' });
                        for (var i = 0; i < data.length; i++) {
                            // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                            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) {
                                    //int
                                    case 'DateTime':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
                                        break;
                                    default:
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
                                }
                            }
                        }
                        //动态显示列名
                        option2 = {
                            elem: '#mainTable_ICMO'
                            , toolbar: '#toolbarDemo2'
                            , cols: [col]
                            , data: data1.data
                            , height: 400
                            , page: true
                            , limits: [50, 500, 5000, 50000]
                            , limit: 200
                            , cellMinWidth: 90
                        }
                        table.render(option2);
                        //刷新表格数据
                        DisPlay_HideColumn2();
                        layer.close(ajaxLoad);
                        //if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                        //    ColFilter();
                        //}
                        //layer.alert("查询成功", { icon: 1 });
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //排产功能
        function set_Arrangement() {
            var checkStatus = table.checkStatus('mainTable_ICMO')
                , data = checkStatus.data;
            if (checkStatus.data.length > 0) {
                console.log(option.data);
                var arr_field = [];
                //获取已排订单列表字段
                for (let i = 0; i < option_columns.length; i++) {
                    if (option_columns[i].field != undefined && option_columns[i].field != null) {
                        arr_field.push(option_columns[i].field);
                    }
                }
                //把已排订单列表字段存入obj对象中,以便给字段赋值
                var obj = {};
                for (let i = 0; i < arr_field.length; i++) {
                    var key = arr_field[i];
                    var value = '';
                    obj[key] = value;
                }
                //获取勾选上的待排生产订单
                for (var i = 0; i < checkStatus.data.length; i++) {
                    obj.HMaterID = data[i].HMaterID;
                    obj.HProdORGID = data[i].HPRDORGID;
                    obj.HUnitID = data[i].HUnitID;
                    obj.HWorkShopID = data[i].HDeptID;
                    obj.拆单数量 = data[i].生产任务单数量;
                    obj.源单主内码 = data[i].hmainid;
                    obj.源单子内码 = data[i].HEntryID;
                    obj.物料代码 = data[i].产品代码;
                    obj.物料名称 = data[i].产品名称;
                    obj.生产组织 = "智云迈思";
                    obj.生产订单单据类型 = data[i].单据类型;
                    obj.生产订单号 = data[i].单据号;
                    obj.生产订单明细行号 = data[i].HEntryID;
                    obj.生产车间 = data[i].生产车间;
                    obj.规格型号 = data[i].规格型号;
                    obj.计划开始日期 = data[i].计划开工日期;
                    obj.计划数量 = data[i].生产任务单数量;
                    obj.计划结束日期 = data[i].计划完工日期;
                    obj.计量单位 = data[i].计量单位;
                    obj.订单可排数量 = data[i].生产任务单数量;
                    obj.订单等级 = data[i].订单等级;
                    obj.订单类型 = data[i].单据类型;
                    obj.销售订单号 = data[i].销售订单号;
                    obj.销售订单数量 = data[i].销售数量;
                    option.data.push(obj);
                    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);
                }
                //剔除上方排产列表中已经加入的生产订单
                var tables = [];
                for (var i = 0; i < option2.data.length; i++) {
                    var temp = option2.data[i]["hmainid"] + "|" + option2.data[i]["HEntryID"];
                    if ($.inArray(temp, compareList) == -1) {
                        tables.push(option2.data[i]);
                    }
                }
                option2.data = tables;
                //重新渲染子表2
                table.render(option2);
                //var wait = layer.load();
                ////逻辑方法
                //$.ajax({
                //    url: GetWEBURL() + '/LEMS/ProcessExchangeArrangement_Add',
                //    type: "GET",
                //    data: { "HInterID_S": HInterID_S.toString(), "HSourceID": DataSourceID, "HOrgID": sessionStorage["OrganizationID"], "user": sessionStorage["HUserName"] },
                //    success: function (result) {
                //        if (result.count == 1) {
                //            layer.msg(result.Message, { icon: 1 }, function () {
                //                // å¾—到frame索引
                //                var index = layer.getFrameIndex(window.name);
                //                //关闭当前frame
                //                layer.close(wait);
                //                get_Display("  and HSourceID=" + DataSourceID);
                //                //修改为功后刷新界面
                //                get_FastQuery();
                //            });
                //        } else {
                //            layer.alert(result.code + result.Message, { icon: 5 });
                //            layer.close(wait);
                //        }
                //    }, error: function () {
                //        layer.alert("接口请求失败!", { icon: 5 });
                //        layer.close(wait);
                //    }
                //});
            }
            else {
                layer.msg('请选择数据!');
            }
        }
        //隐藏列设置
        function get_HideColumn() {
            var colName = "";
@@ -2522,6 +2845,124 @@
            })
        }
        function get_HideColumn2() {
            var colName = "";
            var contentUrl = "";
            for (var i = 1; i < option2.cols[0].length; i++) {
                colName += option2.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 + "Main" + '&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_HideColumn2();
                    //更新表格缓存的数据
                    layer.close(index);//关闭弹窗
                }
            })
        }
        function DisPlay_HideColumn2() {
            $.ajax({
                url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                type: "GET",
                data: { "HModName": HModName + "Main", "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 < option2.cols[0].length - 1; i++) {
                            if (dataCol[i]) {
                                var dataCols = dataCol[i].split('|');
                            }
                            //隐藏列
                            if (dataCols[1] == 1) {
                                option2.cols[0][i + 1]["hide"] = true;
                            }
                            //设置列宽
                            if (dataCols[3] > 0) {
                                option2.cols[0][i + 1]["width"] = dataCols[3];
                            }
                            //设置内容字体大小
                            if (data1.data[0].HFontSize != 0) {
                                option2.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                            } else {
                                option2.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(option2.cols[0][i + 1]["title"], titleData) == -1) {
                                option2.cols[0][i + 1]["hide"] = false;
                            }
                            //字体所在位置(å·¦ å±…中 å³)
                            switch (dataCols[2]) {
                                case "L":
                                    option2.cols[0][i + 1]["align"] = "left";
                                    break;
                                case "M":
                                    option2.cols[0][i + 1]["align"] = "center";
                                    break;
                                case "R":
                                    option2.cols[0][i + 1]["align"] = "right";
                                    break;
                            }
                        }
                        //取消冻结列
                        for (var i = 1; i < option2.cols[0].length - 1; i++) {
                            if (option2.cols[0][i]["fixed"] != null) {
                                option2.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(option2.cols[0][i + 1]["title"], titleData) != -1) {
                                    data1.data[0].HFixCols += 1;
                                }
                                option2.cols[0][i + 1]["fixed"] = "left";
                            }
                        }
                        table.render(option2);
                    } else {
                        table.render(option2);
                    }
                }, error: function () {
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            })
        }
        //列明显示下拉框
        function ColFilter() {
            var Organization = '<option  value="0" selected="selected" ></option>';