|
|
|
@ -2,7 +2,7 @@ import QRCode from 'qrcode'; |
|
|
|
|
|
|
|
/** |
|
|
|
* 标签打印模板 Mixin |
|
|
|
* 提供 A001、A002、A003 三种标签打印模板的通用方法 |
|
|
|
* 提供 A001、A002、A003、A004 四种标签打印模板的通用方法 |
|
|
|
*/ |
|
|
|
export default { |
|
|
|
methods: { |
|
|
|
@ -263,6 +263,60 @@ export default { |
|
|
|
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, "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); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|