diff --git a/package-lock.json b/package-lock.json index 065436f..d52fcf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4280,6 +4280,11 @@ } } }, + "dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -4545,11 +4550,21 @@ } } }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, + "encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -16339,6 +16354,11 @@ "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", "dev": true }, + "pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" + }, "portfinder": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", @@ -17465,6 +17485,183 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, + "qrcode": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "requires": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", diff --git a/package.json b/package.json index 7ab7206..6b09e27 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "node-sass": "4.13.1", "npm": "^6.9.0", "pubsub-js": "^1.9.3", + "qrcode": "^1.5.3", "sass-loader": "6.0.6", "svg-sprite-loader": "3.7.3", "vue": "2.6.10", diff --git a/src/api/category/categoty.js b/src/api/category/categoty.js new file mode 100644 index 0000000..3a1c97d --- /dev/null +++ b/src/api/category/categoty.js @@ -0,0 +1,3 @@ +import {createAPI} from '../../utils/httpRequest' + +export const getCategoryList = (data) => createAPI('part/category/list','post', data) diff --git a/src/api/label/labelFormatUserDefault.js b/src/api/label/labelFormatUserDefault.js index 4255486..438dc71 100644 --- a/src/api/label/labelFormatUserDefault.js +++ b/src/api/label/labelFormatUserDefault.js @@ -9,5 +9,6 @@ export const updateLabelFormatUserDefault = (data) => createAPI(`/label/format/u export const removeLabelFormatUserDefault = (data) => createAPI(`/label/format/user/default/remove`,'post',data) export const selectLabelFormatUserDefaultListByUserId = (data) => createAPI(`/label/format/user/default/user/list`,'post',data) export const selectLabelFormatUserDefaultPrintListByUserId = (data) => createAPI(`/label/format/user/default/user/print/list`,'post',data) +export const getRollPrinterNameList = (data) => createAPI(`/label/format/user/default/user/roll`,'post',data) diff --git a/src/api/label/printRollLabelRecord.js b/src/api/label/printRollLabelRecord.js new file mode 100644 index 0000000..441afe4 --- /dev/null +++ b/src/api/label/printRollLabelRecord.js @@ -0,0 +1,4 @@ +import {createAPI} from '../../utils/httpRequest' + +export const getPrintRollLabelRecordPage = (data,no,size) => createAPI(`/label/print/roll/record/page/${no}/${size}`,'post',data) +export const savePrintRollLabelRecord = (data) => createAPI(`/label/print/roll/record/save`,'post',data) diff --git a/src/printFormat/roll_label.js b/src/printFormat/roll_label.js new file mode 100644 index 0000000..fb2c687 --- /dev/null +++ b/src/printFormat/roll_label.js @@ -0,0 +1,77 @@ +import getLodop from '@/utils/LodopFuncs.js' + +const ckpLogo = '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' + +export const print_roll_label = (printList,printerName)=>{ + const LODOP = getLodop() + if (LODOP){ + 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.ADD_PRINT_IMAGE(2,-2,"20mm","20mm",``); + LODOP.SET_PRINT_STYLEA(0,"Stretch",2); + LODOP.ADD_PRINT_IMAGE(4,126,62,12,""); + LODOP.SET_PRINT_STYLEA(0,"Stretch",2); + + LODOP.ADD_PRINT_TEXT(17,78,25,20,"REF"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(17,132,25,20,"QTY"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(27,78,30,20,"DESC"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(17,98,40,20,row.ref); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(17,150,35,20,row.qty); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(27,101,83,35,row.desc); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(48,78,30,20,"ROLL"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + + LODOP.ADD_PRINT_TEXT(66,78,29,15,"DATE"); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(66,100,85,16,row.date); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + + LODOP.ADD_PRINT_TEXT(48,100,80,20,row.rollNo); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); + LODOP.PRINT(); + } + } + +} diff --git a/src/views/modules/label/QrCode.vue b/src/views/modules/label/QrCode.vue new file mode 100644 index 0000000..f56ad4c --- /dev/null +++ b/src/views/modules/label/QrCode.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/views/modules/label/format.vue b/src/views/modules/label/format.vue index 6e9d944..2aac5bb 100644 --- a/src/views/modules/label/format.vue +++ b/src/views/modules/label/format.vue @@ -410,6 +410,7 @@ export default { + @@ -474,6 +475,7 @@ export default { + diff --git a/src/views/modules/label/printer.vue b/src/views/modules/label/printer.vue index c932730..a071170 100644 --- a/src/views/modules/label/printer.vue +++ b/src/views/modules/label/printer.vue @@ -16,6 +16,10 @@ import {printRF_RFIDLabel} from '../../../printFormat/RF_RFID' import getLodop from '@/utils/LodopFuncs.js' import {getTableDefaultListLanguage, getTableUserListLanguage} from '../../../api/table' +import {getCategoryList} from '../../../api/category/categoty' +import QrCode from './QrCode.vue' +import {savePrintRollLabelRecord} from '../../../api/label/printRollLabelRecord' +import {print_roll_label} from '../../../printFormat/roll_label' const printer = { customerNo: '', @@ -36,10 +40,11 @@ const printer = { serialNumberRequired: '', qtyPerRoll: 0, rollsPerCarton: 0, + orderNo: '', } export default { name: 'printer', - components: { LinkedFormat, CustomerInfo, ExternalPart, PictureModule}, + components: {QrCode, LinkedFormat, CustomerInfo, ExternalPart, PictureModule}, props:{ height:{ type:Number, @@ -56,10 +61,7 @@ export default { ...printer }, partCategoryList:[ - {categoryNo:'Hardware(Antenna)',categoryDesc:'Hardware(Antenna)',manufacturerRequired:'N',moldCodeRequired:'N',serialNumberRequired:'Y'}, - {categoryNo:'Alpha/Hard Tag',categoryDesc:'Alpha/Hard Tag',manufacturerRequired:'Y',moldCodeRequired:'Y',serialNumberRequired:'Y'}, - {categoryNo:'RF',categoryDesc:'RF',manufacturerRequired:'N',moldCodeRequired:'N',serialNumberRequired:'N'}, - {categoryNo:'RFID',categoryDesc:'RFID',manufacturerRequired:'N',moldCodeRequired:'N',serialNumberRequired:'N'}, + ], partVisible:false, customerVisible:false, @@ -83,6 +85,7 @@ export default { totalShipQty: [{required: true, message: 'Please input Total Ship Qty', trigger: ['blur','change']}], 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']}], }, columnList:[ { @@ -470,6 +473,7 @@ export default { manufacturerList:[], labelFormatList:[], base64List:[], + status:0, } }, watch:{ @@ -542,17 +546,11 @@ export default { this.$message.error(error) }) }, - handlePrint(){ + handlePrint(status){ if (this.labelFormatList.length === 0){ this.$message.warning("There is no maintenance of print label format") return } - for (let label of this.labelFormatList) { - if (!label.defaultPrinterName){ - this.$message.warning("The default printer name is not set") - return - } - } this.printCurrentPart = JSON.parse(JSON.stringify(this.currentPart)) this.$set(this.printCurrentPart,'cartonCount',1) this.$set(this.printCurrentPart,'manufacturerNo','') @@ -576,6 +574,21 @@ export default { if (this.currentPart.moldCodeRequired === 'Y'){ this.printCurrentPart.moldCode = this.currentPart.moldCode; } + let labelList = []; + if (status === 1){ + labelList = this.labelFormatList.filter((item)=> item.labelType === 'Roll Label') + this.printCurrentPart.rollsPerCarton = 1; + this.$set(this.printCurrentPart,'orderNo','') + }else { + labelList = this.labelFormatList.filter((item)=> item.labelType === 'Shipment Carton') + } + for (let label of labelList) { + if (!label.defaultPrinterName){ + this.$message.warning("The default printer name is not set") + return + } + } + this.status = status; this.printVisible = true; }, getExternalPartManufacturerList(){ @@ -599,7 +612,11 @@ export default { handlePrintOrSave(){ this.$refs.printForm.validate((valid,obj) => { if (valid){ - this.savePrintLabelRecord(); + if(this.status === 0){ + this.savePrintLabelRecord(); + }else if (this.status === 1){ + this.savePrintRollLabelRecord(); + } }else { for (let i = 0; i < Object.keys(obj).length; i++) { this.$message.warning(obj[Object.keys(obj)[i]][0].message) @@ -619,7 +636,8 @@ export default { if (data && data.code === 0) { let notFound = []; // 打印机集合 - for (let label of this.labelFormatList) { + let labelList = this.labelFormatList.filter((item)=> item.labelType === 'Shipment Carton') + for (let label of labelList) { let prints = data.rows.map((item) => { return { qrCode: `(00)${item.partNo}(01)${item.qtyPerCarton}(02)${item.umName}(03)${item.manufacturerDate}(04)${item.serialNumber}(05)${item.manufacturerNo}(06)${item.moldCode}(07)${item.boxNo}(08)`, @@ -751,7 +769,7 @@ export default { }) }, -// 获取 tableDefault 列 + // 获取 tableDefault 列 async getColumnList (tableId, columnId) { let queryTable = { functionId: this.$route.meta.menuId, @@ -786,16 +804,81 @@ export default { }, totalShipQty(){ return new Decimal(this.printCurrentPart.qtyPerCarton).mul(this.printCurrentPart.cartonCount).toNumber() + }, + getCategoryList(){ + let params = {}; + getCategoryList(params).then(({data})=>{ + if (data && data.code === 0){ + this.partCategoryList = data.rows; + }else { + this.$message.warning(data.msg) + } + }).catch((error)=>{ + this.$message.error(error) + }) + }, + savePrintRollLabelRecord(){ + // 新增 打印记录 + let params = { + ...this.printCurrentPart + } + // 请求接口 + savePrintRollLabelRecord(params).then(({data})=>{ + if (data && data.code === 0) { + 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}`, + ref: item.partNo, + rev: item.rev, + qty: item.qtyPerRoll, + uom: item.umName, + desc: item.partDesc, + date: item.manufacturerDate, + manufacturer: item.manufacturerNo, + moldCode: item.moldCode, + rollNo: item.rollNo, + sn: item.serialNumber, + } + }); + let qrCodeList = this.$refs.qrCode.init(prints.map((item)=>{ + return item.qrCode + })) + for (let i = 0; i < qrCodeList.length; i++) { + prints[i].qrCode = qrCodeList[i] + } + let notFound = []; + for (let label of labelList) { + if (!this.printerSetupList.includes(label.defaultPrinterName)) { + notFound.push(label.defaultPrinterName) + continue + } + print_roll_label(prints,label.defaultPrinterName) + } + }else { + this.$message.warning(data.msg) + } + }).catch((error)=>{ + this.$message.error(error) + }) + }, + loadQrCode(){ + let arr = ['2','4','6','8'] + console.log(this.$refs.qrCode.init(arr)) + }, + getLodopPrinterName(){ + const lodop = getLodop() + for (let i = 0; i < lodop.GET_PRINTER_COUNT(); i++) { + this.printerSetupList.push(lodop.GET_PRINTER_NAME(i)) + } } }, mounted () { - const lodop = getLodop() - for (let i = 0; i < lodop.GET_PRINTER_COUNT(); i++) { - this.printerSetupList.push(lodop.GET_PRINTER_NAME(i)) - } + this.getLodopPrinterName(); }, created () { this.getExternalPartCustomerList(); + this.getCategoryList(); this.getTableUserColumn("30004Table",1) this.getTableUserColumn("30004Table2",2) this.getTableUserColumn("30004Table3",3) @@ -848,20 +931,22 @@ export default { - + - + - + - Print + Print-Carton Label + Print-Roll Label + - + + + + + + - + @@ -910,7 +1000,7 @@ export default { - + @@ -918,7 +1008,7 @@ export default { - + @@ -926,7 +1016,7 @@ export default { - + @@ -934,7 +1024,7 @@ export default { - + @@ -951,7 +1041,7 @@ export default { - + diff --git a/src/views/modules/label/roll.vue b/src/views/modules/label/roll.vue new file mode 100644 index 0000000..336d104 --- /dev/null +++ b/src/views/modules/label/roll.vue @@ -0,0 +1,609 @@ + + + + + diff --git a/src/views/modules/label/userDefault.vue b/src/views/modules/label/userDefault.vue index d4cdeff..cb80776 100644 --- a/src/views/modules/label/userDefault.vue +++ b/src/views/modules/label/userDefault.vue @@ -286,6 +286,7 @@ export default { + diff --git a/src/views/modules/part/external.vue b/src/views/modules/part/external.vue index 79dd954..43866f3 100644 --- a/src/views/modules/part/external.vue +++ b/src/views/modules/part/external.vue @@ -15,6 +15,7 @@ import LinkedManufacturer from './manufacturer/linkedManufacturer.vue' import {getExternalPartManufacturerList} from '../../../api/part/externalPartManufacturer' import {getTableDefaultListLanguage, getTableUserListLanguage} from '../../../api/table' import {Decimal} from 'decimal.js' +import {getCategoryList} from '../../../api/category/categoty' let part = { site:'', @@ -54,10 +55,7 @@ export default { active:'Y', }, partCategoryList:[ - {categoryNo:'Hardware(Antenna)',categoryDesc:'Hardware(Antenna)',manufacturerRequired:'N',moldCodeRequired:'N',serialNumberRequired:'Y'}, - {categoryNo:'Alpha/Hard Tag',categoryDesc:'Alpha/Hard Tag',manufacturerRequired:'Y',moldCodeRequired:'Y',serialNumberRequired:'Y'}, - {categoryNo:'RF',categoryDesc:'RF',manufacturerRequired:'N',moldCodeRequired:'N',serialNumberRequired:'N'}, - {categoryNo:'RFID',categoryDesc:'RFID',manufacturerRequired:'N',moldCodeRequired:'N',serialNumberRequired:'N'}, + ], partRules:{ partNo: [{ required: true, message: 'Please input Part No', trigger: ['blur','change'] }], @@ -704,11 +702,17 @@ export default { this.savePart.partNo = newVal.toUpperCase() }, "savePart.category"(newVal,oldVal){ - const category = this.partCategoryList.find((item)=>item.categoryNo === newVal); + const category = this.partCategoryList.find((item)=>item.categoryValue === newVal); if (category){ this.savePart.manufacturerRequired = category.manufacturerRequired; this.savePart.moldCodeRequired = category.moldCodeRequired; this.savePart.serialNumberRequired = category.serialNumberRequired; + this.savePart.rollLabelRequired = category.rollLabelRequired; + if (this.savePart.serialNumberRequired === 'Y'){ + this.savePart.qtyPerRoll = 1; + this.savePart.rollsPerCarton = 1; + this.savePart.qtyPerCarton = 1; + } } }, "part.partNo"(newVal,oldVal){ @@ -818,7 +822,7 @@ export default { moldCodeRequired: 'N', serialNumberRequired: 'N', } - this.savePart.category = this.partCategoryList.length > 0 ? this.partCategoryList[0].categoryNo : '' + this.savePart.category = this.partCategoryList.length > 0 ? this.partCategoryList[0].categoryValue : '' this.savePartVisible = true; } }, @@ -1005,12 +1009,25 @@ export default { qtyPerCarton(){ return new Decimal(this.savePart.qtyPerRoll).mul(this.savePart.rollsPerCarton).toNumber(); }, + getCategoryList(){ + let params = {}; + getCategoryList(params).then(({data})=>{ + if (data && data.code === 0){ + this.partCategoryList = data.rows; + }else { + this.$message.warning(data.msg) + } + }).catch((error)=>{ + this.$message.error(error) + }) + }, }, computed:{ }, created () { this.selectUnitList(); + this.getCategoryList(); this.selectExternalPartList(); this.getTableUserColumn("10002Table", 1) this.getTableUserColumn("10002Table2", 2) @@ -1032,7 +1049,7 @@ export default { - + @@ -1106,7 +1123,7 @@ export default { - + @@ -1127,12 +1144,12 @@ export default { - + - +