Browse Source

2026-02-04

优化
master
fengyuan_yang 3 weeks ago
parent
commit
ded836258b
  1. 36
      src/mixins/labelPrintTemplates.js

36
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);

Loading…
Cancel
Save