Commit 260ab20e8471cfb4ecc72f38c4ea1b86e783898f

Authored by zhangzzzz
1 parent c317470e

印刷参数、颜色、单双面可填多次;

src/components/QuickQuote/index.jsx
@@ -526,6 +526,8 @@ const QuickQuoteEvent = props => { @@ -526,6 +526,8 @@ const QuickQuoteEvent = props => {
526 }, {}), 526 }, {}),
527 dPartsQty: masterData.dProductQty, 527 dPartsQty: masterData.dProductQty,
528 // iPositiveColor: Number(item.sColor), 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 sPartsName: item.sBoxModel, 531 sPartsName: item.sBoxModel,
530 materialsInfo: item.materialsInfo?.filter(x => commonUtils.isNotEmptyObject(x)), 532 materialsInfo: item.materialsInfo?.filter(x => commonUtils.isNotEmptyObject(x)),
531 processInfo: 533 processInfo:
@@ -1335,23 +1337,25 @@ const BoxComponent = props => { @@ -1335,23 +1337,25 @@ const BoxComponent = props => {
1335 }; 1337 };
1336 1338
1337 const getUpViewPropsByITag = iTag => { 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 let boxConfigList = []; 1359 let boxConfigList = [];
1356 if (iTag === 20) { 1360 if (iTag === 20) {
1357 const showNameKeyList = ["dZBLB", "dSBLB", "dYBLB", "dXBLB", "dZBJJ", "dYBJJ", "dSBJJ", "dXBJJ"]; 1361 const showNameKeyList = ["dZBLB", "dSBLB", "dYBLB", "dXBLB", "dZBJJ", "dYBJJ", "dSBJJ", "dXBJJ"];
@@ -1825,6 +1829,7 @@ const BoxComponent = props => { @@ -1825,6 +1829,7 @@ const BoxComponent = props => {
1825 {PrintingParameters} 1829 {PrintingParameters}
1826 </Divider> 1830 </Divider>
1827 <div className={styles.viewTable1}> 1831 <div className={styles.viewTable1}>
  1832 + <PrintParamsComponent {...props} />
1828 <CommonViewTable {...upViewProps12} /> 1833 <CommonViewTable {...upViewProps12} />
1829 </div> 1834 </div>
1830 {/* <Divider {...dividerProps} orientationMargin="10px"> 1835 {/* <Divider {...dividerProps} orientationMargin="10px">
@@ -1977,6 +1982,92 @@ const BoxComponent = props =&gt; { @@ -1977,6 +1982,92 @@ const BoxComponent = props =&gt; {
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 const MaterialsComponent = props => { 2072 const MaterialsComponent = props => {
1982 const { state, slaveRowData, boxModel } = props; 2073 const { state, slaveRowData, boxModel } = props;