From 339bfc9f78ead50b6ba267fe127a8a3df4ffe104 Mon Sep 17 00:00:00 2001
From: zhangzhen <525765282@qq.com>
Date: Thu, 3 Jul 2025 16:01:38 +0800
Subject: [PATCH] 切换树节点时,设置后道参数默认值; 优化样式;
---
src/components/QuickQuote/index.jsx | 44 ++++++++++++++++++++++++++++++++++++++++++--
src/components/QuickQuote/index.less | 8 +++++++-
2 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/src/components/QuickQuote/index.jsx b/src/components/QuickQuote/index.jsx
index 5920e0d..637076a 100644
--- a/src/components/QuickQuote/index.jsx
+++ b/src/components/QuickQuote/index.jsx
@@ -163,6 +163,40 @@ const QuickQuoteEvent = props => {
});
}, [masterConfig]);
+ // 切换树节点时,设置后道参数默认值
+ const { slaveData = [] } = state;
+ useEffect(() => {
+ if (!slaveData.length) return;
+ const bNotInit = slaveData.some(item => item.sBackProcessData);
+ if (bNotInit) return;
+
+ const { downAbleConfigs = [] } = state;
+ const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId);
+ if (!downAbleConfigsNew.length) return;
+
+ const slaveDataNew = slaveData.map(item => {
+ let sBackProcessData = [];
+ downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => {
+ const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []);
+ const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId);
+ const name = `slaveDown${item.sBoxModel}`;
+ const sFieldName = sName;
+ const changeValue = { [sFieldName]: defaultProcess.sId };
+ const dropDownData = sChineseDropDown;
+ const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true);
+ sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData];
+ });
+ return {
+ ...item,
+ sBackProcessData,
+ };
+ });
+
+ setState(pre => {
+ return { ...pre, slaveData: slaveDataNew };
+ });
+ }, [slaveData.map(item => item.sId).toString()]);
+
addState.onBackClick = () => {
props.onSaveState({ masterData: { ...props.masterData, sQuoConfig: JSON.stringify(addState.onGetFilterState(state)) }, quickQuoteModel: false });
};
@@ -178,7 +212,7 @@ const QuickQuoteEvent = props => {
return list.map(item => getI18nName(...item));
};
- addState.onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => {
+ const onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => {
const { masterData = {}, slaveData = [], selectedNode = {}, manyData = [] } = state;
const extraState = {
calcPriceFinished: false,
@@ -402,6 +436,9 @@ const QuickQuoteEvent = props => {
}
});
+ if (isWait) {
+ return slaveData.find(item => item.sBoxModel === boxModel);
+ }
setState(pre => ({ ...pre, slaveData, ...extraState }));
} else if (name === "finished") {
const { productProcessInfo = [] } = masterData;
@@ -424,6 +461,7 @@ const QuickQuoteEvent = props => {
setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState }));
}
};
+ addState.onDataChange = onDataChange;
addState.onGetAllDelData = () => {
const {
@@ -1208,6 +1246,8 @@ const TreeComponent = props => {
});
addState.extraParts = {};
addState.calcPriceFinished = false;
+ addState.backendParamsConfig = [];
+ addState.backendConfig = {};
if (manyData.some(item => Object.keys(item).length > 4)) {
addState.manyData = [];
}
@@ -3007,7 +3047,7 @@ const BackendParamsExtraComponent = props => {
return (
<>
-