Browse Source

2026-02-03

打印优化
master
fengyuan_yang 3 weeks ago
parent
commit
b3fb8fceea
  1. 26
      src/mixins/labelPrintTemplates.js
  2. 58
      src/views/modules/boxManage/com_saleBoxManage_boxing.vue

26
src/mixins/labelPrintTemplates.js

@ -83,7 +83,7 @@ export default {
const fontSize = 6; // 字体大小
// 编码(第1行)
const label1 = LODOP.ADD_PRINT_TEXT('3.5mm', labelX, labelWidth, '3mm', '编码:');
const label1 = LODOP.ADD_PRINT_TEXT('3.5mm', labelX, labelWidth, '3mm', 'No');
LODOP.SET_PRINT_STYLEA(label1, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(label1, "FontSize", fontSize);
@ -93,7 +93,7 @@ export default {
LODOP.SET_PRINT_STYLEA(value1, "Bold", 1);
// 型号(第2行)
const label2 = LODOP.ADD_PRINT_TEXT('7.5mm', labelX, labelWidth, '3mm', '型号:');
const label2 = LODOP.ADD_PRINT_TEXT('7.5mm', labelX, labelWidth, '3mm', 'Type');
LODOP.SET_PRINT_STYLEA(label2, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(label2, "FontSize", fontSize);
@ -102,7 +102,7 @@ export default {
LODOP.SET_PRINT_STYLEA(value2, "FontSize", fontSize);
// 数量(第3行)
const label3 = LODOP.ADD_PRINT_TEXT('11.5mm', labelX, labelWidth, '3mm', '数量:');
const label3 = LODOP.ADD_PRINT_TEXT('11.5mm', labelX, labelWidth, '3mm', 'Qty');
LODOP.SET_PRINT_STYLEA(label3, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(label3, "FontSize", fontSize);
@ -111,7 +111,7 @@ export default {
LODOP.SET_PRINT_STYLEA(value3, "FontSize", fontSize);
// 批号(第4行)
const label4 = LODOP.ADD_PRINT_TEXT('15.5mm', labelX, labelWidth, '3mm', '批号:');
const label4 = LODOP.ADD_PRINT_TEXT('15.5mm', labelX, labelWidth, '3mm', 'Lot No');
LODOP.SET_PRINT_STYLEA(label4, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(label4, "FontSize", fontSize);
@ -170,35 +170,35 @@ export default {
const fontSize = 4; // 字体大小(从7号改为4号)
// 第1行:编码
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `编码:${printData.partNo || ''}`);
const text1 = LODOP.ADD_PRINT_TEXT('3mm', startX, textWidth, '3mm', `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('6.5mm', startX, textWidth, '3mm', `卷号:${printData.rollNo || ''}`);
const text2 = LODOP.ADD_PRINT_TEXT('6.5mm', startX, textWidth, '3mm', `Roll No:${printData.rollNo || ''}`);
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text2, "FontSize", fontSize);
// 第3行:良品 + 不良品(左右分布)
// 良品(左侧)
const text3 = LODOP.ADD_PRINT_TEXT('10mm', startX, '24mm', '3mm', `良品:${printData.goodQuantity || ''}`);
const text3 = LODOP.ADD_PRINT_TEXT('10mm', startX, '24mm', '3mm', `Good Qty:${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', `不良品:${printData.badQuantity || ''}`);
const text4 = LODOP.ADD_PRINT_TEXT('10mm', '44mm', '24mm', '3mm', `Bad Qty:${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, '24mm', '3mm', `总数:${printData.quantity || ''}`);
const text5 = LODOP.ADD_PRINT_TEXT('13.5mm', startX, '24mm', '3mm', `Total Qty:${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 ? `良率: ${yieldValue}%` : '良率:';
const yieldText = yieldValue ? `Yield: ${yieldValue}%` : 'Yield:';
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, "FontSize", fontSize);
@ -304,17 +304,17 @@ export default {
const fontSize = 5; // 字体大小(比A002稍大,因为只有3行)
// 第1行:编码
const text1 = LODOP.ADD_PRINT_TEXT('3.5mm', startX, textWidth, '4mm', `编码:${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', `卷号:${printData.rollNo || ''}`);
const text2 = LODOP.ADD_PRINT_TEXT('8mm', startX, textWidth, '4mm', `Roll No:${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 || ''}`);
const text3 = LODOP.ADD_PRINT_TEXT('12.5mm', startX, textWidth, '4mm', `Good Qty:${printData.goodQuantity || ''}`);
LODOP.SET_PRINT_STYLEA(text3, "FontName", "Microsoft YaHei");
LODOP.SET_PRINT_STYLEA(text3, "FontSize", fontSize);
}

58
src/views/modules/boxManage/com_saleBoxManage_boxing.vue

@ -544,7 +544,7 @@ export default {
handleSelectionChange(val) {
this.selectedBoxes = val
},
//
// - 70mm x 20mm
async printCartonLabels() {
if (this.selectedBoxes.length === 0) {
this.$message.warning('请选择要打印的外箱!')
@ -561,8 +561,8 @@ export default {
//
LODOP.PRINT_INIT('外箱标签打印')
// 70mm x 30mm
LODOP.SET_PRINT_PAGESIZE(0, 700, 300, '')
// =700(70mm), =200(20mm)
LODOP.SET_PRINT_PAGESIZE(0, 700, 200, '')
//
for (let i = 0; i < this.selectedBoxes.length; i++) {
@ -572,36 +572,42 @@ export default {
LODOP.NEWPAGE() //
}
//
LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '26mm', 0, 1)
// ===== 线 =====
// : ADD_PRINT_RECT(, , , , 线, 线)
LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '16mm', 0, 1)
// 线
LODOP.ADD_PRINT_LINE('2mm', '46mm', '28mm', '46mm', 0, 1)
// 线(): ADD_PRINT_LINE(Y, X, Y, X, 线, 线)
LODOP.ADD_PRINT_LINE('2mm', '50mm', '18mm', '50mm', 0, 1)
// 线NO.Carton No.
LODOP.ADD_PRINT_LINE('15mm', '2mm', '15mm', '46mm', 0, 1)
// 线(NO.Carton No.): ADD_PRINT_LINE(Y, X, Y, X, 线, 线)
LODOP.ADD_PRINT_LINE('10mm', '2mm', '10mm', '50mm', 0, 1)
// - NO. ()
const text1 = LODOP.ADD_PRINT_TEXT('6.5mm', '3mm', '40mm', '6mm', 'NO.: ' + (this.searchData.orderNo || ''))
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei")
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 9)
LODOP.SET_PRINT_STYLEA(text1, "Bold", 1)
// ===== =====
// NO.: ADD_PRINT_TEXT(, , , , )
// =4.5mm, =3mm, =46mm, =5mm
const text1 = LODOP.ADD_PRINT_TEXT('4.5mm', '3mm', '46mm', '5mm', 'NO.: ' + (this.searchData.orderNo || ''))
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei") //
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 8) //
LODOP.SET_PRINT_STYLEA(text1, "Bold", 1) //
// - Carton No. ()
const text2 = LODOP.ADD_PRINT_TEXT('19.5mm', '3mm', '40mm', '6mm', 'Carton No.: ' + (box.boxNo || ''))
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei")
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 9)
LODOP.SET_PRINT_STYLEA(text2, "Bold", 1)
// Carton No.: ADD_PRINT_TEXT(, , , , )
// =12.5mm, =3mm, =46mm, =5mm
const text2 = LODOP.ADD_PRINT_TEXT('12.5mm', '3mm', '46mm', '5mm', 'Carton No.: ' + (box.boxNo || ''))
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei") //
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8) //
LODOP.SET_PRINT_STYLEA(text2, "Bold", 1) //
// 使 LODOP
// 1mm1mm
const qrIndex = LODOP.ADD_PRINT_BARCODE('6mm', '48mm', '20mm', '20mm', 'QRCode', box.boxNo)
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4)
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M")
// ===== =====
// : ADD_PRINT_BARCODE(, , , , , )
// =4mm, =52mm, =12mm, =12mm
// 50mm68mm(18mm)16mm
const qrIndex = LODOP.ADD_PRINT_BARCODE('4mm', '53mm', '13mm', '13mm', 'QRCode', box.boxNo)
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4) //
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M") //
}
//
//LODOP.PREVIEW()
//
//LODOP.PREVIEW() //
LODOP.PRINT();
} catch (error) {

Loading…
Cancel
Save