From 3f28391907868104f6f793f4eae030c844cb920f Mon Sep 17 00:00:00 2001 From: 陈鑫涛 <10125295+chen-xintao97@user.noreply.gitee.com> Date: Thu, 19 Jun 2025 10:19:56 +0800 Subject: [PATCH] 高级设置功能 --- src/components/Common/Typesetting/typesetting.js | 17 +++++++++++------ src/components/QuickQuote/index.jsx | 35 ++++++++++++++++++++++++----------- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/src/components/Common/Typesetting/typesetting.js b/src/components/Common/Typesetting/typesetting.js index f16b4a0..0d08129 100644 --- a/src/components/Common/Typesetting/typesetting.js +++ b/src/components/Common/Typesetting/typesetting.js @@ -36,6 +36,7 @@ const Typesetting = props => { sWidthFormula, // 盒宽公式 sPackDetailPath, sColumnNameConfig, + bAdvancedSetting, // 高级设置 } = slaveRowData; const { masterData, selectedNode, slaveData } = state; // 生成盒子图片 @@ -247,7 +248,7 @@ const Typesetting = props => { //剩余量能不能放一下单独一个 const commonHeightCheck = remainingHeight > jInnerHeight; const commonWidthCheck = remainingWidth > jInnerWidth; - const isCustomized = false; + const isCustomized = bAdvancedSetting; let remaining = isVertical ? commonHeightCheck : commonWidthCheck; // const remaining = false; @@ -258,16 +259,16 @@ const Typesetting = props => { // 是否定制 if (isCustomized) { if (isVertical) { - cols = dHorizontal; - rows = Math.trunc(dPortrait / 2); + cols = dHorizontal || 0; + rows = dPortrait ? Math.trunc(dPortrait / 2) : 0; if (isOdd(dPortrait)) { remaining = true; } else { remaining = false; } } else { - cols = Math.trunc(dHorizontal / 2); - rows = dPortrait; + cols = dHorizontal ? Math.trunc(dHorizontal / 2) : 0; + rows = dPortrait || 0; if (isOdd(dHorizontal)) { remaining = true; } else { @@ -599,7 +600,11 @@ const Typesetting = props => { } }, 0); // 使用 0 延迟,将任务放入事件队列 } - const isMax = slaveDataDetail?.dMaxLength && Number(slaveDataDetail?.dMaxLength) >= Number(slaveRowData?.dMachineLength); + const isMax = + slaveDataDetail?.dMaxLength && + Number(slaveDataDetail?.dMaxLength) >= Number(slaveRowData?.dMachineLength) && + Number(slaveDataDetail?.dMaxWidth) >= Number(slaveRowData?.dMachineWidth); + const isShow = slaveRowData && slaveRowData.dMachineLength && slaveRowData.dMaxWidth && slaveRowData.dMaxLength && isMax && innerDivs.length; const onClick = () => { diff --git a/src/components/QuickQuote/index.jsx b/src/components/QuickQuote/index.jsx index ef59ff0..d3ea136 100644 --- a/src/components/QuickQuote/index.jsx +++ b/src/components/QuickQuote/index.jsx @@ -1,6 +1,6 @@ /* eslint-disable */ import { useRef, useEffect, useState, useCallback, useMemo } from "react"; -import { Button, Divider, Tabs, Tree, Radio, Image, Modal, Input, message, Badge } from "antd-v4"; +import { Button, Divider, Tabs, Tree, Radio, Image, Modal, Input, message, Badge, Checkbox } from "antd-v4"; import { ArrowLeftOutlined, FolderFilled, FolderOpenFilled, FileTextFilled, PlusOutlined, MinusOutlined } from "@ant-design/icons"; import { cloneDeep } from "lodash"; import commonConfig from "@/utils/config"; @@ -186,6 +186,7 @@ const QuickQuoteEvent = props => { setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState })); } else if (name.includes("slave")) { const boxModel = name.replace("slaveUp", "").replace("slaveDown", ""); + if (sFieldName === "sName") { if (!changeValue.sName) return; const dropDownDataSelected = dropDownData.find(item => item.sName === changeValue.sName); @@ -319,7 +320,6 @@ const QuickQuoteEvent = props => { dMaxWidth: Number(selectedNode.sMachineStyle.split("*")[1]), }; } - setState(pre => ({ ...pre, slaveData, ...extraState })); } else if (name === "finished") { const { productProcessInfo = [] } = masterData; @@ -1000,7 +1000,7 @@ const TreeComponent = props => { // 点击节点后查询数据 useEffect(() => { if (!selectedNode.sId || commonUtils.isEmptyObject(slaveConfig)) return; - + timeRef.current += 1; const getSqlDropDownData = async ({ sId }) => { @@ -1105,7 +1105,7 @@ const TreeComponent = props => { // 内容组件 const ContentComponent = props => { const { selectedNode = {}, extraParts = {} } = props.state; - const manyqtysInfo= commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, 'manyqtysInfo') : '多数量报价' ; + const manyqtysInfo = commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, "manyqtysInfo") : "多数量报价"; const { showName } = selectedNode; const extraPartsList = extraParts[showName] || []; let { sAllPartsName = "" } = selectedNode; @@ -1289,10 +1289,16 @@ const BoxComponent = props => { }; const getUpViewPropsByITag = iTag => { + const config = slaveConfig.gdsconfigformslave.filter(item => { if (item.sName === "dSumPQty" && selectedNode.sTypeKey !== "huace") { return false; } + const { bAdvancedSetting } = slaveRowData; + + if ((item.sName === "dPortrait" && !bAdvancedSetting) || (item.sName === "dHorizontal" && !bAdvancedSetting)) { + return false + } return item.iTag === iTag; }); @@ -1730,7 +1736,9 @@ const BoxComponent = props => { showNew: 1, }; const isShowImg = boxList.find(x => x.sName === "盒身")?.type !== "" || false; - const PrintingParameters = commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, 'PrintingParameters') : '印刷参数' ; + const PrintingParameters = commonUtils.isNotEmptyObject(props.app) + ? commonFunc.showMessage(props.app.commonConst, "PrintingParameters") + : "印刷参数"; return ( { onChange={e => { const iIndex = slaveData.findIndex(item => item.sId === slaveRowData.sId); slaveData[iIndex].radioValue = e.target.value; + slaveData[iIndex].bAdvancedSetting = false props.setState(pre => ({ ...pre, slaveData: [...slaveData], @@ -2032,15 +2041,19 @@ const ManyComponent = props => { const [submitLoading, setSubmitLoading] = useState(false); const [processPercent, setProcessPercent] = useState(0); - const BtnNewQuotation= commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, 'BtnNewQuotation') : '新报价' ; + const BtnNewQuotation = commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, "BtnNewQuotation") : "新报价"; - const BtnDraft= commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, 'BtnDraft') : '存草稿' ; + const BtnDraft = commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, "BtnDraft") : "存草稿"; - const BtnPriceverification= commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, 'BtnPriceverification') : '核价' ; + const BtnPriceverification = commonUtils.isNotEmptyObject(props.app) + ? commonFunc.showMessage(props.app.commonConst, "BtnPriceverification") + : "核价"; - const BtnConfirmQuantity= commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, 'BtnConfirmQuantity') : '确认下单数量' ; + const BtnConfirmQuantity = commonUtils.isNotEmptyObject(props.app) + ? commonFunc.showMessage(props.app.commonConst, "BtnConfirmQuantity") + : "确认下单数量"; - const btnOrdering= commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, 'btnOrdering') : '下单中...' ; + const btnOrdering = commonUtils.isNotEmptyObject(props.app) ? commonFunc.showMessage(props.app.commonConst, "btnOrdering") : "下单中..."; // 核价事件 const onCalcPrice = () => { @@ -2330,7 +2343,7 @@ const BoxModelSelectedModal = props => { }; return svgProps; }; - const selectBoxList = boxData.filter(item => (boxTypeSelected === "全部" ? true : (item.sBoxType || "其它") === boxTypeSelected)) + const selectBoxList = boxData.filter(item => (boxTypeSelected === "全部" ? true : (item.sBoxType || "其它") === boxTypeSelected)); const tableProps = { ...commonBusiness.getTableTypes("box", { ...props, -- libgit2 0.22.2