From 97512ea7d1f35c2709007a46c59ca6e221ccc4d5 Mon Sep 17 00:00:00 2001 From: chenxt <10125295+chen-xintao97@user.noreply.gitee.com> Date: Wed, 4 Mar 2026 14:31:15 +0800 Subject: [PATCH] 出版选择颜色 --- src/components/Common/CommonBill/index.js | 566 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------------- src/components/Common/CommonComponent/index.js | 6 ++++++ src/components/Common/CommonTable/index.js | 4 ++-- 3 files changed, 414 insertions(+), 162 deletions(-) diff --git a/src/components/Common/CommonBill/index.js b/src/components/Common/CommonBill/index.js index a6d9164..e6735e3 100644 --- a/src/components/Common/CommonBill/index.js +++ b/src/components/Common/CommonBill/index.js @@ -1,6 +1,6 @@ /* eslint-disable */ /* eslint-disable prefer-destructuring */ -import React, { Component } from 'react'; +import React, { Component, useEffect, useState } from 'react'; import { UploadOutlined } from '@ant-design/icons'; import { Form } from '@ant-design/compatible'; // import '@ant-design/compatible/assets/index.css'; @@ -16,7 +16,8 @@ import { Table, Upload, Input, - Modal + Modal, + Space } from 'antd-v4'; import { message } from '@/utils/common/message'; import CommonSales from '@/components/Common/CommonBillEvent';/* 继承销售模块业务功能 */ @@ -425,7 +426,7 @@ class CommonBill extends Component { const tableDataRowAdd = commonFunc.getDefaultData(controlConfig, allTableData); tableDataRowAdd.handleType = 'add'; tableDataRowAdd.sId = commonUtils.createSid(); - tableDataRowAdd.sNodeId = tableDataRowAdd.sId ; + tableDataRowAdd.sNodeId = tableDataRowAdd.sId; tableDataRowAdd.sParentId = masterData && masterData.sId ? masterData.sId : null; tableDataRowAdd.sSlaveId = slaveSelectedRowKeys[0]; tableDataRowAdd.key = tableDataRowAdd.sId; @@ -695,7 +696,7 @@ class CommonBill extends Component { } } tableData.push(tableDataRow); - this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId]}); + this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId] }); } else if (name === 'materials' || name === 'process') { tableDataRow = this.props.onDataRowAdd(name, true); if (commonUtils.isEmptyArr(controlSelectedRowKeys)) { @@ -773,7 +774,7 @@ class CommonBill extends Component { return false; } } else if (name === 'slave') { /* 删除子表 */ - if( slaveConfig.sTableType === 'multiple' && commonUtils.isNotEmptyObject(slaveInfoConfig)) { + if (slaveConfig.sTableType === 'multiple' && commonUtils.isNotEmptyObject(slaveInfoConfig)) { if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { let slaveInfoReturnData = {}; if (commonUtils.isNotEmptyObject(slaveInfoConfig)) { @@ -786,11 +787,11 @@ class CommonBill extends Component { }); return true; } - } else if( slaveConfig.sTableType === 'single') { /* 单表删除 */ + } else if (slaveConfig.sTableType === 'single') { /* 单表删除 */ if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { let slaveSelectedRowNewKeys = slaveSelectedRowKeys; const newSelectedRowKeys = this.handleDelSlaveChild(slaveData, slaveSelectedRowKeys[0], slaveSelectedRowKeys); - if(commonUtils.isNotEmptyArr(newSelectedRowKeys)) { + if (commonUtils.isNotEmptyArr(newSelectedRowKeys)) { slaveSelectedRowNewKeys = newSelectedRowKeys; } const slaveReturnData = this.props.onDataRowDel(name, isWait, slaveSelectedRowNewKeys); @@ -866,17 +867,17 @@ class CommonBill extends Component { }; handleSelect = async (name, selectConfig, selectData) => { const { - [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: tableSelectedRowKeys, [`${name}Config`]: tableConfig, masterConfig, controlSelectedRowKeys, sModelsId, token, app, tableName, sModelsType, + [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: tableSelectedRowKeys, [`${name}Config`]: tableConfig, masterConfig, controlSelectedRowKeys, sModelsId, token, app, tableName, sModelsType, } = this.props; - let { masterData}= this.props; - if(commonUtils.isNotEmptyObject(selectConfig.sControlName) && selectConfig.sControlName.toLowerCase().includes('tmplnfobysqlsalesorder')) { - const { slaveData, slaveSelectedRowKeys} = this.props; + let { masterData } = this.props; + if (commonUtils.isNotEmptyObject(selectConfig.sControlName) && selectConfig.sControlName.toLowerCase().includes('tmplnfobysqlsalesorder')) { + const { slaveData, slaveSelectedRowKeys } = this.props; const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`; const sConfigformId = commonUtils.isEmpty(selectConfig) ? '' : selectConfig.sParentId; const sControlName = commonUtils.isNotEmptyObject(selectConfig.sControlName) ? selectConfig.sControlName : 'BtnCopyFrom.TmpInfoBySql'; let sSqlCondition = ''; const conditonValues0 = this.props.getSqlCondition(selectConfig, 'slave', selectData[0]); - if(commonUtils.isNotEmptyObject(conditonValues0)) { + if (commonUtils.isNotEmptyObject(conditonValues0)) { sSqlCondition = conditonValues0; } else { sSqlCondition = { sId: selectData[0].sId }; @@ -886,14 +887,14 @@ class CommonBill extends Component { let slaveRow = {}; if (commonUtils.isNotEmptyArr(slaveData)) { - if(commonUtils.isEmptyArr(slaveSelectedRowKeys)){ + if (commonUtils.isEmptyArr(slaveSelectedRowKeys)) { iSlaveIndex = 0; - } else{ + } else { iSlaveIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId)); } } - if(iSlaveIndex > -1 ){ + if (iSlaveIndex > -1) { slaveRow = slaveData[iSlaveIndex]; } @@ -910,29 +911,29 @@ class CommonBill extends Component { const sName = `${key}Data`; const sDelName = `${key}DelData`; // allReturnMap[sName] = returnData[key]; - let {[`${key}Data`]: oldData, [`${sDelName}`]: oldDelData } = this.props; + let { [`${key}Data`]: oldData, [`${sDelName}`]: oldDelData } = this.props; - if(commonUtils.isEmptyArr(oldDelData)) { + if (commonUtils.isEmptyArr(oldDelData)) { oldDelData = []; } - if(commonUtils.isEmptyArr(oldData)) { + if (commonUtils.isEmptyArr(oldData)) { oldData = []; } /* 找到赋值字段 */ - const tableConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(sTmpInfoBySqlBtnName +'.' + key)); + const tableConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(sTmpInfoBySqlBtnName + '.' + key)); const tableField = commonUtils.isNotEmptyArr(tableConfig) ? tableConfig[0].sAssignField : ''; - if(sTmpInfoBySqlBtnName.includes('_edit')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */ + if (sTmpInfoBySqlBtnName.includes('_edit')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */ /* 对应字段 */ const sActiveKey = selectConfig.sActiveKey; const keyData = returnData[key]; /* 找到赋值字段 */ let newData = []; - if(commonUtils.isNotEmptyArr(keyData)) { + if (commonUtils.isNotEmptyArr(keyData)) { keyData.forEach((child) => { const filterData = oldData.filter(item => item[sActiveKey] !== child[sActiveKey]); - if(commonUtils.isNotEmptyArr(filterData) && filterData.length === oldData.length) { - let tableRow ={}; + if (commonUtils.isNotEmptyArr(filterData) && filterData.length === oldData.length) { + let tableRow = {}; tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段 tableRow.sId = commonUtils.createSid(); tableRow.sParentId = masterData.sId; @@ -943,18 +944,18 @@ class CommonBill extends Component { newData = oldData.concat(newData); } allReturnMap[sName] = newData; - } else if(sTmpInfoBySqlBtnName.includes('_del')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */ + } else if (sTmpInfoBySqlBtnName.includes('_del')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */ /* 对应字段 */ oldData.forEach((child) => { - child.handleType ='del'; + child.handleType = 'del'; oldDelData.push(child); }); allReturnMap[sDelName] = oldDelData; oldData = []; const keyData = returnData[key]; - if(commonUtils.isNotEmptyArr(keyData)) { + if (commonUtils.isNotEmptyArr(keyData)) { keyData.forEach((child) => { - let tableRow ={}; + let tableRow = {}; tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段 tableRow.sId = commonUtils.createSid(); tableRow.sParentId = masterData.sId; @@ -963,30 +964,30 @@ class CommonBill extends Component { }); } allReturnMap[sName] = oldData; - } else{ /* 插入 数据都插入进去 */ + } else { /* 插入 数据都插入进去 */ /* 对应字段 */ const keyData = returnData[key]; // 生产补印备料 - if (this.props.sModelsId === '12710101117005582604140' && key !=='master') { + if (this.props.sModelsId === '12710101117005582604140' && key !== 'master') { oldData.forEach((child) => { - child.handleType ='del'; + child.handleType = 'del'; oldDelData.push(child); }); allReturnMap[sDelName] = oldDelData; oldData = []; } - if(key === 'master') { + if (key === 'master') { let newData = keyData; if (commonUtils.isNotEmptyArr(keyData) && Array.isArray(keyData)) { newData = keyData[0] } oldData = { ...oldData, ...commonFunc.getAssignFieldValue(tableField, newData) }; // 取赋值字段 - masterData.handleType = commonUtils.isEmpty( masterData.handleType) ? 'update' : masterData.handleType; - } else if(key === 'slave') { /* 从表 */ - if(commonUtils.isNotEmptyObject(slaveRow) && commonUtils.isNotEmptyArr(oldData)) { + masterData.handleType = commonUtils.isEmpty(masterData.handleType) ? 'update' : masterData.handleType; + } else if (key === 'slave') { /* 从表 */ + if (commonUtils.isNotEmptyObject(slaveRow) && commonUtils.isNotEmptyArr(oldData)) { oldData[iSlaveIndex] = { ...slaveRow, ...commonFunc.getAssignFieldValue(tableField, keyData[0]) }; // 取赋值字段 - oldData[iSlaveIndex].sOriginalId = commonUtils.isNotEmptyObject(keyData[0].sOriginalId) ? keyData[0].sOriginalId: keyData[0].sSlaveId; + oldData[iSlaveIndex].sOriginalId = commonUtils.isNotEmptyObject(keyData[0].sOriginalId) ? keyData[0].sOriginalId : keyData[0].sSlaveId; // 生产补印备料 if (this.props.sModelsId === '12710101117005582604140') { oldData[iSlaveIndex].sBomId = selectData[0].sProductCardId; @@ -997,9 +998,9 @@ class CommonBill extends Component { } slaveData[iSlaveIndex] = oldData[iSlaveIndex]; } else { - if(commonUtils.isNotEmptyArr(keyData)) { + if (commonUtils.isNotEmptyArr(keyData)) { keyData.forEach((child) => { - let tableRow ={}; + let tableRow = {}; tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段 tableRow.sId = commonUtils.createSid(); tableRow.sParentId = masterData.sId; @@ -1018,7 +1019,7 @@ class CommonBill extends Component { } } /* sFatherSlaveId对应为新的sId */ - if(commonUtils.isNotEmptyArr(oldData)) { + if (commonUtils.isNotEmptyArr(oldData)) { const materialsFilterData = oldData.filter(item => commonUtils.isNotEmptyObject(item.sFatherSlaveId)); if (commonUtils.isNotEmptyArr(materialsFilterData)) { materialsFilterData.forEach((filterItem, index) => { @@ -1036,10 +1037,10 @@ class CommonBill extends Component { }); } } - }else { - if(commonUtils.isNotEmptyArr(keyData)) { + } else { + if (commonUtils.isNotEmptyArr(keyData)) { keyData.forEach((child) => { - let tableRow ={}; + let tableRow = {}; tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段 tableRow.sId = commonUtils.createSid(); tableRow.sParentId = masterData.sId; @@ -1048,7 +1049,7 @@ class CommonBill extends Component { if (this.props.sModelsId === '12710101117005582604140') { tableRow.sProductCardId = selectData[0].sProductCardId; tableRow.sZmldlt = child.sZmldlt; - tableRow.sSlaveId = commonUtils.isNotEmptyArr(slaveData) && slaveData[0].sId ? slaveData[0].sId : ''; + tableRow.sSlaveId = commonUtils.isNotEmptyArr(slaveData) && slaveData[0].sId ? slaveData[0].sId : ''; tableRow.sProcessTbId = child.sProcessTbId; tableRow.sParentMaterialsId = child.sParentMaterialsId; tableRow.sInkFatherMaterialsTbId = child.sInkFatherMaterialsTbId; @@ -1056,7 +1057,7 @@ class CommonBill extends Component { } - if(key === 'control') { + if (key === 'control') { tableRow.sSrcControlId = child.sId; } else { tableRow.sSrcControlId = child.sControlId; @@ -1065,9 +1066,9 @@ class CommonBill extends Component { oldData.push(tableRow); }); } - if(commonUtils.isNotEmptyObject(slaveRow)){ + if (commonUtils.isNotEmptyObject(slaveRow)) { /* 将部件、材料、工序的sSlaveId 均换成最新的 */ - oldData = commonUtils.genSlaveNewId(oldData, key, 'sSlaveId', 'sOriginalId', slaveData[iSlaveIndex]); + oldData = commonUtils.genSlaveNewId(oldData, key, 'sSlaveId', 'sOriginalId', slaveData[iSlaveIndex]); } } allReturnMap[sName] = oldData; @@ -1076,19 +1077,19 @@ class CommonBill extends Component { } /* 将工序材料表的sControlId 换成最新的 */ - if(commonUtils.isNotEmptyObject(allReturnMap)) { + if (commonUtils.isNotEmptyObject(allReturnMap)) { const controlNewData = allReturnMap.controlData; const materialsNewData = allReturnMap.materialsData; const processNewData = allReturnMap.processData; - if(commonUtils.isNotEmptyArr(controlNewData)) { + if (commonUtils.isNotEmptyArr(controlNewData)) { - controlNewData.forEach((controlRow) =>{ + controlNewData.forEach((controlRow) => { /* 替换工序数据中sControlId为最新控制表的sId */ - if(commonUtils.isNotEmptyArr(processNewData)) { + if (commonUtils.isNotEmptyArr(processNewData)) { const processFilterData = processNewData.filter(materialsRow => materialsRow.sSrcControlId === controlRow.sSrcControlId); - if(commonUtils.isNotEmptyArr(processFilterData)) { - processFilterData.forEach((filterRow) =>{ + if (commonUtils.isNotEmptyArr(processFilterData)) { + processFilterData.forEach((filterRow) => { const index = processNewData.findIndex(materialsRow => materialsRow.sId === filterRow.sId); filterRow.sControlId = controlRow.sId; filterRow.sPartsName = controlRow.sPartsName; @@ -1100,10 +1101,10 @@ class CommonBill extends Component { } /* 替换材料数据中sControlId为最新控制表的sId */ - if(commonUtils.isNotEmptyArr(materialsNewData)) { + if (commonUtils.isNotEmptyArr(materialsNewData)) { let materialsFilterData = materialsNewData.filter(materialsRow => materialsRow.sSrcControlId === controlRow.sSrcControlId); - if(commonUtils.isNotEmptyArr(materialsFilterData)) { - materialsFilterData.forEach((filterRow) =>{ + if (commonUtils.isNotEmptyArr(materialsFilterData)) { + materialsFilterData.forEach((filterRow) => { const index = materialsNewData.findIndex(materialsRow => materialsRow.sId === filterRow.sId); filterRow.sControlId = controlRow.sId; filterRow.sPartsName = controlRow.sPartsName; @@ -1123,13 +1124,13 @@ class CommonBill extends Component { const materialsData = materialsNewData; materialsFilterData = materialsData.filter(item => commonUtils.isNotEmptyObject(item.sParentMaterialsId)); - if(commonUtils.isNotEmptyArr(materialsFilterData)) { + if (commonUtils.isNotEmptyArr(materialsFilterData)) { materialsFilterData.forEach((filterItem, index) => { const iIndex = materialsData.findIndex(item => item.sOriginalOldId === filterItem.sParentMaterialsId); - if(iIndex > -1) { + if (iIndex > -1) { const iNexIndex = materialsData.findIndex(item => item.sId === filterItem.sId); if (iNexIndex > -1) { - materialsData[iNexIndex] = {...materialsData[iNexIndex], sParentMaterialsId: materialsData[iIndex].sId } + materialsData[iNexIndex] = { ...materialsData[iNexIndex], sParentMaterialsId: materialsData[iIndex].sId } } } @@ -1137,13 +1138,13 @@ class CommonBill extends Component { } const materialsInkFilterData = materialsData.filter(item => commonUtils.isNotEmptyObject(item.sInkFatherMaterialsTbId)); - if(commonUtils.isNotEmptyArr(materialsInkFilterData)) { + if (commonUtils.isNotEmptyArr(materialsInkFilterData)) { materialsInkFilterData.forEach((filterItem, index) => { const iIndex = materialsData.findIndex(item => item.sOriginalOldId === filterItem.sInkFatherMaterialsTbId); - if(iIndex > -1) { + if (iIndex > -1) { const iNexIndex = materialsData.findIndex(item => item.sId === filterItem.sId); - if(iNexIndex > -1) { - materialsData[iNexIndex] = { ...materialsData[iNexIndex], sInkFatherMaterialsTbId: materialsData[iIndex].sId} + if (iNexIndex > -1) { + materialsData[iNexIndex] = { ...materialsData[iNexIndex], sInkFatherMaterialsTbId: materialsData[iIndex].sId } } } }); @@ -1170,13 +1171,13 @@ class CommonBill extends Component { message.warn('数据未配置!不能生成!'); return; } - } else if(commonUtils.isNotEmptyObject(selectConfig.sControlName) && selectConfig.sControlName.toLowerCase().includes('tmpinfobysql')) { + } else if (commonUtils.isNotEmptyObject(selectConfig.sControlName) && selectConfig.sControlName.toLowerCase().includes('tmpinfobysql')) { const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`; const sConfigformId = commonUtils.isEmpty(selectConfig) ? '' : selectConfig.sParentId; const sControlName = commonUtils.isNotEmptyObject(selectConfig.sControlName) ? selectConfig.sControlName : 'BtnCopyFrom.TmpInfoBySql'; let sSqlCondition = ''; const conditonValues0 = this.props.getSqlCondition(selectConfig, 'slave', selectData[0]); - if(commonUtils.isNotEmptyObject(conditonValues0)) { + if (commonUtils.isNotEmptyObject(conditonValues0)) { sSqlCondition = conditonValues0; } else { sSqlCondition = { sId: selectData[0].sId }; @@ -1194,29 +1195,29 @@ class CommonBill extends Component { const sName = `${key}Data`; const sDelName = `${key}DelData`; // allReturnMap[sName] = returnData[key]; - let {[`${key}Data`]: oldData, [`${key}Data`]: oldDelData } = this.props; + let { [`${key}Data`]: oldData, [`${key}Data`]: oldDelData } = this.props; - if(commonUtils.isEmptyArr(oldDelData)) { + if (commonUtils.isEmptyArr(oldDelData)) { oldDelData = []; } - if(commonUtils.isEmptyArr(oldData)) { + if (commonUtils.isEmptyArr(oldData)) { oldData = []; } /* 找到赋值字段 */ - const tableConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(sTmpInfoBySqlBtnName +'.' + key)); + const tableConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(sTmpInfoBySqlBtnName + '.' + key)); const tableField = commonUtils.isNotEmptyArr(tableConfig) ? tableConfig[0].sAssignField : ''; - if(sTmpInfoBySqlBtnName.includes('_edit')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */ + if (sTmpInfoBySqlBtnName.includes('_edit')) { /* 替换 根据对应字段对比 相同的不管 不同的插入 */ /* 对应字段 */ const sActiveKey = selectConfig.sActiveKey; const keyData = returnData[key]; /* 找到赋值字段 */ let newData = []; - if(commonUtils.isNotEmptyArr(keyData)) { + if (commonUtils.isNotEmptyArr(keyData)) { keyData.forEach((child) => { const filterData = oldData.filter(item => item[sActiveKey] !== child[sActiveKey]); - if(commonUtils.isNotEmptyArr(filterData) && filterData.length === oldData.length) { - let tableRow ={}; + if (commonUtils.isNotEmptyArr(filterData) && filterData.length === oldData.length) { + let tableRow = {}; tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段 tableRow.sId = commonUtils.createSid(); tableRow.sParentId = masterData.sId; @@ -1230,15 +1231,15 @@ class CommonBill extends Component { } else { /* 替换 根据对应字段对比 相同的不管 不同的插入 */ /* 对应字段 */ oldData.forEach((child) => { - child.handleType ='del'; + child.handleType = 'del'; oldDelData.push(child); }); allReturnMap[sDelName] = oldDelData; oldData = []; const keyData = returnData[key]; - if(commonUtils.isNotEmptyArr(keyData)) { + if (commonUtils.isNotEmptyArr(keyData)) { keyData.forEach((child) => { - let tableRow ={}; + let tableRow = {}; tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(tableField, child) }; // 取赋值字段 tableRow.sId = commonUtils.createSid(); tableRow.sParentId = masterData.sId; @@ -1612,7 +1613,7 @@ class CommonBill extends Component { } /* 审核备注文本框改变事件 */ - textChange= (e, record) => { + textChange = (e, record) => { const sCheckRemark = commonUtils.isNotEmptyObject(record) && commonUtils.isNotEmptyObject(e.target.value) ? e.target.value : ''; this.props.onSaveState({ sCheckRemark });/* 审核备注 */ } @@ -1702,7 +1703,7 @@ class CommonBill extends Component { }; // ----------------------------数据修改回带end ---------------------------- // - handleMenuClick= (e) => { + handleMenuClick = (e) => { let { sId } = this.props.masterData; const Type = e.key; const { token } = this.props.app; @@ -1717,7 +1718,7 @@ class CommonBill extends Component { sId = slaveSelectedRowKeys; } const downloadUrl = `${commonConfig.server_host}sqlfile/scriptSqlDownload?methodName=${Type - }&sId=${sId}&token=${token}&sType=${sType}`; + }&sId=${sId}&token=${token}&sType=${sType}`; window.open(downloadUrl); this.props.onSaveState({ downloadUrl, @@ -1757,7 +1758,7 @@ class CommonBill extends Component { } handleCheckBoxStatus = (status, dataIndex, name) => { - const { [`${name}Data`]: dataSource} = this.props; + const { [`${name}Data`]: dataSource } = this.props; if (!Array.isArray(dataSource)) return; const result = dataSource.map(i => ({ ...i, @@ -1823,10 +1824,10 @@ class CommonBill extends Component { // 找到关联的从表 */ let controlTableData = []; - if(visibleModal) { - if(commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { + if (visibleModal) { + if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { controlTableData = controlData.filter(item => item.sSlaveId === slaveSelectedRowKeys[0]) - }else { + } else { controlTableData = controlData; } } @@ -1835,7 +1836,7 @@ class CommonBill extends Component { tableProps: { CalLastWidth: modalWidth, AutoTableHeight: fixedAutoHeight, setCopyAll, setProcess, setMaterial, chooseProcessConfigRow: chooseProcessConfig, chooseMaterialsConfigRow: chooseMaterialsConfig, onRow: (record) => { return { onClick: () => { this.onRowClick('control', record); } }; }, }, - data: commonUtils.isNotEmptyArr(controlTableData) ? commonUtils.genTreeByArr(controlTableData, "sNodeId", "sControlParentId") : [], + data: commonUtils.isNotEmptyArr(controlTableData) ? commonUtils.genTreeByArr(controlTableData, "sNodeId", "sControlParentId") : [], filteredValue: slaveSelectedRowKeys, onFilterData: this.handleFilterSlaveData, OnGetFilterData: this.handleGetFilterData, @@ -1963,11 +1964,11 @@ class CommonBill extends Component { // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateAdd = {this.props.enabled ? setAdd.img : setAdd.disableimg} ; // eslint-disable-next-line jsx-a11y/anchor-is-valid - const operateAddChild = {this.props.enabled ? setAddChild.img : setAddChild.disableimg }; + const operateAddChild = {this.props.enabled ? setAddChild.img : setAddChild.disableimg}; // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateCopy = {this.props.enabled ? setCopy.img : setCopy.disableimg}; // eslint-disable-next-line jsx-a11y/anchor-is-valid - const operateUpdate = {this.props.enabled ? setCopyAll.img : setCopyAll.disableimg }; + const operateUpdate = {this.props.enabled ? setCopyAll.img : setCopyAll.disableimg}; // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateDel = {this.props.enabled ? setDelete.img : setDelete.disableimg}; @@ -2019,14 +2020,14 @@ class CommonBill extends Component { , - ]} + ]} >
{checkPerson}
- { commonUtils.isNotEmptyObject(checkPersonData) ? + {commonUtils.isNotEmptyObject(checkPersonData) ? checkPersonData.map((item) => { return (
@@ -2035,12 +2036,12 @@ class CommonBill extends Component { ); }) : '' - } + } - : '' + : '' } { visibleModal ? @@ -2093,50 +2094,50 @@ class CommonBill extends Component { }
{ - sModelsType === 'sales/salesOrderPack' && false ? -
-
- -
-
- 部件信息 - -
-
-
- {operateAdd} - {operateAddChild} - {operateCopy} - {operateUpdate} - {operateDel} -
+ sModelsType === 'sales/salesOrderPack' && false ? +
+
+ +
+
+ 部件信息 + +
+
+
+ {operateAdd} + {operateAddChild} + {operateCopy} + {operateUpdate} + {operateDel}
- -
-
+ +
+
-
: -
- - - {controlInfo} - - - - -
- } +
: +
+ + + {controlInfo} + + + + + +
+ }
- + {materialsInfo} @@ -2145,8 +2146,8 @@ class CommonBill extends Component {
- - + + {processInfo} @@ -2156,7 +2157,7 @@ class CommonBill extends Component {
- : ''} + : ''}
@@ -2197,9 +2198,9 @@ const BillComponent = Form.create({ onReturnForm(form); const { currentPane } = app; - let bFlow = currentPane?.bFlow; /* 是否需要展示审批流程信息 */ + let bFlow = currentPane?.bFlow; /* 是否需要展示审批流程信息 */ - if(bDelegate) { + if (bDelegate) { bFlow = false; } @@ -2302,7 +2303,7 @@ const BillComponent = Form.create({ importExcelProps = { ...commonBusiness.getTableTypes('import', props), tableProps: { - setAdd, setCopy, setCopyAll, setDelete, setMaterialRemark, setMaterial, chooseMaterialsConfigRow: chooseMaterialsConfig, pagination:null, onChange: props.onTitleChange, + setAdd, setCopy, setCopyAll, setDelete, setMaterialRemark, setMaterial, chooseMaterialsConfigRow: chooseMaterialsConfig, pagination: null, onChange: props.onTitleChange, AutoTableHeight: 400, }, onDelRow: props.onDelRow, @@ -2358,26 +2359,52 @@ const BillComponent = Form.create({ // const saleOrder = commonFunc.showMessage(app.commonConst, 'saleOrder');/* 销售订单 s*/ setMaterialRemark = props.sModelsType !== undefined && props.sModelsType.includes('sales/salesOrder') ? setMaterialRemark : null; /* 通过从表是否配置材料与工艺按钮的显示不显示来判断是否有选择材料与工艺 */ - const materialRemarkArr = commonUtils.isNotEmptyObject(slaveConfig) ? slaveConfig.gdsconfigformslave.filter(item => item.sControlName && + const materialRemarkArr = commonUtils.isNotEmptyObject(slaveConfig) ? slaveConfig.gdsconfigformslave.filter(item => item.sControlName && item.sControlName.includes('BtnSetMaterialRemark')) : []; - if(commonUtils.isNotEmptyArr(materialRemarkArr)) { + if (commonUtils.isNotEmptyArr(materialRemarkArr)) { setMaterialRemark = materialRemarkArr[0].bVisible ? setMaterialRemark : null; } const bBillTree = commonUtils.isNotEmptyObject(slaveConfig) && slaveConfig.sTableType && slaveConfig.sTableType.includes('multiple'); /* 是否是树形的单据 */ const bSingleTree = commonUtils.isNotEmptyObject(slaveConfig) && slaveConfig.sTableType === 'single'; /* 单表数据 */ - const bShowTreeAddChild = commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyArr(slaveConfig.gdsconfigformslave.filter(item => item.sControlName.includes('BtnAddChildNode') && item.bVisible)) ? true : false ; /* 是否是树形的单据 */ + const bShowTreeAddChild = commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyArr(slaveConfig.gdsconfigformslave.filter(item => item.sControlName.includes('BtnAddChildNode') && item.bVisible)) ? true : false; /* 是否是树形的单据 */ + const handleViewChoose = (tableName, sFieldName, record, index, isColor) => { + if (isColor) { + const { sId } = record; /* 控制表主键 */ + const { enabled, processSelectedRowKeys } = props; + const NoProcessParameters = commonFunc.showLocalMessage(props, 'NoProcessParameters', '无工艺参数!'); + const sisColorSelectedRowKeys = []; + let jsonData = []; + const { [`${tableName}Data`]: tableData } = props; + const iIndex = tableData?.findIndex(item => item.sId === sId); + if (iIndex > -1) { + const sPositiveColor = tableData[iIndex][sFieldName]; + const sPositiveColorList = (sPositiveColor && sPositiveColor !== 'undefined' && sPositiveColor !== 'null') + ? JSON.parse(sPositiveColor) + : []; + props.onSaveState({ + sisColorChooseVisible: true, + controlSelectedRowId: sId, /* 控制表选中行sId */ + processSelectedRowId: '', /* 工序表选中行sId */ + sisColorSelectedRowKeys, + sisColorSelectedData: sPositiveColorList, + sisColorField: sFieldName, + sisTableName: tableName, + }); + } + } + } const slaveTableProps = { ...commonBusiness.getTableTypes('slave', props), tableProps: { setAdd, setCopy, setCopyAll, setDelete, setMaterialRemark, setMaterial, chooseMaterialsConfigRow: chooseMaterialsConfig, - pagination, onChange: props.onTitleChange, bShowTreeAddChild:bShowTreeAddChild, + pagination, onChange: props.onTitleChange, bShowTreeAddChild: bShowTreeAddChild, }, - data: bSingleTree && commonUtils.isNotEmptyArr(slaveData) ? commonUtils.genTreeByArr(slaveData, 'sNodeId', 'sFatherSlaveId') : slaveData, + data: bSingleTree && commonUtils.isNotEmptyArr(slaveData) ? commonUtils.genTreeByArr(slaveData, 'sNodeId', 'sFatherSlaveId') : slaveData, onDelRow: props.onDelRow, - onTableFilterData: bBillTree ? props.onTableFilterData : null, + onTableFilterData: bBillTree ? props.onTableFilterData : null, templateProps, - sTableType : commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyObject(slaveConfig.sTableType) ? slaveConfig.sTableType : 'zero', + sTableType: commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyObject(slaveConfig.sTableType) ? slaveConfig.sTableType : 'zero', onKeyDown: props.onKeyDown, onContextMenu: props.onContextMenu, masterData: props.masterData, // 为通用弹窗提供主表数据(孟总需求:产品新增需要带上客户信息) @@ -2403,7 +2430,7 @@ const BillComponent = Form.create({ ...commonBusiness.getTableTypes(`slave${index}`, props), tableProps: { pagination: slaveTablePagination, onChange: props.onTitleChange1.bind(this, `slave${index}`), - AutoTableHeight: bHasSlaveChild ? 150 : 375, + AutoTableHeight: bHasSlaveChild ? 150 : 375, }, }; }); @@ -2498,10 +2525,10 @@ const BillComponent = Form.create({ item.sControlName.indexOf('Btn') === -1 && item.sControlName.indexOf('_') !== -1 ) || ( - item.sControlName && - item.sControlName.indexOf('DividerArea') !== -1 && - item.sControlName.indexOf('.hide') === -1 - ) + item.sControlName && + item.sControlName.indexOf('DividerArea') !== -1 && + item.sControlName.indexOf('.hide') === -1 + ) ); if (commonUtils.isEmptyArr(controlArr)) { @@ -2535,8 +2562,8 @@ const BillComponent = Form.create({ let tabName = tabNameKey.replace(/\d+/g, ""); const num = tabNameKey.replace(/[^\d]/g, "").trim(); const tableConfigArr = config?.gdsconfigformslave.filter(row => row.sControlName === tabNameKey.trim()); - if(commonUtils.isNotEmptyArr(tableConfigArr)) { - tabName= tableConfigArr[0].showName; + if (commonUtils.isNotEmptyArr(tableConfigArr)) { + tabName = tableConfigArr[0].showName; } const viewProps = { ...props, @@ -2561,7 +2588,7 @@ const BillComponent = Form.create({ }); } - const flexRowStyle = bFlow ? {display:'flex', flexDirection:'row'} : {}; + const flexRowStyle = bFlow ? { display: 'flex', flexDirection: 'row' } : {}; /* if (props.sModelsType === 'sales/salesOrder') { const btnUpload = ( @@ -2579,7 +2606,7 @@ const BillComponent = Form.create({
- { commonUtils.isNotEmptyArr(ImportData) ? + {commonUtils.isNotEmptyArr(ImportData) ?
{BtnimportData}
: ''}
- - { props.setContentRef(ref); }}> + + { props.setContentRef(ref); }}>
- { onlyMaster ? + {onlyMaster ?
@@ -2613,7 +2640,7 @@ const BillComponent = Form.create({
- +
{getTabPaneExtra('slave')} @@ -2635,7 +2662,7 @@ const BillComponent = Form.create({ <>
- +
{getTabPaneExtra('check')} @@ -2643,8 +2670,8 @@ const BillComponent = Form.create({ ) : '' }
-
} - { onlyMasterAndSlave ? +
} + {onlyMasterAndSlave ?
@@ -2653,13 +2680,13 @@ const BillComponent = Form.create({ - {getTabPaneExtra('slave')} + {getTabPaneExtra('slave')} -
: '' } +
: ''} { bFlow ? -
+
: '' @@ -2742,19 +2769,238 @@ const BillComponent = Form.create({ width={1480} zIndex={1000} title={importExcelTitle} - bodyStyle ={{ height:'450px' }} + bodyStyle={{ height: '450px' }} visible={props.showImportErrorVisible} onCancel={props.handleCancelModal.bind(this, 'showImportErrorVisible')} onOk={props.handleCancelModal.bind(this, 'showImportErrorVisible')} onSaveState={props.onSaveState} - // footer={null} + // footer={null} > : '' } + ); }); +const SisColorChooseComponent = props => { + const { sisColorChooseVisible, sisColorField, sisTableName, controlSelectedRowId } = props; + + const [rightData, setRightData] = useState(props?.sisColorSelectedData?.filter(item => item.bSelected) || []); + useEffect(() => { + if (props.sisColorSelectedData && props.sisColorSelectedData.length > 0) { + setRightData(props?.sisColorSelectedData?.filter(item => item.bSelected) || []); + } else { + setRightData([]); + } + }, [props.sisColorSelectedData, props.sisColorChooseVisible]) + if (!sisColorChooseVisible) return ""; + + const handleClose = () => { + + props.onSaveState({ + sisColorChooseVisible: false, + }); + }; + + const handelSubmit = () => { + const { [`${sisTableName}Data`]: tableData } = props; + const iIndex = tableData?.findIndex(item => item.sId === controlSelectedRowId); + // iPositiveColor sPositiveColor sOppositeColor + if (props?.sisColorSelectedData && props?.sisColorSelectedData?.length === 0) { + props.onSaveState({ + sisColorChooseVisible: false, + sisColorSelectedData: [] + }); + return + } + const colorList = JSON.parse(tableData[iIndex][sisColorField]).map(item => { + const i = rightData.findIndex(rightItem => rightItem.sId === item.sId); + let newItem = { + ...item + } + if (i > -1) { + newItem = { + ...newItem, + bSelected: true + } + } + return newItem + }); + tableData[iIndex] = { + ...tableData[iIndex], + [sisColorField]: JSON.stringify(colorList), + } + const { sPositiveColor, sOppositeColor } = tableData[iIndex] + const sPositiveColorList = (sPositiveColor && sPositiveColor !== 'undefined' && sPositiveColor !== 'null') + ? JSON.parse(sPositiveColor).filter(item => item.bSelected) + : []; + const sOppositeColorList = (sOppositeColor && sOppositeColor !== 'undefined' && sOppositeColor !== 'null') + ? JSON.parse(sOppositeColor).filter(item => item.bSelected) + : []; + const allTotalDColor = sPositiveColorList.reduce((total, item) => total + item.dColor, 0) + sOppositeColorList.reduce((total, item) => total + item.dColor, 0); + tableData[iIndex] = { + ...tableData[iIndex], + iOutsideQty: allTotalDColor, + iPublishQty: allTotalDColor + } + + props.onSaveState({ + [`${sisTableName}Data`]: [...tableData], + sisColorChooseVisible: false, + sisColorSelectedData: [] + }); + + } + + const handleLeftSelectChange = (selectedRowKeys, selectedRows) => { + setRightData(selectedRows); + }; + + const handleDeleteRight = (record) => { + const newData = rightData.filter(item => item.sId !== record.sId); + setRightData(newData); + }; + + const leftRowSelection = { + type: 'checkbox', + selectedRowKeys: rightData.map(item => item.sId), + onChange: handleLeftSelectChange, + }; + + + const rowCellStyleLeft = { + fontSize: '16px', + }; + + const rowCellStyleRight = { + fontSize: '16px', + }; + + const headerCellStyle = { + fontSize: '20px', + fontWeight: 'bold', + }; + + const CustomCellLeft = (cellProps) => ( +
+
+ ); + + const CustomCellRight = (cellProps) => ( + + ); + + const baseColumns = [ + { + title: '序号', + dataIndex: 'index', + key: 'index', + width: 60, + align: 'center', + render: (_, record, index) => index + 1, + customHeaderCell: () => ({ style: headerCellStyle }), + }, + { + title: '名称', + dataIndex: 'sName', + customHeaderCell: () => ({ style: headerCellStyle }), + }, + { + title: '板数', + dataIndex: 'dColor', + customHeaderCell: () => ({ style: headerCellStyle }), + }, + ]; + const rightColumns = [ + ...baseColumns.map(col => ({ ...col })), + { + title: '操作', + key: 'action', + width: 80, + align: 'center', + customHeaderCell: () => ({ style: headerCellStyle }), + render: (_, record) => ( + { e.stopPropagation(); handleDeleteRight(record); }} + style={{ color: '#ff4d4f', cursor: 'pointer' }} + > + 删除 + + ), + }, + ]; + + // --- 组件映射 --- + + const tableComponentsLeft = { + body: { + cell: CustomCellLeft, + }, + }; + + const tableComponentsRight = { + body: { + cell: CustomCellRight, + }, + }; + + return ( + + + + + } + onCancel={handleClose} + > + + {/* 左侧表格 */} +
+ + + {/* 右侧表格 */} + +
+ + + + ); +}; export default CommonBase(CommonSales(CommonBill)); diff --git a/src/components/Common/CommonComponent/index.js b/src/components/Common/CommonComponent/index.js index d0fc944..8900976 100644 --- a/src/components/Common/CommonComponent/index.js +++ b/src/components/Common/CommonComponent/index.js @@ -284,6 +284,8 @@ export default class CommonComponent extends Component { onFocus = () => { this.isDropdownFilter = false; this.setState({ sActiveDisplay: false }); + console.log(this.props, 'asdasdads'); + }; onBlur = event => { @@ -3369,6 +3371,10 @@ export default class CommonComponent extends Component { this.props.onPreviewImage(e, dataUrl); }; handleViewChoose = () => { + if (this.props?.showConfig?.sName.includes('Color')) { + this.props.onViewChoose(this.props.name, this.props.showConfig.sName, this.props.record, null, true); + return + } const bGycs = this.props.showConfig?.showName?.includes("工艺参数"); if (this.state.enabled || bGycs) this.props.onViewChoose(this.props.name, this.props.showConfig.sName, this.props.record); }; diff --git a/src/components/Common/CommonTable/index.js b/src/components/Common/CommonTable/index.js index 5a5ea0e..cd0cdb0 100644 --- a/src/components/Common/CommonTable/index.js +++ b/src/components/Common/CommonTable/index.js @@ -4157,8 +4157,8 @@ class CommonTableRc extends React.Component { this.props.onSaveState({ sCurrMemoProps }); } } - handleViewChoose = (name, sName, record, index) => { - this.props.onViewChoose(name, sName, record, index); + handleViewChoose = (name, sName, record, index, isColor) => { + this.props.onViewChoose(name, sName, record, index, isColor); } /* 弹出通用窗体 */ handlePopupModal = (showConfig, name) => { -- libgit2 0.22.2