添康多车间排产;直接方案F7多选检验项目bug修复;小卫镭雕数据上传,提示成功图标修改
3个文件已修改
141 ■■■■ 已修改文件
WebTM/views/生产管理/添康三周排产/JIT_DayPlanPlatForm_TK.html 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/质量管理/检验方案单/QC_Add_CheckProject.html 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/单品过站_小卫/Cj_SaveSNByICMO.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/Éú²ú¹ÜÀí/Ìí¿µÈýÖÜÅŲú/JIT_DayPlanPlatForm_TK.html
@@ -872,11 +872,15 @@
            columns.push({ field: '计划未完成数', title: '计划未完成数', width: 150, filter: true });
            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, sort: true, filter: true });
            columns.push({ field: '要货日期', title: '要货日期', width: 150, templet: "<div>{{d.要货日期 ==null ?'':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]' } });
            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]' } });
            columns.push({ field: '生产车间', title: '生产车间', width: 150 });
            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, templet: "<div>{{d.开工日期 ==null ?'':layui.util.toDateString(d.开工日期, 'yyyy-MM-dd')}}</div>", sort: true, filter: { type: 'date[yyyy-MM-dd]' } });
            //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]' } });
            columns.push({ field: '业务状态', title: '业务状态', width: 150, sort: true, hide: true });
            columns.push({ field: '产线入库数量', title: '产线入库数量', width: 150, sort: true, hide: true });
@@ -887,28 +891,31 @@
            for (var i = 0; i < HArrangeProductDayQty; i++) {
                columns.push(dateColumns[i]);//0
            }
            columns.push({ field: '未排数量', title: '可排数量', width: 150, sort: true, hide: true });
            columns.push({ field: '单据号', title: '单据号', hide: true, sort: 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, sort: 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 });
            columns.push({ field: '组织编码', title: '组织编码', width: 150, sort: 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 });
            columns.push({ field: '生产订单单据类型', title: '源单订单单据类型', width: 150, sort: true });
            columns.push({ field: '订单等级', title: '订单等级', width: 150, sort: true });
            columns.push({ field: '订单交货期', title: '订单交货期', width: 150, templet: "<div>{{d.订单交货期 =='1900-01-01' ?'':layui.util.toDateString(d.订单交货期, 'yyyy-MM-dd')}}</div>", sort: 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 });
            columns.push({ field: '最迟开工日期', title: '最迟开工日期', width: 150, templet: "<div>{{d.最迟开工日期 =='' ?'':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.最迟完工日期 =='' ?'':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, hide: true, 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, sort: true, hide: true });
            columns.push({ field: '订单等级', title: '订单等级', width: 150, sort: true, hide: true});
            columns.push({ field: '订单交货期', title: '订单交货期', width: 150, hide: true, templet: "<div>{{d.订单交货期 =='1900-01-01' ?'':layui.util.toDateString(d.订单交货期, 'yyyy-MM-dd')}}</div>", sort: true });
            columns.push({ field: '订单需求数量', title: '订单需求数量', width: 150, sort: true, hide: true });
            columns.push({ field: '开工余量', title: '开工余量', width: 150, sort: true, hide: true });
            columns.push({ field: '最迟开工日期', title: '最迟开工日期', width: 150, hide: true, templet: "<div>{{d.最迟开工日期 =='' ?'':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, hide: true, templet: "<div>{{d.最迟完工日期 =='' ?'':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, sort: true });
            columns.push({ field: '源单子内码', title: '源单子内码', width: 150, sort: true });
            columns.push({ field: 'hmainid', title: '日计划工单主码', width: 150, sort: true });
            columns.push({ field: '源单主内码', title: '源单主内码', width: 150, sort: true, hide: true });
            columns.push({ field: '源单子内码', title: '源单子内码', width: 150, sort: true, hide: true });
            columns.push({ field: 'hmainid', title: '日计划工单主码', width: 150, sort: true, hide: true });
            columns.push({ field: '计量单位', title: '计量单位', width: 150, sort: true });
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150 });//0
            columns.push({ field: '未入库数量', title: '未入库数量', width: 150 });//0
            columns.push({ field: '未入库数量', title: '未入库数量', width: 150, hide: true });//0
            columns.push({ field: 'HICMOInterID', title: 'HICMOInterID', width: 150, hide: true });
            columns.push({ field: 'HGroupID', title: 'HGroupID', width: 150, hide: true });
            columns.push({ field: 'HGroupName', title: 'HGroupName', width: 150, hide: true });
@@ -919,18 +926,18 @@
            columns.push({ field: 'HUnitID', title: 'HUnitID', hide: true });
            columns.push({ field: 'HProdORGID', title: 'HProdORGID', hide: true });
            columns.push({ field: 'HEmpID', title: 'HEmpID', hide: true });
            columns.push({ field: '拆单汇报数量', title: '拆单汇报数量', width: 150, edit: 'text', sort: true });
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150, sort: true });//0
            columns.push({ field: '日计划数量总量', title: '日计划数量总量', width: 150, sort: true });//0
            columns.push({ field: '拆单数量', title: '拆单数量', width: 150, edit: 'text' });
            columns.push({ field: '拆单汇报数量', title: '拆单汇报数量', width: 150, edit: 'text', sort: true, hide: true});
            columns.push({ field: '销售订单数量', title: '销售订单数量', width: 150, sort: true, hide: true });//0
            columns.push({ field: '日计划数量总量', title: '日计划数量总量', width: 150, sort: true, hide: true });//0
            //columns.push({ field: '拆单数量', title: '拆单数量', width: 150, edit: 'text' });
            columns.push({ field: '今日之前日计划数量', title: '今日之前日计划数量', width: 150, sort: true });//0
            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>", event: "HPlanEndDate", 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>", event: "HEarlyDate", sort: true, filter: { type: 'date[yyyy-MM-dd HH:mm:ss]' } });
            columns.push({ field: '操作工', title: '操作工', width: 150, edit: 'text', event: "HEmpID" });
            columns.push({ field: '计划开始日期', title: '预计开工日期', width: 150, hide: true, 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, hide: true, templet: "<div>{{d.计划结束日期 ==null ?'':layui.util.toDateString(d.计划结束日期, 'yyyy-MM-dd')}}</div>", event: "HPlanEndDate", sort: true, filter: { type: 'date[yyyy-MM-dd HH:mm:ss]' } });
            columns.push({ field: '最早开工日期', title: '最早开工日期', width: 150, hide: true, templet: "<div>{{d.最早开工日期 ==null ?'':layui.util.toDateString(d.最早开工日期, 'yyyy-MM-dd')}}</div>", event: "HEarlyDate", sort: true, filter: { type: 'date[yyyy-MM-dd HH:mm:ss]' } });
            columns.push({ field: '操作工', title: '操作工', width: 150, edit: 'text', event: "HEmpID", hide: true });
            columns.push({ field: 'HMouldID', title: 'HMouldID', width: 150, hide: true });
            columns.push({ field: 'HMouldPCTime', title: 'HMouldPCTime', width: 150, hide: true });
            columns.push({ field: '所需工位数', title: '所需工位数', width: 150 });
            columns.push({ field: '所需工位数', title: '所需工位数', width: 150, hide: true });
            columns.push({ field: '使用工装', title: '使用工装', width: 150, hide: true });
            columns.push({ fixed: 'right', title: '操作', toolbar: '#barDemo' });
            option_columns = columns;
@@ -1420,17 +1427,24 @@
                }
            });
            var sql = "";
            if ($("#HMergeDept").val() == "是") {
                //根据车间删除没有锁定的数据
                var sql = "delete from Sc_WorkBillSortBillSub where HLockedSub != 1 and HInterID in (select HInterID from Sc_WorkBillSortBillMain where (HWorkShopID=102357 or HWorkShopID=102359) and HLockOrder != 1 )";
                sql = "delete from Sc_WorkBillSortBillSub where HLockedSub != 1 and HInterID in (select HInterID from Sc_WorkBillSortBillMain where (HWorkShopID=102357 or HWorkShopID=102359) and HLockOrder != 1 )";
            } else {
                //根据车间删除没有锁定的数据
                var sql = "delete from Sc_WorkBillSortBillSub where HLockedSub != 1 and HInterID in (select HInterID from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + " and HLockOrder != 1 )";
                sql = "delete from Sc_WorkBillSortBillSub where HLockedSub != 1 and HInterID in (select HInterID from Sc_WorkBillSortBillMain where HWorkShopID=" + HWorkShopID + " and HLockOrder != 1 )";
            }
            if ($("#HWorkShopID").val() == "15035828") {
                //根据排产标记删除没有锁定的数据(配件车间)
                var sql = "delete from Sc_WorkBillSortBillSub where HLockedSub != 1 and HInterID in (select HInterID from Sc_WorkBillSortBillMain with(nolock) where HRemark = '配件订单' and HLockOrder != 1 )";
                sql = "delete from Sc_WorkBillSortBillSub where HLockedSub != 1 and HInterID in (select HInterID from Sc_WorkBillSortBillMain with(nolock) where HRemark = '配件订单' and HLockOrder != 1 )";
            }
            if ($("#HWorkShopID").val().split(",").length >= 2) {
                //根据车间删除没有锁定的数据
                sql = "delete from Sc_WorkBillSortBillSub where HLockedSub != 1 and HInterID in (select HInterID from Sc_WorkBillSortBillMain where HWorkShopID in (" + HWorkShopID + ") and HLockOrder != 1 )";
            }
            $.ajax({
@@ -3469,6 +3483,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 get_Export() {
            var data = option.data
            data.forEach((item) => {
@@ -3478,18 +3504,54 @@
                    item.规格型号 = item.规格型号.replace(/[,]+/g, ',');  // å°†æ¢åˆ†å·æ›¿æ¢ä¸ºç©ºå­—符串
                }
            });
            for (let i = 19; i < option.cols[0].length - 40; i++)
            for (let i = 22; i < option.cols[0].length - 45; i++)
            {
                option.cols[0][i].title = Format(option.cols[0][i].title, 'MM-dd').toString();
                option.cols[0][i].title = ("2026" + "-" + Format(option.cols[0][i].title, 'MM-dd').toString()).toString();
            }
            table.exportFile(ins.config.id, data, "xls");
            // æ­¥éª¤2:定义需要排除的字段(不导出的字段,此处排除 operate å’Œ å¯é¢å¤–添加其他字段)
            var excludeFields = ['锁定工单', '昨日数量', '要货日期', '业务状态', '产线入库数量', '未排数量', '销售订单审核日期', '订单类型', '生产订单单据类型', '订单等级', '订单交货期', '订单需求数量', '开工余量', '生产周期', '最迟开工日期', '最迟完工日期', '源单主内码', '源单子内码', 'hmainid', '计量单位', '拆单数量', '未入库数量', 'HICMOInterID', 'HGroupID', 'HGroupName', 'HMaterID', 'HSourceID', 'HWorkShopID', 'HUnitID', 'HProdORGID', 'HEmpID', '拆单汇报数量', '销售订单数量', '日计划数量总量', '拆单数量', '今日之前日计划数量', '计划开始日期', '计划结束日期', '最早开工日期', '操作工', 'HMouldID', 'HMouldPCTime', '所需工位数', '使用工装'];
            for (let i = 19; i < option.cols[0].length - 40; i++) {
            // æ­¥éª¤3:筛选数据,生成仅包含需导出字段的新数据
            var exportData = data.map(function (item) {
                var newItem = {};
                // éåŽ†å½“å‰æ•°æ®é¡¹çš„æ‰€æœ‰å­—æ®µ
                for (var key in item) {
                    // ä»…保留不在排除列表中的字段
                    if (!excludeFields.includes(key)) {
                        newItem[key] = item[key];
                    }
                }
                return newItem;
            });
            let processedData = preprocessData(data);
            table.exportFile(ins.config.id, processedData, "xls");
            for (let i = 22; i < option.cols[0].length - 45; i++) {
                option.cols[0][i].title = Format(option.cols[0][i].title, 'MM.dd');
            }
        }
        function preprocessData(data) {
            return data.map(row => {
                return Object.keys(row).reduce((acc, key) => {
                    let value = row[key];
                    if (typeof value === 'number' || typeof value === 'string') {
                        value = String(value).replace(/"/g, '"');
                    } else if (value instanceof Date) {
                        value = value.toISOString().replace('T', ' ').replace('Z', '');
                    }
                    acc[key] = value;
                    return acc;
                }, {});
            });
        }
        //隐藏列设置
        function get_HideColumn() {
            var colName = "";
WebTM/views/ÖÊÁ¿¹ÜÀí/¼ìÑé·½°¸µ¥/QC_Add_CheckProject.html
@@ -904,9 +904,12 @@
                                            });
                                        }
                                        table.reload("mainTable", {
                                            data: buttonArr    //将数据重新载入表格
                                        })
                                        //table.reload("mainTable", {
                                        //    data: buttonArr    //将数据重新载入表格
                                        //})
                                        option.data = buttonArr;
                                        table.render(option);
                                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                    }
WebTM/views/³µ¼ä¹ÜÀí/µ¥Æ·¹ýÕ¾_СÎÀ/Cj_SaveSNByICMO.html
@@ -227,7 +227,7 @@
                        success: function (result) {
                            if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.close(wait);
                                layer.alert(result.Message, { icon: 5 });
                                layer.alert(result.Message, { icon: 1 });
                            }
                            else {
                                layer.close(wait);