diff --git a/src/utils/LodopFuncs.js b/src/utils/LodopFuncs.js
index c58d646..85277c0 100644
--- a/src/utils/LodopFuncs.js
+++ b/src/utils/LodopFuncs.js
@@ -114,7 +114,7 @@ function getLodop(oOBJECT, oEMBED) {
} catch (err) {}
if (!LODOP) {
- logger.info("LodopFuncs.js getLodop no CLodop");
+ console.log("LodopFuncs.js getLodop no CLodop");
MessageBox({
title: '打印组件',
type: 'warning',
diff --git a/src/views/modules/yieldReport/com_separate_roll.vue b/src/views/modules/yieldReport/com_separate_roll.vue
index 412fdab..fc15526 100644
--- a/src/views/modules/yieldReport/com_separate_roll.vue
+++ b/src/views/modules/yieldReport/com_separate_roll.vue
@@ -1043,100 +1043,50 @@ export default {
// 打印固定载具
printCarrier(row) {
- // 构造打印数据
- const printData = {
- carrierNo: row.carrierNo,
- carrierTypeName: row.carrierTypeName,
- specification: row.specification,
- dimensions: row.dimensions,
- availableQty: row.availableQty || 0,
- site: this.scheduleData.site
+ const LODOP = getLodop()
+ if (!LODOP) {
+ this.$message.error('未检测到打印控件,请安装CLodop打印控件!')
+ return
}
- // 调用打印功能
- this.printCarrierLabel(printData)
- },
-
- // 打印载具标签
- printCarrierLabel(data) {
try {
- // 生成二维码(使用 QRCode.js 或者使用在线二维码API)
- const qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=${encodeURIComponent(data.carrierNo)}`
-
- // 打印HTML模板
- const printContent = `
-
-
-
-

-
-
-
-
- 固定载具标签
-
-
-
-
-
- | 标签条码: |
- ${data.carrierNo || ''} |
-
-
- | 载具类型: |
- ${data.carrierTypeName || ''} |
-
-
- | 规格描述: |
- ${data.specification || ''} |
-
-
- | 尺寸: |
- ${data.dimensions || ''} |
-
-
- | 可用数量: |
- ${data.availableQty} |
-
-
-
-
-
- 打印时间: ${this.dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')}
-
-
- `
-
- // 创建打印窗口
- const printWindow = window.open('', '_blank')
- printWindow.document.write(`
-
-
- 打印固定载具标签
-
-
-
-
- ${printContent}
-
-
- `)
- printWindow.document.close()
-
- // 延迟打印,确保二维码图片加载完成
- setTimeout(() => {
- printWindow.print()
- printWindow.close()
- }, 500)
+ // 初始化打印
+ LODOP.PRINT_INIT('固定载具标签打印')
+
+ // 设置纸张尺寸:70mm x 20mm
+ LODOP.SET_PRINT_PAGESIZE(0, 700, 200, '')
+
+ // 绘制外边框
+ LODOP.ADD_PRINT_RECT('1mm', '1mm', '68mm', '18mm', 0, 1)
+
+ // 绘制中间竖线(左右分隔)
+ LODOP.ADD_PRINT_LINE('1mm', '50mm', '19mm', '50mm', 0, 1)
+
+ // 绘制左侧横线(标签条码和可用数量之间的分隔)
+ LODOP.ADD_PRINT_LINE('10mm', '1mm', '10mm', '50mm', 0, 1)
+
+ // 左侧文字信息 - 标签条码
+ const text1 = LODOP.ADD_PRINT_TEXT('4.5mm', '2mm', '46mm', '5mm', '标签条码: ' + (row.carrierNo || ''))
+ LODOP.SET_PRINT_STYLEA(text1, "FontName", "Microsoft YaHei")
+ LODOP.SET_PRINT_STYLEA(text1, "FontSize", 8)
+ LODOP.SET_PRINT_STYLEA(text1, "Bold", 1)
+
+ // 左侧文字信息 - 可用数量
+ const text2 = LODOP.ADD_PRINT_TEXT('13.5mm', '2mm', '46mm', '5mm', '可用数量: ' + (row.availableQty || 0))
+ LODOP.SET_PRINT_STYLEA(text2, "FontName", "Microsoft YaHei")
+ LODOP.SET_PRINT_STYLEA(text2, "FontSize", 8)
+ LODOP.SET_PRINT_STYLEA(text2, "Bold", 1)
+
+ // 右侧二维码(使用 LODOP 原生二维码)
+ const qrIndex = LODOP.ADD_PRINT_BARCODE('1.5mm', '51mm', '19mm', '19mm', 'QRCode', row.carrierNo || '')
+ LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeVersion", 4)
+ LODOP.SET_PRINT_STYLEA(qrIndex, "QRCodeErrorLevel", "M")
+
+ // 执行打印
+ LODOP.PRINT()
- this.$message.success('正在打印载具标签...')
} catch (error) {
+ console.error('打印失败:', error)
this.$message.error('打印失败: ' + error.message)
}
},