From 4f481fe5974958e08d8b34202c4c8c3ab7e03ce5 Mon Sep 17 00:00:00 2001 From: lijuncheng Date: Wed, 23 Oct 2024 10:09:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=9E=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E9=A2=86=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fe/PDA/api/index.js | 8 ++ .../mycomponents/coms/task/comUnProduce.vue | 2 +- fe/PDA/mycomponents/popup/balanceList.vue | 127 ++++++++++++++++++ fe/PDA/pages/index/index.vue | 2 +- fe/PDA/pages/task/countFgDetail.vue | 1 + fe/PDA/pages/task/unProducePick.vue | 4 +- fe/PDA/pages/task/unProducePickDetail.vue | 125 +++++++++++------ fe/PDA/pages/task/unProducePickWip.vue | 2 +- fe/PDA/pages/task/unProducePickWipDetail.vue | 42 +++--- fe/PDA/pages/task/unProduceReturn.vue | 2 +- fe/PDA/pages/task/unProduceReturnWip.vue | 2 +- 11 files changed, 244 insertions(+), 73 deletions(-) create mode 100644 fe/PDA/mycomponents/popup/balanceList.vue diff --git a/fe/PDA/api/index.js b/fe/PDA/api/index.js index d10421958..46cedda8c 100644 --- a/fe/PDA/api/index.js +++ b/fe/PDA/api/index.js @@ -139,6 +139,14 @@ export const getRecommendBalanceByLocationAsync = (params,itemCode,isPackingCode data: params, method: "post" }) +//通过ERP料号和ERP储位查询库存 +export const getRecommendBalanceByErplocation = (itemCode,erpLocationCode,isPackingCode) => request( + devUrl + "/api/pda/inventory/balances/get-recommend-balance-erplocation?itemCode="+itemCode+"&erpLocationCode="+erpLocationCode+"&isPackingCode="+isPackingCode,{ // + data: {}, + method: "post" + }) + + //通用 diff --git a/fe/PDA/mycomponents/coms/task/comUnProduce.vue b/fe/PDA/mycomponents/coms/task/comUnProduce.vue index 293c6ae10..27ea27829 100644 --- a/fe/PDA/mycomponents/coms/task/comUnProduce.vue +++ b/fe/PDA/mycomponents/coms/task/comUnProduce.vue @@ -15,7 +15,7 @@ {{dataContent.unplannedReceiptRequestNumber}} - + ERP储位: {{dataContent.fromErpLocationCode}} diff --git a/fe/PDA/mycomponents/popup/balanceList.vue b/fe/PDA/mycomponents/popup/balanceList.vue new file mode 100644 index 000000000..323ee0eb1 --- /dev/null +++ b/fe/PDA/mycomponents/popup/balanceList.vue @@ -0,0 +1,127 @@ + + + + + \ No newline at end of file diff --git a/fe/PDA/pages/index/index.vue b/fe/PDA/pages/index/index.vue index c69084568..8c65ac82f 100644 --- a/fe/PDA/pages/index/index.vue +++ b/fe/PDA/pages/index/index.vue @@ -229,7 +229,7 @@ let that = this; let isToday = this.$isReceiptToday; let jobItems = await getJobCountAsync(isToday,localStorage.getItem('userId')); - jobItems.items.push({jobType:18,count:3}) + // jobItems.items.push({jobType:18,count:3}) let jobTypes = jobItems.items; //类型 diff --git a/fe/PDA/pages/task/countFgDetail.vue b/fe/PDA/pages/task/countFgDetail.vue index 0ab5cd57d..9c59a7449 100644 --- a/fe/PDA/pages/task/countFgDetail.vue +++ b/fe/PDA/pages/task/countFgDetail.vue @@ -753,6 +753,7 @@ that.datacontent.completeTime = getCurrDateTime() let params = JSON.stringify(this.datacontent); console.log("提交参数",params) + return; finishCountJob(this.id, params) .then(res => { uni.hideLoading(); diff --git a/fe/PDA/pages/task/unProducePick.vue b/fe/PDA/pages/task/unProducePick.vue index b659f2ded..22c758f5d 100644 --- a/fe/PDA/pages/task/unProducePick.vue +++ b/fe/PDA/pages/task/unProducePick.vue @@ -5,7 +5,7 @@ - + @@ -111,7 +111,7 @@ pageIndex: that.pageIndex, isCreationTimeSorting: that.isIssueTimeChange, isToday: that.isToday, - enumUnplannedIssueType:1 + ishaspag:1 }; getUnProducePickList(params) .then(res => { diff --git a/fe/PDA/pages/task/unProducePickDetail.vue b/fe/PDA/pages/task/unProducePickDetail.vue index 135f15553..95b5dc46c 100644 --- a/fe/PDA/pages/task/unProducePickDetail.vue +++ b/fe/PDA/pages/task/unProducePickDetail.vue @@ -3,12 +3,12 @@ - - + + + @@ -95,6 +95,7 @@ + @@ -106,7 +107,8 @@ takeUnProduceIssueJob, cancelTakeUnProduceIssueJob, finshUnProducePickJob, - getBalancesByFilter + getBalancesByFilter, + getRecommendBalanceByErplocation } from '@/api/index.js'; import { getJobStatuStyle, @@ -126,27 +128,30 @@ import winScanButton from '@/mycomponents/wincom/winScanButton.vue' import winMulitScan from '@/mycomponents/wincom/winMulitScan.vue' import comBalance from '@/mycomponents/common/comBalance.vue' - import comJobScanDetail from '@/mycomponents/comjob/comJobScanDetail.vue' + import comJobUnScanDetail from '@/mycomponents/comjob/comJobUnScanDetail.vue' import winScanByPack from '@/mycomponents/wincom/winScanByPack.vue' import comNumberBox from '@/mycomponents/common/comNumberBox.vue'; import recommendList from '@/mycomponents/popup/recommendList.vue'; + import balanceList from '@/mycomponents/popup/balanceList.vue'; + export default { components: { comMessage, winScanButton, winMulitScan, comBalance, - comJobScanDetail, + comJobUnScanDetail, winScanByPack, comNumberBox, - recommendList + recommendList, + balanceList }, data() { return { id: "", datacontent: {}, details: [], //实际 - facDetails: [],//推荐 + facDetails: [], //推荐 toLocation: '', scrollTop: 0, old: { @@ -160,8 +165,13 @@ scanCount: 0, isPack: true, titleArray: ['箱标签'], - options:[], - recommendQty:0 + options: [], + recommendQty: 0, + userForm: { + names: [], + values: [], + origin: [] + }, } }, @@ -237,7 +247,7 @@ }); } }, - + openScanPopup() { // if (this.allCount === this.scanCount) { // this.showMessage("零件已经全部扫描完成"); @@ -261,10 +271,10 @@ getUnProducePickDetail(params) .then(item => { that.datacontent = item; - that.facDetails=item.facDetails + that.facDetails = item.facDetails that.details = []; uni.hideLoading(); - + }) .catch(err => { this.showMessage('未查找到详细信息') @@ -276,6 +286,26 @@ this.$refs.recommendList.openScanPopup(this.facDetails) }, + query() { + uni.showLoading({ + title: "加载中", + mask: true + }) + getRecommendBalanceByErplocation(this.datacontent.itemCode,this.datacontent.fromErpLocationCode,false).then(res => { + uni.hideLoading() + if(res.length>0){ + this.$refs.balanceList.openScanPopup(res) + }else { + this.showMessage("按物料["+this.datacontent.itemCode+"] ERP库位["+this.datacontent.fromErpLocationCode+"]未查询到库存"); + } + + }).catch(error => { + uni.hideLoading() + this.showMessage(err.message); + }) + }, + + getScanResult(result) { this.currentItem = result; //扫描的ERP料号是否在任务列表中 @@ -296,14 +326,23 @@ if (item.recommendFromLocationErpCode != addItem.handledFromLocationErpCode) { this.showMessage('扫描箱码[' + result.data.code + "]的ERP储位与推荐的不在同一个ERP储位") } else { - if(item.recommendPackingCode!= result.data.code){ - showConfirmMsg("扫描的箱码[" + result.data.code+"]与任务中的箱码["+item.recommendPackingCode+"]不一致,是否添加到列表中",res=>{ - if(res){ - this.details.unshift(addItem) - } - }) - }else { + if (item.recommendPackingCode != result.data.code) { + showConfirmMsg("扫描的箱码[" + result.data.code + "]与任务中的箱码[" + item + .recommendPackingCode + "]不一致,是否添加到列表中", res => { + if (res) { + this.details.unshift(addItem) + this.scanCount = 0; + this.details.forEach(res => { + this.scanCount += res.handledQty + }) + } + }) + } else { this.details.unshift(addItem) + this.scanCount = 0; + this.details.forEach(res => { + this.scanCount += res.handledQty + }) } } } @@ -391,7 +430,7 @@ packingCode: result.data.code, itemCode: result.data.itemCode, lot: result.data.lot, - sortBy: 'PackingCode asc' + sortBy: '' }; getBalancesByFilter(params) .then(res => { @@ -421,14 +460,23 @@ if (item.recommendFromLocationErpCode != addItem.handledFromLocationErpCode) { this.showMessage('扫描箱码[' + result.data.code + "]的ERP储位与推荐的不在同一个ERP储位") } else { - if(item.recommendPackingCode!= result.data.code){ - showConfirmMsg("扫描的箱码[" + result.data.code+"]与任务中的箱码["+item.recommendPackingCode+"]不一致,是否添加到列表中",res=>{ - if(res){ - this.details.unshift(addItem) - } - }) - }else { + if (item.recommendPackingCode != result.data.code) { + showConfirmMsg("扫描的箱码[" + result.data.code + "]与任务中的箱码[" + item.recommendPackingCode + + "]不一致,是否添加到列表中", res => { + if (res) { + this.details.unshift(addItem) + this.scanCount = 0; + this.details.forEach(res => { + this.scanCount += res.handledQty + }) + } + }) + } else { this.details.unshift(addItem) + this.scanCount = 0; + this.details.forEach(res => { + this.scanCount += res.handledQty + }) } } @@ -453,27 +501,19 @@ this.showMessage('扫描列表为0,请先扫描'); return; } - var hint = "" + this.scanCount = 0; this.details.forEach(res => { - var temp = this.facDetails.find(fac => { - if (res.itemCode == fac.itemCode) { - return fac - } - }) - if (temp && temp.recommendQty < res.handledQty) { - hint += "ERP料号[" + res.itemCode + "]箱码[" + res.handledPackingCode + "]扫描数量["+res.handledQty+"]大于推荐的数量["+temp.recommendQty+"]" - } + this.scanCount += res.handledQty }) - if (hint) { - this.showMessage(hint); - } else { + if(this.scanCount>this.datacontent.qty){ + this.showMessage('提交的数量大于扫描的数量,不可以提交'); + }else { this.finsh(); } }, - finsh() { let that = this; uni.showLoading({ @@ -486,6 +526,7 @@ that.datacontent.worker = localStorage.userName_CN == "" ? localStorage.userName : localStorage .userName_CN; that.datacontent.details = that.details; + that.datacontent.details let params = JSON.stringify(that.datacontent); console.log(params) finshUnProducePickJob(that.id, params) @@ -580,7 +621,7 @@ this.showMessage('领料数量不能小于或等于0') item.handledQty = this.currentItem.data.qty this.$refs['comNumberBox_' + index][0].setValue(item.handledQty); - } + } // else if (value > this.currentItem.data.qty) { // item.handledQty = this.currentItem.data.qty // this.showMessage("实际领料数量不能大于申请数量") diff --git a/fe/PDA/pages/task/unProducePickWip.vue b/fe/PDA/pages/task/unProducePickWip.vue index 24cf3abae..c95f802f2 100644 --- a/fe/PDA/pages/task/unProducePickWip.vue +++ b/fe/PDA/pages/task/unProducePickWip.vue @@ -111,7 +111,7 @@ pageIndex: that.pageIndex, isCreationTimeSorting: that.isIssueTimeChange, isToday: that.isToday, - enumUnplannedIssueType:2 + ishaspag:0 }; getUnProducePickList(params) .then(res => { diff --git a/fe/PDA/pages/task/unProducePickWipDetail.vue b/fe/PDA/pages/task/unProducePickWipDetail.vue index 44df71b3d..838bd4e2a 100644 --- a/fe/PDA/pages/task/unProducePickWipDetail.vue +++ b/fe/PDA/pages/task/unProducePickWipDetail.vue @@ -3,12 +3,12 @@ - - + + + @@ -83,8 +83,8 @@ - - + + @@ -134,7 +134,9 @@ import winScanLocationCode from '@/mycomponents/wincom/winScanLocationCode.vue'; import winScanByCode from '@/mycomponents/wincom/winScanByCode.vue' import recommendList from '@/mycomponents/popup/recommendList.vue'; - + import comJobUnScanDetail from '@/mycomponents/comjob/comJobUnScanDetail.vue' + + export default { components: { comMessage, @@ -149,7 +151,8 @@ winScanByProductCode, winScanLocationCode, winScanByCode, - recommendList + recommendList, + comJobUnScanDetail }, data() { return { @@ -273,6 +276,7 @@ openItemScanPopup() { this.$refs.scanPopupItem.openScanPopup(); }, + queryItemCode() { this.$refs.wzSelectPopup.open({ mode: 'radio', //radio checkbox 单选、多选 @@ -327,7 +331,6 @@ getUnProducePickDetail(params) .then(item => { uni.hideLoading(); - console.log('item', item); that.datacontent = item; that.facDetails = item.facDetails that.details = []; @@ -381,6 +384,10 @@ scanSuccessAudio() var addItem = this.setItemInfo(result, item) this.details.unshift(addItem) + this.scanCount = 0; + this.details.forEach(res => { + this.scanCount += res.handledQty + }) this.$forceUpdate() } @@ -487,22 +494,9 @@ this.showMessage(locationHint); return } - - var hint = "" - this.details.forEach(res => { - var temp = this.facDetails.find(fac => { - if (res.itemCode == fac.itemCode) { - return fac - } - }) - if (temp && temp.recommendQty < res.handledQty) { - hint += "物料[" + res.itemCode + "]箱码[" + res.handledPackingCode + "]扫描数量[" + res - .handledQty + "]大于推荐的数量[" + temp.recommendQty + "]" - } - }) - if (hint) { - this.showMessage(hint); - } else { + if(this.scanCount>this.datacontent.qty){ + this.showMessage('提交的数量大于扫描的数量,不可以提交'); + }else { this.finsh(); } diff --git a/fe/PDA/pages/task/unProduceReturn.vue b/fe/PDA/pages/task/unProduceReturn.vue index 4a21e512d..2c5cbcd2b 100644 --- a/fe/PDA/pages/task/unProduceReturn.vue +++ b/fe/PDA/pages/task/unProduceReturn.vue @@ -115,7 +115,7 @@ pageIndex: that.pageIndex, isCreationTimeSorting: that.isIssueTimeChange, isToday: that.isToday, - enumUnplannedReceiptType:1 + ishaspag:1 }; getUnProduceReturnList(params) .then(res => { diff --git a/fe/PDA/pages/task/unProduceReturnWip.vue b/fe/PDA/pages/task/unProduceReturnWip.vue index 25a503a4d..f06a61d4f 100644 --- a/fe/PDA/pages/task/unProduceReturnWip.vue +++ b/fe/PDA/pages/task/unProduceReturnWip.vue @@ -111,7 +111,7 @@ pageIndex: that.pageIndex, isCreationTimeSorting: that.isIssueTimeChange, isToday: that.isToday, - enumUnplannedReceiptType:2 + ishaspag:0 }; getUnProduceReturnList(params) .then(res => {