diff --git a/src/api/request2.js b/src/api/request2.js index d2ef667f..7e8c6ea1 100644 --- a/src/api/request2.js +++ b/src/api/request2.js @@ -1528,6 +1528,19 @@ export function getIssueJobDetail(id) { }); } +/** + * 发料校验 + * @param {*} 任务id + * + */ +export function issueCheck(packNumber) { + return request({ + url: baseApi + "/wms/issue-record-main/selectRecordByPackNumber?packNumber=" + packNumber, + method: "get", + data: {}, + }); +} + /** * 获取推荐明细接口 diff --git a/src/mycomponents/recommend/recommend.vue b/src/mycomponents/recommend/recommend.vue index 80b9d516..a0d5ad7c 100644 --- a/src/mycomponents/recommend/recommend.vue +++ b/src/mycomponents/recommend/recommend.vue @@ -5,7 +5,7 @@ - + @@ -94,6 +94,12 @@ type: String, default: '来源库位' }, + isShowPackingNumberProps: { + type: Boolean, + default: false + }, + + }, watch: { diff --git a/src/pages/issue/coms/comIssueDetailCardBatch.vue b/src/pages/issue/coms/comIssueDetailCardBatch.vue index cd9f8272..8ac9decc 100644 --- a/src/pages/issue/coms/comIssueDetailCardBatch.vue +++ b/src/pages/issue/coms/comIssueDetailCardBatch.vue @@ -16,7 +16,7 @@ - + @@ -79,6 +79,12 @@ type: Boolean, default: true }, + isShowPackingNumberProps: { + type: Boolean, + default: true + }, + + }, watch: { diff --git a/src/pages/issue/job/issueDetailBatch.vue b/src/pages/issue/job/issueDetailBatch.vue index e4c1e0cb..49d047ae 100644 --- a/src/pages/issue/job/issueDetailBatch.vue +++ b/src/pages/issue/job/issueDetailBatch.vue @@ -1,828 +1,989 @@ - - - - - \ No newline at end of file diff --git a/src/pages/issue/record/directIssueByBatch.vue b/src/pages/issue/record/directIssueByBatch.vue index 82413d30..bb5a4d26 100644 --- a/src/pages/issue/record/directIssueByBatch.vue +++ b/src/pages/issue/record/directIssueByBatch.vue @@ -12,8 +12,7 @@ + :allowModifyQty="true" :isShowPackingNumberProps="true" @removePack="removePack"> @@ -48,7 +47,7 @@ - + @@ -57,7 +56,8 @@ import { issueRecordSubmit, getWorkShopLineStation, - getBalanceByFilter + getBalanceByFilter, + issueCheck } from '@/api/request2.js'; import { @@ -104,7 +104,7 @@ import balanceSelect from '@/mycomponents/balance/balanceSelect.vue' import winComScanBalance from '@/mycomponents/scan/winComScanBalance.vue' import fifoQuery from '@/mycomponents/query/fifoQuery.vue' - + export default { components: { @@ -142,7 +142,7 @@ resultData: {}, itemCode: "", managementType: '', - fifoSwitch:false + fifoSwitch: false }; }, onLoad(option) { @@ -197,13 +197,36 @@ }); }, - getScanResult(result, managementTypeParams) { + getScanResult(result, managementTypeParams) { this.managementType = managementTypeParams - if (managementTypeParams == "BY_BATCH" || managementTypeParams == "BY_QUANTITY") { - this.setDataBatch(result); - } else { - this.setData(result); + // if (managementTypeParams == "BY_BATCH" || managementTypeParams == "BY_QUANTITY") { + // this.setDataBatch(result); + // } else { + // this.setData(result); + // } + if(!result.package.number){ + this.showErrorMessage("包装号不能为空") + return; } + uni.showLoading({ + title:"校验中...", + mask:true + }) + //校验箱码是否已经发料 + issueCheck(result.package.number).then(res=>{ + uni.hideLoading() + if(res.data.length==0){ + this.setData(result); + }else { + this.showErrorMessage("箱码["+result.package.number+"]已经发过料") + } + + }).catch(error=>{ + uni.hideLoading() + this.showErrorMessage(error.message) + }) + + }, async setData(result) { let balance = result.balance; @@ -217,11 +240,12 @@ if (item == undefined) { var itemp = createItemInfo(balance, pack); let newDetail = createDetailInfo(balance, pack); // + newDetail.packingNumber = pack.number itemp.subList.push(newDetail); this.detailSource.push(itemp) } else { var detail = item.subList.find(r => { - if (r.packingNumber == balance.packingNumber && + if (r.packingNumber == pack.number && r.batch == balance.batch && r.locationCode == balance.locationCode && r.inventoryStatus == balance.inventoryStatus) { @@ -230,17 +254,18 @@ }) if (detail == undefined) { let newDetail = createDetailInfo(balance, pack); + newDetail.packingNumber = pack.number item.subList.push(newDetail); } else { if (detail.scaned == true) { - this.showErrorMessage("箱码[" + balance.packingNumber + "批次[" + balance.batch + "]重复扫描") + this.showErrorMessage("箱码[" + pack.number + "]已经扫描") } } } calcHandleQty(this.detailSource) }, - - setDataBatch(result) { + + setDataBatch(result) { let balance = result.balance; let label = result.label; let pack = result.package; @@ -251,8 +276,9 @@ }) if (item == undefined) { var itemp = createItemInfo(balance, pack); - let newDetail = createDetailInfo(balance, pack,label); - newDetail.handleQty =label.qty + let newDetail = createDetailInfo(balance, pack, label); + newDetail.handleQty = label.qty + itemp.subList.push(newDetail); this.detailSource.push(itemp) } else { @@ -264,14 +290,15 @@ } }) if (detail == undefined) { - let newDetail = createDetailInfo(balance, pack,label); - newDetail.handleQty =label.qty + let newDetail = createDetailInfo(balance, pack, label); + newDetail.handleQty = label.qty + newDetail.packingNumber = pack.number item.subList.push(newDetail); } else { - detail.handleQty =calc.add(detail.handleQty, result.label.qty) + detail.handleQty = calc.add(detail.handleQty, result.label.qty) } } - + calcHandleQty(this.detailSource) }, @@ -395,17 +422,18 @@ this.showErrorMessage("请选择生产线") return } - var commitHint="" + var commitHint = "" this.detailSource.forEach((item) => { - item.subList.forEach(cur=>{ - if(cur.scaned){ - if(parseFloat(cur.handleQty)>parseFloat(cur.qty)){ - commitHint += `物料号【${item.itemCode}】批次【${cur.batch}】实际提交数量【${cur.handleQty}】不可以大于库存数量【${cur.qty}】\n` + item.subList.forEach(cur => { + if (cur.scaned) { + if (parseFloat(cur.handleQty) > parseFloat(cur.qty)) { + commitHint += + `物料号【${item.itemCode}】批次【${cur.batch}】实际提交数量【${cur.handleQty}】不可以大于库存数量【${cur.qty}】\n` } } }) }) - if(commitHint){ + if (commitHint) { this.showErrorMessage(commitHint) return; } @@ -479,7 +507,7 @@ submitItem.recordList = [{ toInventoryStatus: detail.inventoryStatus, fromParentPackingNumber: detail.parentNumber, - fromPackingNumber: info.packingNumber, + fromPackingNumber: detail.packingNumber, fromBatch: info.batch, toPackingNumber: info.packingNumber, toBatch: info.batch, @@ -501,6 +529,7 @@ this.dataContent.subList = subList this.dataContent.creator = creator; this.dataContent.fromWarehouseCode = this.fromWarehouseCode; + this.dataContent.sourceType="record" return this.dataContent; }, diff --git a/src/pages/issue/request/issueScanRequest.vue b/src/pages/issue/request/issueScanRequest.vue index 04463e6f..1a4b3e13 100644 --- a/src/pages/issue/request/issueScanRequest.vue +++ b/src/pages/issue/request/issueScanRequest.vue @@ -111,6 +111,7 @@ setParams() { this.detailSource.dueTime = getCurrDateOneMonthsTimes(); this.detailSource.isCallMaterialsLabel = "TRUE"; + this.detailSource.sourceType ="scan" return this.detailSource }, submit() {