From 45d17a73dc9043243643899abe9e01237df1e067 Mon Sep 17 00:00:00 2001 From: chenxt <10125295+chen-xintao97@user.noreply.gitee.com> Date: Wed, 17 Dec 2025 21:13:26 +0800 Subject: [PATCH] 编辑弹窗功能 --- src/components/Common/CommonHooks/useCommonBase.js | 53 +++++++++++++++++++++++++++++++++++++++-------------- src/components/Common/CommonTable/index.js | 6 ++++-- src/mes/common/commonModelComponent/index.js | 93 +++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------- 3 files changed, 92 insertions(+), 60 deletions(-) diff --git a/src/components/Common/CommonHooks/useCommonBase.js b/src/components/Common/CommonHooks/useCommonBase.js index a788e96..6cf2d46 100644 --- a/src/components/Common/CommonHooks/useCommonBase.js +++ b/src/components/Common/CommonHooks/useCommonBase.js @@ -135,8 +135,6 @@ const useCommonBase = props => { cbState.callbackRefresh = callbackRefresh + 1; cbState.callback = callback; } - console.log(values, 'values'); - dispatch(["saveState", { ...values, ...cbState }]); }; @@ -288,7 +286,7 @@ const useCommonBase = props => { } // 凹印人检特殊处理 - if (configData.sGrd === "slaveWyrj2") { + if (configData?.sGrd === "slaveWyrj2") { const { slaveWyrj1Data = [], slaveWyrj3Data = [], @@ -328,8 +326,24 @@ const useCommonBase = props => { ...sParentConditions }; } - - const configDataId = configData.sId; + + const configDataId = configData?.sId; + const sId = JSON.parse(JSON.stringify(condition?.sId || '')) + console.log(configData, 'configData'); + + if (name === 'master') { + // condition.sId = configDataId + condition.pageNum = '' + condition.pageSize = '' + delete condition.sSqlCondition + } + if (name.includes('slave')) { + delete condition.sSqlCondition + delete condition.sId + condition.sSqlCondition = { + sParentId: sId + } + } const dataUrl = `${commonConfig.server_host }business/getBusinessDataByFormcustomId/${configDataId}?sModelsId=${sModelsId}&sName=${formSrcRoute}`; const dataReturn = (await commonServices.postValueService( @@ -534,6 +548,7 @@ const useCommonBase = props => { const conditonValues = {}; if (commonUtils.isNotEmptyStr(showConfig.sSqlCondition)) { const conditon = showConfig.sSqlCondition.split(","); + conditon.forEach(item => { // 特殊处理 if (item === "sBoardNo.sBoardNo") { @@ -638,6 +653,9 @@ const useCommonBase = props => { } }); } + if (name === 'master') { + delete conditonValues.sSqlCondition + } return conditonValues; }; @@ -2270,19 +2288,22 @@ const useCommonBase = props => { // 双击事件 const handleDoubleClickNew = ({ name, record }) => { const { [`${name}Config`]: tableConfig = {} } = state; - const dbclickPopConfig = tableConfig.gdsconfigformslave?.find( + let dbclickPopConfig = tableConfig.gdsconfigformslave?.find( item => item.sControlName && item.sControlName.toLowerCase() === "dbclickpop" ); - if (!dbclickPopConfig) return; - + if (!dbclickPopConfig) { + dbclickPopConfig = tableConfig.gdsconfigformslave?.find( + item => + item.sName && item.sName.toLowerCase() === "picarr" + ); + }; + if (!dbclickPopConfig) return let { sActiveId, sActiveName } = dbclickPopConfig; // 如果行数据里有sFormId, 则取sFormId作为弹窗的表单id const { sFormId, sMaintenanceLevel } = record; - if (sFormId) { - if (!sMaintenanceLevel) return; - + if (sFormId && sMaintenanceLevel) { sActiveId = sFormId; sActiveName = sMaintenanceLevel; if (sMaintenanceLevel === "日常保养") { @@ -2301,12 +2322,15 @@ const useCommonBase = props => { ) { sActiveId = "17102090670002643282020454509600"; } + } else { + sActiveId = sFormId; + sActiveName = '编辑'; } + if (sActiveId) { // 获取sqlCondition值 const sParentConditions = getSqlCondition(dbclickPopConfig, name, record); - // 弹窗展示 props.onOpenCommonModal({ type: "commonModal", @@ -2314,14 +2338,15 @@ const useCommonBase = props => { title: sActiveName, sParentConditions, parentProps: { - ...returnProps + ...returnProps, + record }, onOk: data => { console.log("=====onOk", data); }, onCancel: () => { console.log("=====onCancel"); - } + }, }); } }; diff --git a/src/components/Common/CommonTable/index.js b/src/components/Common/CommonTable/index.js index c7742c9..ac90c7d 100644 --- a/src/components/Common/CommonTable/index.js +++ b/src/components/Common/CommonTable/index.js @@ -217,7 +217,7 @@ class CommonTableRc extends React.Component { commonUtils.isNotEmptyObject(props.tableProps) && !commonUtils.isEmpty(props.tableProps.rowKey) ? props.tableProps.rowKey - : "sId"; /* 表格主键 */ + : "sSlaveId"; /* 表格主键 */ this.config = {}; /* 配置信息(基础)(数据格式:对象) */ this.tableColumn = []; /* table的表头信息(数据类型:数组对象) */ this.tableInfoColumn = []; @@ -1224,11 +1224,13 @@ class CommonTableRc extends React.Component { /** 行选择 */ onDoubleClick = (name, record) => { + if (this.props.onDoubleClickNew) { this.props.onDoubleClickNew({ name, record }); } else if (this.props.onDoubleClick !== undefined) { this.props.onDoubleClick(record); } + }; onKeyDownDiv = (e, sName) => { @@ -6973,7 +6975,7 @@ class CommonTableRc extends React.Component { this.props.onSelectCommonPopup(name, selectConfig, selectData, tb?.name, tb?.config, { index: this.rowClickRef.current }); return; } - + this.props.onSelectCommonPopup(name, selectConfig, selectData, tb?.name, commonPopupShowConfig); } }; diff --git a/src/mes/common/commonModelComponent/index.js b/src/mes/common/commonModelComponent/index.js index 96bd93d..402e08d 100644 --- a/src/mes/common/commonModelComponent/index.js +++ b/src/mes/common/commonModelComponent/index.js @@ -196,7 +196,7 @@ const useCommonModelEvent = props => { tableListFilter = tableList.filter(item => item !== "materials31"); try { delete tabConfigFilter[3].configList[3]; - } catch (error) {} + } catch (error) { } return [tableListFilter, tabConfigFilter]; } @@ -218,7 +218,7 @@ const useCommonModelEvent = props => { try { delete tabConfigFilter[0].configList[0].children[1].configList[2]; delete tabConfigFilter[0].configList[0].children[1].configList[1]; - } catch (error) {} + } catch (error) { } } else if ( iTeamType === 1 // [ @@ -239,7 +239,7 @@ const useCommonModelEvent = props => { delete tabConfigFilter[0].configList[0].children[1].configList[3]; delete tabConfigFilter[0].configList[0].children[1].configList[1]; delete tabConfigFilter[0].configList[1].children[2].configList[7]; - } catch (error) {} + } catch (error) { } } else { tableListFilter = tableList.filter( item => @@ -251,7 +251,7 @@ const useCommonModelEvent = props => { delete tabConfigFilter[0].configList[0].children[1].configList[3]; delete tabConfigFilter[0].configList[0].children[1].configList[2]; delete tabConfigFilter[0].configList[1].children[2].configList[7]; - } catch (error) {} + } catch (error) { } } return [tableListFilter, tabConfigFilter]; }; @@ -267,7 +267,6 @@ const useCommonModelEvent = props => { const pageLayoutConfig = gdsconfigformslave.find( item => item.sControlName === "pageLayout" ); - console.log('pageLayoutConfig', pageLayoutConfig); if (pageLayoutConfig) { pageLayout = commonUtils.convertStrToObj( pageLayoutConfig.sDefault, @@ -282,7 +281,8 @@ const useCommonModelEvent = props => { const colunmData = handleGetColumnData(tableList, true); let result = {}; if (!commonUtils.isEmptyObject(copyTo) && !refreshCount) { - + result = await handleGetData(tableList, true, true); + } else if (noGetData) { result = await await handleGetData( tableList.filter( @@ -327,7 +327,8 @@ const useCommonModelEvent = props => { ...addState, ...handleMergeCustomColumn(addState, tableList) }; - + console.log(addState,'addState'); + props.onSaveState(addState); } } @@ -407,14 +408,14 @@ const useCommonModelEvent = props => { masterDataCopyTo = tableData; } } - const masterDataNew = { - ...commonFunc.getDefaultData(masterConfig), - handleType: "add", - sId: commonUtils.createSid(), - sFormId: sModelsId, - ...masterDataCopyTo - }; - props.onSaveState({ masterData: masterDataNew, enabled: true }); + // const masterDataNew = { + // ...commonFunc.getDefaultData(masterConfig), + // handleType: "add", + // sId: commonUtils.createSid(), + // sFormId: sModelsId, + // ...masterDataCopyTo + // }; + // props.onSaveState({ masterData: masterDataNew, enabled: true }); }, [props.bFinish] ); @@ -466,6 +467,8 @@ const useCommonModelEvent = props => { for (let i = 0; i < tableList.length; i++) { const tableName = tableList[i]; const config = formData.find(item => item.sGrd === tableName); + console.log(config, 'config'); + if (!config || tableName.includes("FirstlineSelected")) continue; const conditonValues = props.onGetSqlConditionValues(config); let { [`${tableName}Filter`]: bFilter } = props; @@ -582,14 +585,14 @@ const useCommonModelEvent = props => { if (currentId && tableName !== 'master') { conditonValues.sParentId = currentId; } - const result = (await props.onGetDataSet({ name: tableName, configData: config, condition: { ...masterState, - sSqlCondition: { ...conditonValues, ...sFilterConditions }, + sId: props.parentProps?.record?.sId, + sSqlCondition: { ...conditonValues, ...sFilterConditions, }, bFilter }, isWait: true @@ -774,9 +777,8 @@ const useCommonModelEvent = props => { const { app } = props; const { sId } = item?.record || {}; const { token } = app; - const url = `${ - commonConfig.server_host - }oee/updateProductionplan/${sId}/${iFlag}`; + const url = `${commonConfig.server_host + }oee/updateProductionplan/${sId}/${iFlag}`; const dataReturn = (await commonServices.getService(token, url)).data; if (dataReturn.code === 1) { handleRefresh(); @@ -1121,9 +1123,9 @@ const useGetSelectedDataGroup = props => { const { sSqlCondition } = config; return sSqlCondition ? { - tableName, - sSqlCondition - } + tableName, + sSqlCondition + } : null; }) .filter(item => item) @@ -1183,6 +1185,8 @@ const CommonModel = baseProps => { ? useCommonModelEvent(baseProps) : useCommonModelEvent(useCommonBase(baseProps)); const { bFinish } = props; + console.log(props, 'CommonModel'); + if (!bFinish) return ""; const { tabConfig = [] } = props; @@ -1237,7 +1241,7 @@ const CommonModelComponent = props => { const componentProps = { ...props, showType, // 展示类型(表单/表格) - enabled: !bMesBill ? defaultEnabled: enabled, // 是否可编辑 + enabled: !bMesBill ? defaultEnabled : enabled, // 是否可编辑 sTabName, // 标题名称 sName, // 配置对应的sGrd bHideTitle, //隐藏标题 @@ -1284,12 +1288,12 @@ const CommonModelComponent = props => { const advancedStyle = mode === "advanced" ? { - float: "left", - width, - height: height.startsWith("costomHeight") - ? height.split(",")[1] - : height - } + float: "left", + width, + height: height.startsWith("costomHeight") + ? height.split(",")[1] + : height + } : { width: "100%", height: "100%" }; // 产量上报信息特殊处理 @@ -1339,11 +1343,10 @@ const CommonModelComponent = props => {