Browse Source

2026-02-06

扫描装托打印调整
master
fengyuan_yang 8 months ago
parent
commit
4274de59a4
  1. 62
      src/views/modules/boxManage/com_saleBoxManage_pallet.vue

62
src/views/modules/boxManage/com_saleBoxManage_pallet.vue

@ -663,7 +663,7 @@ export default {
handleSelectionChange(val) {
this.selectedPallets = val
},
// 打印托盘标签
// 打印托盘标签 - 纸张尺寸:70mm x 20mm(与扫描装箱打印一致)
async printPalletLabels() {
if (this.selectedPallets.length === 0) {
this.$message.warning('请选择要打印的托盘!')
@ -680,8 +680,8 @@ export default {
// 初始化打印
LODOP.PRINT_INIT('托盘标签打印')
// 设置纸张尺寸:100mm x 80mm
LODOP.SET_PRINT_PAGESIZE(0, 1000, 800, '')
// 纸张尺寸设置:宽度=700(70mm), 高度=200(20mm),与扫描装箱一致
LODOP.SET_PRINT_PAGESIZE(0, 700, 200, '')
// 循环打印每个选中的托盘
for (let i = 0; i < this.selectedPallets.length; i++) {
@ -691,40 +691,42 @@ export default {
LODOP.NEWPAGE() // 新页
}
// 绘制外边框
LODOP.ADD_PRINT_RECT('2mm', '2mm', '96mm', '76mm', 0, 1)
// ===== 绘制边框和分隔线 =====
// 外边框: ADD_PRINT_RECT(上边距, 左边距, 宽度, 高度, 线宽, 线型)
LODOP.ADD_PRINT_RECT('2mm', '2mm', '66mm', '16mm', 0, 1)
// 绘制第一条横线(No. 下方)
LODOP.ADD_PRINT_LINE('20mm', '2mm', '20mm', '98mm', 0, 1)
// 中间竖线(左右分隔): ADD_PRINT_LINE(起点Y, 起点X, 终点Y, 终点X, 线宽, 线型)
// 竖线在55mm位置,左侧文字区域53mm,右侧二维码区域13mm
LODOP.ADD_PRINT_LINE('2mm', '55mm', '18mm', '55mm', 0, 1)
// 绘制第二条横线(Pallet No. 下方)
LODOP.ADD_PRINT_LINE('38mm', '2mm', '38mm', '98mm', 0, 1)
// 左侧横线(NO.和Pallet No.之间): ADD_PRINT_LINE(起点Y, 起点X, 终点Y, 终点X, 线宽, 线型)
LODOP.ADD_PRINT_LINE('10mm', '2mm', '10mm', '55mm', 0, 1)
// No. 文字信息(靠左,上下居中)
// No. 区域高度 18mm,文字垂直居中
const text1 = LODOP.ADD_PRINT_TEXT('10mm', '5mm', '90mm', '8mm', 'No.: ' + (this.searchData.orderNo || ''))
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei")
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 12)
LODOP.SET_PRINT_STYLEA(text1, "Bold", 1)
// ===== 左侧文字信息 =====
// NO.文字: ADD_PRINT_TEXT(上边距, 左边距, 宽度, 高度, 内容)
// 文字区域:从3mm到54mm,宽度52mm,字号5,Arial字体紧凑显示
const text1 = LODOP.ADD_PRINT_TEXT('4.5mm', '3mm', '52mm', '5mm', 'NO:' + (this.searchData.orderNo || ''))
LODOP.SET_PRINT_STYLEA(text1, "FontName", "Arial") // 使用Arial,紧凑字体
LODOP.SET_PRINT_STYLEA(text1, "FontSize", 5) // 5号字体
LODOP.SET_PRINT_STYLEA(text1, "Bold", 1) // 粗体
// Pallet No. 文字信息(靠左,上下居中)
// Pallet No. 区域高度 18mm,文字垂直居中
const text2 = LODOP.ADD_PRINT_TEXT('28mm', '5mm', '90mm', '8mm', 'Pallet No.: ' + (pallet.palletNo || ''))
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei")
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 12)
LODOP.SET_PRINT_STYLEA(text2, "Bold", 1)
// Pallet No.文字: ADD_PRINT_TEXT(上边距, 左边距, 宽度, 高度, 内容)
const text2 = LODOP.ADD_PRINT_TEXT('12.5mm', '3mm', '52mm', '5mm', 'Pallet No:' + (pallet.palletNo || ''))
LODOP.SET_PRINT_STYLEA(text2, "FontName", "Arial") // 使用Arial
LODOP.SET_PRINT_STYLEA(text2, "FontSize", 5) // 5号字体
LODOP.SET_PRINT_STYLEA(text2, "Bold", 1) // 粗体
// ===== 右侧二维码 =====
// 二维码: ADD_PRINT_BARCODE(上边距, 左边距, 宽度, 高度, 类型, 内容)
// 右侧区域:从55mm到68mm(宽13mm),二维码12.6mm x 12.6mm,居中显示
const qrIndex = LODOP.ADD_PRINT_BARCODE('4mm', '56mm', '12.6mm', '12.6mm', 'QRCode', pallet.palletNo)
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 3) // 二维码版本3,适中大小
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "L") // L级纠错,适合小尺寸
// 二维码(在下方区域居中,向上移动)
// 下方区域:38mm到78mm = 40mm高度
// 二维码40mm,左右居中:2mm + (96mm-40mm)/2 = 30mm
// 垂直居中:38mm
const qrIndex = LODOP.ADD_PRINT_BARCODE('41mm', '30mm', '40mm', '40mm', 'QRCode', pallet.palletNo)
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 5)
LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M")
}
// 预览打印
//LODOP.PREVIEW()
// 执行打印
//LODOP.PREVIEW() // 取消注释可预览
LODOP.PRINT();
} catch (error) {

Loading…
Cancel
Save