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,37 +164,76 @@ const QuickQuoteEvent = props => { | ||
| 164 | }, [masterConfig]); | 164 | }, [masterConfig]); |
| 165 | 165 | ||
| 166 | // 切换树节点时,设置后道参数默认值 | 166 | // 切换树节点时,设置后道参数默认值 |
| 167 | - const { slaveData = [] } = state; | 167 | + const { slaveData = [], masterData = {} } = state; |
| 168 | useEffect(() => { | 168 | useEffect(() => { |
| 169 | if (!slaveData.length) return; | 169 | if (!slaveData.length) return; |
| 170 | const bNotInit = slaveData.some(item => item.sBackProcessData); | 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 | }, [slaveData.map(item => item.sId).toString()]); | 237 | }, [slaveData.map(item => item.sId).toString()]); |
| 199 | 238 | ||
| 200 | addState.onBackClick = () => { | 239 | addState.onBackClick = () => { |
| @@ -457,6 +496,9 @@ const QuickQuoteEvent = props => { | @@ -457,6 +496,9 @@ const QuickQuoteEvent = props => { | ||
| 457 | const masterDataNew = { ...masterData, cpProcessName, productProcessInfo }; | 496 | const masterDataNew = { ...masterData, cpProcessName, productProcessInfo }; |
| 458 | masterDataNew.handleType = masterDataNew.handleType || "update"; | 497 | masterDataNew.handleType = masterDataNew.handleType || "update"; |
| 459 | masterDataNew.sId = masterDataNew.sId || commonUtils.createSid(); | 498 | masterDataNew.sId = masterDataNew.sId || commonUtils.createSid(); |
| 499 | + if (isWait) { | ||
| 500 | + return masterDataNew; | ||
| 501 | + } | ||
| 460 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); | 502 | setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); |
| 461 | } | 503 | } |
| 462 | }; | 504 | }; |
| @@ -1207,7 +1249,7 @@ const TreeComponent = props => { | @@ -1207,7 +1249,7 @@ const TreeComponent = props => { | ||
| 1207 | const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); | 1249 | const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig }); |
| 1208 | 1250 | ||
| 1209 | props.setState(pre => { | 1251 | props.setState(pre => { |
| 1210 | - const { slaveData = [], slaveConfig, manyData = [] } = pre; | 1252 | + const { slaveData = [], slaveConfig, manyData = [], masterData = {} } = pre; |
| 1211 | const addState = {}; | 1253 | const addState = {}; |
| 1212 | const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode }); | 1254 | const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode }); |
| 1213 | const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); | 1255 | const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName); |
| @@ -1242,6 +1284,9 @@ const TreeComponent = props => { | @@ -1242,6 +1284,9 @@ const TreeComponent = props => { | ||
| 1242 | ...(sPackPath ? { sPackPath } : {}), | 1284 | ...(sPackPath ? { sPackPath } : {}), |
| 1243 | }; | 1285 | }; |
| 1244 | }); | 1286 | }); |
| 1287 | + delete masterData.cpProcessName; | ||
| 1288 | + delete masterData.productProcessInfo; | ||
| 1289 | + addState.masterData = masterData; | ||
| 1245 | addState.extraParts = {}; | 1290 | addState.extraParts = {}; |
| 1246 | addState.calcPriceFinished = false; | 1291 | addState.calcPriceFinished = false; |
| 1247 | addState.backendParamsConfig = []; | 1292 | addState.backendParamsConfig = []; |
| @@ -1818,10 +1863,7 @@ const BoxComponent = props => { | @@ -1818,10 +1863,7 @@ const BoxComponent = props => { | ||
| 1818 | 1863 | ||
| 1819 | props.setState(pre => ({ | 1864 | props.setState(pre => ({ |
| 1820 | ...pre, | 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 | backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, | 1867 | backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, |
| 1826 | })); | 1868 | })); |
| 1827 | }, | 1869 | }, |
| @@ -1921,7 +1963,7 @@ const BoxComponent = props => { | @@ -1921,7 +1963,7 @@ const BoxComponent = props => { | ||
| 1921 | ).toFixed(2) | 1963 | ).toFixed(2) |
| 1922 | ), | 1964 | ), |
| 1923 | dWlcd: dWlcd, | 1965 | dWlcd: dWlcd, |
| 1924 | - dWlkd: dWlkd, | 1966 | + dWlkd: dWlkd, |
| 1925 | dMachineQty: Math.floor(dProductQty / dSinglePQty), | 1967 | dMachineQty: Math.floor(dProductQty / dSinglePQty), |
| 1926 | dSinglePQty: dSinglePQty, | 1968 | dSinglePQty: dSinglePQty, |
| 1927 | dMaterialsKQty: dMaterialsKQty, | 1969 | dMaterialsKQty: dMaterialsKQty, |
| @@ -2192,12 +2234,20 @@ const BoxComponent = props => { | @@ -2192,12 +2234,20 @@ const BoxComponent = props => { | ||
| 2192 | height: "290px", | 2234 | height: "290px", |
| 2193 | backgroundColor: "#fff", | 2235 | backgroundColor: "#fff", |
| 2194 | borderRight: "1px solid #ccc", | 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 | </div> | 2251 | </div> |
| 2202 | </div> | 2252 | </div> |
| 2203 | ) : ( | 2253 | ) : ( |