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())
}
})
}