Commit 5095d5fd03dddabad55b0a51bd8782785587cc05

Authored by 陈鑫涛
1 parent d036a418

特殊盒型核价后赋值计算的材料长宽

src/components/QuickQuote/index.jsx
@@ -546,8 +546,10 @@ const QuickQuoteEvent = props => { @@ -546,8 +546,10 @@ const QuickQuoteEvent = props => {
546 const dataReturn = (await commonServices.postValueService(token, paramMap, url)).data; 546 const dataReturn = (await commonServices.postValueService(token, paramMap, url)).data;
547 547
548 if (dataReturn.code === 1) { 548 if (dataReturn.code === 1) {
  549 +
549 const { slaveConfig, masterData: masterData1, materialsConfig, processConfig, sModelsId, app } = props; 550 const { slaveConfig, masterData: masterData1, materialsConfig, processConfig, sModelsId, app } = props;
550 const { productClassify, partsNewInfo = [], productProcessInfo, partsInfo: partsOldInfo } = dataReturn.dataset.rows[0]; 551 const { productClassify, partsNewInfo = [], productProcessInfo, partsInfo: partsOldInfo } = dataReturn.dataset.rows[0];
  552 + const { bCalculatingArea } = selectedNode;
551 553
552 const slaveData = []; 554 const slaveData = [];
553 const controlData = []; 555 const controlData = [];
@@ -612,6 +614,12 @@ const QuickQuoteEvent = props => { @@ -612,6 +614,12 @@ const QuickQuoteEvent = props => {
612 slaveRowData.dMachineQty = item.dMachineQty; 614 slaveRowData.dMachineQty = item.dMachineQty;
613 slaveRowData.dAuxiliaryQty = item.materialsInfo?.[0]?.dAuxiliaryQty; 615 slaveRowData.dAuxiliaryQty = item.materialsInfo?.[0]?.dAuxiliaryQty;
614 slaveRowData.sPrint = item.sProcessName; 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 setState(pre => ({ ...pre, slaveData: stateSlaveData })); 623 setState(pre => ({ ...pre, slaveData: stateSlaveData }));
616 }); 624 });
617 625
@@ -2595,6 +2603,7 @@ const BackendParamsExtraComponent = props => { @@ -2595,6 +2603,7 @@ const BackendParamsExtraComponent = props => {
2595 const { state, slaveConfig, boxModel } = props; 2603 const { state, slaveConfig, boxModel } = props;
2596 const { backendParamsConfig = [], backendConfig = {}, slaveData, selectedNode } = state; 2604 const { backendParamsConfig = [], backendConfig = {}, slaveData, selectedNode } = state;
2597 if (!backendParamsConfig.length) return ""; 2605 if (!backendParamsConfig.length) return "";
  2606 + console.log(backendParamsConfig, "backendParamsConfig");
2598 2607
2599 const { sParentFieldsName, sBoxModel } = backendConfig; 2608 const { sParentFieldsName, sBoxModel } = backendConfig;
2600 2609
@@ -2677,6 +2686,7 @@ const BackendParamsExtraComponent = props => { @@ -2677,6 +2686,7 @@ const BackendParamsExtraComponent = props => {
2677 props.setState(pre => ({ ...pre, slaveData })); 2686 props.setState(pre => ({ ...pre, slaveData }));
2678 }, 2687 },
2679 }; 2688 };
  2689 + console.log(viewProps, "viewProps");
2680 2690
2681 return ( 2691 return (
2682 <> 2692 <>
src/mobile/components/SelectInput.jsx
@@ -32,7 +32,9 @@ const SelectInput = props =&gt; { @@ -32,7 +32,9 @@ const SelectInput = props =&gt; {
32 // const data = viewRow.sBackProcessData[downIndex][itemDetail.sName]; 32 // const data = viewRow.sBackProcessData[downIndex][itemDetail.sName];
33 // setValue(data); 33 // setValue(data);
34 } else if (tableName.includes('sBackendParams')) { 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 } else { 38 } else {
37 setValue(viewRowNew || ""); // 动态更新 value 39 setValue(viewRowNew || ""); // 动态更新 value
38 } 40 }
src/mobile/quotation/detailNew.jsx
@@ -142,7 +142,6 @@ const QuickQuoteEvent = props =&gt; { @@ -142,7 +142,6 @@ const QuickQuoteEvent = props =&gt; {
142 }; 142 };
143 143
144 addState.onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => { 144 addState.onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => {
145 - console.log("🚀 ~ changeValue:", name, changeValue);  
146 const { mastersId } = props; 145 const { mastersId } = props;
147 const { masterData = {}, slaveData = [], selectedNode = {} } = state; 146 const { masterData = {}, slaveData = [], selectedNode = {} } = state;
148 const extraState = { 147 const extraState = {
@@ -1828,23 +1827,23 @@ const BoxComponent = props =&gt; { @@ -1828,23 +1827,23 @@ const BoxComponent = props =&gt; {
1828 // const className = target.getAttribute("class"); 1827 // const className = target.getAttribute("class");
1829 // const nodeName = target.nodeName; 1828 // const nodeName = target.nodeName;
1830 // if (className?.includes("select") && nodeName === "DIV") return; 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 props.setState(pre => ({ 1844 props.setState(pre => ({
1846 ...pre, 1845 ...pre,
1847 - backendParamsConfig: detail ? data : [], 1846 + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName0 || showConfig.sName])?.sParamConfig, []),
1848 backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, 1847 backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel },
1849 })); 1848 }));
1850 }; 1849 };
@@ -2101,7 +2100,7 @@ const BoxComponent = props =&gt; { @@ -2101,7 +2100,7 @@ const BoxComponent = props =&gt; {
2101 )) 2100 ))
2102 : ""} 2101 : ""}
2103 </div> 2102 </div>
2104 - <BackendParamsExtraComponent {...props} /> 2103 + <BackendParamsExtraComponent {...props} onCostomClick={onCostomClick} />
2105 <div> 2104 <div>
2106 <div className={styles.projectBtn}> 2105 <div className={styles.projectBtn}>
2107 <div className={styles.boxTitle} style={{ marginTop: "2rem" }}> 2106 <div className={styles.boxTitle} style={{ marginTop: "2rem" }}>
@@ -2477,7 +2476,7 @@ const BackendParamsExtraComponent = props =&gt; { @@ -2477,7 +2476,7 @@ const BackendParamsExtraComponent = props =&gt; {
2477 const { state, slaveConfig, boxModel } = props; 2476 const { state, slaveConfig, boxModel } = props;
2478 const { backendParamsConfig = [], backendConfig = {}, slaveData, selectedNode } = state; 2477 const { backendParamsConfig = [], backendConfig = {}, slaveData, selectedNode } = state;
2479 const { sParentFieldsName, sBoxModel } = backendConfig; 2478 const { sParentFieldsName, sBoxModel } = backendConfig;
2480 - 2479 + if (!backendParamsConfig.length) return "";
2481 // 使用 useMemo 缓存计算结果 2480 // 使用 useMemo 缓存计算结果
2482 const slaveRowData = slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === sBoxModel) || {}; 2481 const slaveRowData = slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === sBoxModel) || {};
2483 2482
@@ -2502,6 +2501,8 @@ const BackendParamsExtraComponent = props =&gt; { @@ -2502,6 +2501,8 @@ const BackendParamsExtraComponent = props =&gt; {
2502 })), 2501 })),
2503 tableConfig: { ...slaveConfig, gdsconfigformslave: viewConfigs }, 2502 tableConfig: { ...slaveConfig, gdsconfigformslave: viewConfigs },
2504 iColValueView: 24, 2503 iColValueView: 24,
  2504 + sBackProcessData,
  2505 + sParentFieldsName,
2505 getViewRow: config => { 2506 getViewRow: config => {
2506 return sBackProcessData.find(item => item[sParentFieldsName])?.sBackendParams?.find(item => item.sParam === config.showName) || {}; 2507 return sBackProcessData.find(item => item[sParentFieldsName])?.sBackendParams?.find(item => item.sParam === config.showName) || {};
2507 }, 2508 },
@@ -2560,21 +2561,10 @@ const BackendParamsExtraComponent = props =&gt; { @@ -2560,21 +2561,10 @@ const BackendParamsExtraComponent = props =&gt; {
2560 slaveData[iIndex].sBackProcessData[iIndex1].dManualValue = dManualLength * dManualWidth; 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 =&gt; { @@ -2591,7 +2581,7 @@ const BackendParamsExtraComponent = props =&gt; {
2591 <Grid.Item> 2581 <Grid.Item>
2592 <div className={styles.customer} key={x.id || x.showName}> 2582 <div className={styles.customer} key={x.id || x.showName}>
2593 <div>{x.showName}</div> 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 </div> 2585 </div>
2596 </Grid.Item> 2586 </Grid.Item>
2597 ))} 2587 ))}