From 79be192b7544d6403e5c4fa52b7a0d1dcb835e8c Mon Sep 17 00:00:00 2001 From: qiezi <15576055375@163.com> Date: Thu, 8 Aug 2024 10:23:15 +0800 Subject: [PATCH] roll label --- src/api/basics/basePicture.js | 6 + src/api/part/externalPartPicture.js | 3 + src/printFormat/roll_label.js | 56 ++++---- src/views/modules/label/printer.vue | 10 +- src/views/modules/part/external.vue | 15 +- src/views/modules/part/picture/picture.vue | 152 ++++++++++++++++++++- 6 files changed, 202 insertions(+), 40 deletions(-) create mode 100644 src/api/basics/basePicture.js diff --git a/src/api/basics/basePicture.js b/src/api/basics/basePicture.js new file mode 100644 index 0000000..8bf5998 --- /dev/null +++ b/src/api/basics/basePicture.js @@ -0,0 +1,6 @@ +import {createAPI} from '../../utils/httpRequest' + +export const basePictureList = (data) => createAPI('/base/picture', 'post', data) + +export const saveBasePicture = (data) => createAPI('/base/picture/save', 'post', data) +export const removeBasePicture = (data) => createAPI('/base/picture/remove', 'post', data) diff --git a/src/api/part/externalPartPicture.js b/src/api/part/externalPartPicture.js index 08e0c17..1b0195a 100644 --- a/src/api/part/externalPartPicture.js +++ b/src/api/part/externalPartPicture.js @@ -5,6 +5,9 @@ export const getExternalPartPicturePartList = (data)=>createAPI(`/part/picture/p export const saveExternalPartPicture = (data)=>createAPI(`/part/picture/save`,'post',data) +export const saveBatchExternalPartPicture = (data)=>createAPI(`/part/picture/save/batch`,'post',data) + export const updateExternalPartPicture = (data)=>createAPI(`/part/picture/update`,'post',data) export const removeExternalPartPicture = (data)=>createAPI(`/part/picture/remove`,'post',data) +export const removeBatchExternalPartPicture = (data)=>createAPI(`/part/picture/remove/batch`,'post',data) diff --git a/src/printFormat/roll_label.js b/src/printFormat/roll_label.js index 878f2f0..76c01da 100644 --- a/src/printFormat/roll_label.js +++ b/src/printFormat/roll_label.js @@ -22,79 +22,83 @@ export const print_roll_label = (printList,printerName)=>{ LODOP.ADD_PRINT_IMAGE(4,100,62,12,""); LODOP.SET_PRINT_STYLEA(0,"Stretch",2); - LODOP.ADD_PRINT_TEXT(17,73,25,20,"REF"); + LODOP.ADD_PRINT_TEXT(15,73,25,20,"REF"); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(27,73,25,20,"QTY"); + LODOP.ADD_PRINT_TEXT(25,73,25,20,"QTY"); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(27,122,25,20,"UOM"); + LODOP.ADD_PRINT_TEXT(25,122,25,20,"UOM"); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(37,73,30,20,"DESC"); + LODOP.ADD_PRINT_TEXT(35,73,30,20,"DESC"); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(17,93,60,20,row.ref); + LODOP.ADD_PRINT_TEXT(15,93,60,20,row.ref); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(27,93,35,20,row.qty); + LODOP.ADD_PRINT_TEXT(25,93,35,20,row.qty); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(27,140,35,20,row.uom); + LODOP.ADD_PRINT_TEXT(25,140,35,20,row.uom); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(37,96,83,35,row.desc); + LODOP.ADD_PRINT_TEXT(35,96,80,35,row.desc); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); if (row.rollLabelRequired === 'Y'){ - LODOP.ADD_PRINT_TEXT(52,73,30,20,"ROLL"); + LODOP.ADD_PRINT_TEXT(55,73,30,20,"ROLL"); }else if (row.serialNumberRequired === 'Y'){ - LODOP.ADD_PRINT_TEXT(52,73,50,20,"SERIAL"); + LODOP.ADD_PRINT_TEXT(55,73,50,20,"SERIAL"); } if (row.rollLabelRequired === 'Y' || row.serialNumberRequired === 'Y'){ LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); } LODOP.ADD_PRINT_TEXT(60,73,29,15,"DATE"); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); LODOP.ADD_PRINT_TEXT(60,95,85,16,row.date); LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); + LODOP.ADD_PRINT_TEXT(55,95,80,20,row.rollNo); + LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); + LODOP.SET_PRINT_STYLEA(0,"Bold",1); if (row.rollLabelRequired === 'Y'){ - LODOP.ADD_PRINT_TEXT(52,95,80,20,row.rollNo); + LODOP.ADD_PRINT_TEXT(55,95,80,20,row.rollNo); }else if (row.serialNumberRequired === 'Y'){ - LODOP.ADD_PRINT_TEXT(52,100,80,20,row.serialNumber); + LODOP.ADD_PRINT_TEXT(55,100,80,20,row.serialNumber); } if (row.rollLabelRequired === 'Y' || row.serialNumberRequired === 'Y'){ LODOP.SET_PRINT_STYLEA(0,"FontName","Arial"); - LODOP.SET_PRINT_STYLEA(0,"FontSize",5); + LODOP.SET_PRINT_STYLEA(0,"FontSize",4); LODOP.SET_PRINT_STYLEA(0,"Bold",1); } - // LODOP.PRINT(); - LODOP.PRINT_DESIGN() + LODOP.PRINT(); + // LODOP.PRINT_DESIGN() } } diff --git a/src/views/modules/label/printer.vue b/src/views/modules/label/printer.vue index 6ff557d..bd09a0f 100644 --- a/src/views/modules/label/printer.vue +++ b/src/views/modules/label/printer.vue @@ -274,7 +274,7 @@ export default { columnProp: "pictureNo", headerAlign: "center", align: "left", - columnLabel: "Document No", + columnLabel: "Certification No", columnHidden: false, columnImage: false, columnSortable: false, @@ -291,7 +291,7 @@ export default { columnProp: "pictureDesc", headerAlign: "center", align: "left", - columnLabel: "Document Desc", + columnLabel: "Certification Desc", columnHidden: false, columnImage: false, columnSortable: false, @@ -905,6 +905,10 @@ export default { } print_roll_label(prints,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) @@ -1057,7 +1061,7 @@ export default { :total="total"> - + diff --git a/src/views/modules/part/external.vue b/src/views/modules/part/external.vue index 7a5ce59..e9563c4 100644 --- a/src/views/modules/part/external.vue +++ b/src/views/modules/part/external.vue @@ -383,7 +383,7 @@ export default { columnProp: "pictureNo", headerAlign: "center", align: "left", - columnLabel: "Document No", + columnLabel: "Certification No", columnHidden: false, columnImage: false, columnSortable: false, @@ -400,7 +400,7 @@ export default { columnProp: "pictureDesc", headerAlign: "center", align: "left", - columnLabel: "Document Desc", + columnLabel: "Certification Desc", columnHidden: false, columnImage: false, columnSortable: false, @@ -742,7 +742,7 @@ export default { }, }, methods:{ - getExternalPartPictureList(){ + getExternalPartPictureList(val){ let params = { partNo: this.currentPart.partNo, site: this.currentPart.site, @@ -750,6 +750,11 @@ export default { getExternalPartPictureList(params).then(({data})=>{ if (data && data.code === 0){ this.pictureList = data.rows; + if (val === true){ + this.$nextTick(()=>{ + this.$refs.picture.handleBasePictureList(); + }) + } }else { this.$message.warning(data.msg) } @@ -1187,8 +1192,8 @@ export default { :total="total"> - - + + diff --git a/src/views/modules/part/picture/picture.vue b/src/views/modules/part/picture/picture.vue index 0c93cb9..393b0b1 100644 --- a/src/views/modules/part/picture/picture.vue +++ b/src/views/modules/part/picture/picture.vue @@ -2,11 +2,21 @@ import VueCookie from 'vue-cookie' import ElImageViewer from 'element-ui/packages/image/src/image-viewer' import dayjs from 'dayjs' -import {removeExternalPartPicture, updateExternalPartPicture} from '../../../../api/part/externalPartPicture' +import { + removeBatchExternalPartPicture, + removeExternalPartPicture, + saveBatchExternalPartPicture, + updateExternalPartPicture +} from '../../../../api/part/externalPartPicture' +import {basePictureList} from '../../../../api/basics/basePicture' let picture = { pictureNo: '', pictureDesc: '', } +let basePicture = { + pictureDesc: '', + pictureFileName: '', +} let baseUrl = process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi' : window.SITE_CONFIG['baseUrl'] @@ -52,6 +62,14 @@ export default { pictureDesc: [{ required: true, message: 'Picture Description is required', trigger: ['blur', 'change']}], }, previewVisible:false, + basePictureLoading:false, + basePictureList:[], + basePictureVisible:false, + basePicture:{ + ...basePicture + }, + selectBasePictureList:[], + selectPictureList:[], } }, methods:{ @@ -81,6 +99,28 @@ export default { } }); }, + saveBatchPicture(){ + if (this.selectBasePictureList.length === 0){ + this.$message.warning('Please select Picture') + return + } + let pictureList = this.selectBasePictureList.map(item=>{ + item.partNo = this.part.partNo + item.site = this.part.site + item.createBy = this.$store.state.user.name + return item + }) + saveBatchExternalPartPicture(pictureList).then(({data})=>{ + if (data && data.code === 0){ + this.$emit('refresh',true) + this.$message.success(data.msg) + }else { + this.$message.warning(data.msg) + } + }).catch((error)=>{ + this.$message.error(error) + }) + }, closePartPicture(){ this.picture = { ...picture @@ -111,6 +151,22 @@ export default { this.$message.error(error) }) }, + handleRemoveBatchExternalPartPicture(){ + if (this.selectPictureList.length === 0){ + this.$message.warning('Please select Picture') + return + } + removeBatchExternalPartPicture(this.selectPictureList).then(({data})=>{ + if (data && data.code === 0){ + this.$emit('refresh',true) + this.$message.success(data.msg) + }else { + this.$message.warning(data.msg) + } + }).catch((error)=>{ + this.$message.error(error) + }) + }, handleUpdate(row){ this.picture = { ...row, @@ -155,6 +211,38 @@ export default { this.urlList.push(row.pictureUrl); this.previewVisible = true; }, + saveBaseHandler(){ + this.basePicture = { + ...basePicture, + } + this.handleBasePictureList(); + this.basePictureVisible = true; + }, + handleBasePictureList(){ + let filter = this.dataList.map(item=>item.basePictureNo).filter(item=>item>0) + let params = { + ...this.basePicture, + pictureNos:filter + } + this.basePictureLoading = true + basePictureList(params).then(({data})=>{ + if (data && data.code === 0){ + this.basePictureList = data.rows + }else { + this.$message.warning(data.msg) + } + this.basePictureLoading = false + }).catch((error)=>{ + this.basePictureLoading = false + this.$message.error(error) + }) + }, + handleBaseSelectionChange(val){ + this.selectBasePictureList = val; + }, + handleSelectionChange(val){ + this.selectPictureList = val; + }, }, created () { @@ -165,7 +253,8 @@ export default { - New Picture + New Certification + New Certification Edit Delete - View + View - - + + @@ -211,7 +300,7 @@ export default { - + @@ -229,6 +318,57 @@ export default { Cancel + + + + + + + + + + + + + + + + + Query + + + + + + + + + + + + View + + + + + Save + Delete + + + + + + + + View + + + + + +