From 4fc2c964c941fe943a18416dc57f57509075ab03 Mon Sep 17 00:00:00 2001 From: pengm <674192343@qq.com> Date: Fri, 30 Jan 2026 16:51:37 +0800 Subject: [PATCH] 1.生产工单增加选择材料功能 --- src/components/Common/CommonTable/index.js | 4 ++-- src/components/Manufacture/WorkOrderPackTableTreeNew/index.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/src/components/Common/CommonTable/index.js b/src/components/Common/CommonTable/index.js index a4b1ace..66362fa 100644 --- a/src/components/Common/CommonTable/index.js +++ b/src/components/Common/CommonTable/index.js @@ -4717,7 +4717,7 @@ class CommonTableRc extends React.Component { let iTag = index + colSpan; if (tableColumn[index].children !== undefined && tableColumn[index].children.length > 0) { tableColumn[index].children.forEach((itemChild, i) => { - const sValue = selectedSumData[itemChild.dataIndex] || 0; + const sValue = selectedSumData.hasOwnProperty(itemChild.dataIndex) ? selectedSumData[itemChild.dataIndex] : ''; const cellChild = ( { [`${name}Data`]: tableData, [`${name}Config`]: tableConfig, masterConfig, - controlSelectedRowKeys, + controlSelectedRowKeys = [], processSelectedRowKeys, sModelsId, token, @@ -1705,8 +1705,8 @@ const WorkOrderPackTableTreeNewEvent = props => { packConfig, slaveData, controlData: controlDataOld, - materials0Data: materialsDataOld, - processData: processDataOld, + materials0Data: materialsDataOld = [], + processData: processDataOld = [], colorData: colorDataOld, packData: packDataOld, controlDelData: controlDelDataOld, @@ -1716,12 +1716,57 @@ const WorkOrderPackTableTreeNewEvent = props => { packDelData: packDelDataOld, } = props; let { masterData, slaveSelectedRowKeys } = props; + const bInsertMaterials = selectConfig?.sControlName?.toLowerCase().includes("inserttestmaterials"); const bTmpInfoBySql = selectConfig?.sControlName?.toLowerCase().includes("tmpinfobysql"); - if (name === "productProcessInfo" && !bTmpInfoBySql) { + if (name === "productProcessInfo" && !bInsertMaterials) { message.info("productProcessInfo已废弃,请改成TmpInfoBySql!"); return; } - if (bTmpInfoBySql) { + /* 插入测试材料 */ + if(bInsertMaterials) { + let iSlaveIndex = -1; + if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { + iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys.toString()); + } else if (slaveData.length > 0) { + iSlaveIndex = 0; + } + + let controlSelectedRow = {}; /* 控制表选中行 */ + if (commonUtils.isNotEmptyArr(controlDataOld)) { + if (commonUtils.isNotEmptyArr(controlSelectedRowKeys)) { + controlSelectedRow = controlDataOld.find(item => controlSelectedRowKeys.includes(item.sId)); + } else { + controlSelectedRow = controlDataOld[0]; + } + } + + for (const item of selectData) { + const newCopyTo = {}; + newCopyTo.master = masterData; + newCopyTo.control = controlSelectedRow; + let tableDataRow = commonFunc.getDefaultData(tableConfig, newCopyTo); // 取默认值 + tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item, newCopyTo) }; + tableDataRow.handleType = "add"; + tableDataRow.sId = commonUtils.createSid(); + tableDataRow.sParentId = masterData.sId; + tableDataRow.sProcessId = item.sProcessId; + const sProcessId = item.sProcessId; + const iProcessIndex = processDataOld.findIndex(item => item.sProcessId === sProcessId); + if (iProcessIndex > -1) { + tableDataRow.sProcessTbId = processDataOld[iProcessIndex].sId; /* 工序表格ID */ + tableDataRow.sMaterialsProcessNameOrder = processDataOld[iProcessIndex].sProcessName; /* 工序ID */ + tableDataRow.sMaterialsProcessName = processDataOld[iProcessIndex].sProcessName; /* 工序ID */ + } + tableDataRow.sControlId = controlSelectedRow?.sId; + tableDataRow.sPartsName = controlSelectedRow?.sPartsName; + materialsDataOld.push(tableDataRow); + } + console.log('插入', materialsDataOld); + props.onSaveState({ + materials0Data: materialsDataOld, + [`${name}ChooseVisible`]: false + }); + } else if (bTmpInfoBySql) { /* 复制从部件 根据配置下拉sql获取数据源 通过按钮名称是否包含add来判断数据源新增还是删除 */ const addState = {}; let controlData = commonUtils.isEmptyArr(controlDataOld) ? [] : controlDataOld; @@ -2298,7 +2343,7 @@ const WorkOrderPackTableTreeNewEvent = props => { } }); } - console.log('1122221', returnData.colorData, colorAssignField); + if (commonUtils.isNotEmptyArr(returnData.colorData)) { if (commonUtils.isNotEmptyObject(config.colorConfig)) { returnData.colorData.forEach(colorItem => { -- libgit2 0.22.2