Commit 1c53d366f4d55d37432c3d7bf0f51a3ee34c09d4
1 parent
96b0de66
切换树节点时,设置成品工序默认值;
Showing
1 changed file
with
87 additions
and
37 deletions
src/components/QuickQuote/index.jsx
| ... | ... | @@ -164,37 +164,76 @@ const QuickQuoteEvent = props => { |
| 164 | 164 | }, [masterConfig]); |
| 165 | 165 | |
| 166 | 166 | // 切换树节点时,设置后道参数默认值 |
| 167 | - const { slaveData = [] } = state; | |
| 167 | + const { slaveData = [], masterData = {} } = state; | |
| 168 | 168 | useEffect(() => { |
| 169 | 169 | if (!slaveData.length) return; |
| 170 | 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 | - }); | |
| 171 | + if (!bNotInit) { | |
| 172 | + const { downAbleConfigs = [] } = state; | |
| 173 | + const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId); | |
| 174 | + if (downAbleConfigsNew.length) { | |
| 175 | + const slaveDataNew = slaveData.map(item => { | |
| 176 | + let sBackProcessData = []; | |
| 177 | + downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { | |
| 178 | + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); | |
| 179 | + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); | |
| 180 | + const name = `slaveDown${item.sBoxModel}`; | |
| 181 | + const sFieldName = sName; | |
| 182 | + const changeValue = { [sFieldName]: defaultProcess.sId }; | |
| 183 | + const dropDownData = sChineseDropDown; | |
| 184 | + const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true); | |
| 185 | + sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData]; | |
| 186 | + }); | |
| 187 | + return { | |
| 188 | + ...item, | |
| 189 | + sBackProcessData, | |
| 190 | + }; | |
| 191 | + }); | |
| 194 | 192 | |
| 195 | - setState(pre => { | |
| 196 | - return { ...pre, slaveData: slaveDataNew }; | |
| 197 | - }); | |
| 193 | + setState(pre => { | |
| 194 | + return { ...pre, slaveData: slaveDataNew }; | |
| 195 | + }); | |
| 196 | + } | |
| 197 | + } | |
| 198 | + | |
| 199 | + const bNotInit1 = !!masterData.cpProcessName; | |
| 200 | + if (!bNotInit1) { | |
| 201 | + const { finishedConfigs = [] } = state; | |
| 202 | + const finishedConfigsNew = finishedConfigs.filter(item => item.sDefaultProcessId); | |
| 203 | + if (finishedConfigsNew.length) { | |
| 204 | + let [cpProcessNameList, productProcessInfo] = [[], []]; | |
| 205 | + finishedConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => { | |
| 206 | + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []); | |
| 207 | + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId); | |
| 208 | + const name = "finished"; | |
| 209 | + const sFieldName = sName; | |
| 210 | + const changeValue = { [sFieldName]: defaultProcess.sId }; | |
| 211 | + const dropDownData = sChineseDropDown; | |
| 212 | + const { cpProcessName: cpProcessNameNew, productProcessInfo: productProcessInfoNew } = onDataChange( | |
| 213 | + name, | |
| 214 | + sFieldName, | |
| 215 | + changeValue, | |
| 216 | + masterData.sId, | |
| 217 | + dropDownData, | |
| 218 | + true | |
| 219 | + ); | |
| 220 | + cpProcessNameNew.split(",").forEach((item, index) => { | |
| 221 | + if (!cpProcessNameList.includes(item)) { | |
| 222 | + cpProcessNameList.push(item); | |
| 223 | + productProcessInfo.push(productProcessInfoNew[index]); | |
| 224 | + } | |
| 225 | + }); | |
| 226 | + }); | |
| 227 | + setState(pre => ({ | |
| 228 | + ...pre, | |
| 229 | + masterData: { | |
| 230 | + ...masterData, | |
| 231 | + cpProcessName: cpProcessNameList.join(","), | |
| 232 | + productProcessInfo, | |
| 233 | + }, | |
| 234 | + })); | |
| 235 | + } | |
| 236 | + } | |
| 198 | 237 | }, [slaveData.map(item => item.sId).toString()]); |
| 199 | 238 | |
| 200 | 239 | addState.onBackClick = () => { |
| ... | ... | @@ -457,6 +496,9 @@ const QuickQuoteEvent = props => { |
| 457 | 496 | const masterDataNew = { ...masterData, cpProcessName, productProcessInfo }; |
| 458 | 497 | masterDataNew.handleType = masterDataNew.handleType || "update"; |
| 459 | 498 | masterDataNew.sId = masterDataNew.sId || commonUtils.createSid(); |
| 499 | + if (isWait) { | |
| 500 | + return masterDataNew; | |
| 501 | + } | |
| 460 | 502 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); |
| 461 | 503 | } |
| 462 | 504 | }; |
| ... | ... | @@ -1207,7 +1249,7 @@ const TreeComponent = props => { |
| 1207 | 1249 | const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); |
| 1208 | 1250 | |
| 1209 | 1251 | props.setState(pre => { |
| 1210 | - const { slaveData = [], slaveConfig, manyData = [] } = pre; | |
| 1252 | + const { slaveData = [], slaveConfig, manyData = [], masterData = {} } = pre; | |
| 1211 | 1253 | const addState = {}; |
| 1212 | 1254 | const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode }); |
| 1213 | 1255 | const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); |
| ... | ... | @@ -1242,6 +1284,9 @@ const TreeComponent = props => { |
| 1242 | 1284 | ...(sPackPath ? { sPackPath } : {}), |
| 1243 | 1285 | }; |
| 1244 | 1286 | }); |
| 1287 | + delete masterData.cpProcessName; | |
| 1288 | + delete masterData.productProcessInfo; | |
| 1289 | + addState.masterData = masterData; | |
| 1245 | 1290 | addState.extraParts = {}; |
| 1246 | 1291 | addState.calcPriceFinished = false; |
| 1247 | 1292 | addState.backendParamsConfig = []; |
| ... | ... | @@ -1818,10 +1863,7 @@ const BoxComponent = props => { |
| 1818 | 1863 | |
| 1819 | 1864 | props.setState(pre => ({ |
| 1820 | 1865 | ...pre, |
| 1821 | - backendParamsConfig: commonUtils.convertStrToObj( | |
| 1822 | - sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, | |
| 1823 | - [] | |
| 1824 | - ), | |
| 1866 | + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, []), | |
| 1825 | 1867 | backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, |
| 1826 | 1868 | })); |
| 1827 | 1869 | }, |
| ... | ... | @@ -1921,7 +1963,7 @@ const BoxComponent = props => { |
| 1921 | 1963 | ).toFixed(2) |
| 1922 | 1964 | ), |
| 1923 | 1965 | dWlcd: dWlcd, |
| 1924 | - dWlkd: dWlkd, | |
| 1966 | + dWlkd: dWlkd, | |
| 1925 | 1967 | dMachineQty: Math.floor(dProductQty / dSinglePQty), |
| 1926 | 1968 | dSinglePQty: dSinglePQty, |
| 1927 | 1969 | dMaterialsKQty: dMaterialsKQty, |
| ... | ... | @@ -2192,12 +2234,20 @@ const BoxComponent = props => { |
| 2192 | 2234 | height: "290px", |
| 2193 | 2235 | backgroundColor: "#fff", |
| 2194 | 2236 | borderRight: "1px solid #ccc", |
| 2195 | - position:'relative' | |
| 2237 | + position: "relative", | |
| 2196 | 2238 | }} |
| 2197 | 2239 | > |
| 2198 | - <div style={{position:'absolute',left:'50%',top:'50%',transform:' translate(-50%, -50%)',width:'100%',height:'200px'}}> | |
| 2199 | - <DynamicSVG {...svgProps} /> | |
| 2200 | - | |
| 2240 | + <div | |
| 2241 | + style={{ | |
| 2242 | + position: "absolute", | |
| 2243 | + left: "50%", | |
| 2244 | + top: "50%", | |
| 2245 | + transform: " translate(-50%, -50%)", | |
| 2246 | + width: "100%", | |
| 2247 | + height: "200px", | |
| 2248 | + }} | |
| 2249 | + > | |
| 2250 | + <DynamicSVG {...svgProps} /> | |
| 2201 | 2251 | </div> |
| 2202 | 2252 | </div> |
| 2203 | 2253 | ) : ( | ... | ... |