Commit 5095d5fd03dddabad55b0a51bd8782785587cc05

Authored by 陈鑫涛
1 parent d036a418

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

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 =&gt; {
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 =&gt; {
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 =&gt; {
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 =&gt; {
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 =&gt; {
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 =&gt; {
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 =&gt; {
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 =&gt; {
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 ))}
... ...