1
duhe
2024-04-22 59dda9ae7decacd3f1c9f3d122d290ba3132c42a
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/JIT_DayPlanPlatForm.html
@@ -242,6 +242,7 @@
                                <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" lay-event="set_Routing"><i class="layui-icon layui-icon-form"></i>工艺路线</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Calendar"><i class="layui-icon layui-icon-form"></i>工厂日历</button>
                                <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>
                            </div>
                        </script>
                        <script type="text/html" id="toolbarDemo2">
@@ -280,7 +281,7 @@
            , excel = layui.excel
            , soulTable = layui.soulTable
            , element = layui.element;
        var ins;
        var sWhere = "";
        var sWhere_ICMO = "";
        var option = [];
@@ -502,6 +503,11 @@
                //工厂日历
                case 'set_Calendar':
                    set_Calendar();
                    break;
                    break;
                //导出excel
                case 'get_export':
                    get_Export();
                    break;
            }
        });
@@ -963,7 +969,7 @@
                success: function (data1) {
                    if (data1.count == 1) {
                        option.data = data1.data;
                        table.render(option);
                        ins = table.render(option);
                        var HinterID_S = [];
                        for (var i = 0; i < data1.data.length; i++) {
                            HinterID_S.push(data1.data[i]["hmainid"]);
@@ -2216,6 +2222,27 @@
                        }
                        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);
                        }
                        //剔除上方排产列表中已经加入的生产订单
                        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);
                        layer.close(ajaxLoad);
                    } else {
                        layer.close(ajaxLoad);
@@ -2582,17 +2609,60 @@
                                layer.close(index);//关闭弹窗
                            }
                            , end: function () {
                                obj.update({
                                    "HSourceID": OptionData[0].HItemID
                                    , "生产资源": OptionData[0].生产资源名称
                                })
                                if (OptionData.length > 0) {
                                    obj.update({
                                        "HSourceID": OptionData[0].HItemID
                                        , "生产资源": OptionData[0].生产资源名称
                                    })
                                    OptionData = [];
                                }
                            }
                        })
                    }
                    obj.event = "";
                    return false;
                }
                } else if (event.key == "F8") {
                    //生产资源
                    if (obj.event == "HSourceID") {
                        layer.open({
                            type: 2
                            , skin: "layui-layer-rim" //加上边框
                            , title: "生产资源列表"  //标题
                            , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                            , shift: 2 //弹出动画
                            , area: ["90%", "90%"] //窗体大小
                            , maxmin: true //设置最大最小按钮是否显示
                            , content: ["../../Baseset/基础资料/Gy_Source.html?HMaterID=" + obj.data["HMaterID"], "yes"]
                            , btn: ["确定", "取消"]
                            , btn1: function (index, laero) {
                                //按钮一  çš„回调
                                var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                if (checkStatus.data.length != 1) {
                                    return layer.msg("请选择一条数据");
                                }
                                OptionData[0] = checkStatus.data[0];
                                //更新表格缓存的数据
                                obj.update({
                                    "HSourceID": checkStatus.data[0].HItemID
                                    , "生产资源": checkStatus.data[0].HName
                                })
                                layer.close(index);//关闭弹窗
                            }
                            , end: function () {
                                if (OptionData.length > 0) {
                                    obj.update({
                                        "HSourceID": OptionData[0].HItemID
                                        , "生产资源": OptionData[0].HName
                                    })
                                    OptionData = [];
                                }
                            }
                        })
                    }
                    obj.event = "";
                }
            })
        }
@@ -2653,7 +2723,6 @@
            }
        }
        //查询未排产的生产订单
        function get_Display2(sWhere_ICMO) {
            var ajaxLoad = layer.load();
@@ -2704,6 +2773,27 @@
                        //刷新表格数据
                        DisPlay_HideColumn_ICMO();
                        //获取上方排产列表数据,用于对比下方生产订单列表,将下方生产订单列表相同的数据不显示
                        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);
                        layer.close(ajaxLoad);
                        //if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
@@ -2813,6 +2903,18 @@
            })
        }
        function get_Export() {
            var data = option.data
            data.forEach((item) => {
                // å¦‚果某个字段的值太长,需要去除换行符
                if (item.规格型号.length > 0) {  // å‡è®¾å­—段名为field
                    item.规格型号 = item.规格型号.replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                    item.规格型号 = item.规格型号.replace(/[,]+/g, ',');  // å°†æ¢åˆ†å·æ›¿æ¢ä¸ºç©ºå­—符串
                }
            });
            table.exportFile(ins.config.id, data, "xls");
        }
        //排产功能
        function set_Arrangement() {
            var checkStatus = table.checkStatus('mainTable_ICMO')
@@ -2833,57 +2935,17 @@
                //    obj[key] = value;
                //}
                //获取勾选上的待排生产订单
                //获取数据
                var hmainid = [];
                //var HEntryID = [];
                for (var i = 0; i < checkStatus.data.length; i++) {
                    var newObj = {
                        "HMaterID" : data[i].HMaterID,
                        "HProdORGID" : data[i].HPRDORGID,
                        "HUnitID" : data[i].HUnitID,
                        "HWorkShopID" : data[i].HDeptID,
                        "拆单数量" : data[i].生产任务单数量,
                        "源单主内码" : data[i].hmainid,
                        "源单子内码" : data[i].HEntryID,
                        "物料代码" : data[i].产品代码,
                        "物料名称" : data[i].产品名称,
                        "生产组织": data[i].生产组织,
                        "生产订单单据类型" : data[i].单据类型,
                        "生产订单号" : data[i].单据号,
                        "生产订单明细行号" : data[i].HEntryID,
                        "生产车间" : data[i].生产车间,
                        "规格型号" : data[i].规格型号,
                        "计划开始日期" : data[i].计划开工日期,
                        "计划数量" : data[i].生产任务单数量,
                        "计划结束日期" : data[i].计划完工日期,
                        "计量单位" : data[i].计量单位,
                        "订单可排数量" : data[i].生产任务单数量,
                        "订单等级" : data[i].订单等级,
                        "订单类型" : data[i].单据类型,
                        "销售订单号" : data[i].销售订单号,
                        "销售订单数量" : data[i].销售数量
                    }
                    option.data.push(newObj);
                    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]);
                    if ($.inArray(checkStatus.data[i]["hmainid"] + '_' + checkStatus.data[i]["HEntryID"], hmainid) == -1) {
                        hmainid.push(checkStatus.data[i]["hmainid"] + '_' + checkStatus.data[i]["HEntryID"]);
                    }
                }
                option2.data = tables;
                //重新渲染子表2
                table.render(option2);
                //查询生产订单
                SelectICMOBill(hmainid);
                //var wait = layer.load();
                ////逻辑方法
@@ -3173,4 +3235,5 @@
    function GetGySource(data) {
        OptionData[0] = data
    }
</script>