diff --git a/src/mes/common/commonModelComponent/index.js b/src/mes/common/commonModelComponent/index.js index 0c4498d..1afe368 100644 --- a/src/mes/common/commonModelComponent/index.js +++ b/src/mes/common/commonModelComponent/index.js @@ -264,7 +264,6 @@ const useCommonModelEvent = props => { // 初始化事件 useEffect( async () => { - if (commonUtils.isNotEmptyArr(formData)) { let pageLayout = []; let addState = {}; @@ -285,10 +284,10 @@ const useCommonModelEvent = props => { const [tableList, tabConfig] = pageLayout; const colunmData = handleGetColumnData(tableList, true); let result = {}; - if(!noGetData && sModelsId === '17211911815017669983448000'){ + if (!noGetData && sModelsId === '17211911815017669983448000') { result = await handleGetDataPop(tableList, true, true) } else if (!commonUtils.isEmptyObject(copyTo)) { - result = await handleGetData(tableList, true, true); + result = await handleGetData(tableList, true, true, copyTo); } else if (noGetData) { result = await handleGetData( tableList.filter( @@ -785,7 +784,7 @@ const useCommonModelEvent = props => { }; // 获取数据集 - const handleGetData = async (tableList = [], isWait, bInit) => { + const handleGetData = async (tableList = [], isWait, bInit, copyTo) => { let addState = {}; const currentIds = currentId ? currentId : props?.parentProps?.record?.sId for (let i = 0; i < tableList.length; i++) { @@ -982,6 +981,16 @@ const useCommonModelEvent = props => { if (tableName === "tableS0" && props.sSReserve1) { addState.sSReserve1 = undefined; } + + } + if (!commonUtils.isEmptyObject(copyTo)) { + tableList.forEach((item, index) => { + addState = { + ...addState, + [`${tableList[index]}Data`]: index === 0 ? copyTo.masterData : copyTo['slave' + (index - 1 === 0 ? '' : index - 1) + 'Data'], + } + }) + } props.setTempRef({}, true); @@ -1937,6 +1946,7 @@ const CommonModelComponent = props => { tableBtnsConfig, // 表格按钮配置 bFirstComponent: level === 0 && index === -1 }; + const commonDivHeight = useComputedCommonDivHeight(componentProps); return (
{ // showSizeChanger: !isSmall, // showQuickJumper: !isSmall, // }; - const { mesTotalCount , mesPageSize, mesPageNum, isPagination } = baseProps?.parentProps || {}; - const tableProps = { - ...baseProps, - tableBtnsConfig: btnsConfig, - // tableBtnsWidth: '100px', - // tableBtnsConfig: (params) => { - // console.log('=====params', params); - // return btnsConfig; - // }, - onTableBtnClick, - tableProps: { - onChange: () => { }, - rowKey: baseProps?.config?.sId === "17091154460006421964039036672000" || baseProps?.config?.sName?.includes('/indexPage/commonList') ? 'sSlaveId' : 'sId', - mesTotalCount, - mesPageSize, - mesPageNum, - isPagination, - // AutoTableHeight: 200 - }, - onViewClick: (tableName, sFieldName, record, index, config) => { - // 异常事件提报-提报信息-事件类型字段点击事件 - if (tableName === "slave" && sFieldName === "sClassifyName") { - props.onTableBtnClick({ - name: tableName, - record, - config - }); - } - }, - onViewChoose: (tableName, sFieldName, record, index, isColor) => { - handleViewChoose(tableName, sFieldName, record, index, isColor); - + const { mesTotalCount, mesPageSize, mesPageNum, isPagination } = baseProps?.parentProps || {}; + const tableProps = { + ...baseProps, + tableBtnsConfig: btnsConfig, + // tableBtnsWidth: '100px', + // tableBtnsConfig: (params) => { + // console.log('=====params', params); + // return btnsConfig; + // }, + onTableBtnClick, + tableProps: { + onChange: () => { }, + rowKey: baseProps?.config?.sId === "17091154460006421964039036672000" || baseProps?.config?.sName?.includes('/indexPage/commonList') ? 'sSlaveId' : 'sId', + mesTotalCount, + mesPageSize, + mesPageNum, + isPagination, + // AutoTableHeight: 200 + }, + onViewClick: (tableName, sFieldName, record, index, config) => { + // 异常事件提报-提报信息-事件类型字段点击事件 + if (tableName === "slave" && sFieldName === "sClassifyName") { + props.onTableBtnClick({ + name: tableName, + record, + config + }); } - }; + }, + onViewChoose: (tableName, sFieldName, record, index, isColor) => { + handleViewChoose(tableName, sFieldName, record, index, isColor); + + } + }; const handleViewChoose = (tableName, sFieldName, record, index, isColor) => { if (isColor) { const { sId } = record; /* 控制表主键 */ diff --git a/src/mes/common/commonOperationBarComponent/index.js b/src/mes/common/commonOperationBarComponent/index.js index e440d36..6728214 100644 --- a/src/mes/common/commonOperationBarComponent/index.js +++ b/src/mes/common/commonOperationBarComponent/index.js @@ -79,7 +79,7 @@ const useCommonOperationBarComponentEvent = props => { // 按钮点击事件 const clickRef = useRef(null); - const handleBtnClick = async (config, searchField) => { + const handleBtnClick = async (config, searchField, btnLeftConfig) => { // 限制半秒内只能点一次 if (clickRef.current) return; clickRef.current = true; @@ -306,7 +306,7 @@ const useCommonOperationBarComponentEvent = props => { // 弹窗 if (sActiveId) { - handleOpenCommonModal(config); + handleOpenCommonModal(config, btnLeftConfig); } if (["BtnLeft.setUpStart"].includes(sControlName)) { @@ -551,15 +551,14 @@ const useCommonOperationBarComponentEvent = props => { }; // 弹窗 - const handleOpenCommonModal = config => { + const handleOpenCommonModal = async (config, btnLeftConfig) => { const { sActiveId, sActiveName } = config; - const copyTo = handleGetCopyTo(config); - - // 获取sqlCondition值 + const copyTo = await handleGetCopyTo(config, btnLeftConfig); + // // 获取sqlCondition值 const sParentConditions = props.getSqlCondition(config); - // 弹窗展示 + // // 弹窗展示 props.onOpenCommonModal({ type: "commonModal", sActiveId, @@ -578,8 +577,67 @@ const useCommonOperationBarComponentEvent = props => { }; // 获取copyTo数据 - const handleGetCopyTo = config => { - const copyTo = {}; + const handleGetCopyTo = async (config, btnLeftConfig) => { + let copyTo = {}; + const { sModelsId, sName, token, app } = props + const name = config?.sControlName + const copyToConfig = btnLeftConfig.filter(x => x.sControlName.includes(config?.sControlName)) + const allReturnMap = {}; + let copyToData = props[sName + 'Data'] || [] + if (commonUtils.isNotEmptyObject(config?.sControlName) && config?.sControlName.toLowerCase().includes('btncopyto.tmpinfobysql')) { + const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`; + const sConfigformId = commonUtils.isEmpty(copyToConfig) ? '' : copyToConfig[0]?.sParentId; + const sControlName = commonUtils.isNotEmptyObject(config?.sControlName) ? config?.sControlName : 'BtnCopyTo.TmpInfoBySql'; + const selectedRowKeys = props[sName + 'SelectedRowKeys']?.[0] || '' + const slaveSelectedData = props[sName + 'Data'] || [] + const sRowData = slaveSelectedData.filter(x => x.sId === selectedRowKeys) + /* 塞原始数据 */ + if (commonUtils.isNotEmptyArr(slaveSelectedData)) { + copyTo.masterData = slaveSelectedData[0]; + copyTo.slaveData = slaveSelectedData; + } + const values = { sConfigformId, sControlName, sRowData }; + const dataReturn = (await commonServices.postValueService(token, values, dataUrl)).data; + if (dataReturn.code === 1) { + const returnData = dataReturn.dataset.rows[0]; + if (commonUtils.isNotEmptyObject(returnData)) { + for (const key of Object.keys(returnData)) { + const sName = `${key}Data`; + const sDelName = `${key}DelData`; + const sAssignField = copyToConfig.find(x => x.sControlName.includes(key))?.sAssignField + const keyData = returnData[key]; + let newData = [] + if (commonUtils.isNotEmptyArr(keyData)) { + keyData.forEach(item => { + let tableRow = {}; + tableRow = { ...tableRow, ...commonFunc.getAssignFieldValue(sAssignField, item) }; // 取赋值字段 + tableRow.sId = commonUtils.createSid(); + tableRow.sParentId = slaveSelectedData[0].sId; + tableRow.handleType = 'add'; + newData.push(tableRow); + }) + } + allReturnMap[sName] = newData; + + } + + if (commonUtils.isNotEmptyArr(copyTo.masterData) && Array.isArray(copyTo.masterData)) { + copyTo.masterData = copyTo.masterData[0]; + } + const configName = copyToConfig[0].sControlName.split(".").pop(); + copyTo = { + ...copyTo, + ...allReturnMap + } + if (configName && allReturnMap[configName]) { + copyTo.masterData = allReturnMap[configName] + } + } + } else { + message.error(dataReturn.msg); + } + } + return copyTo; }; @@ -613,11 +671,11 @@ const useCommonOperationBarComponentEvent = props => { }; // 获取按钮配置 - const handleGetBtnPropps = (config, searchField) => { + const handleGetBtnPropps = (config, searchField, btnLeftConfig) => { const defaultProps = { type: "primary", size: "large", - onClick: handleBtnClick.bind(this, config, searchField) + onClick: handleBtnClick.bind(this, config, searchField, btnLeftConfig) }; const { sDefault, sControlName } = config; @@ -955,9 +1013,17 @@ const CommonOperationBarComponent = basProps => { props.setExtraBtns(extraBtns); } - const btnLeftConfig = gdsconfigformslave.filter( + const originalData = gdsconfigformslave.filter( item => item.bVisible && item.sControlName.includes("BtnLeft.") ); + const btnLeftConfig = originalData.filter(item => { + const str = item.sControlName; + if (!str.includes("BtnCopyTo")) { + return true; + } + + return /BtnCopyTo\.[^.]*$/.test(str); + }); // 将扫码上料放到最后 const scanCodeToLoadMaterialsIndex = btnLeftConfig.findIndex( @@ -1408,7 +1474,7 @@ const CommonOperationBarComponent = basProps => {
} return ( - ); @@ -1519,7 +1585,7 @@ const BarcodeComponent = props => { props.onSaveState({ refreshMachineDataFlag: new Date().getTime(), productionTableList: [sName] - }, ()=>{ + }, () => { props.onRefresh && props.onRefresh(); }); }