Commit 5095d5fd03dddabad55b0a51bd8782785587cc05
1 parent
d036a418
特殊盒型核价后赋值计算的材料长宽
Showing
3 changed files
with
37 additions
and
35 deletions
src/components/QuickQuote/index.jsx
| ... | ... | @@ -546,8 +546,10 @@ const QuickQuoteEvent = props => { |
| 546 | 546 | const dataReturn = (await commonServices.postValueService(token, paramMap, url)).data; |
| 547 | 547 | |
| 548 | 548 | if (dataReturn.code === 1) { |
| 549 | + | |
| 549 | 550 | const { slaveConfig, masterData: masterData1, materialsConfig, processConfig, sModelsId, app } = props; |
| 550 | 551 | const { productClassify, partsNewInfo = [], productProcessInfo, partsInfo: partsOldInfo } = dataReturn.dataset.rows[0]; |
| 552 | + const { bCalculatingArea } = selectedNode; | |
| 551 | 553 | |
| 552 | 554 | const slaveData = []; |
| 553 | 555 | const controlData = []; |
| ... | ... | @@ -612,6 +614,12 @@ const QuickQuoteEvent = props => { |
| 612 | 614 | slaveRowData.dMachineQty = item.dMachineQty; |
| 613 | 615 | slaveRowData.dAuxiliaryQty = item.materialsInfo?.[0]?.dAuxiliaryQty; |
| 614 | 616 | slaveRowData.sPrint = item.sProcessName; |
| 617 | + if (bCalculatingArea) { | |
| 618 | + // todo 核价成功后 判断bSpecialRules 为false 就要给材料长材料款赋值 | |
| 619 | + // partsNewInfo | |
| 620 | + slaveRowData.dWlcd = item.dMaterialsLength | |
| 621 | + slaveRowData.dWlkd = item.dMaterialsWidth | |
| 622 | + } | |
| 615 | 623 | setState(pre => ({ ...pre, slaveData: stateSlaveData })); |
| 616 | 624 | }); |
| 617 | 625 | |
| ... | ... | @@ -2595,6 +2603,7 @@ const BackendParamsExtraComponent = props => { |
| 2595 | 2603 | const { state, slaveConfig, boxModel } = props; |
| 2596 | 2604 | const { backendParamsConfig = [], backendConfig = {}, slaveData, selectedNode } = state; |
| 2597 | 2605 | if (!backendParamsConfig.length) return ""; |
| 2606 | + console.log(backendParamsConfig, "backendParamsConfig"); | |
| 2598 | 2607 | |
| 2599 | 2608 | const { sParentFieldsName, sBoxModel } = backendConfig; |
| 2600 | 2609 | |
| ... | ... | @@ -2677,6 +2686,7 @@ const BackendParamsExtraComponent = props => { |
| 2677 | 2686 | props.setState(pre => ({ ...pre, slaveData })); |
| 2678 | 2687 | }, |
| 2679 | 2688 | }; |
| 2689 | + console.log(viewProps, "viewProps"); | |
| 2680 | 2690 | |
| 2681 | 2691 | return ( |
| 2682 | 2692 | <> | ... | ... |
src/mobile/components/SelectInput.jsx
| ... | ... | @@ -32,7 +32,9 @@ const SelectInput = props => { |
| 32 | 32 | // const data = viewRow.sBackProcessData[downIndex][itemDetail.sName]; |
| 33 | 33 | // setValue(data); |
| 34 | 34 | } else if (tableName.includes('sBackendParams')) { |
| 35 | - setValue(itemDetail.sParamDefault) | |
| 35 | + const data = props.sBackProcessData.find(item => item[props.sParentFieldsName]).sBackendParams.find(item => item.sParam === itemDetail.sParam) | |
| 36 | + const values = data.label ? data.label : data.value | |
| 37 | + setValue(values || '') | |
| 36 | 38 | } else { |
| 37 | 39 | setValue(viewRowNew || ""); // 动态更新 value |
| 38 | 40 | } | ... | ... |
src/mobile/quotation/detailNew.jsx
| ... | ... | @@ -142,7 +142,6 @@ const QuickQuoteEvent = props => { |
| 142 | 142 | }; |
| 143 | 143 | |
| 144 | 144 | addState.onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => { |
| 145 | - console.log("🚀 ~ changeValue:", name, changeValue); | |
| 146 | 145 | const { mastersId } = props; |
| 147 | 146 | const { masterData = {}, slaveData = [], selectedNode = {} } = state; |
| 148 | 147 | const extraState = { |
| ... | ... | @@ -1828,23 +1827,23 @@ const BoxComponent = props => { |
| 1828 | 1827 | // const className = target.getAttribute("class"); |
| 1829 | 1828 | // const nodeName = target.nodeName; |
| 1830 | 1829 | // if (className?.includes("select") && nodeName === "DIV") return; |
| 1831 | - if (!sBackProcessData) return; | |
| 1832 | - const detail = sBackProcessData.find(item => item[showConfig.sName0 || showConfig.sName]); | |
| 1833 | - let data = commonUtils.convertStrToObj(detail?.sParamConfig, []); | |
| 1834 | - if (detail) { | |
| 1835 | - // 确保 detail.sBackendParams 是一个数组 | |
| 1836 | - detail.sBackendParams = Array.isArray(detail.sBackendParams) ? detail.sBackendParams : []; | |
| 1837 | - // 过滤掉 undefined 或 null 值 | |
| 1838 | - detail.sBackendParams = detail.sBackendParams.filter(param => param !== undefined && param !== null); | |
| 1839 | - | |
| 1840 | - data.forEach((x, i) => { | |
| 1841 | - const backendParam = detail.sBackendParams[i] || {}; // 如果是 undefined,则使用空对象 | |
| 1842 | - x.sParamDefault = x.sFieldName !== "" ? backendParam[x.sFieldName] : backendParam.label || x.sParamDefault; | |
| 1843 | - }); | |
| 1844 | - } | |
| 1830 | + // if (!sBackProcessData) return; | |
| 1831 | + // const detail = sBackProcessData.find(item => item[showConfig.sName0 || showConfig.sName]); | |
| 1832 | + // let data = commonUtils.convertStrToObj(detail?.sParamConfig, []); | |
| 1833 | + // if (detail) { | |
| 1834 | + // // 确保 detail.sBackendParams 是一个数组 | |
| 1835 | + // detail.sBackendParams = Array.isArray(detail.sBackendParams) ? detail.sBackendParams : []; | |
| 1836 | + // // 过滤掉 undefined 或 null 值 | |
| 1837 | + // detail.sBackendParams = detail.sBackendParams.filter(param => param !== undefined && param !== null); | |
| 1838 | + | |
| 1839 | + // data.forEach((x, i) => { | |
| 1840 | + // const backendParam = detail.sBackendParams[i] || {}; // 如果是 undefined,则使用空对象 | |
| 1841 | + // x.sParamDefault = x.sFieldName !== "" ? backendParam[x.sFieldName] : backendParam.label || x.sParamDefault; | |
| 1842 | + // }); | |
| 1843 | + // } | |
| 1845 | 1844 | props.setState(pre => ({ |
| 1846 | 1845 | ...pre, |
| 1847 | - backendParamsConfig: detail ? data : [], | |
| 1846 | + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName0 || showConfig.sName])?.sParamConfig, []), | |
| 1848 | 1847 | backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, |
| 1849 | 1848 | })); |
| 1850 | 1849 | }; |
| ... | ... | @@ -2101,7 +2100,7 @@ const BoxComponent = props => { |
| 2101 | 2100 | )) |
| 2102 | 2101 | : ""} |
| 2103 | 2102 | </div> |
| 2104 | - <BackendParamsExtraComponent {...props} /> | |
| 2103 | + <BackendParamsExtraComponent {...props} onCostomClick={onCostomClick} /> | |
| 2105 | 2104 | <div> |
| 2106 | 2105 | <div className={styles.projectBtn}> |
| 2107 | 2106 | <div className={styles.boxTitle} style={{ marginTop: "2rem" }}> |
| ... | ... | @@ -2477,7 +2476,7 @@ const BackendParamsExtraComponent = props => { |
| 2477 | 2476 | const { state, slaveConfig, boxModel } = props; |
| 2478 | 2477 | const { backendParamsConfig = [], backendConfig = {}, slaveData, selectedNode } = state; |
| 2479 | 2478 | const { sParentFieldsName, sBoxModel } = backendConfig; |
| 2480 | - | |
| 2479 | + if (!backendParamsConfig.length) return ""; | |
| 2481 | 2480 | // 使用 useMemo 缓存计算结果 |
| 2482 | 2481 | const slaveRowData = slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === sBoxModel) || {}; |
| 2483 | 2482 | |
| ... | ... | @@ -2502,6 +2501,8 @@ const BackendParamsExtraComponent = props => { |
| 2502 | 2501 | })), |
| 2503 | 2502 | tableConfig: { ...slaveConfig, gdsconfigformslave: viewConfigs }, |
| 2504 | 2503 | iColValueView: 24, |
| 2504 | + sBackProcessData, | |
| 2505 | + sParentFieldsName, | |
| 2505 | 2506 | getViewRow: config => { |
| 2506 | 2507 | return sBackProcessData.find(item => item[sParentFieldsName])?.sBackendParams?.find(item => item.sParam === config.showName) || {}; |
| 2507 | 2508 | }, |
| ... | ... | @@ -2560,21 +2561,10 @@ const BackendParamsExtraComponent = props => { |
| 2560 | 2561 | slaveData[iIndex].sBackProcessData[iIndex1].dManualValue = dManualLength * dManualWidth; |
| 2561 | 2562 | } |
| 2562 | 2563 | } |
| 2563 | - // const detail = sBackProcessData.find(item => item[showConfig.sName0 || showConfig.sName]); | |
| 2564 | - // let data = commonUtils.convertStrToObj(detail?.sParamConfig, []); | |
| 2565 | - // if (detail) { | |
| 2566 | - // // 确保 detail.sBackendParams 是一个数组 | |
| 2567 | - // detail.sBackendParams = Array.isArray(detail.sBackendParams) ? detail.sBackendParams : []; | |
| 2568 | - // // 过滤掉 undefined 或 null 值 | |
| 2569 | - // detail.sBackendParams = detail.sBackendParams.filter(param => param !== undefined && param !== null); | |
| 2570 | - | |
| 2571 | - // data.forEach((x, i) => { | |
| 2572 | - // const backendParam = detail.sBackendParams[i] || {}; // 如果是 undefined,则使用空对象 | |
| 2573 | - // x.sParamDefault = x.sFieldName !== "" ? backendParam[x.sFieldName] : backendParam.label || x.sParamDefault; | |
| 2574 | - // }); | |
| 2575 | - // } | |
| 2576 | - // (backendParamsConfig = detail ? data : []), | |
| 2577 | - props.setState(pre => ({ ...pre, slaveData, ...extraState })); | |
| 2564 | + | |
| 2565 | + const itemDetail = viewProps.viewConfigs.find(x => x.sName === sFieldName); | |
| 2566 | + props.setState(pre => ({ ...pre, slaveData })); | |
| 2567 | + // props.onCostomClick(itemDetail); | |
| 2578 | 2568 | }, |
| 2579 | 2569 | }; |
| 2580 | 2570 | |
| ... | ... | @@ -2591,7 +2581,7 @@ const BackendParamsExtraComponent = props => { |
| 2591 | 2581 | <Grid.Item> |
| 2592 | 2582 | <div className={styles.customer} key={x.id || x.showName}> |
| 2593 | 2583 | <div>{x.showName}</div> |
| 2594 | - <SelectInput {...viewProps} itemDetail={x} getSqlDropDownData={viewProps.getSqlDropDownData} onDataChange={viewProps.onDataChange} /> | |
| 2584 | + <SelectInput {...viewProps} itemDetail={x} getSqlDropDownData={viewProps.getSqlDropDownData} onDataChange={viewProps.onDataChange} onCostomClick={null}/> | |
| 2595 | 2585 | </div> |
| 2596 | 2586 | </Grid.Item> |
| 2597 | 2587 | ))} | ... | ... |