diff --git a/klp-ui/src/views/wms/coil/do/warehousing.vue b/klp-ui/src/views/wms/coil/do/warehousing.vue
index fe67c0b1..981e8e04 100644
--- a/klp-ui/src/views/wms/coil/do/warehousing.vue
+++ b/klp-ui/src/views/wms/coil/do/warehousing.vue
@@ -194,7 +194,7 @@
打印
-
+
编辑
.label-container {
width: 25em;
- height: 15em;
+ height: 20em;
padding: 0px;
display: flex; /* 启用Flex布局 */
flex-direction: column; /* 子元素垂直排列 */
@@ -286,10 +286,10 @@ export default {
white-space: normal;
}
-/* 打印样式 - 强制单页,适配180mm x 100mm纸张,保持原有样式不变 */
+/* 打印样式 - 强制单页,适配100mm x 80mm纸张,保持原有样式不变 */
@media print {
@page {
- size: 180mm 100mm;
+ size: 100mm 80mm;
margin: 0 !important;
padding: 0 !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 a781cbd9..c13e0763 100644
--- a/klp-ui/src/views/wms/coil/panels/LabelRender/index.vue
+++ b/klp-ui/src/views/wms/coil/panels/LabelRender/index.vue
@@ -102,7 +102,7 @@ export default {
Message.info('正在准备打印内容,请稍等...');
// 2. 计算纸张尺寸(与批量导出保持一致)
- // 根据 labelType 判断:'2' 是材料标签(100x80),'3' 是外标(180x100)
+ // 根据 labelType 判断:'2' 是材料标签(100x80,宽100高80),'3' 是外标(180x100)
const isMaterial = this.labelType === '2';
const paperWidthMm = isMaterial ? 100 : 180;
const paperHeightMm = isMaterial ? 80 : 100;
@@ -126,12 +126,13 @@ export default {
// 根据标签类型设置不同的布局方式
if (isMaterial) {
- // 材料标签:填充 wrapper
+ // 材料标签:设置固定尺寸,确保100mm x 80mm的比例
wrapper.style.display = 'flex';
wrapper.style.alignItems = 'center';
wrapper.style.justifyContent = 'center';
- labelContainer.style.width = '100%';
- labelContainer.style.height = '100%';
+ // 直接设置labelContainer的尺寸为mm单位,确保正确的物理尺寸比例
+ labelContainer.style.width = `${paperWidthMm}mm`;
+ labelContainer.style.height = `${paperHeightMm}mm`;
} else {
// 成品标签:直接放在 wrapper 中,保持原始布局(与批量打印一致)
wrapper.style.display = 'block';
@@ -162,20 +163,10 @@ export default {
windowHeight: labelContainer.scrollHeight,
});
- // 5. 使用 pdf-lib 生成单页 PDF(与批量导出完全一致)
+ // 5. 使用 pdf-lib 生成单页 PDF(占满整张纸,无边距)
const mmToPt = 72 / 25.4;
const pageWidthPt = paperWidthMm * mmToPt;
const pageHeightPt = paperHeightMm * mmToPt;
-
- // 边距:与批量导出保持一致
- // 材料标签(100x80):左右2mm,上下0.5mm
- // 成品标签(180x100):左右4mm,上下0.5mm
- const marginXmm = isMaterial ? 2 : 4;
- const marginYmm = 0.5; // 上下对称边距(不裁切前提下尽量贴边)
- const marginXPt = marginXmm * mmToPt;
- const marginYPt = marginYmm * mmToPt;
- const contentWidthPt = pageWidthPt - marginXPt * 2;
- const contentHeightPt = pageHeightPt - marginYPt * 2;
const pdfDoc = await PDFDocument.create();
const imgPng = await pdfDoc.embedPng(canvas.toDataURL('image/png'));
@@ -183,14 +174,15 @@ export default {
const imgW = imgPng.width;
const imgH = imgPng.height;
- // 标准适配:确保完整显示且不变形(在内容区域内等比缩放,与批量导出完全一致)
- const scale = Math.min(contentWidthPt / imgW, contentHeightPt / imgH);
+ // 直接占满整个PDF页面,不留边距
+ // 确保图片按页面尺寸等比缩放,占满整张纸
+ const scale = Math.min(pageWidthPt / imgW, pageHeightPt / imgH);
const drawW = imgW * scale;
const drawH = imgH * scale;
- // 内容区域内居中 + 外层边距(上下对称,与批量导出完全一致)
- const x = marginXPt + (contentWidthPt - drawW) / 2;
- const y = marginYPt + (contentHeightPt - drawH) / 2;
+ // 居中放置(如果图片比例与页面不完全一致)
+ const x = (pageWidthPt - drawW) / 2;
+ const y = (pageHeightPt - drawH) / 2;
page.drawImage(imgPng, { x, y, width: drawW, height: drawH });
diff --git a/klp-ui/src/views/wms/report/delivery.vue b/klp-ui/src/views/wms/report/delivery.vue
index 0c036583..a6055d15 100644
--- a/klp-ui/src/views/wms/report/delivery.vue
+++ b/klp-ui/src/views/wms/report/delivery.vue
@@ -84,6 +84,7 @@
+
diff --git a/klp-ui/src/views/wms/report/receive.vue b/klp-ui/src/views/wms/report/receive.vue
index 8eeeaaa3..77002746 100644
--- a/klp-ui/src/views/wms/report/receive.vue
+++ b/klp-ui/src/views/wms/report/receive.vue
@@ -82,6 +82,7 @@
+
diff --git a/klp-ui/src/views/wms/report/zha.vue b/klp-ui/src/views/wms/report/zha.vue
index aa12c723..8a5680a1 100644
--- a/klp-ui/src/views/wms/report/zha.vue
+++ b/klp-ui/src/views/wms/report/zha.vue
@@ -72,9 +72,9 @@
+
-
@@ -82,6 +82,7 @@
+