import getLodop from '@/util/lodop' import { getYearAndMonth } from '@/util/date' const f = (name, printInfo) => { const theOne = printInfo.qualityLabelPrintConfigDetail.find((e) => { return e.caption === name }) return theOne ? theOne.defaultValue || '' : null } export const goPrintUtil = async (printInfo) => { return new Promise((resolve, reject) => { const data = { partNoAfter: f('零件号', printInfo), stockQuantityAfter: f('长度', printInfo), examiner: f('检验员', printInfo), prodName: f('产品名称', printInfo), partModel: f('规格型号', printInfo), sn: f('SN号', printInfo), partFamilyNo: f('零件族编号', printInfo), date: f('日期', printInfo), barcode: f('条形码', printInfo), qrcode: f('二维码', printInfo), mainTitle: f('标签名称', printInfo), // 产品合格证 subTitle: f('公司名称', printInfo) // 中天射频电缆有限公司 } const LODOP = getLodop() switch (printInfo.labelDesc) { case '1/2馈线合格证': if (printInfo.markFlag) { LODOP.SET_LICENSES( '南通市鑫阳软件开发有限公司', '60F8E5078AE17DEB340C94BC7E83CAFF', '', '' ) LODOP.PRINT_INITA(0, -1, 500, 300, '') LODOP.SET_PRINT_PAGESIZE(0, 1000, 600, '') LODOP.SET_PRINT_MODE('PRINT_NOCOLLATE', 1) if (data.prodName !== null) { LODOP.ADD_PRINT_TEXT(102, 5, 87, 20, '产品名称:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Alignment', 2) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(102, 80, 355, 17, data.prodName) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.partModel !== null) { LODOP.ADD_PRINT_TEXT(118, 5, 87, 20, '规格型号:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Alignment', 2) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(118, 80, 180, 17, data.partModel) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.qrcode !== null) { LODOP.ADD_PRINT_BARCODE(9, 270, 115, 160, 'QRCode', data.qrcode) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'QRCodeVersion', 7) LODOP.SET_PRINT_STYLEA(0, 'QRCodeErrorLevel', 'L') } if (data.partNoAfter !== null) { LODOP.ADD_PRINT_TEXT(134, 17, 87, 20, '零件号:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(134, 80, 180, 17, data.partNoAfter) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.sn !== null) { LODOP.ADD_PRINT_TEXT(150, 17, 53, 20, 'SN号:') LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(150, 50, 180, 20, data.sn) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.partFamilyNo !== null) { LODOP.ADD_PRINT_TEXT(150, 145, 180, 20, data.partFamilyNo) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.date !== null) { LODOP.ADD_PRINT_TEXT(118, 241, 53, 20, '日期:') LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(118, 288, 80, 20, data.date) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.examiner !== null) { LODOP.ADD_PRINT_TEXT(134, 241, 64, 20, '检验员:') LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(134, 290, 80, 20, data.examiner) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 12) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.stockQuantityAfter !== null) { LODOP.ADD_PRINT_TEXT(150, 241, 53, 20, '长度:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT( 150, 288, 80, 16, data.stockQuantityAfter != null && data.stockQuantityAfter != '' ? Number(data.stockQuantityAfter) * 1000 + 'm' : '' ) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 12) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.barcode !== null) { LODOP.ADD_PRINT_BARCODE(167, 20, 368, 29, 'Code39', data.barcode) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 8) LODOP.SET_PRINT_STYLEA(0, 'ShowBarText', 0) } // 两个线加个年月--markFlag LODOP.ADD_PRINT_LINE(205, 20, 205, 180, 0, 2) LODOP.ADD_PRINT_LINE(205, 214, 205, 374, 0, 2) LODOP.ADD_PRINT_TEXT(198, 180, 34, 15, getYearAndMonth()) LODOP.SET_PRINT_STYLEA(0, 'Alignment', 2) LODOP.ADD_PRINT_LINE(213, 20, 213, 374, 0, 2) if (data.mainTitle !== null) { LODOP.ADD_PRINT_TEXT(28, 133, 100, 20, data.mainTitle) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 13) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.subTitle !== null) { LODOP.ADD_PRINT_TEXT(56, 102, 177, 20, data.subTitle) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 11) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } LODOP.ADD_PRINT_IMAGE( 9, 0, 105, 41, '' ) LODOP.SET_PRINT_STYLEA(0, 'Stretch', 2) if ( data.stockQuantityAfter != null && data.stockQuantityAfter != '' && Number(data.stockQuantityAfter) * 1000 == 200 ) { } else { LODOP.ADD_PRINT_RECT(0, 0, 370, 223, 0, 7) } } else { LODOP.SET_LICENSES( '南通市鑫阳软件开发有限公司', '60F8E5078AE17DEB340C94BC7E83CAFF', '', '' ) LODOP.PRINT_INITA(0, -1, 500, 300, '') LODOP.SET_PRINT_PAGESIZE(0, 1000, 600, '') LODOP.SET_PRINT_MODE('PRINT_NOCOLLATE', 1) if (data.prodName !== null) { LODOP.ADD_PRINT_TEXT(106, 5, 87, 20, '产品名称:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Alignment', 2) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(106, 80, 355, 17, data.prodName) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.partModel !== null) { LODOP.ADD_PRINT_TEXT(126, 5, 87, 20, '规格型号:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Alignment', 2) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(126, 80, 180, 17, data.partModel) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.qrcode !== null) { LODOP.ADD_PRINT_BARCODE(9, 270, 115, 160, 'QRCode', data.qrcode) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'QRCodeVersion', 7) LODOP.SET_PRINT_STYLEA(0, 'QRCodeErrorLevel', 'L') } if (data.partNoAfter !== null) { LODOP.ADD_PRINT_TEXT(146, 17, 87, 20, '零件号:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(146, 80, 180, 17, data.partNoAfter) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.sn !== null) { LODOP.ADD_PRINT_TEXT(166, 17, 53, 20, 'SN号:') LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(166, 50, 180, 20, data.sn) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.partFamilyNo !== null) { LODOP.ADD_PRINT_TEXT(166, 145, 180, 20, data.partFamilyNo) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.date !== null) { LODOP.ADD_PRINT_TEXT(126, 241, 53, 20, '日期:') LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(126, 288, 80, 20, data.date) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.examiner !== null) { LODOP.ADD_PRINT_TEXT(146, 241, 64, 20, '检验员:') LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT(146, 290, 80, 20, data.examiner) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 12) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.stockQuantityAfter !== null) { LODOP.ADD_PRINT_TEXT(166, 241, 53, 20, '长度:') LODOP.SET_PRINT_STYLEA(0, 'FontSize', 10) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) LODOP.ADD_PRINT_TEXT( 166, 288, 80, 16, data.stockQuantityAfter != null && data.stockQuantityAfter != '' ? Number(data.stockQuantityAfter) * 1000 + 'm' : '' ) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 12) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.barcode !== null) { LODOP.ADD_PRINT_BARCODE(187, 20, 368, 29, 'Code39', data.barcode) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 8) LODOP.SET_PRINT_STYLEA(0, 'ShowBarText', 0) } if (data.mainTitle !== null) { LODOP.ADD_PRINT_TEXT(28, 133, 100, 20, data.mainTitle) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 13) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } if (data.subTitle !== null) { LODOP.ADD_PRINT_TEXT(56, 102, 177, 20, data.subTitle) LODOP.SET_PRINT_STYLEA(0, 'FontSize', 11) LODOP.SET_PRINT_STYLEA(0, 'Bold', 1) } LODOP.ADD_PRINT_IMAGE( 9, 0, 105, 41, '' ) LODOP.SET_PRINT_STYLEA(0, 'Stretch', 2) if ( data.stockQuantityAfter != null && data.stockQuantityAfter != '' && Number(data.stockQuantityAfter) * 1000 == 200 ) { } else { LODOP.ADD_PRINT_RECT(0, 0, 370, 223, 0, 7) } } LODOP.PRINT() // LODOP.PREVIEW() resolve() break case 2: break default: this.$message.warning('暂无此类标签描述的打印配置,请联系管理员') reject(new Error()) } }) }