|
|
@ -146,56 +146,62 @@ export default { |
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 2. 绘制边框
|
|
|
// 2. 绘制边框
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 外边框(1mm边距,68mm宽 x 18mm高)
|
|
|
|
|
|
|
|
|
// 外边框(2mm边距,66mm宽 x 16mm高)
|
|
|
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1); |
|
|
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1); |
|
|
|
|
|
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 3. 左侧二维码
|
|
|
|
|
|
|
|
|
// 3. 左侧二维码(使用LODOP自带二维码)
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 二维码位置:距上1.6mm,距左3.4mm,尺寸18.2mm x 18.2mm
|
|
|
|
|
|
const qrIndex = LODOP.ADD_PRINT_BARCODE('1.6mm', '3.4mm', '18.2mm', '18.2mm', 'QRCode', printData.rollNo || ''); |
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4); |
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); |
|
|
|
|
|
|
|
|
// 二维码区域:上下左贴合边框,右贴合文字区域
|
|
|
|
|
|
// 边框从2mm开始,高度16mm;文字从20mm开始
|
|
|
|
|
|
// 二维码设置稍大让静区溢出,可见内容贴合边框
|
|
|
|
|
|
const qrContent = printData.rollNo || ''; |
|
|
|
|
|
if (qrContent) { |
|
|
|
|
|
const qrIndex = LODOP.ADD_PRINT_BARCODE('2.5mm', '2.5mm', '21mm', '19mm', 'QRCode', qrContent); |
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 0); // 自动选择版本
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 4. 右侧文字信息(4行)- 向左移动,字体缩小
|
|
|
|
|
|
|
|
|
// 4. 右侧文字信息(4行)- 字体5号
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
const startX = '22mm'; // 文字左边距(从23mm改为22mm,向左移动1mm)
|
|
|
|
|
|
const textWidth = '46mm'; // 文字区域宽度(从43mm增加到46mm)
|
|
|
|
|
|
|
|
|
const startX = '17mm'; // 文字左边距
|
|
|
|
|
|
const textWidth = '50mm'; // 文字区域宽度
|
|
|
|
|
|
const fontSize = 4; // 字体大小(从7号改为5号)
|
|
|
|
|
|
|
|
|
// 第1行:编码
|
|
|
// 第1行:编码
|
|
|
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `编码:${printData.partNo || ''}`); |
|
|
|
|
|
|
|
|
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `编码:${printData.partNo || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 7); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 第2行:卷号
|
|
|
// 第2行:卷号
|
|
|
const text2 = LODOP.ADD_PRINT_TEXT('7mm', startX, textWidth, '3mm', `卷号:${printData.rollNo || ''}`); |
|
|
|
|
|
|
|
|
const text2 = LODOP.ADD_PRINT_TEXT('6.5mm', startX, textWidth, '3mm', `卷号:${printData.rollNo || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 7); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 第3行:良品 + 不良品(左右分布)
|
|
|
// 第3行:良品 + 不良品(左右分布)
|
|
|
// 良品(左侧)
|
|
|
// 良品(左侧)
|
|
|
const text3 = LODOP.ADD_PRINT_TEXT('11mm', startX, '22mm', '3mm', `良品:${printData.goodQuantity || ''}`); |
|
|
|
|
|
|
|
|
const text3 = LODOP.ADD_PRINT_TEXT('10mm', startX, '24mm', '3mm', `良品:${printData.goodQuantity || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 7); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 不良品(右侧)
|
|
|
// 不良品(右侧)
|
|
|
const text4 = LODOP.ADD_PRINT_TEXT('11mm', '44mm', '24mm', '3mm', `不良品:${printData.badQuantity || ''}`); |
|
|
|
|
|
|
|
|
const text4 = LODOP.ADD_PRINT_TEXT('10mm', '44mm', '24mm', '3mm', `不良品:${printData.badQuantity || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 7); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 第4行:总数 + 良率(左右分布)
|
|
|
// 第4行:总数 + 良率(左右分布)
|
|
|
// 总数(左侧)
|
|
|
// 总数(左侧)
|
|
|
const text5 = LODOP.ADD_PRINT_TEXT('15mm', startX, '22mm', '3mm', `总数:${printData.quantity || ''}`); |
|
|
|
|
|
|
|
|
const text5 = LODOP.ADD_PRINT_TEXT('13.5mm', startX, '24mm', '3mm', `总数:${printData.quantity || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontSize", 7); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 良率(右侧)
|
|
|
// 良率(右侧)
|
|
|
const yieldValue = printData['yield'] || printData.yield || ''; |
|
|
const yieldValue = printData['yield'] || printData.yield || ''; |
|
|
const yieldText = yieldValue ? `良率:${yieldValue}%` : '良率:'; |
|
|
|
|
|
const text6 = LODOP.ADD_PRINT_TEXT('15mm', '44mm', '24mm', '3mm', yieldText); |
|
|
|
|
|
|
|
|
const yieldText = yieldValue ? `良率: ${yieldValue}%` : '良率:'; |
|
|
|
|
|
const text6 = LODOP.ADD_PRINT_TEXT('13.5mm', '44mm', '24mm', '3mm', yieldText); |
|
|
LODOP.SET_PRINT_STYLEA(text6, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text6, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text6, "FontSize", 7); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text6, "FontSize", fontSize); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// A003 标签打印(70mm x 20mm)- 绑定用
|
|
|
// A003 标签打印(70mm x 20mm)- 绑定用
|
|
|
@ -213,48 +219,54 @@ export default { |
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 2. 绘制边框
|
|
|
// 2. 绘制边框
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 外边框(1mm边距,68mm宽 x 18mm高)
|
|
|
|
|
|
|
|
|
// 外边框(2mm边距,66mm宽 x 16mm高)
|
|
|
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1); |
|
|
LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1); |
|
|
|
|
|
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 3. 左侧二维码
|
|
|
|
|
|
|
|
|
// 3. 左侧二维码(使用LODOP自带二维码)
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 二维码位置:距上1.6mm,距左3.4mm,尺寸18.2mm x 18.2mm
|
|
|
|
|
|
const qrIndex = LODOP.ADD_PRINT_BARCODE('1.6mm', '3.4mm', '18.2mm', '18.2mm', 'QRCode', printData.rollNo || ''); |
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4); |
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); |
|
|
|
|
|
|
|
|
// 二维码区域:上下左贴合边框,右贴合文字区域
|
|
|
|
|
|
// 边框从2mm开始,高度16mm;文字从20mm开始
|
|
|
|
|
|
// 二维码设置稍大让静区溢出,可见内容贴合边框
|
|
|
|
|
|
const qrContent = printData.rollNo || ''; |
|
|
|
|
|
if (qrContent) { |
|
|
|
|
|
const qrIndex = LODOP.ADD_PRINT_BARCODE('1.5mm', '1.5mm', '19mm', '20mm', 'QRCode', qrContent); |
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 0); // 自动选择版本
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
// 4. 右侧文字信息(4行)
|
|
|
|
|
|
|
|
|
// 4. 右侧文字信息(4行)- 字体6号
|
|
|
// ============================================================
|
|
|
// ============================================================
|
|
|
const startX = '23mm'; // 文字左边距
|
|
|
|
|
|
const textWidth = '43mm'; // 文字区域宽度
|
|
|
|
|
|
|
|
|
const startX = '20mm'; // 文字左边距
|
|
|
|
|
|
const textWidth = '47mm'; // 文字区域宽度
|
|
|
|
|
|
const fontSize = 6; // 字体大小(从8号改为6号)
|
|
|
|
|
|
|
|
|
// 第1行:ERP No.
|
|
|
// 第1行:ERP No.
|
|
|
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `ERP No.: ${printData.partNo || ''}`); |
|
|
|
|
|
|
|
|
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `ERP No.:${printData.partNo || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 8); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text1, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 第2行:Batch No. + Reel No.(左右分布)
|
|
|
// 第2行:Batch No. + Reel No.(左右分布)
|
|
|
// Batch No.(左侧)
|
|
|
// Batch No.(左侧)
|
|
|
const text2 = LODOP.ADD_PRINT_TEXT('7mm', startX, '20mm', '3mm', `Batch No.: ${printData.batchNo || ''}`); |
|
|
|
|
|
|
|
|
const text2 = LODOP.ADD_PRINT_TEXT('6.5mm', startX, '24mm', '3mm', `Batch No.:${printData.batchNo || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text2, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// Reel No.(右侧)
|
|
|
// Reel No.(右侧)
|
|
|
const text3 = LODOP.ADD_PRINT_TEXT('7mm', '43mm', '23mm', '3mm', `Reel No.: ${printData.reelNo || ''}`); |
|
|
|
|
|
|
|
|
const text3 = LODOP.ADD_PRINT_TEXT('6.5mm', '44mm', '24mm', '3mm', `Reel No.:${printData.reelNo || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontSize", 8); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text3, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 第3行:Good QTY
|
|
|
// 第3行:Good QTY
|
|
|
const text4 = LODOP.ADD_PRINT_TEXT('11mm', startX, textWidth, '3mm', `Good QTY: ${printData.goodQuantity || ''}`); |
|
|
|
|
|
|
|
|
const text4 = LODOP.ADD_PRINT_TEXT('10mm', startX, textWidth, '3mm', `Good QTY:${printData.goodQuantity || ''}`); |
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontName", "Microsoft YaHei"); |
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontSize", 8); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text4, "FontSize", fontSize); |
|
|
|
|
|
|
|
|
// 第4行:Bad QTY
|
|
|
// 第4行:Bad QTY
|
|
|
const text5 = LODOP.ADD_PRINT_TEXT('15mm', startX, textWidth, '3mm', `Bad QTY: ${printData.badQuantity || ''}`); |
|
|
|
|
|
|
|
|
const text5 = LODOP.ADD_PRINT_TEXT('13.5mm', startX, textWidth, '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", 8); |
|
|
|
|
|
|
|
|
LODOP.SET_PRINT_STYLEA(text5, "FontSize", fontSize); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|