diff --git a/src/api/label/LogisticLabelRecord.js b/src/api/label/LogisticLabelRecord.js new file mode 100644 index 0000000..c63a8f8 --- /dev/null +++ b/src/api/label/LogisticLabelRecord.js @@ -0,0 +1,9 @@ +import {createAPI} from '../../utils/httpRequest' + +export const saveLogisticLabelRecord = (data) => createAPI('/print/logistic/save', 'post', data) + + +export const queryLogisticLabelRecord = (data) => createAPI(`/print/logistic/${data.no}/${data.size}`, 'post', data) + + +export const queryLogisticLabelRecordPrinter = (data) => createAPI('/label/format/user/default/user/logistic', 'post', data) diff --git a/src/printFormat/RF_RFID.js b/src/printFormat/RF_RFID.js index c32c8e8..2ba4d50 100644 --- a/src/printFormat/RF_RFID.js +++ b/src/printFormat/RF_RFID.js @@ -18,14 +18,15 @@ export const printRF_RFIDLabel = (printList, icons, printerName) => { LODOP.SET_PRINT_MODE('CUSTOM_TASK_NAME', '多条页')//为每个打印单独设置任务名 for (let i = 0; i < printList.length; i++) { let row = printList[i] - console.log(row.qrCode) + console.log(row) //如果打印正常的标签 - LODOP.NewPage(); + LODOP.NewPageA(); LODOP.SET_PRINTER_INDEXA(printerName) LODOP.SET_PRINT_PAGESIZE(0,1100,512,""); // LODOP.ADD_PRINT_BARCODE(12,33,115,80,"QRCode",row.qrCode); // LODOP.SET_PRINT_STYLEA(0,"FontSize",7); - LODOP.ADD_PRINT_IMAGE(5,33,"21mm","21mm",``); + LODOP.ADD_PRINT_IMAGE(-5,20,"26mm","26mm",``); LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",100); + LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",100); LODOP.ADD_PRINT_IMAGE(4,255,90,16,""); LODOP.SET_PRINT_STYLEA(0,"Stretch",2); LODOP.SET_PRINT_STYLEA(0,"Alignment",3); diff --git a/src/printFormat/alphaHardTagPrintFormat.js b/src/printFormat/alphaHardTagPrintFormat.js index 51bdb1b..597c67f 100644 --- a/src/printFormat/alphaHardTagPrintFormat.js +++ b/src/printFormat/alphaHardTagPrintFormat.js @@ -19,14 +19,14 @@ export function printAlphaHardTagLabel (printList, icons, printerName) { //批量循环打印 for(let i = 0; i < printList.length; i++){ let row = printList[i]; - console.log(row.qrCode) + console.log(row) //如果打印正常的标签 - LODOP.NewPage(); + LODOP.NewPageA(); LODOP.SET_PRINTER_INDEXA(printerName) LODOP.SET_PRINT_PAGESIZE(0,1100,512,""); // LODOP.ADD_PRINT_BARCODE(12,33,100,80,"QRCode",row.qrCode); // LODOP.SET_PRINT_STYLEA(0,"FontSize",7); - LODOP.ADD_PRINT_IMAGE(5,33,"21mm","21mm",``); + LODOP.ADD_PRINT_IMAGE(-5,20,"26mm","26mm",``); LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",100); LODOP.ADD_PRINT_IMAGE(4,255,90,16,""); LODOP.SET_PRINT_STYLEA(0,"Stretch",2); LODOP.SET_PRINT_STYLEA(0,"Alignment",3); diff --git a/src/printFormat/antenna.js b/src/printFormat/antenna.js index 3c5a0cc..e63d14b 100644 --- a/src/printFormat/antenna.js +++ b/src/printFormat/antenna.js @@ -18,14 +18,14 @@ export const printAntennaLabel = (printList, icons, printerName) => { LODOP.SET_PRINT_MODE('CUSTOM_TASK_NAME', '多条页')//为每个打印单独设置任务名 for (let i = 0; i < printList.length; i++) { let row = printList[i] - console.log(row.qrCode) + console.log(row) //如果打印正常的标签 - LODOP.NewPage() + LODOP.NewPageA(); LODOP.SET_PRINTER_INDEXA(printerName) LODOP.SET_PRINT_PAGESIZE(0, 1100, 512, '') // LODOP.ADD_PRINT_BARCODE(12, 33, 115,80, 'QRCode', row.qrCode) // LODOP.SET_PRINT_STYLEA(0,"FontSize",7); - LODOP.ADD_PRINT_IMAGE(5,33,"21mm","21mm",``); + LODOP.ADD_PRINT_IMAGE(-5,20,"26mm","26mm",``); LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",100); LODOP.ADD_PRINT_IMAGE(4,255,90,16, '') LODOP.SET_PRINT_STYLEA(0, 'Stretch', 2) LODOP.SET_PRINT_STYLEA(0,"Alignment",3); diff --git a/src/printFormat/logisticLabel.js b/src/printFormat/logisticLabel.js new file mode 100644 index 0000000..3a969b6 --- /dev/null +++ b/src/printFormat/logisticLabel.js @@ -0,0 +1,78 @@ +import getLodop from '@/utils/LodopFuncs.js' + +let printTop = 15 + +const ckpLogo = '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' + +export const printLogisticLabel = (printList, printerName) => { + const LODOP = getLodop() + if (LODOP) { + // LODOP.SET_LICENSES('', '13F0BF6589BB32F360918E33F9C10905', '', '') + LODOP.SET_LICENSES("","549DA0AD145DA11D8FC8654C58657B8EA09","",""); + if (null == printerName || printerName === '') { + console.info('未设置打印机!') + } else { + LODOP.SET_PRINTER_INDEXA(printerName) + } + LODOP.SET_PRINT_MODE('CUSTOM_TASK_NAME', '多条页')//为每个打印单独设置任务名 + for (let i = 0; i < printList.length; i++) { + let row = printList[i] + //如果打印正常的标签 + LODOP.NewPage(); + LODOP.SET_PRINTER_INDEXA(printerName) + LODOP.SET_PRINT_PAGESIZE(0,1100,512,""); + // LODOP.ADD_PRINT_BARCODE(12,33,115,80,"QRCode",row.qrCode); + // LODOP.SET_PRINT_STYLEA(0,"FontSize",7); + LODOP.ADD_PRINT_IMAGE(-5,20,"26mm","26mm",``); LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",100); + LODOP.SET_PRINT_STYLEA(0,"Stretch",2); + LODOP.SET_PRINT_STYLEA(0,"Alignment",3); + LODOP.ADD_PRINT_TEXT(20,126,40,20,"REF"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",10); + LODOP.ADD_PRINT_TEXT(42,126,40,20,"QTY"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",10); + LODOP.ADD_PRINT_TEXT(63,126,50,20,"DESC"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",10); + LODOP.ADD_PRINT_TEXT(18,175,200,20,row.partNo); + LODOP.SET_PRINT_STYLEA(0,"FontSize",14); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + + LODOP.ADD_PRINT_TEXT(42,177,93,20,row.qty); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",10); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + LODOP.ADD_PRINT_TEXT(63,175,186,35,row.partDesc); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"LineSpacing",-5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",9); + + LODOP.ADD_PRINT_TEXT(42,271,60,20,"UoM"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",10); + LODOP.ADD_PRINT_TEXT(37,281,70,20,row.umName); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",14); + LODOP.SET_PRINT_STYLEA(0,"Alignment",3); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_LINE(100,-2,99,406,0,1); + LODOP.ADD_PRINT_LINE(146,-2,145,406,0,1); + + LODOP.ADD_PRINT_TEXT(113,126,40,20,"PO") + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",10); + + LODOP.ADD_PRINT_TEXT(110,175,200,20,row.poNo) + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",14); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.PRINT(); + } + //LODOP.PREVIEW(); + // LODOP.PRINT_DESIGN(); + } +} diff --git a/src/printFormat/roll_label.js b/src/printFormat/roll_label.js index 93a4b97..fd9cc72 100644 --- a/src/printFormat/roll_label.js +++ b/src/printFormat/roll_label.js @@ -22,7 +22,7 @@ export const print_roll_label = (printList,printerName)=>{ LODOP.ADD_PRINT_IMAGE(7,120,30,8,""); LODOP.SET_PRINT_STYLEA(0,"Stretch",2); - LODOP.ADD_PRINT_TEXT(15,73,25,20,"REF"); + LODOP.ADD_PRINT_TEXT(15,73,30,20,"REF"); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); LODOP.SET_PRINT_STYLEA(0,"FontSize",5); LODOP.SET_PRINT_STYLEA(0,"Bold",1); diff --git a/src/views/modules/label/QrCode.vue b/src/views/modules/label/QrCode.vue index 1969ab8..d0ebf1e 100644 --- a/src/views/modules/label/QrCode.vue +++ b/src/views/modules/label/QrCode.vue @@ -33,6 +33,7 @@ export default { return } base64 = url + console.log(base64) }) return base64 }, diff --git a/src/views/modules/label/format.vue b/src/views/modules/label/format.vue index 2aac5bb..c122931 100644 --- a/src/views/modules/label/format.vue +++ b/src/views/modules/label/format.vue @@ -411,6 +411,7 @@ export default { + @@ -476,6 +477,7 @@ export default { + diff --git a/src/views/modules/label/logisticLabelRecord.vue b/src/views/modules/label/logisticLabelRecord.vue new file mode 100644 index 0000000..5013268 --- /dev/null +++ b/src/views/modules/label/logisticLabelRecord.vue @@ -0,0 +1,418 @@ + + + + + diff --git a/src/views/modules/label/printer.vue b/src/views/modules/label/printer.vue index b8e28e4..33012b8 100644 --- a/src/views/modules/label/printer.vue +++ b/src/views/modules/label/printer.vue @@ -20,6 +20,8 @@ import {getCategory, getCategoryList} from '../../../api/category/category' import QrCode from './QrCode.vue' import {savePrintRollLabelRecord} from '../../../api/label/printRollLabelRecord' import {print_roll_label} from '../../../printFormat/roll_label' +import {saveLogisticLabelRecord} from '../../../api/label/LogisticLabelRecord' +import {printLogisticLabel} from '../../../printFormat/logisticLabel' const printer = { customerNo: '', @@ -90,6 +92,9 @@ export default { cartonCount: [{required: true, message: 'Please input Carton Count', trigger: ['blur','change']}], manufacturerTime: [{required: true, message: 'Please input Manufacturer Date', trigger: ['blur','change']}], orderNo: [{required: true, message: 'Please input PO', trigger: ['blur','change']}], + poNo: [{required: true, message: 'Please input PO No', trigger: ['blur','change']}], + unitQtyPerPallet: [{required: true, message: 'Please input Unit Qty Per Pallet', trigger: ['blur','change']}], + countOfPallets: [{required: true, message: 'Please input Count Of Pallets', trigger: ['blur','change']}], }, columnList:[ { @@ -531,6 +536,18 @@ export default { labelFormatList:[], base64List:[], status:0, + + currentPartLogistic:{ + site:this.$store.state.user.site, + partNo:'', + partDesc:'', + poNo:'', + unitQtyPerPallet:1, + countOfPallets:1, + umName:'', + customerNo:'', + }, + logisticVisible:false, } }, watch:{ @@ -603,6 +620,26 @@ export default { this.$message.error(error) }) }, + handlePrintLogisticLabel(){ + let labelList = this.labelFormatList.filter((item)=> item.labelType === 'Logistic Label') + if (labelList.length === 0){ + this.$message.warning("There is no maintenance of print label format") + return + } + this.getExternalPartPictureList(); + this.selectLabelFormatUserDefaultListByUserId(); + this.currentPartLogistic = { + site:this.currentPart.site, + partNo:this.currentPart.partNo, + partDesc:this.currentPart.partDesc, + poNo:'', + unitQtyPerPallet:1, + countOfPallets:1, + umName: this.currentPart.umName, + customerNo:this.currentPart.customerNo, + } + this.logisticVisible = true; + }, handlePrint(status){ this.printCurrentPart = JSON.parse(JSON.stringify(this.currentPart)) let labelList = []; @@ -610,7 +647,7 @@ export default { labelList = this.labelFormatList.filter((item)=> item.labelType === 'Roll Label') this.printCurrentPart.rollsPerCarton = 1; this.$set(this.printCurrentPart,'orderNo','') - }else { + }else if (status === 0){ labelList = this.labelFormatList.filter((item)=> item.labelType === 'Shipment Carton') } if (labelList.length === 0){ @@ -739,7 +776,7 @@ export default { for (let label of labelList) { let prints = data.rows.map((item) => { let params = { - qrCode: `(00)${item.partNo}(01)${item.qtyPerCarton}(02)${item.umName}(03)${item.manufacturerDate}(04)${item.serialNumber? item.serialNumber : ''}(05)${item.manufacturerNo? item.manufacturerNo : ''}(06)${item.moldCode? item.moldCode : ''}(07)${item.boxNo? item.boxNo : ''}(08)`, + qrCode: `(00)${item.partNo}(01)${item.qtyPerCarton}(02)${item.umName}(03)${item.manufacturerDate}(04)${item.serialNumber? item.serialNumber : ''}(05)${item.manufacturerNo? item.manufacturerNo : ''}(06)${item.moldCode? item.moldCode : ''}(07)${item.boxNo? item.boxNo : ''}(08)(09)(10)`, ref: item.partNo, productRev: item.rev, qty: item.qtyPerCarton, @@ -770,15 +807,13 @@ export default { notFound.push(label.defaultPrinterName) continue } - this.$nextTick(()=>{ - if (label.printType === 'Alpha/Hard Tag'){ - printAlphaHardTagLabel(prints,icons,label.defaultPrinterName) - }else if (label.printType === 'Hardware(Antenna)'){ - printAntennaLabel(prints,icons,label.defaultPrinterName) - }else if (label.printType === 'RF' || this.currentPart.category === 'RFID'){ - printRF_RFIDLabel(prints,icons,label.defaultPrinterName) - } - }) + if (label.printType === 'Alpha/Hard Tag'){ + printAlphaHardTagLabel(prints,icons,label.defaultPrinterName) + }else if (label.printType === 'Hardware(Antenna)'){ + printAntennaLabel(prints,icons,label.defaultPrinterName) + }else if (label.printType === 'RF' || this.currentPart.category === 'RFID'){ + printRF_RFIDLabel(prints,icons,label.defaultPrinterName) + } } if (notFound.length > 0){ this.$message.warning(`The printer ${notFound.join(',')} is not found`) @@ -937,7 +972,7 @@ export default { let labelList = this.labelFormatList.filter((item)=> item.labelType === 'Roll Label') let prints = data.rows.map((item) => { return { - qrCode: `(00)${item.partNo}(01)${item.qtyPerRoll}(02)${item.umName}(03)${item.manufacturerDate}(04)${item.serialNumber? item.serialNumber : ''}(05)${item.manufacturerNo? item.manufacturerNo : ''}(06)${item.moldCode? item.moldCode : ''}(07)(08)${item.rollNo}`, + qrCode: `(00)${item.partNo}(01)${item.qtyPerRoll}(02)${item.umName}(03)${item.manufacturerDate}(04)${item.serialNumber? item.serialNumber : ''}(05)${item.manufacturerNo? item.manufacturerNo : ''}(06)${item.moldCode? item.moldCode : ''}(07)(08)${item.rollNo}(09)(10)`, ref: item.partNo, rev: item.rev, qty: item.qtyPerRoll, @@ -1018,6 +1053,63 @@ export default { this.no = val; this.handleGetExternalPartCustomerPage(); }, + handlePrintLogistic(){ + this.$refs.logisticForm.validate((valid,obj) => { + if (valid){ + this.savePrintLogisticLabel() + }else { + let i = 0 + Object.keys(obj).forEach(key=>{ + if (i++ === 0){ + this.$message.warning(obj[key][0].message) + } + }) + } + }) + }, + savePrintLogisticLabel() { + let params = { + ...this.currentPartLogistic, + createBy: this.$store.state.user.name, + } + this.printLoading = true; + saveLogisticLabelRecord(params).then(({data})=>{ + if (data && data.code === 0){ + let labelList = this.labelFormatList.filter((item)=> item.labelType === 'Logistic Label') + for (let i = 0; i < this.currentPartLogistic.countOfPallets; i++) { + let row = { + qrCode: `(00)${this.currentPartLogistic.partNo? this.currentPartLogistic.partNo : ''}(01)${this.currentPartLogistic.unitQtyPerPallet? this.currentPartLogistic.unitQtyPerPallet : ''}(02)${this.currentPartLogistic.umName? this.currentPartLogistic.umName : ''}(03)(04)(05)(06)(07)(08)(09)(10)${this.currentPartLogistic.partNo? this.currentPartLogistic.partNo : ''}`, + partNo:this.currentPartLogistic.partNo, + partDesc:this.currentPartLogistic.partDesc, + poNo:this.currentPartLogistic.poNo, + qty:this.currentPartLogistic.unitQtyPerPallet, + umName:this.currentPartLogistic.umName, + } + let qrCodeList = this.$refs.qrCode.init([row.qrCode]) + row.qrCode = qrCodeList[0] + let notFound = []; + for (let label of labelList) { + if (!this.printerSetupList.includes(label.defaultPrinterName)) { + notFound.push(label.defaultPrinterName) + continue + } + printLogisticLabel([row],label.defaultPrinterName) + } + if (notFound.length > 0){ + this.$message.warning(`The printer ${notFound.join(',')} is not found`) + return + } + } + this.$message.success(data.msg) + }else { + this.$message.warning(data.msg) + } + this.printLoading = false; + }).catch((error)=>{ + this.$message.error(error) + this.printLoading = false; + }) + } }, mounted () { this.getLodopPrinterName(); @@ -1035,21 +1127,21 @@ export default {