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,
|
'<img src="/img/certificatelogo.png"/>'
|
)
|
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,
|
'<img src="/img/certificatelogo.png"/>'
|
)
|
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())
|
}
|
})
|
}
|