From 04b46d8fee0e5e1f247fbf842af1362d6ec23649 Mon Sep 17 00:00:00 2001 From: 86156 <823267011@qq.com> Date: Fri, 9 Jan 2026 14:32:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E5=89=8D=E7=AB=AF=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panels/LabelRender/OuterTagPreview.vue | 16 ++++++++--- .../LabelRender/ProductionTagPreview.vue | 16 ++++++++--- .../wms/coil/panels/LabelRender/index.vue | 28 +++++++++++++------ 3 files changed, 44 insertions(+), 16 deletions(-) diff --git a/klp-ui/src/views/wms/coil/panels/LabelRender/OuterTagPreview.vue b/klp-ui/src/views/wms/coil/panels/LabelRender/OuterTagPreview.vue index d206a337..cadf6ae6 100644 --- a/klp-ui/src/views/wms/coil/panels/LabelRender/OuterTagPreview.vue +++ b/klp-ui/src/views/wms/coil/panels/LabelRender/OuterTagPreview.vue @@ -147,6 +147,14 @@ export default { timestamp: '2025.04.12 10:14', qrcodeRecordId: '', }) + }, + paperWidthMm: { + type: Number, + default: 180 + }, + paperHeightMm: { + type: Number, + default: 100 } }, data() { @@ -207,8 +215,8 @@ export default { const dpi = 96; // 标准 DPI const mmToPx = dpi / 25.4; // 1mm = 3.779527559px - const paperWidthMm = 180; - const paperHeightMm = 100; + const paperWidthMm = this.paperWidthMm || 180; + const paperHeightMm = this.paperHeightMm || 100; const marginMm = 2; const paperWidthPx = paperWidthMm * mmToPx; @@ -414,8 +422,8 @@ export default { transform-origin: top left !important; /* 确保缩放后不超出纸张 */ - max-width: 180mm !important; - max-height: 100mm !important; + max-width: var(--paper-width, 180mm) !important; + max-height: var(--paper-height, 100mm) !important; overflow: hidden !important; } } diff --git a/klp-ui/src/views/wms/coil/panels/LabelRender/ProductionTagPreview.vue b/klp-ui/src/views/wms/coil/panels/LabelRender/ProductionTagPreview.vue index 3be175e9..5a290d7d 100644 --- a/klp-ui/src/views/wms/coil/panels/LabelRender/ProductionTagPreview.vue +++ b/klp-ui/src/views/wms/coil/panels/LabelRender/ProductionTagPreview.vue @@ -82,6 +82,14 @@ export default { productionDate: '', qrcodeRecordId: '', }) + }, + paperWidthMm: { + type: Number, + default: 100 // 原料码:100mm x 80mm + }, + paperHeightMm: { + type: Number, + default: 80 } }, data() { @@ -138,8 +146,8 @@ export default { const dpi = 96; // 标准 DPI const mmToPx = dpi / 25.4; // 1mm = 3.779527559px - const paperWidthMm = 180; - const paperHeightMm = 100; + const paperWidthMm = this.paperWidthMm || 100; + const paperHeightMm = this.paperHeightMm || 80; const marginMm = 2; const paperWidthPx = paperWidthMm * mmToPx; @@ -273,8 +281,8 @@ export default { transform-origin: top left !important; /* 确保缩放后不超出纸张 */ - max-width: 180mm !important; - max-height: 100mm !important; + max-width: var(--paper-width, 100mm) !important; + max-height: var(--paper-height, 80mm) !important; overflow: hidden !important; } } diff --git a/klp-ui/src/views/wms/coil/panels/LabelRender/index.vue b/klp-ui/src/views/wms/coil/panels/LabelRender/index.vue index 7b03a6d3..7907a17a 100644 --- a/klp-ui/src/views/wms/coil/panels/LabelRender/index.vue +++ b/klp-ui/src/views/wms/coil/panels/LabelRender/index.vue @@ -2,8 +2,18 @@
- - + + @@ -90,14 +100,16 @@ export default { await this.waitForAllResources(labelContainer); // 3. 计算纸张尺寸和缩放比例 - // 纸张尺寸:180mm x 100mm - // 1mm ≈ 3.779527559px (96 DPI) - const paperWidthMm = 180; - const paperHeightMm = 100; + // 根据标签类型设置纸张尺寸: + // 产品码:100mm x 180mm(横向,原先180x100) + // 原料码:80mm x 100mm(竖向) + const isMaterial = labelContainer.classList.contains('material-label-container'); + const paperWidthMm = isMaterial ? 100 : 180; + const paperHeightMm = isMaterial ? 80 : 100; const dpi = 96; const mmToPx = dpi / 25.4; - const paperWidthPx = paperWidthMm * mmToPx; // 约 680.3px - const paperHeightPx = paperHeightMm * mmToPx; // 约 377.95px + const paperWidthPx = paperWidthMm * mmToPx; + const paperHeightPx = paperHeightMm * mmToPx; // 获取标签容器的实际尺寸 const containerRect = labelContainer.getBoundingClientRect();