Browse Source

YT-1955制品回收任务

intex_online20250220
lijuncheng 1 week ago
parent
commit
b17a9dc7e4
  1. 132
      src/pages/productRecycle/job/productRecycleJobDetail.vue

132
src/pages/productRecycle/job/productRecycleJobDetail.vue

@ -12,8 +12,8 @@
<scroll-view scroll-y="true" class="page-main-scroll">
<view class="detail-list" v-for="(item, index) in detailSource" :key="item.id">
<view class="">
<comDetailCardBatch :dataContent="item" :index="index" :settingParam="jobContent" :isShowStatus="false"
@remove="updateData" @updateData="updateData" @openDetail="openDetail"
<comDetailCardBatch :dataContent="item" :index="index" :settingParam="jobContent"
:isShowStatus="false" @remove="updateData" @updateData="updateData" @openDetail="openDetail"
:locationAreaTypeList='toLocationAreaTypeList' v-if="managementType == 'BY_BATCH'">
</comDetailCardBatch>
<com-detail-card :dataContent="item" :settingParam="jobContent" @remove="updateData"
@ -103,7 +103,8 @@
businessTypeInfo: {},
managementList: [],
jobStatus: "",
managementType: ''
managementType: '',
toLocationAreaTypeList: []
};
},
onLoad(option) {
@ -205,7 +206,9 @@
getManagementPrecisions(itemCodes, that.fromLocationCode, res => {
if (res.success) {
this.managementList = res.list;
this.managementType = this.managementList&&this.managementList[0]&&this.managementList[0].ManagementPrecision?this.managementList[0].ManagementPrecision:'BY_PACKAGING'
this.managementType = this.managementList && this.managementList[
0] && this.managementList[0].ManagementPrecision ? this
.managementList[0].ManagementPrecision : 'BY_PACKAGING'
}
})
} else {
@ -251,15 +254,18 @@
},
getScanResult(result) {
console.log(result.label)
this.labelInfo = result.label
if(this.managementType == 'BY_BATCH' ||this.managementType == "BY_QUANTITY" ){
if (this.managementType == 'BY_BATCH') {
this.getScanResultAfterBatch(result)
} else if (this.managementType == "BY_QUANTITY") {
this.getScanResultAfterQuantity(result)
} else {
this.getScanResultAfter(result)
}
},
getScanResultAfter(result) {
try {
var packingNumber = result.label.packingNumber;
@ -402,7 +408,9 @@
']不一致,是否继续回收?', res => {
if (res) {
itemDetail.scaned = true;
itemDetail.handleQty = itemDetail.handleQty ? calc.add(itemDetail.handleQty,Number(result.label.qty)) : Number(result.label.qty);
itemDetail.handleQty = itemDetail.handleQty ? calc.add(itemDetail
.handleQty, Number(result.label.qty)) : Number(result.label
.qty);
itemDetail.toInventoryStatus = result.balance.inventoryStatus;
itemDetail.inventoryStatus = result.balance.inventoryStatus;
itemDetail.balance = result.balance;
@ -424,7 +432,8 @@
//
} else {
itemDetail.scaned = true;
itemDetail.handleQty = itemDetail.handleQty ? calc.add(itemDetail.handleQty,Number(result.label.qty)) : Number(result.label.qty);
itemDetail.handleQty = itemDetail.handleQty ? calc.add(itemDetail.handleQty, Number(
result.label.qty)) : Number(result.label.qty);
itemDetail.toInventoryStatus = result.balance.inventoryStatus;
itemDetail.inventoryStatus = result.balance.inventoryStatus;
itemDetail.balance = result.balance;
@ -447,6 +456,109 @@
this.showErrorMessage(e.message);
}
},
getScanResultAfterQuantity(result) {
try {
var packingNumber = result.label.packingNumber;
var batch = result.label.batch;
var qty = result.label.qty;
var itemCode = result.label.itemCode;
var itemDetail = undefined;
var detail = this.detailSource.find(r => r.itemCode == itemCode);
if (detail == undefined) {
this.showMessage("物料号【" + itemCode + "】不在列表中")
} else {
detail.scaned = true
let balanceStatus = getInventoryStatusName(result.balance.inventoryStatus);
//
itemDetail = detail.subList.find(r => {
return
r.fromLocationCode == result.fromLocationCode &&
r.inventoryStatus == result.balance.inventoryStatus
})
if (itemDetail) {
//
if (itemDetail.scaned) {
// this.showErrorMessage("\n" + batch + "\n" + result
// .fromLocationCode + "\n" + balanceStatus + "\n")
itemDetail.handleQty = calc.add(itemDetail.handleQty, Number(result.label.qty));
itemDetail.balanceQty = Number(result.label.qty);
} else {
itemDetail.scaned = true;
itemDetail.handleQty = Number(result.label.qty);
itemDetail.balanceQty = Number(result.label.qty);
itemDetail.toInventoryStatus = result.balance.inventoryStatus;
itemDetail.inventoryStatus = result.balance.inventoryStatus;
itemDetail.balance = result.balance;
itemDetail.balance.balanceQty = Number(result.balance.qty);
itemDetail.balance.packQty = Number(result.package.packQty)
itemDetail.balance.packUnit = result.package.packUnit
}
this.calcHandleQty();
} else {
//
itemDetail = detail.subList.find(r => {
return r.fromLocationCode == result.fromLocationCode
})
if (itemDetail) {
let itemStatus = getInventoryStatusName(itemDetail.inventoryStatus);
//
if (balanceStatus != itemStatus) {
if (this.jobContent.allowModifyInventoryStatus == "TRUE") {
this.showQuestionMessage('实际库存状态[' + balanceStatus + ']与推荐库存状态[' + itemStatus +
']不一致,是否继续回收?', res => {
if (res) {
itemDetail.scaned = true;
itemDetail.handleQty = itemDetail.handleQty ? calc.add(itemDetail
.handleQty, Number(result.label.qty)) : Number(result.label
.qty);
itemDetail.toInventoryStatus = result.balance.inventoryStatus;
itemDetail.inventoryStatus = result.balance.inventoryStatus;
itemDetail.balance = result.balance;
itemDetail.balance.balanceQty = result.balance.qty;
itemDetail.balance.packQty = result.package.packQty
itemDetail.balance.packUnit = result.package.packUnit
this.calcHandleQty();
} else {
this.scanPopupGetFocus();
}
});
} else {
this.showQuestionMessage('任务中不允许修改库存状态,实际库存状态[' + balanceStatus + ']与推荐库存状态[' +
itemStatus +
']不一致,不允许回收!', res => {
this.scanPopupGetFocus();
});
}
//
} else {
itemDetail.scaned = true;
itemDetail.handleQty = itemDetail.handleQty ? calc.add(itemDetail.handleQty, Number(
result.label.qty)) : Number(result.label.qty);
itemDetail.toInventoryStatus = result.balance.inventoryStatus;
itemDetail.inventoryStatus = result.balance.inventoryStatus;
itemDetail.balance = result.balance;
itemDetail.balance.balanceQty = result.balance.qty;
itemDetail.balance.packQty = result.package.packQty
itemDetail.balance.packUnit = result.package.packUnit
this.calcHandleQty();
}
} else {
this.showErrorMessage("\n库位【" + result
.fromLocationCode + "】\n不在任务列表中")
}
}
}
this.scanPopupGetFocus();
} catch (e) {
this.showErrorMessage(e.message);
}
},
commit() {
this.scanCount = getScanCount(this.subList);
if (this.scanCount == 0) {
@ -525,7 +637,8 @@
str += `物料号【${item.itemCode}】提交数量【${tempHandleQty}】与任务物料数量【${cur.qty}】不一致`
}
if (cur.handleQty > cur.balance.qty) {
str1 += `物料号【${item.itemCode}】提交数量【${cur.handleQty}】不可以大于库存数量【${cur.balance.qty}`
str1 +=
`物料号【${item.itemCode}】提交数量【${cur.handleQty}】不可以大于库存数量【${cur.balance.qty}`
}
})
})
@ -558,7 +671,6 @@
if (res.success) {
this.managementList = res.list;
var params = this.setParams()
console.log("提交参数",params);
productRecycleJobsubmit(params).then(res => {
uni.hideLoading()
if (res.data) {

Loading…
Cancel
Save