From 8d57ee43125aee805a696d9879b6ea40c8e81927 Mon Sep 17 00:00:00 2001 From: lijuncheng Date: Wed, 25 Sep 2024 15:38:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=90=E5=93=81=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E4=BB=BB=E5=8A=A1=E6=89=AB=E6=8F=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/deliver/coms/comScanDeliverPack.vue | 713 ++++++++++++++---- .../deliver/coms/comScanDeliverPackss.vue | 582 ++++++++++++++ src/pages/deliver/job/deliverDetail.vue | 5 +- 3 files changed, 1144 insertions(+), 156 deletions(-) create mode 100644 src/pages/deliver/coms/comScanDeliverPackss.vue diff --git a/src/pages/deliver/coms/comScanDeliverPack.vue b/src/pages/deliver/coms/comScanDeliverPack.vue index b5ad7bfb..6f46fb84 100644 --- a/src/pages/deliver/coms/comScanDeliverPack.vue +++ b/src/pages/deliver/coms/comScanDeliverPack.vue @@ -3,18 +3,19 @@ + 扫描箱码 + - - + --> + - - + 来源库位 - + - + --> + headerType="HPQ,HMQ" :isShowHistory="false"> @@ -76,7 +78,7 @@ - @@ -95,6 +97,10 @@ + + @@ -108,24 +114,33 @@ getDetailOption, getDetailEditRemoveOption } from '@/common/array.js'; + import { + getWorkShopLineStation, + getBalanceByFilter, + getBalanceByParams, + } from '@/api/request2.js'; + import { + uniqueArray + } from '@/common/basic.js'; import { - getDirectoryItemArray, - } from '@/common/directory.js'; + getLabelInfo + } from '@/common/label.js'; import { calc } from '@/common/calc.js'; - import { - getWorkShopLineStation - } from '@/api/request2.js'; import { getBalanceByManagementPrecision } from '@/common/balance.js'; + import { + getDirectoryItemArray + } from '../../../common/directory.js'; export default { name: 'winScanPack', + emits: ["afterScan", "closeScan"], components: { winComScan, balance, @@ -137,12 +152,6 @@ type: String, default: '' }, - headerType: { - type: String, - default: "HPQ,HMQ" - }, - - }, data() { return { @@ -156,16 +165,21 @@ fromLocationList: [], fromLocationCode: '', fromLocation: null, - issueRecord: [], //发货历史 + issueRecord: [], //发料历史 expand: true, scanOptions: {}, editItem: {}, positionInfo: "请选择位置", positionList: [], defaultValueList: [], + fromInventoryStatuses: "", + packageInfo: {}, label: {}, - fromInventoryStatuses: [], - packageInfo: {} + inputStyleObject: { + fontSize: "100rpx" + }, + bussinessCode: 'Issue', + toLocationAreaTypeList: [] } }, created() { @@ -177,13 +191,29 @@ this.scanOptions = getDetailEditRemoveOption(); }, methods: { + openScanPopupForJobSimulate(content, jobcontent, scanMessage) { + this.issueRecord = []; + this.dataContent = content; + this.jobContent = jobcontent; + this.initData(); + getLabelInfo(scanMessage, "HPQ,HMQ", callback => { + if (callback.success) { + this.onScan(callback); + } else { + this.showErrorMessage(callback.message, res => {}) + } + + }) + + }, + openScanPopup(content, jobcontent) { this.issueRecord = []; this.dataContent = content; this.jobContent = jobcontent; this.initData(); - this.positionInfo = this.jobContent.workShopCode + "-" + this.jobContent.subList[0].productionLineCode + - "-" + this.jobContent.subList[0].workStationCode + // this.positionInfo = this.jobContent.workShopCode + "-" + this.jobContent.subList[0].productionLineCode + + // "-" + this.jobContent.subList[0].workStationCode this.$refs.popup.open('bottom') setTimeout(res => { this.getfocus(); @@ -202,104 +232,257 @@ let that = this; that.fromLocationList = []; if (that.dataContent != null) { - that.fromInventoryStatuses = getDirectoryItemArray(this.jobContent.outInventoryStatuses) + that.fromInventoryStatuses = this.jobContent.outInventoryStatuses that.toLocation = that.dataContent[0]; that.toLocationCode = that.dataContent[0].toLocationCode; - that.fromLocationList = that.getFromLocationList(); + that.toLocationAreaTypeList = getDirectoryItemArray(this.jobContent.toAreaTypes) + // that.fromLocationList = that.getFromLocationList(); } }, - showBalanceSelect(items, packageInfo) { - this.packageInfo = packageInfo; + showBalanceSelect(items) { this.$refs.balanceSelect.openPopup(items); }, - getFromLocationList() { - let list = []; - let location = this.dataContent.find(r => r.toLocationCode == this.toLocationCode); - if (location != undefined) { - location.Items.forEach(item => { - item.Locations.forEach(f => { - list.push(f.fromLocationCode) - }) - }) - this.fromLocationCode = list[0]; - return list; - } else { - this.$refs.comMessage.showErrorMessages('需求库位【' + this.toLocationCode + '】不存在', res => { - this.toLocationCode = ''; - }); - } - }, + // getFromLocationList() { + // let list = []; + // this.dataContent.forEach(location => { + // location.Items.forEach(item => { + // item.Locations.forEach(f => { + // let item = list.find(l => l == f.fromLocationCode); + // if (item == undefined) { + // list.push(f.fromLocationCode) + // } + // }) + // }) + // }); + // //去掉重复库位 + // list = uniqueArray(list); + // this.fromLocationCode = list[0]; + // return list; + // }, fromLocationUpdate(fromlocation) { let location = this.fromLocationList.find(r => r == fromlocation) - // 成品发货任务--同一物料,可以扫描提交不在任务中的库位 - // if (location == undefined) { - this.fromLocationCode = fromlocation - // this.showErrorMessage('发货库位【' + fromlocation + '】不存在') - // } + if (location == undefined) { + this.fromLocationCode = '' + this.showErrorMessage('发料库位【' + fromlocation + '】不存在') + } }, - onScan(result) { + + queryBalance(result) { try { let that = this; - - if (that.fromLocationCode == '') { - that.showErrorMessage('请选择来源库位', res => { - that.$refs.toLocationCombox.onFocus(); - }); - return; - } + // if (that.fromLocationCode == '') { + // that.showErrorMessage('请选择来源库位', res => { + // that.$refs.toLocationCombox.onFocus(); + // }); + // return; + // } let packageInfo = result.package; let itemCode = result.label.itemCode; let packingCode = result.label.packingNumber; let lot = result.label.batch; let item = that.toLocation.Items.find(r => r.itemCode == itemCode); if (item == undefined) { - that.showErrorMessage('未查找到物料【' + itemCode + '】的发货明细', + that.showErrorMessage('未查找到物料【' + itemCode + '】的发料明细', res => { that.getfocus(); } ) return; } else { - //查找库存信息 + + var params = { + itemCode: result.package.itemCode, + batch: result.label.batch, + packingNumber: result.label.packingNumber, + parentPackingNumber: result.package.parentNumber, + inventoryStatus: this.jobContent.outInventoryStatuses.split(','), + areaType: this.jobContent.fromAreaTypes.split(','), + bussinessCode: this.jobContent.businessType + } uni.showLoading({ - title: '加载中', + title: '查询中', mask: true }) - getBalanceByManagementPrecision(result.label, that.fromLocationCode, that.fromInventoryStatuses, - balanceRes => { - if (balanceRes.success) { - if (balanceRes.data.list.length == 0) { - this.showErrorMessage('在来源库位[' + this.fromLocationCode + '],未查找到该包装的库存记录', - res => { - this.packGetFocus(); - }) - } else if (balanceRes.data.list.length == 1) { - let balance = balanceRes.data.list[0]; - this.afterGetBalance(result.label, balance, packageInfo); - } else { - this.label = result.label; - this.showBalanceSelect(balanceRes.data.list, packageInfo); - } + getBalanceByParams(params).then(res => { + if (res.data.length == 0) { + var status = getInventoryStatusDesc(params.inventoryStatus) + var areaType = getListLocationAreaTypeDesc(params.areaType) + var hint = + "按物料号 [" + params.itemCode + "] \n" + + "包装号 [" + params.packingNumber + "] \n" + + "批次 [" + params.batch + "] \n" + + "状态 [" + status + "] \n" + + "库区 [" + areaType + "] \n" + + "未查找到库存余额" + this.showErrorMessage(hint, + res => { + that.getfocus(); + }) + } else if (res.data.length == 1) { + result.balance = res.data[0] + + if (result.label.packingNumber != result.balance.packingNumber) { + result.balance.qty = Number(result.label.qty) } else { - this.showErrorMessage(balanceRes.message.message); + result.balance.qty = Number(result.balance.qty) } - uni.hideLoading(); - }); + this.afterGetBalance(result.label, result.balance, result.package); + } else { + //多条记录 + this.$refs.balanceSelect.openPopup(res.data); + } + uni.hideLoading() + }).catch(error => { + uni.hideLoading() + this.showErrorMessage(error, + res => { + that.getfocus(); + }) + }) } } catch (e) { - this.showErrorMessage(e.stack) + this.showErrorMessage(e.stack, res => { + that.getfocus(); + }) uni.hideLoading(); } }, + + getBalance(label, packageInfo, callback) { + var filters = [] + if (packageInfo.parentNumber) { + var packingNumber = packageInfo.parentNumber + "," + label.packingNumber; + filters.push({ + column: "packingNumber", + action: "in", + value: packingNumber + }) + } else { + filters.push({ + column: "packingNumber", + action: "==", + value: label.packingNumber + }) + } + + filters.push({ + column: "itemCode", + action: "==", + value: label.itemCode + }) + filters.push({ + column: "batch", + action: "==", + value: label.batch + }) + + if (this.fromInventoryStatuses != null && this.fromInventoryStatuses != "") { + filters.push({ + column: "inventoryStatus", + action: "in", + value: this.fromInventoryStatuses + }) + } + + var params = { + filters: filters, + pageNo: 1, + pageSize: 100, + } + getBalanceByFilter(params).then(res => { + callback(res.data) + }).catch(err => { + this.showErrorMessage(err.message); + }) + }, + + + onScan(result) { + if (!result.package) { + this.showErrorMessage('扫描数据错误[' + result.label.code + "]", + res => { + this.getfocus(); + } + ) + return; + } + if (this.toLocation && result.package.packUnit) { + let item = this.toLocation.Items.find(r => r.itemCode == result.package.itemCode); + if (!item) { + this.showErrorMessage('扫描物料代码不属于该任务'); + return + } + this.getToLocationBalance(result) + } + }, + + //查询到目标库位的库存余额 + getToLocationBalance(result) { + uni.showLoading({ + title: '查询中', + mask: true + }) + var filters = [] + if (result.package.parentNumber) { + var packingNumber = result.package.parentNumber + "," + result.package.number; + filters.push({ + column: "packingNumber", + action: "in", + value: packingNumber + }) + } else { + filters.push({ + column: "packingNumber", + action: "==", + value: result.package.number + }) + } + + filters.push({ + column: "itemCode", + action: "==", + value: result.package.itemCode + }) + filters.push({ + column: "batch", + action: "==", + value: result.package.batch + }) + + filters.push({ + column: "areaType", + action: "in", + value: this.toLocationAreaTypeList.join(',') + }) + + + var params = { + filters: filters, + pageNo: 1, + pageSize: 100, + } + getBalanceByFilter(params).then(res => { + uni.hideLoading() + if (res.data.list.length > 0) { + this.showErrorMessage("包装在库位【" + res.data.list[0].locationCode + "】已有库存余额"); + } else { + this.queryBalance(result); + } + // callback(res.data) + }).catch(err => { + uni.hideLoading() + this.showErrorMessage(err.message); + }) + }, + selectBalanceItem(balance) { this.afterGetBalance(balance, balance, this.packageInfo); }, - afterGetBalance(label, balance, packageInfo) { let that = this; try { @@ -307,44 +490,28 @@ let packingCode = label.packingNumber; let lot = label.batch; let item = that.toLocation.Items.find(r => r.itemCode == itemCode); + that.fromLocationCode = balance.locationCode; let fromLocation = item.Locations.find(l => l.fromLocationCode == that.fromLocationCode); - // 成品发货任务--同一物料,可以扫描提交不在任务中的库位 - if(!fromLocation){ - fromLocation = { - Batchs:[{ - Recommends:[], - Records: [], - batch: label.batch, - detail:{ - ...packageInfo, - fromLocationCode: balance.locationCode, - toLocationCode:this.toLocationCode - }, - handleQty: 0, - packingNumber: null, - // packingNumber: label.packingNumber, - qty: label.qty, - uom: label.uom - }], - toLocationCode:this.toLocationCode, - fromLocationCode: balance.locationCode, - handleQty: 0, - qty: label.qty, - uom: label.uom - } - item.Locations.push(fromLocation) - } - if (fromLocation != undefined) { + //扫描的库位在列表中存在 + if (fromLocation){ + //不是在任务列表中的,是新加的库位 + // if(fromLocation.isNewAdd){ + + // }else { + // //在任务列表中。 + + // } + let batch = fromLocation.Batchs.find(r => r.batch == lot); if (batch != undefined) { if (batch.Records == undefined) { batch.Records = []; } - + let record = batch.Records.find(r => r.packingNumber == packingCode); if (record == undefined) { //如果有推荐箱码 - if (batch.Recommends&&batch.Recommends.length > 0) { + if (batch.Recommends != undefined && batch.Recommends.length > 0) { let recommend = batch.Recommends.find(r => r.packingNumber == packingCode); if (recommend != undefined) { that.addRecord(batch, label, balance, packageInfo) @@ -356,6 +523,7 @@ that.showErrorMessage('未查找到该箱码【' + packingCode + '】的明细', res => { that.getfocus(); + return; } ) } @@ -363,6 +531,7 @@ } else { that.addRecord(batch, label, balance, packageInfo) } + } else { that.showErrorMessage('箱码【' + packingCode + '】已经扫描,请继续扫描下一箱', res => { @@ -370,29 +539,191 @@ } ) } + } else { if (this.jobContent.allowModifyBatch == "TRUE") { this.showQuestionMessage('在【' + that.fromLocationCode + '】库位下,未查找到批次【' + lot + - '】的发货明细,是否要继续发货?', res => { + '】的发料明细,是否要继续发料?', res => { if (res) { - let batch = that.createBatchInfo(label, balance,packageInfo); + let batch = that.createBatchInfo(label, balance, packageInfo); + //新增加的批次赋值details + if (fromLocation.Batchs.length > 0) { + batch.detail = fromLocation.Batchs[0].detail; + } fromLocation.Batchs.unshift(batch); + this.getfocus(); + that.$emit("afterScan"); } }) } else { - that.showErrorMessage('未查找到批次【' + lot + '】的发货明细', + that.showErrorMessage('未查找到批次【' + lot + '】的发料明细', res => { that.getfocus(); }); } } - } else { - that.showErrorMessage('未查找到推荐库位【' + that.fromLocationCode + '】的发货明细', - res => { - that.getfocus(); - } - ) + + }else { + //扫描的不在任务列表中,询问是否可以添加, + if (this.jobContent.allowModifyLocation == "TRUE") { + this.showQuestionMessage("扫描物料[" + itemCode + "]的库位【" + that.fromLocationCode + + "】与推荐的库位不一致,是否要继续发料?", res => { + if (res) { + let locaion = that.createLocationInfo(label, balance, packageInfo); + item.Locations.push(locaion); + this.getfocus(); + that.$emit("afterScan"); + } + }) + + } else { + this.showErrorMessage("扫描物料[" + itemCode + "]的库位【" + that.fromLocationCode + + "】与推荐的库位不一致,不允许继续发料?") + } } + + // if (fromLocation && !fromLocation.isNewAdd) { + // let batch = fromLocation.Batchs.find(r => r.batch == lot); + // if (batch != undefined) { + // if (batch.Records == undefined) { + // batch.Records = []; + // } + + // let record = batch.Records.find(r => r.packingNumber == packingCode); + // if (record == undefined) { + // //如果有推荐箱码 + // if (batch.Recommends != undefined && batch.Recommends.length > 0) { + // let recommend = batch.Recommends.find(r => r.packingNumber == packingCode); + // if (recommend != undefined) { + // that.addRecord(batch, label, balance, packageInfo) + // } else { + // //允许修改箱码 + // if (this.jobContent.allowModifyPackingNumber == 'TRUE') { + // that.addRecord(batch, label, balance, packageInfo); + // } else { + // that.showErrorMessage('未查找到该箱码【' + packingCode + '】的明细', + // res => { + // that.getfocus(); + // return; + // } + // ) + // } + // } + // } else { + // that.addRecord(batch, label, balance, packageInfo) + // } + + // } else { + // that.showErrorMessage('箱码【' + packingCode + '】已经扫描,请继续扫描下一箱', + // res => { + // that.getfocus(); + // } + // ) + // } + + // } else { + // if (this.jobContent.allowModifyBatch == "TRUE") { + // this.showQuestionMessage('在【' + that.fromLocationCode + '】库位下,未查找到批次【' + lot + + // '】的发料明细,是否要继续发料?', res => { + // if (res) { + // let batch = that.createBatchInfo(label, balance, packageInfo); + // //新增加的批次赋值details + // if (fromLocation.Batchs.length > 0) { + // batch.detail = fromLocation.Batchs[0].detail; + // } + // fromLocation.Batchs.unshift(batch); + // this.getfocus(); + // that.$emit("afterScan"); + // } + // }) + // } else { + // that.showErrorMessage('未查找到批次【' + lot + '】的发料明细', + // res => { + // that.getfocus(); + // }); + // } + // } + // } else { + // if (fromLocation&&fromLocation.isNewAdd) { + // let batch = fromLocation.Batchs.find(r => r.batch == lot); + // if (batch != undefined) { + // if (batch.Records == undefined) { + // batch.Records = []; + // } + + // let record = batch.Records.find(r => r.packingNumber == packingCode); + // if (record == undefined) { + // //如果有推荐箱码 + // if (batch.Recommends != undefined && batch.Recommends.length > 0) { + // let recommend = batch.Recommends.find(r => r.packingNumber == packingCode); + // if (recommend != undefined) { + // that.addRecord(batch, label, balance, packageInfo) + // } else { + // //允许修改箱码 + // if (this.jobContent.allowModifyPackingNumber == 'TRUE') { + // that.addRecord(batch, label, balance, packageInfo); + // } else { + // that.showErrorMessage('未查找到该箱码【' + packingCode + '】的明细', + // res => { + // that.getfocus(); + // return; + // } + // ) + // } + // } + // } else { + // that.addRecord(batch, label, balance, packageInfo) + // } + + // } else { + // that.showErrorMessage('箱码【' + packingCode + '】已经扫描,请继续扫描下一箱', + // res => { + // that.getfocus(); + // } + // ) + // } + + // } else { + // if (this.jobContent.allowModifyBatch == "TRUE") { + // this.showQuestionMessage('在【' + that.fromLocationCode + '】库位下,未查找到批次【' + lot + + // '】的发料明细,是否要继续发料?', res => { + // if (res) { + // let batch = that.createBatchInfo(label, balance, packageInfo); + // //新增加的批次赋值details + // if (fromLocation.Batchs.length > 0) { + // batch.detail = fromLocation.Batchs[0].detail; + // } + // fromLocation.Batchs.unshift(batch); + // this.getfocus(); + // that.$emit("afterScan"); + // } + // }) + // } else { + // that.showErrorMessage('未查找到批次【' + lot + '】的发料明细', + // res => { + // that.getfocus(); + // }); + // } + // } + // } else { + // if (this.jobContent.allowModifyLocation == "TRUE") { + // this.showQuestionMessage("扫描物料[" + itemCode + "]的库位【" + that.fromLocationCode + + // "】与推荐的库位不一致,是否要继续发料?", res => { + // if (res) { + // let locaion = that.createLocationInfo(label, balance, packageInfo); + // item.Locations.push(locaion); + // this.getfocus(); + // that.$emit("afterScan"); + // } + // }) + + // } else { + // this.showErrorMessage("扫描物料[" + itemCode + "]的库位【" + that.fromLocationCode + + // "】与推荐的库位不一致,不允许继续发料?") + // } + // } + + // } } catch (e) { that.showErrorMessage(e.stack, res => { @@ -402,27 +733,32 @@ } }, + //增加不是任务中的库位,实际扫描的明细 + createLocationInfo(label, balance, packageInfo) { + let location = { + fromLocationCode: balance.locationCode, + qty: balance.qty, + uom: balance.uom, + handleQty: 0, + isNewAdd: true, + Batchs: [] + } + let batch = this.createBatchInfo(label, balance, packageInfo); + batch.detail = balance; + batch.detail.fromLocationCode = balance.locationCode; + location.Batchs.push(batch); + return location; + }, + + createBatchInfo(data, balance, packageInfo) { let batch = { - batch: data.lot||data.batch, + isNewAdd: true, + batch: data.batch, qty: 0, uom: data.uom, - handleQty: Number(data.qty), - Records: [], - detail:{ - fromLocationCode:this.fromLocationCode, //balance.locationCode - toLocationCode:this.toLocationCode, - itemCode:data.itemCode, - handleQty: Number(data.qty), - packingNumber:data.packingNumber, - qty: 0, - uom:data.uom, - itemName:packageInfo.itemName, - itemDesc1:packageInfo.itemDesc1, - itemDesc2:packageInfo.itemDesc2, - singlePrice:balance.singlePrice, - amount:balance.amount - } + handleQty: Number(balance.qty), + Records: [] } let record = this.creatRecord(data, balance, packageInfo); batch.Records.push(record); @@ -437,18 +773,21 @@ scaned: true, itemCode: label.itemCode, packingNumber: label.packingNumber, + parentPackingNumber: packageInfo.parentNumber, batch: label.batch, - qty: Number(label.qty) > Number(balance.qty) ? Number(balance.qty) : Number(label.qty), + // qty: Number(balance.qty), + // qty: Number(label.qty) > Number(balance.qty) ? Number(balance.qty) : Number(label.qty), + qty: Number(balance.qty), + handleQty: Number(balance.qty), uom: balance.uom, inventoryStatus: balance.inventoryStatus, balance: balance, toLocationCode: this.toLocationCode, supplierCode: label.supplierCode, packUnit: packageInfo.packUnit, - packQty: packageInfo.packQty, - singlePrice:balance.singlePrice, - amount:balance.amount + packQty: packageInfo.packQty } + return record; }, @@ -458,14 +797,64 @@ handleQty = calc.add(handleQty, res.qty) }) batch.handleQty = handleQty; + }, addRecord(batch, label, balance, packageInfo) { - let record = this.creatRecord(label, balance, packageInfo); - batch.Records.push(record); - this.issueRecord.unshift(record) - this.calcBatchHandleQty(batch); - this.getfocus(); + if (packageInfo.parentNumber) { + var checkData = batch.Records.find(r => { + if (r.packingNumber == packageInfo.parentNumber && + r.batch == balance.batch) { + return r; + } + }) + if (checkData) { + //提示已经扫描 + this.showErrorMessage("箱码[" + packageInfo.number + "]批次[" + balance.batch + + "]的父包装已经扫描") + } else { + let record = this.creatRecord(label, balance, packageInfo); + batch.Records.push(record); + this.issueRecord.unshift(record) + this.calcBatchHandleQty(batch); + this.getfocus(); + this.$emit("afterScan"); + } + } else { + //扫描的是父包装 + var checkData = batch.Records.find(r => { + if (r.parentPackingNumber == packageInfo.number && + r.batch == balance.batch) { + return r; + } + }) + if (checkData) { + //是否移除 + this.$refs.comMessage.showQuestionMessage("扫描箱码[" + checkData.parentPackingNumber + "]" + "批次[" + + balance + .batch + "]是父包装,是否移除子包装", res => { + if (res) { + batch.Records = []; + let record = this.creatRecord(label, balance, packageInfo); + batch.Records.push(record); + this.issueRecord.unshift(record) + this.calcBatchHandleQty(batch); + this.getfocus(); + this.$emit("afterScan"); + } + }) + console.log("扫描的是父包装,是否移除子包装") + } else { + let record = this.creatRecord(label, balance, packageInfo); + batch.Records.push(record); + this.issueRecord.unshift(record) + this.calcBatchHandleQty(batch); + this.getfocus(); + this.$emit("afterScan"); + } + + } + }, getfocus() { @@ -514,13 +903,17 @@ let item = this.toLocation.Items.find(r => r.itemCode == record.itemCode); if (item != undefined) { + item.Locations.forEach(l => { let batch = l.Batchs.find(b => b.packingNumber == record.packingNumber && b .batch == record.batch); - let rIndex = batch.Records.findIndex(r => r.packingNumber == record - .packingNumber && r - .batch == record.batch); - batch.Records.splice(rIndex, 1); + + if (batch && batch.Records && batch.Records.length > 0) { + let rIndex = batch.Records.findIndex(r => r.packingNumber == record + .packingNumber && r.batch == record.batch); + batch.Records.splice(rIndex, 1); + } + }) } this.$emit('updateData', item); @@ -529,10 +922,16 @@ }, packGetFocus() { - this.$refs.comscan.getfocus(); + if (this.$refs.comscan) { + this.$refs.comscan.getfocus(); + } + }, packLoseFocus() { - this.$refs.comscan.losefocus(); + if (this.$refs.comscan) { + this.$refs.comscan.losefocus(); + } + }, showMessage(message, callback) { setTimeout(r => { @@ -579,4 +978,8 @@ max-height: 300rpx; padding: 10rpx; } - + + .my-combox { + font-size: 50px; + } + \ No newline at end of file diff --git a/src/pages/deliver/coms/comScanDeliverPackss.vue b/src/pages/deliver/coms/comScanDeliverPackss.vue new file mode 100644 index 00000000..b5ad7bfb --- /dev/null +++ b/src/pages/deliver/coms/comScanDeliverPackss.vue @@ -0,0 +1,582 @@ + + + + + diff --git a/src/pages/deliver/job/deliverDetail.vue b/src/pages/deliver/job/deliverDetail.vue index 3e031a13..d96d1783 100644 --- a/src/pages/deliver/job/deliverDetail.vue +++ b/src/pages/deliver/job/deliverDetail.vue @@ -341,6 +341,8 @@ batch.Records.forEach(r => { let record = {}; record.handleQty = r.qty; + record.fromPackingNumber = r + .packingNumber; record.toContainerNumber = r .ContainerNumber; record.toInventoryStatus = r @@ -365,7 +367,8 @@ .packingNumber; record.toBatch = info.batch; } - record.fromPackingNumber = r.packingNumber + record.fromParentPackingNumber = r + .parentPackingNumber; subItem.recordList.push(record); }) subList.push(subItem);