Commit 260ab20e8471cfb4ecc72f38c4ea1b86e783898f
1 parent
c317470e
印刷参数、颜色、单双面可填多次;
Showing
1 changed file
with
107 additions
and
16 deletions
src/components/QuickQuote/index.jsx
| ... | ... | @@ -526,6 +526,8 @@ const QuickQuoteEvent = props => { |
| 526 | 526 | }, {}), |
| 527 | 527 | dPartsQty: masterData.dProductQty, |
| 528 | 528 | // iPositiveColor: Number(item.sColor), |
| 529 | + iOppositeColor: item.sBackProcessData?.find(item => item.bPrintParams)?.iOppositeColor || 0, | |
| 530 | + iOppositeSpecialColor: item.sBackProcessData?.find(item => item.bPrintParams)?.iOppositeSpecialColor || 0, | |
| 529 | 531 | sPartsName: item.sBoxModel, |
| 530 | 532 | materialsInfo: item.materialsInfo?.filter(x => commonUtils.isNotEmptyObject(x)), |
| 531 | 533 | processInfo: |
| ... | ... | @@ -1335,23 +1337,25 @@ const BoxComponent = props => { |
| 1335 | 1337 | }; |
| 1336 | 1338 | |
| 1337 | 1339 | const getUpViewPropsByITag = iTag => { |
| 1338 | - const config = slaveConfig.gdsconfigformslave.filter(item => { | |
| 1339 | - if (item.sName === "dSumPQty" && selectedNode.sTypeKey !== "huace") { | |
| 1340 | - return false; | |
| 1341 | - } | |
| 1342 | - const { bAdvancedSetting, bFlap, bFold } = slaveRowData; | |
| 1343 | - const shouldExcludeItem = (condition, itemNameList) => !condition && itemNameList.includes(item.sName); | |
| 1344 | - | |
| 1345 | - if ( | |
| 1346 | - shouldExcludeItem(bAdvancedSetting, ["dPortrait", "dHorizontal"]) || | |
| 1347 | - shouldExcludeItem(bFlap, ["dFlap"]) || | |
| 1348 | - shouldExcludeItem(bFold, ["sFold", "dAdhesive", "dFold"]) | |
| 1349 | - ) { | |
| 1350 | - return false; | |
| 1351 | - } | |
| 1340 | + const config = slaveConfig.gdsconfigformslave | |
| 1341 | + .filter(item => !["sPrint", "sColor", "iPrintModePo"].includes(item.sName)) | |
| 1342 | + .filter(item => { | |
| 1343 | + if (item.sName === "dSumPQty" && selectedNode.sTypeKey !== "huace") { | |
| 1344 | + return false; | |
| 1345 | + } | |
| 1346 | + const { bAdvancedSetting, bFlap, bFold } = slaveRowData; | |
| 1347 | + const shouldExcludeItem = (condition, itemNameList) => !condition && itemNameList.includes(item.sName); | |
| 1348 | + | |
| 1349 | + if ( | |
| 1350 | + shouldExcludeItem(bAdvancedSetting, ["dPortrait", "dHorizontal"]) || | |
| 1351 | + shouldExcludeItem(bFlap, ["dFlap"]) || | |
| 1352 | + shouldExcludeItem(bFold, ["sFold", "dAdhesive", "dFold"]) | |
| 1353 | + ) { | |
| 1354 | + return false; | |
| 1355 | + } | |
| 1352 | 1356 | |
| 1353 | - return item.iTag === iTag; | |
| 1354 | - }); | |
| 1357 | + return item.iTag === iTag; | |
| 1358 | + }); | |
| 1355 | 1359 | let boxConfigList = []; |
| 1356 | 1360 | if (iTag === 20) { |
| 1357 | 1361 | const showNameKeyList = ["dZBLB", "dSBLB", "dYBLB", "dXBLB", "dZBJJ", "dYBJJ", "dSBJJ", "dXBJJ"]; |
| ... | ... | @@ -1825,6 +1829,7 @@ const BoxComponent = props => { |
| 1825 | 1829 | {PrintingParameters} |
| 1826 | 1830 | </Divider> |
| 1827 | 1831 | <div className={styles.viewTable1}> |
| 1832 | + <PrintParamsComponent {...props} /> | |
| 1828 | 1833 | <CommonViewTable {...upViewProps12} /> |
| 1829 | 1834 | </div> |
| 1830 | 1835 | {/* <Divider {...dividerProps} orientationMargin="10px"> |
| ... | ... | @@ -1977,6 +1982,92 @@ const BoxComponent = props => { |
| 1977 | 1982 | ); |
| 1978 | 1983 | }; |
| 1979 | 1984 | |
| 1985 | +// 印刷参数组件(印刷、颜色、单双面) | |
| 1986 | +const PrintParamsComponent = props => { | |
| 1987 | + const { state, setState, boxModel } = props; | |
| 1988 | + const { slaveConfig, slaveData, selectedNode } = state; | |
| 1989 | + | |
| 1990 | + const slaveRowData = slaveData.find(item => item.sTreeNodeName === selectedNode.showName && item.sBoxModel === boxModel) || {}; | |
| 1991 | + const slaveRowDataIndex = slaveData.findIndex(item => item.sId === slaveRowData.sId); | |
| 1992 | + const { sBackProcessData = [] } = slaveRowData; | |
| 1993 | + const printParams = sBackProcessData.filter(item => item.bPrintParams); | |
| 1994 | + | |
| 1995 | + const printParamsConfig = slaveConfig.gdsconfigformslave | |
| 1996 | + .filter(item => ["sPrint", "sColor", "iPrintModePo"].includes(item.sName)) | |
| 1997 | + .map(item => { | |
| 1998 | + return { | |
| 1999 | + ...item, | |
| 2000 | + iColValue: 8, | |
| 2001 | + }; | |
| 2002 | + }); | |
| 2003 | + | |
| 2004 | + const result = []; | |
| 2005 | + for (let i = 0; i < printParams.length + 1; i++) { | |
| 2006 | + const printParamsItem = printParams[i - 1]; | |
| 2007 | + const viewRow = { ...(i === 0 ? slaveRowData : printParamsItem), sProductClassifyId: selectedNode.sId }; | |
| 2008 | + | |
| 2009 | + const viewProps = { | |
| 2010 | + ...props, | |
| 2011 | + viewConfigs: printParamsConfig, | |
| 2012 | + tableConfig: { ...slaveConfig, gdsconfigformslave: printParamsConfig }, | |
| 2013 | + iColValueView: 24, | |
| 2014 | + viewRow, | |
| 2015 | + tableName: `${i === 0 ? "slaveUp" : "slaveDown"}${boxModel}`, | |
| 2016 | + onDataChange: (...args) => { | |
| 2017 | + if (i === 0) { | |
| 2018 | + props.onDataChange(...args); | |
| 2019 | + return; | |
| 2020 | + } | |
| 2021 | + | |
| 2022 | + const iIndex = sBackProcessData.findIndex(item => item.sId === printParamsItem.sId); | |
| 2023 | + sBackProcessData[iIndex] = { ...sBackProcessData[iIndex], ...args[2] }; | |
| 2024 | + slaveData[slaveRowDataIndex] = { ...slaveRowData, sBackProcessData }; | |
| 2025 | + setState(pre => { | |
| 2026 | + return { ...pre, slaveData }; | |
| 2027 | + }); | |
| 2028 | + }, | |
| 2029 | + }; | |
| 2030 | + | |
| 2031 | + result.push( | |
| 2032 | + <div className={styles.materialsLine}> | |
| 2033 | + <div className={styles.materialsViewTable}> | |
| 2034 | + <CommonViewTable {...viewProps} /> | |
| 2035 | + </div> | |
| 2036 | + <div className={styles.materialsBtns} style={{ width: "25%", paddingRight: "calc(25% - 85px)" }}> | |
| 2037 | + <Button | |
| 2038 | + type="primary" | |
| 2039 | + icon={<PlusOutlined />} | |
| 2040 | + onClick={() => { | |
| 2041 | + sBackProcessData.push({ | |
| 2042 | + sId: commonUtils.createSid(), | |
| 2043 | + bPrintParams: true, | |
| 2044 | + }); | |
| 2045 | + slaveData[slaveRowDataIndex] = { ...slaveRowData, sBackProcessData }; | |
| 2046 | + setState(pre => { | |
| 2047 | + return { ...pre, slaveData }; | |
| 2048 | + }); | |
| 2049 | + }} | |
| 2050 | + /> | |
| 2051 | + <Button | |
| 2052 | + type="primary" | |
| 2053 | + icon={<MinusOutlined />} | |
| 2054 | + onClick={() => { | |
| 2055 | + const iIndex = sBackProcessData.findIndex(item => item.sId === printParamsItem.sId); | |
| 2056 | + sBackProcessData.splice(iIndex, 1); | |
| 2057 | + slaveData[slaveRowDataIndex] = { ...slaveRowData, sBackProcessData }; | |
| 2058 | + setState(pre => { | |
| 2059 | + return { ...pre, slaveData }; | |
| 2060 | + }); | |
| 2061 | + }} | |
| 2062 | + style={i === 0 ? { visibility: "hidden" } : {}} | |
| 2063 | + /> | |
| 2064 | + </div> | |
| 2065 | + </div> | |
| 2066 | + ); | |
| 2067 | + } | |
| 2068 | + return result; | |
| 2069 | +}; | |
| 2070 | + | |
| 1980 | 2071 | // 材料组件 |
| 1981 | 2072 | const MaterialsComponent = props => { |
| 1982 | 2073 | const { state, slaveRowData, boxModel } = props; | ... | ... |