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) => (
+
+
+
+ ))
+ }
+
) : (
{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