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 ( <> - +
diff --git a/src/components/QuickQuote/index.less b/src/components/QuickQuote/index.less index 79d6e5b..757e595 100644 --- a/src/components/QuickQuote/index.less +++ b/src/components/QuickQuote/index.less @@ -188,6 +188,12 @@ .viewTableDownView2 { background-color: #3275b734; + + :global { + .viewStyle { + margin-top: 5px !important; + } + } } .viewTable1 { @@ -229,7 +235,7 @@ :global { .ant-image { // padding: 15px; - + } }