From 04890c19220e65a0f11f0b30ce7995eb9aeeb5ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BF=97=E5=9B=BD?= <854933521@qq.com> Date: Thu, 31 Oct 2024 16:22:36 +0800 Subject: [PATCH] =?UTF-8?q?page/productReceipt/job=20=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=BF=81=E7=A7=BB=208/8-10/25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/ccProductReceiptDetail.vue | 75 +- .../job/ccProductReceiptJob.vue | 14 +- .../job/completeReceiveJobDetail.vue | 633 +++++++------- .../job/fgProductReceiptDetail.vue | 40 +- .../job/fgProductReceiptJob.vue | 27 +- .../job/productReceiptDetail.vue | 60 +- .../productReceipt/job/productReceiptJob.vue | 113 ++- .../productReceipt/job/scrapReceiptDetail.vue | 84 +- .../productReceipt/job/scrapReceiptJob.vue | 27 +- .../job/semiProductReceiptDetail.vue | 789 +++++++++--------- .../job/semiProductReceiptJob.vue | 27 +- 11 files changed, 1039 insertions(+), 850 deletions(-) diff --git a/src/pages/productReceipt/job/ccProductReceiptDetail.vue b/src/pages/productReceipt/job/ccProductReceiptDetail.vue index d6848f60..dc30abd1 100644 --- a/src/pages/productReceipt/job/ccProductReceiptDetail.vue +++ b/src/pages/productReceipt/job/ccProductReceiptDetail.vue @@ -35,8 +35,12 @@ + + + @remove="updateData" @updateData="updateData" :locationAreaTypeList="toLocationAreaTypeList" v-else> @@ -46,7 +50,7 @@ - < @@ -80,10 +84,9 @@ import winScanButton from '@/mycomponents/scan/winScanButton.vue' import locationCompare from '@/mycomponents/location/locationCompare.vue' import winScanPack from '@/mycomponents/scan/winScanPack.vue' - import comDetailCard from '@/mycomponents/detail/comDetailCard.vue' import jobTop from '@/mycomponents/job/jobTop.vue' import comProductDetailCard from '@/pages/productReceipt/coms/comProductDetailCard.vue' - + import comProductDetailCardBatch from "@/pages/productReceipt/coms/comProductDetailCardBatch.vue" import { useCountStore } from '@/store' // 获取自定义的store const store = useCountStore() @@ -97,6 +100,7 @@ const detailSource = ref([])// 绑定在页面上的数据源 const toLocationAreaTypeList = ref([]) const managementList = ref([]) + const managementType = ref('') const jobStatus = ref('') const jobToLocationCode = ref('') const scanedPackingNumber = ref('') @@ -189,14 +193,24 @@ subList.value = res.data.subList jobStatus.value = res.data.status jobToLocationCode.value = subList.value[0].toLocationCode - if (jobContent.value.allowModifyLocation == 'FALSE') { - toLocationCode.value = subList.value[0].toLocationCode - } toLocationAreaTypeList.value = getDirectoryItemArray(jobContent.value.toAreaTypes) detailSource.value = getDataSource(subList.value) if (scanMessage.value) { scanPopup.value.simulateScan(scanMessage.value); } + //获取管理模式,封装参数 + let itemCodes = [] + detailSource.value.forEach(item => { + itemCodes.push(item.itemCode) + item.scaned = false + }) + getManagementPrecisions(itemCodes, jobToLocationCode.value, res => { + if (res.success) { + managementList.value = res.list; + managementType.value = managementList.value.some(item => item.ManagementPrecision == + 'BY_BATCH') ? 'BY_BATCH' : '' + } + }) } else { showMessage('列表数据为0') } @@ -218,6 +232,7 @@ if (detail == undefined) { showErrorMessage(`物料号【${itemCode}】不在列表中`) } else { + detail.scaned = true const itemDetail = detail.subList.find((r) => r.packingNumber == packingNumber && r.batch == batch) if (itemDetail == undefined) { showErrorMessage(`箱码[${packingNumber}]` + `批次[${batch}]不在任务列表中`) @@ -226,11 +241,10 @@ } else { itemDetail.scaned = true itemDetail.handleQty = Number(result.label.qty) - itemDetail.toLocationCode = toLocationCode.value + itemDetail.toLocationCode = toLocationCode.value?toLocationCode.value:jobToLocationCode.value itemDetail.labelQty = Number(result.label.qty) calcHandleQty(detailSource.value) continueScan() - $forceUpdate() } } } @@ -246,7 +260,7 @@ } const updateData = () => { - calcHandleQty(detailSource.value) + // calcHandleQty(detailSource.value) } const openScanPopup = () => { @@ -258,12 +272,27 @@ } const scanLocationCode = (location, code) => { - toLocationCode.value = code - detailSource.value.forEach((item) => { - item.subList.forEach((detail) => { - detail.toLocationCode = code - }) - }) + if(jobContent.value.allowModifyLocation=="TRUE"){ + toLocationCode.value = code + detailSource.value.forEach((item) => { + item.subList.forEach((detail) => { + detail.toLocationCode = code + }) + }) + }else { + //不允许修改库位 + if(code!=jobToLocationCode.value){ + showMessageHint("任务中不允许修改库位\n扫描库位["+code+"]推荐库位是["+jobToLocationCode.value+"]",callBack=>{ + }) + }else { + toLocationCode.value = code + detailSource.value.forEach((item) => { + item.subList.forEach((detail) => { + detail.toLocationCode = code + }) + }) + } + } } const checkLocation = () => { @@ -278,7 +307,7 @@ return isPass } - const showMessageHint(hint, callback) { + const showMessageHint = (hint, callback)=> { comMessageRef.value.showErrorMessage(hint, (res) => { if (res) { callback() @@ -298,9 +327,11 @@ return } }else{ - this.toLocationCode = this.jobToLocationCode + this.toLocationCode = toLocationCode.value?toLocationCode.value:jobToLocationCode.value + } + if(!toLocationCode.value){ + return; } - // 扫描数量和任务数量相等,直接提交 if (scanCount.value == subList.value.length) { if (checkCount()) { @@ -315,7 +346,7 @@ } } else { // 不允许部分提交,提示 - showMessage('请完成扫描后,再进行提交
' + `已经扫描[${scanCount.value}]总共[${subList.value.length}]`) + showMessage('请完成扫描后,再进行提交\n' + `已经扫描[${scanCount.value}]总共[${subList.value.length}]`) } } } @@ -362,7 +393,7 @@ .then((res) => { uni.hideLoading() if (res.data) { - showCommitSuccessMessage("提交成功
生成装配收货记录
" + res.data) + showCommitSuccessMessage("提交成功\n生成装配收货记录
" + res.data) } else { showErrorMessage(`提交失败[${res.msg}]`) } @@ -387,6 +418,8 @@ if (detail.scaned) { const info = getPackingNumberAndBatch(managementList.value, detail.itemCode, detail.packingNumber, detail.batch) detail.toPackingNumber = info.packingNumber + detail.packingNumber = info.packingNumber; + detail.fromPackingNumber = info.packingNumber; detail.toBatch = info.batch detail.toContainerNumber = '' detail.toInventoryStatus = detail.inventoryStatus diff --git a/src/pages/productReceipt/job/ccProductReceiptJob.vue b/src/pages/productReceipt/job/ccProductReceiptJob.vue index 8f9ee940..1898b839 100644 --- a/src/pages/productReceipt/job/ccProductReceiptJob.vue +++ b/src/pages/productReceipt/job/ccProductReceiptJob.vue @@ -96,13 +96,13 @@ } }) // 返回首页 - onNavigationBarButtonTap(e) { + onNavigationBarButtonTap((e) =>{ if (e.index === 0) { goHome() } else if (e.index == 1) { filter.value.openFilter() } - } + }) onReachBottom(() => { // 避免多次触发 @@ -283,8 +283,14 @@ } const showMessage = (message) => { + if(scanPopup.value){ + scanPopup.value.packLoseFocus() + } comMessageRef.value.showErrorMessage(message, (res) => { if (res) { + if(scanPopup.value){ + scanPopup.value.packGetFocus() + } } }) } @@ -382,11 +388,11 @@ selectItem(list[0]) } } else { - showMessage('未查找到任务
' + `扫描[${result.scanMessage}]`) + showMessage('未查找到任务\n' + `扫描[${result.scanMessage}]`) } }) .catch((error) => { - showMessage(`${error}
扫描[${result.scanMessage}]`) + showMessage(`${error}\n扫描[${result.scanMessage}]`) }) } catch (e) { showMessage(e.message) diff --git a/src/pages/productReceipt/job/completeReceiveJobDetail.vue b/src/pages/productReceipt/job/completeReceiveJobDetail.vue index 73b5a7d4..a1b13239 100644 --- a/src/pages/productReceipt/job/completeReceiveJobDetail.vue +++ b/src/pages/productReceipt/job/completeReceiveJobDetail.vue @@ -43,7 +43,7 @@
-