Commit ab64028ac87f9332750544ed46ab8384670eb6fd
1 parent
25cac788
后道工序参数
Showing
3 changed files
with
221 additions
and
32 deletions
src/components/Common/CommonCostomTabBill.js
| @@ -6965,7 +6965,6 @@ const handleBtnParamPage = (props, comparedTableId, type) =>{ | @@ -6965,7 +6965,6 @@ const handleBtnParamPage = (props, comparedTableId, type) =>{ | ||
| 6965 | filterData = slave0Data.filter(item => item.sControlId === controlRow.sId); | 6965 | filterData = slave0Data.filter(item => item.sControlId === controlRow.sId); |
| 6966 | } | 6966 | } |
| 6967 | 6967 | ||
| 6968 | - console.log('tableDataRow', slave0Data, controlRow, filterData); | ||
| 6969 | let tableDataRow = {}; | 6968 | let tableDataRow = {}; |
| 6970 | if( commonUtils.isNotEmptyArr(filterData)) { | 6969 | if( commonUtils.isNotEmptyArr(filterData)) { |
| 6971 | const iIndex = filterData.findIndex(item => item.sId === processRow.sId); | 6970 | const iIndex = filterData.findIndex(item => item.sId === processRow.sId); |
src/mobile/components/SelectInput.jsx
| @@ -48,7 +48,7 @@ const SelectInput = props => { | @@ -48,7 +48,7 @@ const SelectInput = props => { | ||
| 48 | pageSize: 20, | 48 | pageSize: 20, |
| 49 | }; | 49 | }; |
| 50 | commonServices.postValueService(props.app.token, body, url).then(res => { | 50 | commonServices.postValueService(props.app.token, body, url).then(res => { |
| 51 | - if (res.data.code === 1) { | 51 | + if (res.data.code === 1 && res.data.dataset) { |
| 52 | const list = res.data.dataset.rows?.map((item, i) => ({ | 52 | const list = res.data.dataset.rows?.map((item, i) => ({ |
| 53 | label: item.sCustomerName || item.sName || item.sProcessName || item.sColorName || item.sMaterialsName, | 53 | label: item.sCustomerName || item.sName || item.sProcessName || item.sColorName || item.sMaterialsName, |
| 54 | value: item.sId || item.sSlaveId, | 54 | value: item.sId || item.sSlaveId, |
| @@ -101,15 +101,39 @@ const SelectInput = props => { | @@ -101,15 +101,39 @@ const SelectInput = props => { | ||
| 101 | let { sDropDownType, sVisColumnName } = itemDetail; | 101 | let { sDropDownType, sVisColumnName } = itemDetail; |
| 102 | if (sVisColumnName && sVisColumnName === "sProcessName") { | 102 | if (sVisColumnName && sVisColumnName === "sProcessName") { |
| 103 | if (sDropDownType === "sql") { | 103 | if (sDropDownType === "sql") { |
| 104 | - const list = JSON.parse(itemDetail.sChineseDropDown).map(x => { | ||
| 105 | - return { | ||
| 106 | - label: x.sProcessName, | ||
| 107 | - value: x.sId, | ||
| 108 | - ...x, | ||
| 109 | - }; | ||
| 110 | - }); | ||
| 111 | - setColumns(list); | ||
| 112 | - setCopyColumns(list); | 104 | + if (itemDetail.sParamDropDown) { |
| 105 | + const { sParamDropDown = "", sName0, sName } = itemDetail; | ||
| 106 | + const dropDownData = sParamDropDown.split(","); | ||
| 107 | + if (dropDownData?.length) { | ||
| 108 | + const list = { | ||
| 109 | + dropDownData: dropDownData.map(item => ({ | ||
| 110 | + sId: commonUtils.createSid(), | ||
| 111 | + value: commonUtils.createSid(), | ||
| 112 | + sParam: itemDetail.sParam, | ||
| 113 | + [sName]: item, | ||
| 114 | + sParamKey: sName0, | ||
| 115 | + sParamKeyNew: sName, | ||
| 116 | + label:item | ||
| 117 | + })), | ||
| 118 | + totalPageCount: 1, | ||
| 119 | + currentPageNo: 1, | ||
| 120 | + conditonValues: {}, | ||
| 121 | + }; | ||
| 122 | + setColumns(list.dropDownData); | ||
| 123 | + setCopyColumns(list.dropDownData); | ||
| 124 | + } | ||
| 125 | + } else { | ||
| 126 | + const list = JSON.parse(itemDetail.sChineseDropDown).map(x => { | ||
| 127 | + return { | ||
| 128 | + label: x.sProcessName, | ||
| 129 | + value: x.sId, | ||
| 130 | + ...x, | ||
| 131 | + }; | ||
| 132 | + }); | ||
| 133 | + setColumns(list); | ||
| 134 | + setCopyColumns(list); | ||
| 135 | + } | ||
| 136 | + | ||
| 113 | // getSqlDropDownData(searchValue); | 137 | // getSqlDropDownData(searchValue); |
| 114 | } else if ((sDropDownType = "const")) { | 138 | } else if ((sDropDownType = "const")) { |
| 115 | if (!itemDetail.showDropDown) return; | 139 | if (!itemDetail.showDropDown) return; |
| @@ -164,9 +188,13 @@ const SelectInput = props => { | @@ -164,9 +188,13 @@ const SelectInput = props => { | ||
| 164 | setValue(val); | 188 | setValue(val); |
| 165 | props.onDataChange(tableName, itemDetail.sName, { [itemDetail.sName]: val }, null, coplyColumns); | 189 | props.onDataChange(tableName, itemDetail.sName, { [itemDetail.sName]: val }, null, coplyColumns); |
| 166 | }} | 190 | }} |
| 191 | + onClick={() => { | ||
| 192 | + if (!props.onCostomClick) return; | ||
| 193 | + props.onCostomClick(itemDetail); | ||
| 194 | + }} | ||
| 167 | readOnly={bReadonly} | 195 | readOnly={bReadonly} |
| 168 | /> | 196 | /> |
| 169 | - {!bCanInput ? ( | 197 | + {itemDetail.sDropDownType === 'sql'? ( |
| 170 | <div className={styles.icons} onClick={clickBtn}> | 198 | <div className={styles.icons} onClick={clickBtn}> |
| 171 | <DownOutline /> | 199 | <DownOutline /> |
| 172 | </div> | 200 | </div> |
src/mobile/quotation/detailNew.jsx
| @@ -13,7 +13,7 @@ import Typesetting from "@/components/Common/Typesetting/typesetting"; | @@ -13,7 +13,7 @@ import Typesetting from "@/components/Common/Typesetting/typesetting"; | ||
| 13 | import DynamicSVG from "@/components/Common/BoxDesignCompontent/svg"; | 13 | import DynamicSVG from "@/components/Common/BoxDesignCompontent/svg"; |
| 14 | import ShowImgM from "@/components/Common/BoxShowImgMaterial/indexNew"; | 14 | import ShowImgM from "@/components/Common/BoxShowImgMaterial/indexNew"; |
| 15 | import CommonBase from "@/components/Common/CommonBase"; | 15 | import CommonBase from "@/components/Common/CommonBase"; |
| 16 | -import { cloneDeep } from "lodash"; | 16 | +import { cloneDeep, isEqual } from "lodash"; |
| 17 | import moment from "moment"; | 17 | import moment from "moment"; |
| 18 | const QuickQuoteEvent = props => { | 18 | const QuickQuoteEvent = props => { |
| 19 | const { location, selectedNode, sModelsId } = props; | 19 | const { location, selectedNode, sModelsId } = props; |
| @@ -196,6 +196,28 @@ const QuickQuoteEvent = props => { | @@ -196,6 +196,28 @@ const QuickQuoteEvent = props => { | ||
| 196 | // if (dropDownDataSelected.sProcessName === "胶印") { | 196 | // if (dropDownDataSelected.sProcessName === "胶印") { |
| 197 | // extraRowData.sPrintProcessId = dropDownDataSelected.sId; | 197 | // extraRowData.sPrintProcessId = dropDownDataSelected.sId; |
| 198 | // } | 198 | // } |
| 199 | + if (dropDownDataSelected !== undefined) { | ||
| 200 | + dropDownDataSelected[sFieldName] = dropDownDataSelected.sProcessName; | ||
| 201 | + // 后道参数额外配置 | ||
| 202 | + const { sParamConfig: sParamConfigStr } = dropDownDataSelected || {}; | ||
| 203 | + const sParamConfig = commonUtils.convertStrToObj(sParamConfigStr, []); | ||
| 204 | + extraState.backendParamsConfig = sParamConfig; | ||
| 205 | + extraState.backendConfig = { sParentFieldsName: sFieldName, sBoxModel: boxModel }; | ||
| 206 | + const sBackendParams = sParamConfig | ||
| 207 | + .map((item, index) => { | ||
| 208 | + const { sParamDefault, sParam } = item; | ||
| 209 | + return !sParamDefault | ||
| 210 | + ? "" | ||
| 211 | + : { | ||
| 212 | + sId: commonUtils.createSid(), | ||
| 213 | + value: sParamDefault, | ||
| 214 | + sParam: sParam, | ||
| 215 | + [`sParams${index}`]: sParamDefault, | ||
| 216 | + }; | ||
| 217 | + }) | ||
| 218 | + .filter(item => item !== ""); | ||
| 219 | + dropDownDataSelected.sBackendParams = sBackendParams; | ||
| 220 | + } | ||
| 199 | if (iIndex === -1) { | 221 | if (iIndex === -1) { |
| 200 | slaveData.push({ | 222 | slaveData.push({ |
| 201 | sId: commonUtils.createSid(), | 223 | sId: commonUtils.createSid(), |
| @@ -876,7 +898,7 @@ const QuickQuoteEvent = props => { | @@ -876,7 +898,7 @@ const QuickQuoteEvent = props => { | ||
| 876 | manyqtysData: state.manyData, | 898 | manyqtysData: state.manyData, |
| 877 | }, | 899 | }, |
| 878 | })); | 900 | })); |
| 879 | - | 901 | + |
| 880 | const result = await props.handleCalculation( | 902 | const result = await props.handleCalculation( |
| 881 | false, | 903 | false, |
| 882 | { ...masterProps, ...newState, manyqtysConfig: state.manyConfig, manyqtysData: state.manyData }, | 904 | { ...masterProps, ...newState, manyqtysConfig: state.manyConfig, manyqtysData: state.manyData }, |
| @@ -1307,6 +1329,7 @@ const BoxComponent = props => { | @@ -1307,6 +1329,7 @@ const BoxComponent = props => { | ||
| 1307 | slaveData, | 1329 | slaveData, |
| 1308 | } = state || {}; | 1330 | } = state || {}; |
| 1309 | const slaveRowData = slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === boxModel) || {}; | 1331 | const slaveRowData = slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === boxModel) || {}; |
| 1332 | + | ||
| 1310 | const { sModelsId } = props; | 1333 | const { sModelsId } = props; |
| 1311 | const [selectList, setSelectList] = useState([]); | 1334 | const [selectList, setSelectList] = useState([]); |
| 1312 | const [boxTypeList, setBoxTypeList] = useState([]); | 1335 | const [boxTypeList, setBoxTypeList] = useState([]); |
| @@ -1314,6 +1337,7 @@ const BoxComponent = props => { | @@ -1314,6 +1337,7 @@ const BoxComponent = props => { | ||
| 1314 | const [boxPopup, setBoxPopup] = useState(false); | 1337 | const [boxPopup, setBoxPopup] = useState(false); |
| 1315 | const [boxsList, setBoxsList] = useState([]); | 1338 | const [boxsList, setBoxsList] = useState([]); |
| 1316 | const [selected, setSelected] = useState(null); | 1339 | const [selected, setSelected] = useState(null); |
| 1340 | + | ||
| 1317 | // 获取盒型信息 | 1341 | // 获取盒型信息 |
| 1318 | useEffect(() => { | 1342 | useEffect(() => { |
| 1319 | const sId = "17428091410008594700322758474000"; | 1343 | const sId = "17428091410008594700322758474000"; |
| @@ -1512,33 +1536,39 @@ const BoxComponent = props => { | @@ -1512,33 +1536,39 @@ const BoxComponent = props => { | ||
| 1512 | // 后道参数 | 1536 | // 后道参数 |
| 1513 | const { sBackProcessData } = slaveRowData || []; | 1537 | const { sBackProcessData } = slaveRowData || []; |
| 1514 | const [downAbleConfigsNew, setDownAbleConfigsNew] = useState([]); | 1538 | const [downAbleConfigsNew, setDownAbleConfigsNew] = useState([]); |
| 1539 | + | ||
| 1515 | // const downAbleConfigsNew = downAbleConfigs.reduce((pre, cur) => { | 1540 | // const downAbleConfigsNew = downAbleConfigs.reduce((pre, cur) => { |
| 1516 | // const childConfigs = downAbleExtraConfigs.filter(item => item.sParentName === cur.showName); | 1541 | // const childConfigs = downAbleExtraConfigs.filter(item => item.sParentName === cur.showName); |
| 1517 | // pre.push(cur, ...childConfigs); | 1542 | // pre.push(cur, ...childConfigs); |
| 1518 | // return pre; | 1543 | // return pre; |
| 1519 | // }, []); | 1544 | // }, []); |
| 1520 | - useEffect(() => { | ||
| 1521 | - // setDownAbleConfigsNew(downAbleConfigs); | ||
| 1522 | - const data = downAbleConfigs.reduce((pre, cur) => { | 1545 | + // useEffect(() => { |
| 1546 | + // // setDownAbleConfigsNew(downAbleConfigs); | ||
| 1547 | + // const data = downAbleConfigs.reduce((pre, cur) => { | ||
| 1548 | + // const childConfigs = downAbleExtraConfigs.filter(item => item.sParentName === cur.showName); | ||
| 1549 | + // pre.push(cur, ...childConfigs); | ||
| 1550 | + // return pre; | ||
| 1551 | + // }, []); | ||
| 1552 | + // setDownAbleConfigsNew(data); | ||
| 1553 | + // }, [downAbleConfigs, downAbleExtraConfigs]); | ||
| 1554 | + | ||
| 1555 | + // 使用 useMemo 缓存 downAbleConfigsNew 的计算结果 | ||
| 1556 | + const computedDownAbleConfigsNew = useMemo(() => { | ||
| 1557 | + return downAbleConfigs.reduce((pre, cur) => { | ||
| 1523 | const childConfigs = downAbleExtraConfigs.filter(item => item.sParentName === cur.showName); | 1558 | const childConfigs = downAbleExtraConfigs.filter(item => item.sParentName === cur.showName); |
| 1524 | - pre.push(cur, ...childConfigs); | ||
| 1525 | - return pre; | 1559 | + return [...pre, cur, ...childConfigs]; |
| 1526 | }, []); | 1560 | }, []); |
| 1527 | - setDownAbleConfigsNew(data); | ||
| 1528 | }, [downAbleConfigs, downAbleExtraConfigs]); | 1561 | }, [downAbleConfigs, downAbleExtraConfigs]); |
| 1529 | - // 初始化状态,存储每个 Switch 的状态 | ||
| 1530 | - const [switchStates, setSwitchStates] = useState(null); | 1562 | + |
| 1563 | + // 使用 useEffect 设置 downAbleConfigsNew 状态 | ||
| 1531 | useEffect(() => { | 1564 | useEffect(() => { |
| 1532 | - if (!sBackProcessData) return; | ||
| 1533 | - // const newSwitchStates = downAbleConfigsNew | ||
| 1534 | - // .filter(item => item.sPartsName === boxModel || !item.sPartsName) | ||
| 1535 | - // .reduce((acc, item, index) => { | ||
| 1536 | - // acc[item.sName] = sBackProcessData && sBackProcessData[index]? sBackProcessData[index][item.sName] !== "" : false; | ||
| 1537 | - // return acc; | ||
| 1538 | - // }, {}); | 1565 | + if (!isEqual(downAbleConfigsNew, computedDownAbleConfigsNew)) { |
| 1566 | + setDownAbleConfigsNew(computedDownAbleConfigsNew); | ||
| 1567 | + } | ||
| 1568 | + }, [computedDownAbleConfigsNew, downAbleConfigsNew]); | ||
| 1539 | 1569 | ||
| 1540 | - // setSwitchStates(newSwitchStates); | ||
| 1541 | - }, [downAbleConfigsNew, boxModel]); // 依赖数组 | 1570 | + // 初始化状态,存储每个 Switch 的状态 |
| 1571 | + const [switchStates, setSwitchStates] = useState(null); | ||
| 1542 | 1572 | ||
| 1543 | // 处理 Switch 变化的函数 | 1573 | // 处理 Switch 变化的函数 |
| 1544 | const handleSwitchChange = (item, val) => { | 1574 | const handleSwitchChange = (item, val) => { |
| @@ -1784,6 +1814,19 @@ const BoxComponent = props => { | @@ -1784,6 +1814,19 @@ const BoxComponent = props => { | ||
| 1784 | value: item.sCode, | 1814 | value: item.sCode, |
| 1785 | label: item.showName, | 1815 | label: item.showName, |
| 1786 | })); | 1816 | })); |
| 1817 | + | ||
| 1818 | + const onCostomClick = showConfig => { | ||
| 1819 | + // const className = target.getAttribute("class"); | ||
| 1820 | + // const nodeName = target.nodeName; | ||
| 1821 | + // if (className?.includes("select") && nodeName === "DIV") return; | ||
| 1822 | + if (!sBackProcessData) return; | ||
| 1823 | + props.setState(pre => ({ | ||
| 1824 | + ...pre, | ||
| 1825 | + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName0 || showConfig.sName])?.sParamConfig, []), | ||
| 1826 | + backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel }, | ||
| 1827 | + })); | ||
| 1828 | + }; | ||
| 1829 | + | ||
| 1787 | return ( | 1830 | return ( |
| 1788 | <div> | 1831 | <div> |
| 1789 | <Selector | 1832 | <Selector |
| @@ -1903,7 +1946,12 @@ const BoxComponent = props => { | @@ -1903,7 +1946,12 @@ const BoxComponent = props => { | ||
| 1903 | {switchStates && switchStates[x.sName] ? ( | 1946 | {switchStates && switchStates[x.sName] ? ( |
| 1904 | // 这里需要数组遍历 多个工序 | 1947 | // 这里需要数组遍历 多个工序 |
| 1905 | <div className={styles.processFlex}> | 1948 | <div className={styles.processFlex}> |
| 1906 | - <SelectInput {...downViewProps} itemDetail={{ ...x, sVisColumnName: "sProcessName", sDropDownType: "sql" }} downIndex={i} /> | 1949 | + <SelectInput |
| 1950 | + {...downViewProps} | ||
| 1951 | + itemDetail={{ ...x, sVisColumnName: "sProcessName" }} | ||
| 1952 | + downIndex={i} | ||
| 1953 | + onCostomClick={onCostomClick} | ||
| 1954 | + /> | ||
| 1907 | <div className={styles.processBtn}> | 1955 | <div className={styles.processBtn}> |
| 1908 | {!x.sParentName ? ( | 1956 | {!x.sParentName ? ( |
| 1909 | <Button | 1957 | <Button |
| @@ -1998,6 +2046,7 @@ const BoxComponent = props => { | @@ -1998,6 +2046,7 @@ const BoxComponent = props => { | ||
| 1998 | )) | 2046 | )) |
| 1999 | : ""} | 2047 | : ""} |
| 2000 | </div> | 2048 | </div> |
| 2049 | + <BackendParamsExtraComponent {...props} /> | ||
| 2001 | <div> | 2050 | <div> |
| 2002 | <div className={styles.projectBtn}> | 2051 | <div className={styles.projectBtn}> |
| 2003 | <div className={styles.boxTitle} style={{ marginTop: "2rem" }}> | 2052 | <div className={styles.boxTitle} style={{ marginTop: "2rem" }}> |
| @@ -2368,4 +2417,117 @@ const ManyComponent = props => { | @@ -2368,4 +2417,117 @@ const ManyComponent = props => { | ||
| 2368 | </div> | 2417 | </div> |
| 2369 | ); | 2418 | ); |
| 2370 | }; | 2419 | }; |
| 2420 | +// 后道参数额外配置 | ||
| 2421 | +const BackendParamsExtraComponent = props => { | ||
| 2422 | + const { state, slaveConfig, boxModel } = props; | ||
| 2423 | + const { backendParamsConfig = [], backendConfig = {}, slaveData, selectedNode } = state; | ||
| 2424 | + const { sParentFieldsName, sBoxModel } = backendConfig; | ||
| 2425 | + | ||
| 2426 | + // 使用 useMemo 缓存计算结果 | ||
| 2427 | + const slaveRowData = useMemo(() => { | ||
| 2428 | + return slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === sBoxModel) || {}; | ||
| 2429 | + }, [slaveData, selectedNode, sBoxModel]); | ||
| 2430 | + | ||
| 2431 | + const { sBackProcessData = [] } = slaveRowData; | ||
| 2432 | + | ||
| 2433 | + const viewConfigs = backendParamsConfig.map((item, index) => ({ | ||
| 2434 | + ...item, | ||
| 2435 | + sName0: `sParam${index + 1}`, | ||
| 2436 | + sName: item.sFieldName || `sParam${index + 1}`, | ||
| 2437 | + showName: item.sParam, | ||
| 2438 | + sDropDownType: item.sParamDropDown ? "sql" : "", | ||
| 2439 | + iColValue: 4, | ||
| 2440 | + sVisColumnName: "sProcessName", | ||
| 2441 | + })); | ||
| 2442 | + | ||
| 2443 | + const viewProps = { | ||
| 2444 | + ...props, | ||
| 2445 | + viewConfigs: viewConfigs.map(item => ({ | ||
| 2446 | + ...item, | ||
| 2447 | + costomStyle: styles.sParamConfig, | ||
| 2448 | + })), | ||
| 2449 | + tableConfig: { ...slaveConfig, gdsconfigformslave: viewConfigs }, | ||
| 2450 | + iColValueView: 24, | ||
| 2451 | + getViewRow: config => { | ||
| 2452 | + return sBackProcessData.find(item => item[sParentFieldsName])?.sBackendParams?.find(item => item.sParam === config.showName) || {}; | ||
| 2453 | + }, | ||
| 2454 | + tableName: `sBackendParams${boxModel}`, | ||
| 2455 | + getSqlDropDownData: (...args) => { | ||
| 2456 | + const showConfig = args[2]; | ||
| 2457 | + const { sParamDropDown = "", sName0, sName } = showConfig; | ||
| 2458 | + const dropDownData = sParamDropDown.split(","); | ||
| 2459 | + if (dropDownData?.length) { | ||
| 2460 | + return { | ||
| 2461 | + dropDownData: dropDownData.map(item => ({ | ||
| 2462 | + sId: commonUtils.createSid(), | ||
| 2463 | + value: item, | ||
| 2464 | + sParam: showConfig.sParam, | ||
| 2465 | + [sName]: item, | ||
| 2466 | + sParamKey: sName0, | ||
| 2467 | + sParamKeyNew: sName, | ||
| 2468 | + })), | ||
| 2469 | + totalPageCount: 1, | ||
| 2470 | + currentPageNo: 1, | ||
| 2471 | + conditonValues: {}, | ||
| 2472 | + }; | ||
| 2473 | + } | ||
| 2474 | + | ||
| 2475 | + return props.getSqlDropDownData(...args); | ||
| 2476 | + }, | ||
| 2477 | + onDataChange: (name, sFieldName, changeValue, sId, dropDownData, isWait) => { | ||
| 2478 | + const iIndex = slaveData.findIndex(item => item.sId === slaveRowData.sId); | ||
| 2479 | + const iIndex1 = slaveData[iIndex].sBackProcessData.findIndex(item => item[sParentFieldsName]); | ||
| 2480 | + const showConfig = viewConfigs.find(item => item.sName === sFieldName); | ||
| 2481 | + const dropDownDataSelected = dropDownData?.length | ||
| 2482 | + ? dropDownData.find(item => item.sId === changeValue[sFieldName]) | ||
| 2483 | + : { | ||
| 2484 | + sId: commonUtils.createSid(), | ||
| 2485 | + value: changeValue[sFieldName], | ||
| 2486 | + sParam: showConfig.sParam, | ||
| 2487 | + [sFieldName]: changeValue[sFieldName], | ||
| 2488 | + sParamKey: showConfig.sName0, | ||
| 2489 | + sParamKeyNew: sFieldName, | ||
| 2490 | + }; | ||
| 2491 | + const { sParam } = dropDownDataSelected; | ||
| 2492 | + const { sBackendParams = [] } = slaveData[iIndex].sBackProcessData[iIndex1]; | ||
| 2493 | + const iIndex2 = sBackendParams.findIndex(item => item.sParam === sParam); | ||
| 2494 | + if (iIndex2 !== -1) { | ||
| 2495 | + sBackendParams[iIndex2] = dropDownDataSelected; | ||
| 2496 | + } else { | ||
| 2497 | + sBackendParams.push(dropDownDataSelected); | ||
| 2498 | + } | ||
| 2499 | + slaveData[iIndex].sBackProcessData[iIndex1].sBackendParams = sBackendParams; | ||
| 2500 | + if (!showConfig.sName?.startsWith("sParams")) { | ||
| 2501 | + slaveData[iIndex].sBackProcessData[iIndex1][showConfig.sName] = dropDownDataSelected[showConfig.sName]; | ||
| 2502 | + const { dManualLength, dManualWidth } = slaveData[iIndex].sBackProcessData[iIndex1]; | ||
| 2503 | + if (dManualLength !== undefined && dManualWidth !== undefined) { | ||
| 2504 | + slaveData[iIndex].sBackProcessData[iIndex1].dManualValue = dManualLength * dManualWidth; | ||
| 2505 | + } | ||
| 2506 | + } | ||
| 2507 | + props.setState(pre => ({ ...pre, slaveData })); | ||
| 2508 | + }, | ||
| 2509 | + }; | ||
| 2510 | + | ||
| 2511 | + const onCostomClick = () => {}; | ||
| 2512 | + return ( | ||
| 2513 | + <div> | ||
| 2514 | + <div className={styles.boxTitle}> | ||
| 2515 | + 后道参数额外配置 | ||
| 2516 | + <EditFill color="#BFBFBF" style={{ marginLeft: "1rem" }} /> | ||
| 2517 | + </div> | ||
| 2518 | + <div> | ||
| 2519 | + <Grid columns={3} gap={8}> | ||
| 2520 | + {viewProps.viewConfigs.map(x => ( | ||
| 2521 | + <Grid.Item> | ||
| 2522 | + <div className={styles.customer} key={x.id || x.showName}> | ||
| 2523 | + <div>{x.showName}</div> | ||
| 2524 | + <SelectInput {...viewProps} itemDetail={x} getSqlDropDownData={viewProps.getSqlDropDownData} onDataChange={props.onDataChange} /> | ||
| 2525 | + </div> | ||
| 2526 | + </Grid.Item> | ||
| 2527 | + ))} | ||
| 2528 | + </Grid> | ||
| 2529 | + </div> | ||
| 2530 | + </div> | ||
| 2531 | + ); | ||
| 2532 | +}; | ||
| 2371 | export default QuotationAllprogressDetail; | 2533 | export default QuotationAllprogressDetail; |