From 912813996e4939b8e02fe88accd93db6fee83f62 Mon Sep 17 00:00:00 2001 From: 陈鑫涛 <10125295+chen-xintao97@user.noreply.gitee.com> Date: Mon, 30 Jun 2025 15:06:39 +0800 Subject: [PATCH] 默认使用刀版图 --- src/components/Common/Typesetting/typesetting.js | 14 ++++++++------ src/components/QuickQuote/index.css | 13 +++++++++---- src/components/QuickQuote/index.jsx | 75 ++++++++++++++++++++++++++++++++++++++++++--------------------------------- src/components/QuickQuote/index.less | 6 ++++-- src/mobile/components/SelectInput.jsx | 2 ++ src/mobile/quotation/detailNew.jsx | 8 +++++--- src/mobile/quotation/quotationDetail.css | 2 ++ src/mobile/quotation/quotationDetail.less | 2 ++ 8 files changed, 74 insertions(+), 48 deletions(-) diff --git a/src/components/Common/Typesetting/typesetting.js b/src/components/Common/Typesetting/typesetting.js index 0b2d3dc..fc7bf45 100644 --- a/src/components/Common/Typesetting/typesetting.js +++ b/src/components/Common/Typesetting/typesetting.js @@ -5,7 +5,6 @@ import { VerticalRightOutlined, VerticalLeftOutlined, LeftOutlined, RightOutline import * as commonUtils from "@/utils/utils"; /* 通用方法 */ import commonConfig from "@/utils/config"; import styles from "./index.less"; -// import DynamicSVG from "../../Common/BoxDesign/index"; import DynamicSVG from "../../Common/BoxDesignCompontent/svg"; import * as commonFunc from "@/components/Common/commonFunc"; @@ -38,6 +37,7 @@ const Typesetting = props => { sPackDetailPath, sColumnNameConfig, bAdvancedSetting, // 高级设置 + sSvgPath, } = slaveRowData; const { masterData, selectedNode, slaveData } = state; @@ -336,10 +336,12 @@ const Typesetting = props => { }} >
- + {!sSvgPath ? : } + {/* */}
); + const createBox = (col, row, index, leftPosition, topPosition, offsetZ, icon) => (
{ }} >
- + {!sSvgPath ? : }
{ position: "absolute", left: `${isVertical ? dSLengthOffset + dYBJJ : jInnerWidth + dFLengthOffset + dSLengthOffset + dYBJJ}px`, top: `${ - isVertical ? jInnerHeight + dXBJJ + dFWidthOffset + dSWidthOffset : iSAngle === 90 || iSAngle === 270 ? 0 : dSWidthOffset + dXBJJ + isVertical ? jInnerHeight + dXBJJ + dFWidthOffset + dSWidthOffset : iSAngle === 90 || iSAngle === 270 ? dSWidthOffset : dSWidthOffset + dXBJJ }px`, }} >
- + {!sSvgPath ? : }
@@ -432,7 +434,7 @@ const Typesetting = props => { {/* */} {/* {isSvg ? : } */}
- + {!sSvgPath ? : }
diff --git a/src/components/QuickQuote/index.css b/src/components/QuickQuote/index.css index 472d87d..d6d9bfd 100644 --- a/src/components/QuickQuote/index.css +++ b/src/components/QuickQuote/index.css @@ -63,13 +63,14 @@ .quickQuote .content .rightContent .viewTable1 :global .ant-form-item-label { background-color: transparent !important; color: #000 !important; - flex: 0 0 100px !important; - max-width: 100px !important; + flex: 0 0 70px !important; + max-width: 70px !important; + text-align: right !important; } .quickQuote .content .rightContent .viewTable :global .ant-form-item-control, .quickQuote .content .rightContent .viewTable1 :global .ant-form-item-control { flex: 1; - max-width: calc(100% - 100px); + max-width: calc(100% - 70x); } .quickQuote .content .rightContent .viewTable :global .viewStyle .ant-input-number, .quickQuote .content .rightContent .viewTable1 :global .viewStyle .ant-input-number { @@ -166,6 +167,10 @@ display: flex; align-items: center; } +.quickQuote .content .rightContent .boxPart1 .boxPart1Right .boxRreview :global .ant-carousel .slick-dots li button { + background-color: #000; + /* 未激活时的指示器颜色 */ +} .quickQuote .content .rightContent .boxPart1 .boxPart1Right .boxRreview :global .ant-image { padding: 15px; } @@ -244,7 +249,7 @@ } .quickQuote .content .rightContent .many { width: 100%; - height: 235px; + height: 185px; padding: 0 10px 0 10px; position: relative; } diff --git a/src/components/QuickQuote/index.jsx b/src/components/QuickQuote/index.jsx index dad2437..26b6c01 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, Checkbox } from "antd-v4"; +import { Button, Divider, Tabs, Tree, Radio, Image, Modal, Input, message, Badge, Checkbox, Carousel } from "antd-v4"; import { ArrowLeftOutlined, FolderFilled, FolderOpenFilled, FileTextFilled, PlusOutlined, MinusOutlined } from "@ant-design/icons"; import { cloneDeep } from "lodash"; import commonConfig from "@/utils/config"; @@ -479,7 +479,7 @@ const QuickQuoteEvent = props => { // 核价按钮 addState.handleCalcPrice = async () => { const { masterConfig, masterData = {}, slaveConfig, slaveData = [], selectedNode = {}, extraParts = {} } = state; - const selectProduct = commonFunc.showLocalMessage(props, 'selectProduct', '请先选择产品'); + const selectProduct = commonFunc.showLocalMessage(props, "selectProduct", "请先选择产品"); if (commonUtils.isEmptyObject(selectedNode)) { message.error(selectProduct, 2); return; @@ -1204,7 +1204,7 @@ const TreeComponent = props => { const ContentComponent = props => { const { selectedNode = {}, extraParts = {} } = props.state; const manyqtysInfo = props.getI18nName("manyqtysInfo", "多数量报价"); - const selectProduct = commonFunc.showLocalMessage(props, 'selectProduct', '请先选择产品'); + const selectProduct = commonFunc.showLocalMessage(props, "selectProduct", "请先选择产品"); const { showName } = selectedNode; const extraPartsList = extraParts[showName] || []; let { sAllPartsName = "" } = selectedNode; @@ -1316,7 +1316,7 @@ const ContentComponent = props => { // 主表组件 const MasterComponent = props => { const { masterConfig, masterData = {}, selectedNode = {} } = props.state; - const { app }= props; + const { app } = props; if (!masterConfig) return ""; const ableConfigs = masterConfig.gdsconfigformslave.filter(item => item.sName && item.bVisible); @@ -1344,7 +1344,7 @@ const MasterComponent = props => { lengthData.showName = "高(D)"; lengthData.sChinese = "高(D)"; lengthData.sEnglish = "Height (D)"; - if(app.userinfo?.sLanguage === 'sEnglish') { + if (app.userinfo?.sLanguage === "sEnglish") { lengthData.showName = lengthData.sEnglish; } } @@ -1353,7 +1353,7 @@ const MasterComponent = props => { lengthData.showName = "长(L)"; lengthData.sChinese = "长(L)"; lengthData.sEnglish = "Length (L)"; - if(app.userinfo?.sLanguage === 'sEnglish') { + if (app.userinfo?.sLanguage === "sEnglish") { lengthData.showName = lengthData.sEnglish; } } @@ -1477,7 +1477,7 @@ const BoxComponent = props => { if (item.sName === "sPaperDirection" && selectedNode.sTypeKey === "huace") { return false; } - + // 判断bPartsDimension 是否显示展长展宽,0不显示,1显示 if (selectedNode.bPartsDimension === false && (item.sName === "dPartsLength" || item.sName === "dPartsWidth")) { @@ -1496,9 +1496,9 @@ const BoxComponent = props => { if (selectedNode.sProductType === "不干胶") { showNameKeyList = ["dZBLB", "dZBJJ", "dYBJJ", "dSBJJ", "dXBJJ"]; } - const UlToolPosition = commonFunc.showLocalMessage(props, 'UlToolPosition', '上下刀位'); - const RLToolPosition = commonFunc.showLocalMessage(props, 'RLToolPosition', '左右刀位'); - const LeftMargin = commonFunc.showLocalMessage(props, 'LeftMargin', '左右刀位'); + const UlToolPosition = commonFunc.showLocalMessage(props, "UlToolPosition", "上下刀位"); + const RLToolPosition = commonFunc.showLocalMessage(props, "RLToolPosition", "左右刀位"); + const LeftMargin = commonFunc.showLocalMessage(props, "LeftMargin", "左右刀位"); boxConfigList = boxConfig?.gdsconfigformslave?.filter(item => item.bVisible && showNameKeyList.includes(item.sName)) || []; if (selectedNode.sProductType === "不干胶") { const mappings = { @@ -1549,9 +1549,10 @@ const BoxComponent = props => { x.sName === "dPartsWidth" || x.sName === "dRowGap" || x.sName === "dColGap" || - x.sName === "dBleed" || + x.sName === "dBleed" || x.sName === "sPaperDirection", - default: x => x.sName === "dBleed" || x.sName === "sMagnification" || x.sName === "dPartsLength" || x.sName === "dPartsWidth" || x.sName === "dSumPQty", + default: x => + x.sName === "dBleed" || x.sName === "sMagnification" || x.sName === "dPartsLength" || x.sName === "dPartsWidth" || x.sName === "dSumPQty", }; if (selectedNode.sProductType === "不干胶") { upViewProps12.viewConfigs = upViewProps12.viewConfigs.filter(filterConditions.juantong); @@ -1559,7 +1560,7 @@ const BoxComponent = props => { if (!(selectedNode.sTypeKey === "huace" && slaveRowData.sBoxModel === "封面")) { upViewProps12.viewConfigs = upViewProps12.viewConfigs.filter(filterConditions.default); } - + // 拼板信息表单 const upViewProps20 = getUpViewPropsByITag(20); // 如果是卷筒类需要单独处理 @@ -1995,16 +1996,16 @@ const BoxComponent = props => { const isShowImg = boxList.find(x => x.sName === "盒身")?.type !== "" || false; const PrintingParameters = props.getI18nName("PrintingParameters", "印刷参数"); - const BoxInformation = commonFunc.showLocalMessage(props, 'Box-typeInformation', '拼版信息'); - const ImpositionInformation = commonFunc.showLocalMessage(props, 'ImpositionInformation', '拼版信息'); + const BoxInformation = commonFunc.showLocalMessage(props, "Box-typeInformation", "拼版信息"); + const ImpositionInformation = commonFunc.showLocalMessage(props, "ImpositionInformation", "拼版信息"); - const noImage = commonFunc.showLocalMessage(props, 'ImpositionInformation', '暂无图片'); + const noImage = commonFunc.showLocalMessage(props, "ImpositionInformation", "暂无图片"); - // props.setState(prevState => ({ - // ...prevState, - // svgBoxList: boxList, - // })); + const imagesData = [ + { src: slaveRowData.sPackDetailPathUpLoad, alt: "展开图" }, + { src: slaveRowData.sPackPath, alt: "立体图" }, + ]; return ( {
- {!isShowImg ? ( - - ) : svgProps.boxList.length ? ( + {svgProps.boxList.length ? (
@@ -2099,7 +2098,16 @@ const BoxComponent = props => { )} */} {/*
展开图
*/} {slaveRowData.sPackPath ? ( - + // + + + { imagesData.map((image, index) => ( +
+ {image.alt} +
+ )) + } +
) : (
{noImage}
)} @@ -2603,11 +2611,11 @@ const BoxModelSelectedModal = props => { const [boxData, setBoxData] = useState([]); const [treeClassName, setTreeClassName] = useState(""); const [boxTypeSelected, setBoxTypeSelected] = useState("全部"); - const UniqueID = commonFunc.showLocalMessage(props, 'UniqueID', '唯一ID'); - const sName = commonFunc.showLocalMessage(props, 'jurCon', '名称'); - const KnifeLineChart = commonFunc.showLocalMessage(props, 'KnifeLineChart', '刀线图'); - const ThreeDGraph = commonFunc.showLocalMessage(props, '3DGraph', '3D图'); - const BtnOperations = commonFunc.showLocalMessage(props, 'BtnOperations', '操作'); + const UniqueID = commonFunc.showLocalMessage(props, "UniqueID", "唯一ID"); + const sName = commonFunc.showLocalMessage(props, "jurCon", "名称"); + const KnifeLineChart = commonFunc.showLocalMessage(props, "KnifeLineChart", "刀线图"); + const ThreeDGraph = commonFunc.showLocalMessage(props, "3DGraph", "3D图"); + const BtnOperations = commonFunc.showLocalMessage(props, "BtnOperations", "操作"); useEffect(() => { const boxList = [ @@ -2742,7 +2750,7 @@ const BoxModelSelectedModal = props => { return svgProps; }; const selectBoxList = boxData.filter(item => (boxTypeSelected === "全部" ? true : (item.sBoxType || "其它") === boxTypeSelected)); - const noImage = commonFunc.showLocalMessage(props, 'ImpositionInformation', '暂无图片'); + const noImage = commonFunc.showLocalMessage(props, "ImpositionInformation", "暂无图片"); const tableProps = { ...commonBusiness.getTableTypes("box", { ...props, @@ -2757,10 +2765,11 @@ const BoxModelSelectedModal = props => { columns .filter(item => item.dataIndex?.includes("Path")) .forEach(column => { + // (value ? (column.dataIndex === 'sPackDetailPath' ? (boxData[index].sPackPath ? : '') : ) : "暂无图片"); column.render = (value, record, index) => column.dataIndex === "sPackDetailPathUpLoad" ? ( - selectBoxList[index].sTypes ? ( + !value ? (
@@ -2794,8 +2803,8 @@ const BoxModelSelectedModal = props => { }); }, }; - const BoxSelection = commonFunc.showLocalMessage(props, 'Box-TypeSelection', '盒型选择'); - const BtnClose = commonFunc.showLocalMessage(props, 'BtnClose', '关闭'); + const BoxSelection = commonFunc.showLocalMessage(props, "Box-TypeSelection", "盒型选择"); + const BtnClose = commonFunc.showLocalMessage(props, "BtnClose", "关闭"); return ( { const data = coplyColumns[index]; data[itemDetail.sName] = data[itemDetail.sName] ? data[itemDetail.sName] : data.label || data.sName || data.sProcessName || data.sColorName; setValue(columns[index]?.label || ""); + props.onDataChange(tableName, itemDetail.sName, data, data.sId, coplyColumns); setVisible(false); }; @@ -151,6 +152,7 @@ const SelectInput = props => { } else { if (sDropDownType === "sql") { const { sSqlCondition } = itemDetail; + if (sSqlCondition) { const { viewRow } = props; const keys = sSqlCondition.split(",").map(sSqlCondition => sSqlCondition.split(".")[1]); diff --git a/src/mobile/quotation/detailNew.jsx b/src/mobile/quotation/detailNew.jsx index 2eee390..1fdd2e0 100644 --- a/src/mobile/quotation/detailNew.jsx +++ b/src/mobile/quotation/detailNew.jsx @@ -1109,7 +1109,6 @@ const QuotationDetail = props => { lengthData.showName = "长(L)"; lengthData.sChinese = "长(L)"; lengthData.sEnglish = "Length (L)"; - console.log('23323', app); if(app.userinfo?.sLanguage === 'sEnglish') { lengthData.showName = lengthData.sEnglish; } @@ -2303,7 +2302,7 @@ const PrintParamsComponent = props => { const result = []; for (let i = 0; i < printParams.length + 1; i++) { const printParamsItem = printParams[i - 1]; - const viewRow = { ...(i === 0 ? slaveRowData : printParamsItem), sProductClassifyId: selectedNode.sId }; + const viewRow = { ...(i === 0 ? slaveRowData : printParamsItem), sProductClassifyId: selectedNode.sId,sProcessId:i === 0 ? slaveRowData.sId : printParamsItem.sId}; const viewProps = { ...props, @@ -2481,7 +2480,10 @@ const MaterialsComponent = props => { return (
- 材料信息 +
+ 材料信息 + +
diff --git a/src/mobile/quotation/quotationDetail.css b/src/mobile/quotation/quotationDetail.css index 9cddd9e..1898155 100644 --- a/src/mobile/quotation/quotationDetail.css +++ b/src/mobile/quotation/quotationDetail.css @@ -4,6 +4,8 @@ } .customer { margin-top: 0.5rem; + font-size: 1.25rem; + font-weight: 600; } .customer :global .adm-input-element { border: 1px solid #dededf; diff --git a/src/mobile/quotation/quotationDetail.less b/src/mobile/quotation/quotationDetail.less index 3adae82..948c06e 100644 --- a/src/mobile/quotation/quotationDetail.less +++ b/src/mobile/quotation/quotationDetail.less @@ -6,6 +6,8 @@ } .customer { margin-top: 0.5rem; + font-size: 1.25rem; + font-weight: 600; :global .adm-input-element { border: 1px solid #dededf; height: 3.125rem; -- libgit2 0.22.2