From 0f5a519a6c022878271eefc7fd3f3f18e27e115b Mon Sep 17 00:00:00 2001 From: "[li_she]" <[li.she@xujiesoft.com]> Date: Mon, 25 Jul 2022 09:40:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=85=B7=202022=E5=B9=B47=E6=9C=8825?= =?UTF-8?q?=E6=97=A5=20sxm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/knifemold/tool-info.js | 9 + src/views/modules/knifemold/receive.vue | 303 +++++-- src/views/modules/knifemold/tool-info.vue | 799 ++++++++++++------ .../modules/purchaseorder/approvalRecord.vue | 8 +- .../shopOrder/common/routingAddAndEdit.vue | 5 +- src/views/modules/sys/user.vue | 4 +- 6 files changed, 767 insertions(+), 361 deletions(-) diff --git a/src/api/knifemold/tool-info.js b/src/api/knifemold/tool-info.js index d0a62ad..bbbbb45 100644 --- a/src/api/knifemold/tool-info.js +++ b/src/api/knifemold/tool-info.js @@ -15,9 +15,18 @@ export const getSfdcToolingHistList = data => createAPI(`toolInfo/getSfdcTooling // 获取工具使用记录 export const getToolHeaderList = data => createAPI(`toolInfo/getToolHeaderList`,'POST',data) +// 编辑 工具主表信息 +export const editToolHeader = data => createAPI(`toolInfo/editToolHeader`,'POST',data) +// 保存 工具主表信息 +export const saveToolHeader = data => createAPI(`toolInfo/saveToolHeader`,'POST',data) + + // 获取工具使用记录 export const updateToolDetail = data => createAPI(`toolInfo/updateToolDetail`,'POST',data) +// 添加工具实例 +export const saveToolInfoDetail = data => createAPI(`toolInfo/saveToolInfoDetail`,'POST',data) + // 获取工具打印 export const printTool = data => createAPI(`toolMan/printTool`,'POST',data) diff --git a/src/views/modules/knifemold/receive.vue b/src/views/modules/knifemold/receive.vue index dd3ff32..9a4e1fe 100644 --- a/src/views/modules/knifemold/receive.vue +++ b/src/views/modules/knifemold/receive.vue @@ -130,6 +130,9 @@ {{buttons.generate}} {{buttons.toolLabel}} {{buttons.screenLabel}} + + {{buttons.manualGenerate}} + @@ -186,6 +189,33 @@ + + 手工设置工具实例编码 + + + + + + + + + + + + + + + + + + + + {{'确定'}} + {{'关闭'}} + + @@ -320,6 +350,7 @@ }, data() { return { + toolCodeFlag: false, pdfUrl: '', fileList: [], //设置 @@ -356,18 +387,21 @@ pdfVisible: false, torNumacc: '', torNumdown: '', - //生成按钮是否可用 + // 生成按钮是否可用 generateFlag: false, - //接收数量 + // 接收数量 receiveQuantity: '', - //使用寿命 + // 使用寿命 serviceLife: '', - //检验方式 + // 检验方式 radio: '', - //录入库位 + // 录入库位 locationNo: '', - //入库价格 + // 入库价格 invoicePrice: 0, + // 手工实例 + toolInstanceId: '', + manual: 'N', site: this.$store.state.user.site, addLanguage: false, functionId: this.$route.meta.menuId, @@ -751,6 +785,7 @@ settingTable: '设置列表', defaultTable: '设置默认配置', generate: "生成", + manualGenerate: "手动生成", print: '打印', appendixInfo: '附件信息', fileDownload: '下载', @@ -859,7 +894,7 @@ } }, activated() { - // this.getDataList() + // this.getDataList() this.initViewIfsTable(); this.getLanguageList() }, @@ -875,6 +910,9 @@ locationNo() { this.locationNo = this.locationNo.toUpperCase() }, + toolInstanceId() { + this.toolInstanceId = this.toolInstanceId.toUpperCase() + }, poToolFlag() { if (this.poToolFlag == false) { this.initViewIfsTable() @@ -918,21 +956,21 @@ if (data.code == 0) { let printDataList = [] for (const item of this.currSelectList) { - let printData = { - SupplierName: data.data.SupplierName, - createDate: data.data.createDate, - createdBy: data.data.createdBy, - estUseQty: data.data.estUseQty, - locationId: data.data.locationId, - phaseInDate: data.data.phaseInDate, - site:data.data.site, - spec: data.data.spec, - status:data.data.status, - supplierId: data.data.supplierId, - toolDescription: data.data.toolDescription, - toolId:data.data.toolId, - toolInstanceId: item.toolInstanceId - } + let printData = { + SupplierName: data.data.SupplierName, + createDate: data.data.createDate, + createdBy: data.data.createdBy, + estUseQty: data.data.estUseQty, + locationId: data.data.locationId, + phaseInDate: data.data.phaseInDate, + site: data.data.site, + spec: data.data.spec, + status: data.data.status, + supplierId: data.data.supplierId, + toolDescription: data.data.toolDescription, + toolId: data.data.toolId, + toolInstanceId: item.toolInstanceId + } printDataList.push(printData) } if (val == 'Y') { @@ -950,27 +988,27 @@ //LODOP.SET_LICENSES("", "13F0BE83846277CB60918577C6281375", "", ""); LODOP.SET_LICENSES("", "7B5624CC84E599D6B17F27DF40F4310C", "", ""); //循环调用打印机 - for(let i = 0; i < printDataList.length; i++){ + for (let i = 0; i < printDataList.length; i++) { let printData = printDataList[i] LODOP.NewPage(); - LODOP.SET_PRINT_PAGESIZE(0,700,180,""); - LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1); - LODOP.ADD_PRINT_RECT(2,5,250,67,0,1); - LODOP.ADD_PRINT_LINE(19,5,18,255,0,1); - LODOP.ADD_PRINT_LINE(36,5,35,205,0,1); - LODOP.ADD_PRINT_LINE(54,5,53,205,0,1); - LODOP.ADD_PRINT_LINE(2,65,69,66,0,1); - LODOP.ADD_PRINT_LINE(68,205,18,206,0,1); - LODOP.ADD_PRINT_BARCODE(21,208,90,60,"QRCode",printData.toolInstanceId); - LODOP.ADD_PRINT_TEXT(5,9,60,14,"工具名称"); - LODOP.ADD_PRINT_TEXT(21,9,60,15,"工具编号"); - LODOP.ADD_PRINT_TEXT(38,9,60,15,"实例编号"); - LODOP.ADD_PRINT_TEXT(55,9,60,15,"经办人"); - LODOP.ADD_PRINT_TEXT(4,70,180,14,printData.toolDescription); - LODOP.SET_PRINT_STYLEA(0,"Alignment",2); - LODOP.ADD_PRINT_TEXT(21,71,133,14,printData.toolId); - LODOP.ADD_PRINT_TEXT(39,71,133,14,printData.toolInstanceId); - LODOP.ADD_PRINT_TEXT(55,71,133,14,printData.createdBy); + LODOP.SET_PRINT_PAGESIZE(0, 700, 180, ""); + LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", 1); + LODOP.ADD_PRINT_RECT(2, 5, 250, 67, 0, 1); + LODOP.ADD_PRINT_LINE(19, 5, 18, 255, 0, 1); + LODOP.ADD_PRINT_LINE(36, 5, 35, 205, 0, 1); + LODOP.ADD_PRINT_LINE(54, 5, 53, 205, 0, 1); + LODOP.ADD_PRINT_LINE(2, 65, 69, 66, 0, 1); + LODOP.ADD_PRINT_LINE(68, 205, 18, 206, 0, 1); + LODOP.ADD_PRINT_BARCODE(21, 208, 90, 60, "QRCode", printData.toolInstanceId); + LODOP.ADD_PRINT_TEXT(5, 9, 60, 14, "工具名称"); + LODOP.ADD_PRINT_TEXT(21, 9, 60, 15, "工具编号"); + LODOP.ADD_PRINT_TEXT(38, 9, 60, 15, "实例编号"); + LODOP.ADD_PRINT_TEXT(55, 9, 60, 15, "经办人"); + LODOP.ADD_PRINT_TEXT(4, 70, 180, 14, printData.toolDescription); + LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); + LODOP.ADD_PRINT_TEXT(21, 71, 133, 14, printData.toolId); + LODOP.ADD_PRINT_TEXT(39, 71, 133, 14, printData.toolInstanceId); + LODOP.ADD_PRINT_TEXT(55, 71, 133, 14, printData.createdBy); } //LODOP.PRINT_DESIGN(); //LODOP.PREVIEW(); @@ -984,45 +1022,44 @@ //LODOP.SET_LICENSES("", "13F0BE83846277CB60918577C6281375", "", ""); LODOP.SET_LICENSES("", "7B5624CC84E599D6B17F27DF40F4310C", "", ""); //循环调用打印机 - for(let i = 0; i < printDataList.length; i++){ + for (let i = 0; i < printDataList.length; i++) { let printData = printDataList[i] LODOP.NewPage(); - LODOP.SET_PRINT_PAGESIZE(0,700,540,""); - LODOP.ADD_PRINT_RECT(6,5,250,190,0,1); - LODOP.ADD_PRINT_LINE(24,5,23,255,0,1); - LODOP.ADD_PRINT_LINE(41,5,40,255,0,1); - LODOP.ADD_PRINT_LINE(58,5,57,255,0,1); - LODOP.ADD_PRINT_LINE(75,5,74,255,0,1); - LODOP.ADD_PRINT_LINE(92,5,91,255,0,1); - LODOP.ADD_PRINT_LINE(109,5,108,255,0,1); - LODOP.ADD_PRINT_LINE(126,5,125,178,0,1); - LODOP.ADD_PRINT_LINE(144,5,143,178,0,1); - LODOP.ADD_PRINT_LINE(162,5,161,178,0,1); - LODOP.ADD_PRINT_LINE(179,5,178,255,0,1); - LODOP.ADD_PRINT_LINE(23,65,195,66,0,1); - LODOP.ADD_PRINT_LINE(178,177,108,178,0,1); - LODOP.ADD_PRINT_BARCODE(110,183,110,85,"QRCode",printData.toolInstanceId); - LODOP.ADD_PRINT_TEXT(9,94,100,14,"工具标签"); - LODOP.SET_PRINT_STYLEA(0,"Bold",1); - LODOP.ADD_PRINT_TEXT(26,9,60,14,"工具名称"); - LODOP.ADD_PRINT_TEXT(43,9,60,15,"规格型号"); - LODOP.ADD_PRINT_TEXT(60,9,60,15,"工具编号"); - LODOP.ADD_PRINT_TEXT(77,9,60,15,"实例编号"); - LODOP.ADD_PRINT_TEXT(94,9,60,15,"厂商"); - LODOP.ADD_PRINT_TEXT(111,9,60,15,"入库日期"); - LODOP.ADD_PRINT_TEXT(129,9,60,15,"库位"); - LODOP.ADD_PRINT_TEXT(147,9,60,15,"经办人"); - LODOP.ADD_PRINT_TEXT(181,9,60,15,"检验签章"); - LODOP.ADD_PRINT_TEXT(25,72,180,14,printData.toolDescription); - LODOP.SET_PRINT_STYLEA(0,"Alignment",2); - LODOP.ADD_PRINT_TEXT(42,72,180,14,""); // 规格 - LODOP.ADD_PRINT_TEXT(60,72,180,14,printData.toolId); - LODOP.ADD_PRINT_TEXT(78,71,180,14,printData.toolInstanceId); - LODOP.ADD_PRINT_TEXT(94,71,180,14,printData.SupplierName); - LODOP.ADD_PRINT_TEXT(111,71,95,14,this.dayjs(printData.createDate).format("YYYY-MM-DD")); - LODOP.ADD_PRINT_TEXT(130,71,95,14,printData.locationId); - LODOP.ADD_PRINT_TEXT(148,71,95,14,printData.createdBy); - + LODOP.SET_PRINT_PAGESIZE(0, 700, 540, ""); + LODOP.ADD_PRINT_RECT(6, 5, 250, 190, 0, 1); + LODOP.ADD_PRINT_LINE(24, 5, 23, 255, 0, 1); + LODOP.ADD_PRINT_LINE(41, 5, 40, 255, 0, 1); + LODOP.ADD_PRINT_LINE(58, 5, 57, 255, 0, 1); + LODOP.ADD_PRINT_LINE(75, 5, 74, 255, 0, 1); + LODOP.ADD_PRINT_LINE(92, 5, 91, 255, 0, 1); + LODOP.ADD_PRINT_LINE(109, 5, 108, 255, 0, 1); + LODOP.ADD_PRINT_LINE(126, 5, 125, 178, 0, 1); + LODOP.ADD_PRINT_LINE(144, 5, 143, 178, 0, 1); + LODOP.ADD_PRINT_LINE(162, 5, 161, 178, 0, 1); + LODOP.ADD_PRINT_LINE(179, 5, 178, 255, 0, 1); + LODOP.ADD_PRINT_LINE(23, 65, 195, 66, 0, 1); + LODOP.ADD_PRINT_LINE(178, 177, 108, 178, 0, 1); + LODOP.ADD_PRINT_BARCODE(110, 183, 110, 85, "QRCode", printData.toolInstanceId); + LODOP.ADD_PRINT_TEXT(9, 94, 100, 14, "工具标签"); + LODOP.SET_PRINT_STYLEA(0, "Bold", 1); + LODOP.ADD_PRINT_TEXT(26, 9, 60, 14, "工具名称"); + LODOP.ADD_PRINT_TEXT(43, 9, 60, 15, "规格型号"); + LODOP.ADD_PRINT_TEXT(60, 9, 60, 15, "工具编号"); + LODOP.ADD_PRINT_TEXT(77, 9, 60, 15, "实例编号"); + LODOP.ADD_PRINT_TEXT(94, 9, 60, 15, "厂商"); + LODOP.ADD_PRINT_TEXT(111, 9, 60, 15, "入库日期"); + LODOP.ADD_PRINT_TEXT(129, 9, 60, 15, "库位"); + LODOP.ADD_PRINT_TEXT(147, 9, 60, 15, "经办人"); + LODOP.ADD_PRINT_TEXT(181, 9, 60, 15, "检验签章"); + LODOP.ADD_PRINT_TEXT(25, 72, 180, 14, printData.toolDescription); + LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); + LODOP.ADD_PRINT_TEXT(42, 72, 180, 14, ""); // 规格 + LODOP.ADD_PRINT_TEXT(60, 72, 180, 14, printData.toolId); + LODOP.ADD_PRINT_TEXT(78, 71, 180, 14, printData.toolInstanceId); + LODOP.ADD_PRINT_TEXT(94, 71, 180, 14, printData.SupplierName); + LODOP.ADD_PRINT_TEXT(111, 71, 95, 14, this.dayjs(printData.createDate).format("YYYY-MM-DD")); + LODOP.ADD_PRINT_TEXT(130, 71, 95, 14, printData.locationId); + LODOP.ADD_PRINT_TEXT(148, 71, 95, 14, printData.createdBy); } @@ -1163,26 +1200,120 @@ } }) }, - //检验生成事件 - initMailFlag() { + // 手工生成 + setToolInstanceId() { + this.toolCodeFlag = true + this.toolInstanceId = '' + }, + manualInitMailFlag(){ this.generateFlag = true - /*if(this.radio != 'Y' && this.radio != 'N'){ - this.$alert('请选择检验方式!', '检验方式', { + if (this.toolInstanceId == null || this.toolInstanceId == '') { + this.$alert('请输入工具实例编码!', '接收数量', { + confirmButtonText: '确定', + callback: action => { + this.receiveQuantity = this.ifsToolData.quantity - this.ifsToolData.generateQuantity + this.generateFlag = false + } + }); + return + } else if (this.receiveQuantity == null || this.receiveQuantity == '') { + this.$alert('请输入接收数量!', '接收数量', { + confirmButtonText: '确定', + callback: action => { + this.receiveQuantity = this.ifsToolData.quantity - this.ifsToolData.generateQuantity + this.generateFlag = false + } + }); + return + } else if (this.receiveQuantity <= 0) { + this.$alert('请输入正确的接收数量!', '接收数量', { + confirmButtonText: '确定', + callback: action => { + this.receiveQuantity = this.ifsToolData.quantity - this.ifsToolData.generateQuantity + this.generateFlag = false + } + }); + return + } else if (this.serviceLife == null || this.serviceLife == '') { + this.$alert('请输入使用寿命!', '使用寿命', { + confirmButtonText: '确定', + callback: action => { + this.serviceLife = 0 + this.generateFlag = false + } + }); + return + } else if (this.serviceLife <= 0) { + this.$alert('请输入正确的使用寿命!', '使用寿命', { confirmButtonText: '确定', callback: action => { + this.serviceLife = 0 this.generateFlag = false } }); return - }else if(this.radio == 'Y' && (this.locationNo == null || this.locationNo == '')){ - this.$alert('请输入录入库位!', '录入库位', { + } else if (this.invoicePrice <= 0) { + this.$alert('请输入入库价格!', '使用寿命', { confirmButtonText: '确定', callback: action => { + this.serviceLife = 0 this.generateFlag = false } }); return - }else*/ + } + if (this.radio == 'N') { + this.manualSaveToolInstanceId() + } else { + this.manualSaveToolInstanceId() + } + }, + manualSaveToolInstanceId(){ + let status; + if (this.radio == "Y") { + status = "出库" + } else { + status = "未投用" + } + let saveData = { + site: this.site, + toolId: this.ifsToolData.toolId, + description: this.ifsToolData.description, + userName: this.$store.state.user.name, + locationId: this.locationNo, + vendorNo: this.ifsToolData.vendorNo, + status: status, + estUseQty: this.serviceLife, + torNumacc: this.ifsToolData.torNumacc, + torNumdown: this.ifsToolData.torNumdown, + transactionId: this.ifsToolData.transactionId, + receiveQuantity: this.receiveQuantity, + type: this.radio, + orderNo: this.ifsToolData.orderNo, + releaseNo: this.ifsToolData.releaseNo, + sequenceNo: this.ifsToolData.sequenceNo, + lineItemNo: this.ifsToolData.lineItemNo, + vendorName: this.ifsToolData.vendorName, + invoicePrice: this.invoicePrice, + manual: 'Y', + toolInstanceId: this.toolInstanceId + } + let currQty = this.receiveQuantity + saveToolDetail(saveData).then(({data}) => { + this.generateFlag = false + if (data.code == 0) { + this.ifsToolData.generateQuantity += parseInt(currQty) + this.initPoToolTable() + this.toolCodeFlag = false + this.$message.success(data.msg) + } else { + this.$message.error(data.msg) + } + }) + }, + //检验生成事件 + initMailFlag() { + this.generateFlag = true if (this.receiveQuantity == null || this.receiveQuantity == '') { this.$alert('请输入接收数量!', '接收数量', { confirmButtonText: '确定', @@ -1270,6 +1401,8 @@ lineItemNo: this.ifsToolData.lineItemNo, vendorName: this.ifsToolData.vendorName, invoicePrice: this.invoicePrice, + manual: 'N', + toolInstanceId: this.toolInstanceId } let currQty = this.receiveQuantity saveToolDetail(saveData).then(({data}) => { diff --git a/src/views/modules/knifemold/tool-info.vue b/src/views/modules/knifemold/tool-info.vue index c57ddf8..fc343e8 100644 --- a/src/views/modules/knifemold/tool-info.vue +++ b/src/views/modules/knifemold/tool-info.vue @@ -1,11 +1,19 @@