1
yangle
2023-07-24 ac26809d28febe2cd37c23e8b71295a99dec6629
1
1个文件已修改
215 ■■■■■ 已修改文件
WebTM/views/生产管理/生产计划平台/JIT_DayPlanPlatForm.html 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/Éú²ú¹ÜÀí/Éú²ú¼Æ»®Æ½Ì¨/JIT_DayPlanPlatForm.html
@@ -26,6 +26,7 @@
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnCompleteSetAnalysis" id="btnCompleteSetAnalysis">齐套分析</button>
                            <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="btnICMOBill" id="btnICMOBill">生产订单选单</button>
                            <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnReady" id="btnReady">准备</button>
                        </div>
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
@@ -50,7 +51,7 @@
                                        </select>
                                    </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;">
@@ -177,13 +178,17 @@
                                </div>
                            </div>
                        </div>
                        <div id="test"></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="set_BatchFill"><i class="layui-icon layui-icon-file-b"></i>批量填充</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>-->
            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></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="set_MoverUp"><i class="layui-icon layui-icon-delete"></i>上移</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_MoverDown"><i class="layui-icon layui-icon-delete"></i>下移</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_Priority"><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>
@@ -245,7 +250,7 @@
                    return;
                }
                if (!isNaN(parseInt(obj.data[Format(yyyy + '/' + MM + '/' + (dd + i), 'yyyy-MM-dd')]))) {
                    dateHQty += parseInt(obj.data[Format(yyyy + '/' + MM + '/' + (dd + i), 'yyyy-MM-dd')]);
                    dateHQty += parseInt(obj.data[Format(yyyy + '/' + MM + '/' + (dd + i), 'yyyy-MM-dd')])  ;
                }
            }
            for (var i = 1; i < dd; i++) {
@@ -253,6 +258,14 @@
                    dateHQty += parseInt(obj.data[Format(yyyy + '/' + (MM + 1) + '/' + i, 'yyyy-MM-dd')]);
                }
            }
            if (dateHQty > (parseInt(obj.data["计划数量"]))) {
                obj.update({
                    "日计划数量总量": dateHQty
                });
                return layer.msg("排产数量大于订单数量!")
            }
            //修改数据
            obj.update({
                "日计划数量总量": dateHQty
@@ -262,6 +275,39 @@
        //双击表格事件
        table.on('rowDouble(mainTable)', function (obj) {
            btnrowDouble(obj.data);
        })
        var objData = "";
        //点击行选中数据
        table.on('row(mainTable)', function (obj) {
            if (objData != "" && objData.tr.find(':checkbox:first').prop('checked') != obj.tr.find(':checkbox:first').prop('checked')) {
                objData.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                objData.tr.find(':checkbox:first').prop('checked', false);//取消复选框选中样式
                layui.each(table.cache.mainTable, function (i, l) {
                    if (objData.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = false;
                    }
                });
            }
            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');  //设置复选框选中样式
            } else {
                obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                obj.tr.find(':checkbox:first').prop('checked', false);//取消复选框选中样式
            }
            //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
            layui.each(table.cache.mainTable, function (i, l) {
                if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                    l.LAY_CHECKED = flag;
                }
            });
            objData = obj;
        })
        //头工具栏事件
@@ -296,6 +342,18 @@
                //删除行
                case 'set_DeleteBill':
                    set_DeleteBill();
                    break;
                //上移
                case 'set_MoverUp':
                    set_MoverUp(data);
                    break;
                //下移
                case 'set_MoverDown':
                    set_MoverDown(data);
                    break;
                //优先级
                case 'set_Priority':
                    set_Priority();
                    break;
            }
        });
@@ -351,6 +409,13 @@
        form.on('submit(btnICMOBill)', function (data) {
            get_btnICMOBill();
        })
        //准备
        form.on('submit(btnReady)', function (data) {
            get_btnReady();
        })
        //行内事件
        table.on('tool(mainTable)', function (obj) {
@@ -582,7 +647,13 @@
            columns.push({ field: '产线入库数量', title: '产线入库数量', width: 150 });
            columns.push({ field: '未排数量', title: '可排数量', width: 150 });
            columns.push({ field: '订单等级', title: '订单等级', width: 150 });
            columns.push({ field: '交货日期', title: '交货日期', width: 150, templet: "<div>{{d.交货日期 =='' ?'':layui.util.toDateString(d.交货日期, 'yyyy-MM-dd HH:mm:ss')}}</div>"});
            columns.push({ field: '订单交货期', title: '订单交货期', width: 150, templet: "<div>{{d.订单交货期 =='1900-01-01' ?'':layui.util.toDateString(d.订单交货期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '订单需求数量', title: '订单需求数量', width: 150 });
            columns.push({ field: '开工余量', title: '开工余量', width: 150 });
            columns.push({ field: '小时产能', title: '小时产能', width: 150 });
            columns.push({ field: '生产周期', title: '生产周期', width: 150 });
            columns.push({ field: '最迟开工日期', title: '最迟开工日期', width: 150, templet: "<div>{{d.最迟开工日期 =='' ?'':layui.util.toDateString(d.最迟开工日期, 'yyyy-MM-dd')}}</div>" });
            columns.push({ field: '最迟完工日期', title: '最迟完工日期', width: 150, templet: "<div>{{d.最迟完工日期 =='' ?'':layui.util.toDateString(d.最迟完工日期, 'yyyy-MM-dd')}}</div>"});
            columns.push({ field: '源单主内码', title: '源单主内码', width: 150 });
            columns.push({ field: '源单子内码', title: '源单子内码', width: 150 });
            columns.push({ field: 'hmainid', title: '日计划工单主码', width: 150 });
@@ -1042,6 +1113,90 @@
            })
        }
        //准备
        function get_btnReady() {
            var data = table.cache["mainTable"];
            var HICOMNum = [];
            for (var i = 0; i < data.length; i++) {
                HICOMNum.push(data[i]["HICMOInterID"] + ";" + data[i]["HICMOEntryID"]);
            }
            $('#test').html(`
    <div class="layui-progress" lay-filter="demo-filter-progress">
      <div class="layui-progress-bar" lay-percent="40%"></div>
    </div>
  `);
            // æ¸²æŸ“进度条组件
            element.render('progress', 'demo-filter-progress');
            $.ajax({
                url: GetWEBURL() + '/JIT_DayPlanPlatFormBill/ReadyData',
                type: "GET",
                data: { "HICOMNum": HICOMNum.toString() },
                success: function (data1) {
                    if (data1.count == 1) {
                        for (var i = 0; i < data1.data.length; i++) {
                            for (var j = 0; j < option.data.length; j++) {
                                if (data1.data[i]["HICMOInterID"] == option.data[j]["HICMOInterID"] && data1.data[i]["HICMOEntryID"] == option.data[j]["HICMOEntryID"]) {
                                    option.data[j]["小时产能"] = data1.data[i]["小时产能"];
                                    option.data[j]["生产周期"] = data1.data[i]["生产周期"];
                                    option.data[j]["开工余量"] = data1.data[i]["开工余量"];
                                    option.data[j]["最迟开工日期"] = data1.data[i]["最迟开工日期"];
                                    option.data[j]["最迟完工日期"] = data1.data[i]["最迟完工日期"];
                                    option.data[j]["订单需求数量"] = data1.data[i]["订单需求数量"];
                                    option.data[j]["订单交货期"] = data1.data[i]["订单交货期"] < "2020-01-01 0:00:00" ? "1900-01-01" : data1.data[i]["订单交货期"];
                                    break;
                                }
                            }
                        }
                        for (var i = 0; i < option.data.length - 1; i++) {
                            for (var j = 0; j < option.data.length - i - 1; j++) {
                                var tables = [];
                                //设置任务单优先排序,并设置优先(最迟完工日期+订单交货期)  å°è£…
                                if (option.data[j]["最迟完工日期"] > option.data[j + 1]["最迟完工日期"]) {
                                    tables.push(option.data[j + 1]);
                                    option.data[j + 1] = option.data[j];
                                    option.data[j] = tables[0];
                                } else if (option.data[j]["最迟完工日期"] == option.data[j + 1]["最迟完工日期"]) {
                                    if (option.data[j]["订单交货期"] > option.data[j + 1]["订单交货期"]) {
                                        tables.push(option.data[j + 1]);
                                        option.data[j + 1] = option.data[j];
                                        option.data[j] = tables[0];
                                    } else if (option.data[j]["订单交货期"] == option.data[j + 1]["订单交货期"]) {
                                        if (option.data[j]["订单需求数"] < option.data[j + 1]["订单需求数"]) {
                                            tables.push(option.data[j + 1]);
                                            option.data[j + 1] = option.data[j];
                                            option.data[j] = tables[0];
                                        }
                                    }
                                }
                            }
                        }
                        $('#test').html('')
                        table.render(option);
                    } else {
                        //layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //下移
        function DownTable(data ,i) {
        }
        //查询生产订单
        function SelectICMOBill(hmainid) {
            var ajaxLoad = layer.load();
@@ -1146,6 +1301,58 @@
            }
        }
        //上移
        function set_MoverUp(data) {
            if (data.length != 1) {
                layer.msg("请选择一行数据!");
            } else if (option.data[0]["生产订单号"] == data[0]["生产订单号"]) {
                layer.msg("首行数据无法移动!");
            } else {
                var tables = [];
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i]["生产订单号"] == data[0]["生产订单号"]) {
                        tables.push(option.data[i - 1]);
                        data[0].LAY_CHECKED = true;
                        option.data[i - 1] = data[0];
                        option.data[i] = tables[0];
                        table.render(option);
                        break;
                    }
                }
            }
        }
        //下移
        function set_MoverDown(data) {
            if (data.length != 1) {
                layer.msg("请选择一行数据!");
            } else if (option.data[option.data.length - 1]["生产订单号"] == data[0]["生产订单号"]) {
                layer.msg("末行数据无法移动!");
            } else {
                var tables = [];
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i]["生产订单号"] == data[0]["生产订单号"]) {
                        tables.push(option.data[i + 1]);
                        data[0].LAY_CHECKED = true;
                        option.data[i + 1] = data[0];
                        option.data[i] = tables[0];
                        table.render(option);
                        break;
                    }
                }
            }
        }
        //优先级
        function set_Priority() {
            var data = table.cache["mainTable"];
            for (var i = 0; i < data.length; i++) {
                data[i]["优先级"] = (i + 1);
            }
            option.data = data;
            table.render(option);
        }
        //保存
        function set_AddNew(data) {