Commit 6f61bf2e40d8f071b528bf650de564b1ba38eebe

Authored by 陈鑫涛
1 parent c317470e

快速报价app

src/components/Common/BoxDesignCompontent/index.js
... ... @@ -337,7 +337,10 @@ const BoxDesignCompontent = baseProps => {
337 337 setBoxList(updatedBoxList);
338 338 };
339 339 const getImage = fileName => {
340   - const imageUrl = `${commonConfig.file_host}file/download?savePathStr=${fileName}&sModelsId=100&token=${props.token}`;
  340 + // const imageUrl = `${commonConfig.file_host}file/download?savePathStr=${fileName}&sModelsId=100&token=${props.token}`;
  341 + const imageUrl = `${commonConfig.file_host}file/download?savePathStr=${fileName}&scale=0.1&sModelsId=100&token=${props.token}`
  342 + console.log("🚀 ~ imageUrl:", imageUrl)
  343 +
341 344 return imageUrl;
342 345 };
343 346 // 下来框
... ... @@ -345,7 +348,7 @@ const BoxDesignCompontent = baseProps => {
345 348 return (
346 349 <Select.Option key={option.sId} value={option.sCode} label={option.sName} image={getImage(option.sMakeUpPath)}>
347 350 <div style={{ display: "flex", alignItems: "center" }}>
348   - {option.sMakeUpPath ? <img src={getImage(option.sMakeUpPath)} alt={option.sName} style={{ width: 24, height: 24, marginRight: 8 }} /> : ""}
  351 + {option.sMakeUpPath ? <img src={getImage(option.sMakeUpPath)} style={{ width: 24, height: 24, marginRight: 8 }} /> : ""}
349 352 <span>{option.sName}</span>
350 353 </div>
351 354 </Select.Option>
... ... @@ -397,7 +400,6 @@ const BoxDesignCompontent = baseProps =&gt; {
397 400 submitSlaveData.concat(newSlaveData);
398 401  
399 402 // 处理计算公式
400   - console.log(boxList, "boxList");
401 403 // 计算展长公式 sLengthFormula
402 404 let sLengthFormula = "";
403 405 let sWidthFormula = "";
... ...
src/components/QuickQuote/index.jsx
... ... @@ -1537,7 +1537,7 @@ const BoxComponent = props =&gt; {
1537 1537 const className = target.getAttribute("class");
1538 1538 const nodeName = target.nodeName;
1539 1539 if (className?.includes("select") && nodeName === "DIV") return;
1540   -
  1540 +
1541 1541 props.setState(pre => ({
1542 1542 ...pre,
1543 1543 backendParamsConfig: commonUtils.convertStrToObj(
... ...
src/mobile/components/SelectInput.jsx
... ... @@ -31,6 +31,8 @@ const SelectInput = props =&gt; {
31 31 if (!viewRow.sBackProcessData) return;
32 32 // const data = viewRow.sBackProcessData[downIndex][itemDetail.sName];
33 33 // setValue(data);
  34 + } else if (tableName.includes('sBackendParams')) {
  35 + setValue(itemDetail.sParamDefault)
34 36 } else {
35 37 setValue(viewRowNew || ""); // 动态更新 value
36 38 }
... ... @@ -175,7 +177,7 @@ const SelectInput = props =&gt; {
175 177 <Checkbox
176 178 style={{ height: "3.125rem" }}
177 179 onChange={val => {
178   - props.onDataChange(tableName, itemDetail.sName, { [itemDetail.sName]: val }, null, coplyColumns);
  180 + props.onDataChange(tableName, itemDetail.sName, { [itemDetail.sName]: val,label:val }, null, coplyColumns);
179 181 }}
180 182 />
181 183 ) : (
... ...
src/mobile/quotation/detailNew.jsx
... ... @@ -142,6 +142,7 @@ const QuickQuoteEvent = props =&gt; {
142 142 };
143 143  
144 144 addState.onDataChange = (name, sFieldName, changeValue, sId, dropDownData, isWait) => {
  145 + console.log("🚀 ~ changeValue:", name, changeValue);
145 146 const { mastersId } = props;
146 147 const { masterData = {}, slaveData = [], selectedNode = {} } = state;
147 148 const extraState = {
... ... @@ -1399,7 +1400,10 @@ const BoxComponent = props =&gt; {
1399 1400 const showUpAbleConfigsExtra = upAbleConfigsExtra.filter(x => x.bVisible === 1);
1400 1401 let boxList = [];
1401 1402 // if(!masterData) return
1402   - if (slaveRowData && slaveRowData.sColumnNameConfig && masterData?.dLength && masterData?.dWidth && masterData?.dHeight) {
  1403 + if (
  1404 + (slaveRowData && slaveRowData.sColumnNameConfig && masterData?.dLength && masterData?.dWidth && masterData?.dHeight) ||
  1405 + (selectedNode.sTypeKey === "kapai" && slaveRowData.sColumnNameConfig && masterData.dLength && masterData.dWidth)
  1406 + ) {
1403 1407 const slaveNewData = JSON.parse(slaveRowData.sColumnNameConfig);
1404 1408 const tables = [
1405 1409 { name: "盒型类别", value: slaveRowData.sBoxType, type: null },
... ... @@ -1501,8 +1505,14 @@ const BoxComponent = props =&gt; {
1501 1505 if (item.sName === "dSumPQty" && selectedNode.sTypeKey !== "huace") {
1502 1506 return false;
1503 1507 }
1504   - const { bAdvancedSetting } = slaveRowData;
1505   - if ((item.sName === "dPortrait" && !bAdvancedSetting) || (item.sName === "dHorizontal" && !bAdvancedSetting)) {
  1508 + const { bAdvancedSetting, bFlap, bFold } = slaveRowData;
  1509 + const shouldExcludeItem = (condition, itemNameList) => !condition && itemNameList.includes(item.sName);
  1510 +
  1511 + if (
  1512 + shouldExcludeItem(bAdvancedSetting, ["dPortrait", "dHorizontal"]) ||
  1513 + shouldExcludeItem(bFlap, ["dFlap"]) ||
  1514 + shouldExcludeItem(bFold, ["sFold", "dAdhesive", "dFold"])
  1515 + ) {
1506 1516 return false;
1507 1517 }
1508 1518  
... ... @@ -1819,35 +1829,56 @@ const BoxComponent = props =&gt; {
1819 1829 // const nodeName = target.nodeName;
1820 1830 // if (className?.includes("select") && nodeName === "DIV") return;
1821 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 + }
1822 1845 props.setState(pre => ({
1823 1846 ...pre,
1824   - backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName0 || showConfig.sName])?.sParamConfig, []),
  1847 + backendParamsConfig: detail ? data : [],
1825 1848 backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel },
1826 1849 }));
1827 1850 };
1828 1851 // 如果是卡牌那么默认使用矩形
1829 1852 // const currentBoxModel = "slaveUp" + props.boxModel;
1830 1853 // props.onDataChange(currentBoxModel, "sName", { sName: item.sName }, item.sId, boxsList);
1831   - if (selectedNode.sTypeKey === "kapai") {
1832   - console.log(5555555);
1833   -
1834   - }
  1854 +
  1855 + useEffect(() => {
  1856 + if (selectedNode.sTypeKey === "kapai") {
  1857 + const data = selectList.find(x => x.sTypes === "6");
  1858 + if (!data) return;
  1859 + const currentBoxModel = "slaveUp" + props.boxModel;
  1860 + props.onDataChange(currentBoxModel, "sName", { sName: data.sName }, data.sId, selectList);
  1861 + }
  1862 + }, [selectedNode.sTypeKey, selectList]);
  1863 +
1835 1864 return (
1836 1865 <div>
1837 1866 {selectedNode.bBox ? (
1838 1867 <div>
1839   - {true ? (
1840   - <Selector
1841   - columns={4}
1842   - options={boxTypeList}
1843   - style={{ "--padding": "0.8rem 0" }}
1844   - value={selected ? [selected] : []}
1845   - onChange={v => handleChange(v)}
1846   - />
  1868 + {selectedNode.sTypeKey !== "kapai" ? (
  1869 + <div>
  1870 + <Selector
  1871 + columns={4}
  1872 + options={boxTypeList}
  1873 + style={{ "--padding": "0.8rem 0" }}
  1874 + value={selected ? [selected] : []}
  1875 + onChange={v => handleChange(v)}
  1876 + />
  1877 + <div className={styles.line}></div>
  1878 + </div>
1847 1879 ) : (
1848 1880 ""
1849 1881 )}
1850   - <div className={styles.line}></div>
1851 1882 <div>
1852 1883 <Grid columns={4} gap={8}>
1853 1884 {upViewProps
... ... @@ -2448,12 +2479,9 @@ const BackendParamsExtraComponent = props =&gt; {
2448 2479 const { sParentFieldsName, sBoxModel } = backendConfig;
2449 2480  
2450 2481 // 使用 useMemo 缓存计算结果
2451   - const slaveRowData = useMemo(() => {
2452   - return slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === sBoxModel) || {};
2453   - }, [slaveData, selectedNode, sBoxModel]);
  2482 + const slaveRowData = slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === sBoxModel) || {};
2454 2483  
2455 2484 const { sBackProcessData = [] } = slaveRowData;
2456   -
2457 2485 const viewConfigs = backendParamsConfig.map((item, index) => ({
2458 2486 ...item,
2459 2487 sName0: `sParam${index + 1}`,
... ... @@ -2462,6 +2490,8 @@ const BackendParamsExtraComponent = props =&gt; {
2462 2490 sDropDownType: item.sParamDropDown ? "sql" : "",
2463 2491 iColValue: 4,
2464 2492 sVisColumnName: "sProcessName",
  2493 + value: item.sId,
  2494 + label: item.sParamDefault,
2465 2495 }));
2466 2496  
2467 2497 const viewProps = {
... ... @@ -2502,8 +2532,10 @@ const BackendParamsExtraComponent = props =&gt; {
2502 2532 const iIndex = slaveData.findIndex(item => item.sId === slaveRowData.sId);
2503 2533 const iIndex1 = slaveData[iIndex].sBackProcessData.findIndex(item => item[sParentFieldsName]);
2504 2534 const showConfig = viewConfigs.find(item => item.sName === sFieldName);
  2535 + let extraState = {};
  2536 +
2505 2537 const dropDownDataSelected = dropDownData?.length
2506   - ? dropDownData.find(item => item.sId === changeValue[sFieldName])
  2538 + ? dropDownData.find(item => item.label === changeValue[sFieldName])
2507 2539 : {
2508 2540 sId: commonUtils.createSid(),
2509 2541 value: changeValue[sFieldName],
... ... @@ -2528,11 +2560,24 @@ const BackendParamsExtraComponent = props =&gt; {
2528 2560 slaveData[iIndex].sBackProcessData[iIndex1].dManualValue = dManualLength * dManualWidth;
2529 2561 }
2530 2562 }
2531   - props.setState(pre => ({ ...pre, slaveData }));
  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 }));
2532 2578 },
2533 2579 };
2534 2580  
2535   - const onCostomClick = () => {};
2536 2581 if (!viewConfigs.length) return;
2537 2582 return (
2538 2583 <div>
... ... @@ -2546,7 +2591,7 @@ const BackendParamsExtraComponent = props =&gt; {
2546 2591 <Grid.Item>
2547 2592 <div className={styles.customer} key={x.id || x.showName}>
2548 2593 <div>{x.showName}</div>
2549   - <SelectInput {...viewProps} itemDetail={x} getSqlDropDownData={viewProps.getSqlDropDownData} onDataChange={props.onDataChange} />
  2594 + <SelectInput {...viewProps} itemDetail={x} getSqlDropDownData={viewProps.getSqlDropDownData} onDataChange={viewProps.onDataChange} />
2550 2595 </div>
2551 2596 </Grid.Item>
2552 2597 ))}
... ...