Commit 1b00dd60e3d11841c4358624245961d8b3849d2c
Merge branch 'main' of http://git.xlyprint.cn/zhangz/xlyUmi into main
Showing
2 changed files
with
49 additions
and
3 deletions
src/components/QuickQuote/index.jsx
| ... | ... | @@ -163,6 +163,40 @@ const QuickQuoteEvent = props => { |
| 163 | 163 | }); |
| 164 | 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 | 200 | addState.onBackClick = () => { |
| 167 | 201 | props.onSaveState({ masterData: { ...props.masterData, sQuoConfig: JSON.stringify(addState.onGetFilterState(state)) }, quickQuoteModel: false }); |
| 168 | 202 | }; |
| ... | ... | @@ -178,7 +212,7 @@ const QuickQuoteEvent = props => { |
| 178 | 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 | 216 | const { masterData = {}, slaveData = [], selectedNode = {}, manyData = [] } = state; |
| 183 | 217 | const extraState = { |
| 184 | 218 | calcPriceFinished: false, |
| ... | ... | @@ -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 | 442 | setState(pre => ({ ...pre, slaveData, ...extraState })); |
| 406 | 443 | } else if (name === "finished") { |
| 407 | 444 | const { productProcessInfo = [] } = masterData; |
| ... | ... | @@ -424,6 +461,7 @@ const QuickQuoteEvent = props => { |
| 424 | 461 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); |
| 425 | 462 | } |
| 426 | 463 | }; |
| 464 | + addState.onDataChange = onDataChange; | |
| 427 | 465 | |
| 428 | 466 | addState.onGetAllDelData = () => { |
| 429 | 467 | const { |
| ... | ... | @@ -1208,6 +1246,8 @@ const TreeComponent = props => { |
| 1208 | 1246 | }); |
| 1209 | 1247 | addState.extraParts = {}; |
| 1210 | 1248 | addState.calcPriceFinished = false; |
| 1249 | + addState.backendParamsConfig = []; | |
| 1250 | + addState.backendConfig = {}; | |
| 1211 | 1251 | if (manyData.some(item => Object.keys(item).length > 4)) { |
| 1212 | 1252 | addState.manyData = []; |
| 1213 | 1253 | } |
| ... | ... | @@ -3007,7 +3047,7 @@ const BackendParamsExtraComponent = props => { |
| 3007 | 3047 | |
| 3008 | 3048 | return ( |
| 3009 | 3049 | <> |
| 3010 | - <Divider style={{ margin: "5px 0" }} /> | |
| 3050 | + <Divider style={{ margin: "5px 0", height: "auto" }} /> | |
| 3011 | 3051 | <div className={`${styles.viewTable} ${styles.viewTableDownView1} ${styles.viewTableDownView2}`}> |
| 3012 | 3052 | <CommonViewTable {...viewProps} /> |
| 3013 | 3053 | </div> | ... | ... |
src/components/QuickQuote/index.less
| ... | ... | @@ -188,6 +188,12 @@ |
| 188 | 188 | |
| 189 | 189 | .viewTableDownView2 { |
| 190 | 190 | background-color: #3275b734; |
| 191 | + | |
| 192 | + :global { | |
| 193 | + .viewStyle { | |
| 194 | + margin-top: 5px !important; | |
| 195 | + } | |
| 196 | + } | |
| 191 | 197 | } |
| 192 | 198 | |
| 193 | 199 | .viewTable1 { |
| ... | ... | @@ -229,7 +235,7 @@ |
| 229 | 235 | :global { |
| 230 | 236 | .ant-image { |
| 231 | 237 | // padding: 15px; |
| 232 | - | |
| 238 | + | |
| 233 | 239 | } |
| 234 | 240 | } |
| 235 | 241 | ... | ... |