From ded836258b433739c161a7b3f88eaaa6304454dc Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Wed, 4 Feb 2026 13:27:23 +0800 Subject: [PATCH] =?UTF-8?q?2026-02-04=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mixins/labelPrintTemplates.js | 36 ++++++++++++++++--------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/mixins/labelPrintTemplates.js b/src/mixins/labelPrintTemplates.js index f32443b..6a6c645 100644 --- a/src/mixins/labelPrintTemplates.js +++ b/src/mixins/labelPrintTemplates.js @@ -132,6 +132,7 @@ export default { }, // A002 标签打印(70mm x 20mm)- 其他工序用 + // 优化说明:针对不同打印机的兼容性问题,调整字体大小和布局容错性 printLabelA002(LODOP, printData, isNewPage){ if(isNewPage){ LODOP.NEWPAGE(); @@ -146,7 +147,7 @@ export default { // ============================================================ // 2. 绘制边框 // ============================================================ - // 外边框(2mm边距,66mm宽 x 16mm高) + // 外边框(1mm边距,68mm宽 x 18mm高) LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1); // ============================================================ @@ -163,43 +164,44 @@ export default { } // ============================================================ - // 4. 右侧文字信息(4行)- 字体5号 + // 4. 右侧文字信息(4行)- 优化字体和布局 // ============================================================ - const startX = '17mm'; // 文字左边距 - const textWidth = '54mm'; // 文字区域宽度 - const fontSize = 4; // 字体大小(从7号改为4号) + const startX = '17mm'; // 文字左边距 + const fullTextWidth = '52mm'; // 单行完整文字区域宽度 + const fontSize = 4; // 字体大小(缩小到2.5号,确保超长文本能显示) + const lineHeight = '3mm'; // 行高 // 第1行:编码 - const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `No:${printData.partNo || ''}`); - LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); + const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, fullTextWidth, lineHeight, `No.:${printData.partNo || ''}`); + LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); // 使用Arial,比微软雅黑窄 LODOP.SET_PRINT_STYLEA(text1, "FontSize", fontSize); - // 第2行:卷号 - const text2 = LODOP.ADD_PRINT_TEXT('6.5mm', startX, textWidth, '3mm', `Roll No:${printData.rollNo || ''}`); - LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); + // 第2行:卷号 - 关键字段,使用最宽区域和最紧凑设置 + const text2 = LODOP.ADD_PRINT_TEXT('6.5mm', startX, fullTextWidth, lineHeight, `RN.:${printData.rollNo || ''}`); + LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); // 使用Arial,比微软雅黑窄,字符更紧凑 LODOP.SET_PRINT_STYLEA(text2, "FontSize", fontSize); // 第3行:良品 + 不良品(左右分布) // 良品(左侧) - const text3 = LODOP.ADD_PRINT_TEXT('10mm', startX, '25mm', '3mm', `Good:${printData.goodQuantity || ''}`); + const text3 = LODOP.ADD_PRINT_TEXT('10mm', startX, '24mm', lineHeight, `Good:${printData.goodQuantity || ''}`); LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text3, "FontSize", fontSize); // 不良品(右侧) - const text4 = LODOP.ADD_PRINT_TEXT('10mm', '44mm', '24mm', '3mm', `Bad:${printData.badQuantity || ''}`); + const text4 = LODOP.ADD_PRINT_TEXT('10mm', '42mm', '26mm', lineHeight, `Bad:${printData.badQuantity || ''}`); LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text4, "FontSize", fontSize); // 第4行:总数 + 良率(左右分布) // 总数(左侧) - const text5 = LODOP.ADD_PRINT_TEXT('13.5mm', startX, '26mm', '3mm', `Total:${printData.quantity || ''}`); + const text5 = LODOP.ADD_PRINT_TEXT('13.5mm', startX, '25mm', lineHeight, `Total:${printData.quantity || ''}`); LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text5, "FontSize", fontSize); // 良率(右侧) const yieldValue = printData['yield'] || printData.yield || ''; const yieldText = yieldValue ? `Yield: ${yieldValue}%` : 'Yield:'; - const text6 = LODOP.ADD_PRINT_TEXT('13.5mm', '44mm', '24mm', '3mm', yieldText); + const text6 = LODOP.ADD_PRINT_TEXT('13.5mm', '42mm', '26mm', lineHeight, yieldText); LODOP.SET_PRINT_STYLEA(text6, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text6, "FontSize", fontSize); }, @@ -300,16 +302,16 @@ export default { // 4. 右侧文字信息(3行)- 字体5号 // ============================================================ const startX = '17mm'; // 文字左边距 - const textWidth = '54mm'; // 文字区域宽度 + const textWidth = '52mm'; // 文字区域宽度 const fontSize = 5; // 字体大小(比A002稍大,因为只有3行) // 第1行:编码 - const text1 = LODOP.ADD_PRINT_TEXT('3.5mm', startX, textWidth, '4mm', `No:${printData.partNo || ''}`); + const text1 = LODOP.ADD_PRINT_TEXT('3.5mm', startX, textWidth, '4mm', `No.:${printData.partNo || ''}`); LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text1, "FontSize", fontSize); // 第2行:卷号 - const text2 = LODOP.ADD_PRINT_TEXT('8mm', startX, textWidth, '4mm', `Roll No:${printData.rollNo || ''}`); + const text2 = LODOP.ADD_PRINT_TEXT('8mm', startX, textWidth, '4mm', `RN.:${printData.rollNo || ''}`); LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text2, "FontSize", fontSize);