Browse Source

2026-01-07

固定载具标签优化、固定打印模板A004优化
master
fengyuan_yang 2 months ago
parent
commit
5b10d2db67
  1. 56
      src/mixins/labelPrintTemplates.js
  2. 2
      src/views/modules/label-split-merge/labelSplitMerge.vue
  3. 2
      src/views/modules/other-inout/otherInboundDetail.vue

56
src/mixins/labelPrintTemplates.js

@ -2,7 +2,7 @@ import QRCode from 'qrcode';
/** /**
* 标签打印模板 Mixin * 标签打印模板 Mixin
* 提供 A001A002A003 种标签打印模板的通用方法
* 提供 A001A002A003A004 种标签打印模板的通用方法
*/ */
export default { export default {
methods: { methods: {
@ -263,6 +263,60 @@ export default {
const text5 = LODOP.ADD_PRINT_TEXT('14mm', '44mm', '24mm', '3mm', `Bad QTY:${printData.badQuantity || ''}`); const text5 = LODOP.ADD_PRINT_TEXT('14mm', '44mm', '24mm', '3mm', `Bad QTY:${printData.badQuantity || ''}`);
LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei"); LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text5, "FontSize", fontSize); LODOP.SET_PRINT_STYLEA(text5, "FontSize", fontSize);
},
// A004 标签打印(70mm x 20mm)- 基于A002,去掉不良品、总数和良率
printLabelA004(LODOP, printData, isNewPage){
if(isNewPage){
LODOP.NEWPAGE();
}
// ============================================================
// 1. 纸张设置
// ============================================================
// 设置纸张大小 70mm x 20mm (0=纵向)
LODOP.SET_PRINT_PAGESIZE(0, 700, 200, '');
// ============================================================
// 2. 绘制边框
// ============================================================
// 外边框(2mm边距,66mm宽 x 16mm高)
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1);
// ============================================================
// 3. 左侧二维码(使用LODOP自带二维码)
// ============================================================
// 二维码区域:上下左贴合边框,右贴合文字区域
// 边框从2mm开始,高度16mm;文字从20mm开始
// 二维码设置稍大让静区溢出,可见内容贴合边框
const qrContent = printData.rollNo || '';
if (qrContent) {
const qrIndex = LODOP.ADD_PRINT_BARCODE('2.5mm', '2mm', '20mm', '20mm', 'QRCode', qrContent);
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 0); // 自动选择版本
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M");
}
// ============================================================
// 4. 右侧文字信息(3行)- 字体5号
// ============================================================
const startX = '17mm'; // 文字左边距
const textWidth = '54mm'; // 文字区域宽度
const fontSize = 5; // 字体大小(比A002稍大,因为只有3行)
// 第1行:编码
const text1 = LODOP.ADD_PRINT_TEXT('3.5mm', startX, textWidth, '4mm', `编码:${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', `卷号:${printData.rollNo || ''}`);
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text2, "FontSize", fontSize);
// 第3行:良品
const text3 = LODOP.ADD_PRINT_TEXT('12.5mm', startX, textWidth, '4mm', `良品:${printData.goodQuantity || ''}`);
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text3, "FontSize", fontSize);
} }
} }
} }

2
src/views/modules/label-split-merge/labelSplitMerge.vue

@ -462,6 +462,8 @@ export default {
this.printLabelA002(LODOP, printData, false); this.printLabelA002(LODOP, printData, false);
} else if (labelNo === 'A003') { } else if (labelNo === 'A003') {
this.printLabelA003(LODOP, printData, false); this.printLabelA003(LODOP, printData, false);
} else if (labelNo === 'A004') {
this.printLabelA004(LODOP, printData, false);
} else { } else {
// 使 A001 // 使 A001
console.warn('未知标签模板:', labelNo, ',使用默认模板 A001'); console.warn('未知标签模板:', labelNo, ',使用默认模板 A001');

2
src/views/modules/other-inout/otherInboundDetail.vue

@ -731,6 +731,8 @@ export default {
this.printLabelA002(LODOP, printData, false); this.printLabelA002(LODOP, printData, false);
} else if (labelNo === 'A003') { } else if (labelNo === 'A003') {
this.printLabelA003(LODOP, printData, false); this.printLabelA003(LODOP, printData, false);
} else if (labelNo === 'A004') {
this.printLabelA004(LODOP, printData, false);
} }
// //

Loading…
Cancel
Save