Commit 339bfc9f78ead50b6ba267fe127a8a3df4ffe104
1 parent
b9a3604b
切换树节点时,设置后道参数默认值;
优化样式;
Showing
2 changed files
with
49 additions
and
3 deletions
src/components/QuickQuote/index.jsx
| @@ -163,6 +163,40 @@ const QuickQuoteEvent = props => { | @@ -163,6 +163,40 @@ const QuickQuoteEvent = props => { | ||
| 163 | }); | 163 | }); |
| 164 | }, [masterConfig]); | 164 | }, [masterConfig]); |
| 165 | 165 | ||
| 166 | + // 切换树节点时,设置后道参数默认值 | ||
| 167 | + const { slaveData = [] } = state; | ||
| 168 | + useEffect(() => { | ||
| 169 | + if (!slaveData.length) return; | ||
| 170 | + const bNotInit = slaveData.some(item => item.sBackProcessData); | ||
| 171 | + if (bNotInit) return; | ||
| 172 | + | ||
| 173 | + const { downAbleConfigs = [] } = state; | ||
| 174 | + const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId); | ||
| 175 | + if (!downAbleConfigsNew.length) return; | ||
| 176 | + | ||
| 177 | + const slaveDataNew = slaveData.map(item => { | ||
| 178 | + let sBackProcessData = []; | ||
| 179 | + downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { | ||
| 180 | + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); | ||
| 181 | + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); | ||
| 182 | + const name = `slaveDown${item.sBoxModel}`; | ||
| 183 | + const sFieldName = sName; | ||
| 184 | + const changeValue = { [sFieldName]: defaultProcess.sId }; | ||
| 185 | + const dropDownData = sChineseDropDown; | ||
| 186 | + const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true); | ||
| 187 | + sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData]; | ||
| 188 | + }); | ||
| 189 | + return { | ||
| 190 | + ...item, | ||
| 191 | + sBackProcessData, | ||
| 192 | + }; | ||
| 193 | + }); | ||
| 194 | + | ||
| 195 | + setState(pre => { | ||
| 196 | + return { ...pre, slaveData: slaveDataNew }; | ||
| 197 | + }); | ||
| 198 | + }, [slaveData.map(item => item.sId).toString()]); | ||
| 199 | + | ||
| 166 | addState.onBackClick = () => { | 200 | addState.onBackClick = () => { |
| 167 | props.onSaveState({ masterData: { ...props.masterData, sQuoConfig: JSON.stringify(addState.onGetFilterState(state)) }, quickQuoteModel: false }); | 201 | props.onSaveState({ masterData: { ...props.masterData, sQuoConfig: JSON.stringify(addState.onGetFilterState(state)) }, quickQuoteModel: false }); |
| 168 | }; | 202 | }; |
| @@ -178,7 +212,7 @@ const QuickQuoteEvent = props => { | @@ -178,7 +212,7 @@ const QuickQuoteEvent = props => { | ||
| 178 | return list.map(item => getI18nName(...item)); | 212 | return list.map(item => getI18nName(...item)); |
| 179 | }; | 213 | }; |
| 180 | 214 | ||
| 181 | - addState.onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => { | 215 | + const onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => { |
| 182 | const { masterData = {}, slaveData = [], selectedNode = {}, manyData = [] } = state; | 216 | const { masterData = {}, slaveData = [], selectedNode = {}, manyData = [] } = state; |
| 183 | const extraState = { | 217 | const extraState = { |
| 184 | calcPriceFinished: false, | 218 | calcPriceFinished: false, |
| @@ -402,6 +436,9 @@ const QuickQuoteEvent = props => { | @@ -402,6 +436,9 @@ const QuickQuoteEvent = props => { | ||
| 402 | } | 436 | } |
| 403 | }); | 437 | }); |
| 404 | 438 | ||
| 439 | + if (isWait) { | ||
| 440 | + return slaveData.find(item => item.sBoxModel === boxModel); | ||
| 441 | + } | ||
| 405 | setState(pre => ({ ...pre, slaveData, ...extraState })); | 442 | setState(pre => ({ ...pre, slaveData, ...extraState })); |
| 406 | } else if (name === "finished") { | 443 | } else if (name === "finished") { |
| 407 | const { productProcessInfo = [] } = masterData; | 444 | const { productProcessInfo = [] } = masterData; |
| @@ -424,6 +461,7 @@ const QuickQuoteEvent = props => { | @@ -424,6 +461,7 @@ const QuickQuoteEvent = props => { | ||
| 424 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); | 461 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); |
| 425 | } | 462 | } |
| 426 | }; | 463 | }; |
| 464 | + addState.onDataChange = onDataChange; | ||
| 427 | 465 | ||
| 428 | addState.onGetAllDelData = () => { | 466 | addState.onGetAllDelData = () => { |
| 429 | const { | 467 | const { |
| @@ -1208,6 +1246,8 @@ const TreeComponent = props => { | @@ -1208,6 +1246,8 @@ const TreeComponent = props => { | ||
| 1208 | }); | 1246 | }); |
| 1209 | addState.extraParts = {}; | 1247 | addState.extraParts = {}; |
| 1210 | addState.calcPriceFinished = false; | 1248 | addState.calcPriceFinished = false; |
| 1249 | + addState.backendParamsConfig = []; | ||
| 1250 | + addState.backendConfig = {}; | ||
| 1211 | if (manyData.some(item => Object.keys(item).length > 4)) { | 1251 | if (manyData.some(item => Object.keys(item).length > 4)) { |
| 1212 | addState.manyData = []; | 1252 | addState.manyData = []; |
| 1213 | } | 1253 | } |
| @@ -3007,7 +3047,7 @@ const BackendParamsExtraComponent = props => { | @@ -3007,7 +3047,7 @@ const BackendParamsExtraComponent = props => { | ||
| 3007 | 3047 | ||
| 3008 | return ( | 3048 | return ( |
| 3009 | <> | 3049 | <> |
| 3010 | - <Divider style={{ margin: "5px 0" }} /> | 3050 | + <Divider style={{ margin: "5px 0", height: "auto" }} /> |
| 3011 | <div className={`${styles.viewTable} ${styles.viewTableDownView1} ${styles.viewTableDownView2}`}> | 3051 | <div className={`${styles.viewTable} ${styles.viewTableDownView1} ${styles.viewTableDownView2}`}> |
| 3012 | <CommonViewTable {...viewProps} /> | 3052 | <CommonViewTable {...viewProps} /> |
| 3013 | </div> | 3053 | </div> |
src/components/QuickQuote/index.less
| @@ -188,6 +188,12 @@ | @@ -188,6 +188,12 @@ | ||
| 188 | 188 | ||
| 189 | .viewTableDownView2 { | 189 | .viewTableDownView2 { |
| 190 | background-color: #3275b734; | 190 | background-color: #3275b734; |
| 191 | + | ||
| 192 | + :global { | ||
| 193 | + .viewStyle { | ||
| 194 | + margin-top: 5px !important; | ||
| 195 | + } | ||
| 196 | + } | ||
| 191 | } | 197 | } |
| 192 | 198 | ||
| 193 | .viewTable1 { | 199 | .viewTable1 { |
| @@ -229,7 +235,7 @@ | @@ -229,7 +235,7 @@ | ||
| 229 | :global { | 235 | :global { |
| 230 | .ant-image { | 236 | .ant-image { |
| 231 | // padding: 15px; | 237 | // padding: 15px; |
| 232 | - | 238 | + |
| 233 | } | 239 | } |
| 234 | } | 240 | } |
| 235 | 241 |