|
|
@ -69,7 +69,8 @@ |
|
|
|
jobList: [], |
|
|
|
detailOptions: [], |
|
|
|
detailRemoveOption: [], |
|
|
|
ishsowLoading:false |
|
|
|
ishsowLoading:false, |
|
|
|
asnNumberList:[] |
|
|
|
}; |
|
|
|
}, |
|
|
|
onShow() {}, |
|
|
@ -128,13 +129,47 @@ |
|
|
|
}); |
|
|
|
const asnNumber = result.label.asn || result.label.code |
|
|
|
const isAsn = result.label.code ? true : false |
|
|
|
|
|
|
|
try { |
|
|
|
if (!asnNumber) { |
|
|
|
this.showMessage("标签格式异常,请重新补打标签") |
|
|
|
uni.hideLoading(); |
|
|
|
return; |
|
|
|
} |
|
|
|
// 如果扫描箱标签 |
|
|
|
if (!isAsn) { |
|
|
|
//asn已经被扫描过,不需要重新获取任务接口 |
|
|
|
if(this.asnNumberList.includes(asnNumber)){ |
|
|
|
uni.hideLoading() |
|
|
|
result.label.lookNumber = result.package.number.substring(result.package.number |
|
|
|
.length - 5); |
|
|
|
// 扫描的箱标签asn单号已经在列表中 |
|
|
|
const itemObj = this.jobList.find(item => item.asnNumber == asnNumber && item.itemCode == result |
|
|
|
.label.itemCode) |
|
|
|
if (!itemObj) { |
|
|
|
this.showMessage(`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不在列表中 `) |
|
|
|
return |
|
|
|
} |
|
|
|
const packObj = itemObj.packageDOS.find(cur => cur.number == result.label.packingNumber) |
|
|
|
if (!packObj) { |
|
|
|
this.showMessage( |
|
|
|
`ASN单号【${asnNumber}】物料代码【${result.label.itemCode}】不存在看板编号【${ result.label.lookNumber}】`) |
|
|
|
return |
|
|
|
} |
|
|
|
if (packObj.requestNumber) { |
|
|
|
this.showMessage(`看板编号【${ result.label.lookNumber}】已经收货`) |
|
|
|
returns |
|
|
|
} |
|
|
|
if (packObj.scaned) { |
|
|
|
this.showMessage(`看板编号【${ result.label.lookNumber}】已扫描`) |
|
|
|
return |
|
|
|
} |
|
|
|
itemObj.scaned = true |
|
|
|
packObj.scaned = true |
|
|
|
packObj.handleQty = result.label.qty |
|
|
|
this.calcHandleQty(this.jobList); |
|
|
|
this.scanPopupGetFocus() |
|
|
|
// 改asn单号没有被扫描过 |
|
|
|
}else{ |
|
|
|
try { |
|
|
|
this.scanMessage = "" |
|
|
|
let filters = [] |
|
|
|
// ASN单号 |
|
|
@ -147,17 +182,13 @@ |
|
|
|
action: "in", |
|
|
|
value: '1,2', |
|
|
|
} |
|
|
|
// , { |
|
|
|
// column: "accept_user_id", |
|
|
|
// action: "==", |
|
|
|
// value: this.$store.state.user.id |
|
|
|
// }, |
|
|
|
] |
|
|
|
getPurchaseReceiptASNJobList({ |
|
|
|
filters: filters, |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 100, |
|
|
|
}).then(async res => { |
|
|
|
this.asnNumberList.push(asnNumber) |
|
|
|
this.scanMessage = result.scanMessage |
|
|
|
let resultList = res.data.list; |
|
|
|
uni.hideLoading() |
|
|
@ -168,11 +199,8 @@ |
|
|
|
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`) |
|
|
|
return |
|
|
|
} |
|
|
|
// 如果扫描箱标签 |
|
|
|
if (!isAsn) { |
|
|
|
result.label.lookNumber = result.package.number.substring(result.package.number |
|
|
|
.length - 5); |
|
|
|
|
|
|
|
// 扫描的箱标签asn单号不在列表中给个提示 |
|
|
|
if (!asnObj) { |
|
|
|
this.$refs.comMessage.showQuestionMessage(`ASN单号【${asnNumber}】不在列表中,是否要按此ASN收货?`, async res => { |
|
|
@ -249,11 +277,52 @@ |
|
|
|
this.calcHandleQty(this.jobList); |
|
|
|
this.scanPopupGetFocus() |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
if (asnObj) { |
|
|
|
this.showMessage("未查询到此ASN关联的采购收货任务") |
|
|
|
} |
|
|
|
}).catch(error => { |
|
|
|
this.showMessage(error + "\n扫描[" + result.scanMessage + "]") |
|
|
|
}) |
|
|
|
} catch (e) { |
|
|
|
this.showMessage(e.message) |
|
|
|
} |
|
|
|
}; |
|
|
|
}else{ |
|
|
|
//asn已经被扫描过,不需要重新获取任务接口 |
|
|
|
if(this.asnNumberList.includes(asnNumber)){ |
|
|
|
this.showMessage(`ASN单号【${asnNumber}】已经扫描`) |
|
|
|
uni.hideLoading() |
|
|
|
return; |
|
|
|
}else{ |
|
|
|
try { |
|
|
|
this.scanMessage = "" |
|
|
|
let filters = [] |
|
|
|
// ASN单号 |
|
|
|
filters = [{ |
|
|
|
column: "asn_number", |
|
|
|
action: "==", |
|
|
|
value: asnNumber |
|
|
|
}, { |
|
|
|
column: "status", |
|
|
|
action: "in", |
|
|
|
value: '1,2', |
|
|
|
} |
|
|
|
] |
|
|
|
getPurchaseReceiptASNJobList({ |
|
|
|
filters: filters, |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 100, |
|
|
|
}).then(async res => { |
|
|
|
this.asnNumberList.push(asnNumber) |
|
|
|
this.scanMessage = result.scanMessage |
|
|
|
let resultList = res.data.list; |
|
|
|
uni.hideLoading() |
|
|
|
if (resultList.length > 0) { |
|
|
|
// 判断目前是否有已扫描的asn单号 |
|
|
|
const asnObj = this.jobList.find(item => item.asnNumber == asnNumber) |
|
|
|
if (resultList[0].acceptUserId && resultList[0].acceptUserId != this.$store.state.user.id) { |
|
|
|
this.showMessage(`ASN单号【${asnNumber}】已经被${resultList[0].acceptUserName}承接`) |
|
|
|
return |
|
|
|
} |
|
|
|
// 承接任务 // 如果任务状态是待处理的情况需要承接 |
|
|
|
if (resultList[0].status == '1') { |
|
|
@ -272,7 +341,6 @@ |
|
|
|
} |
|
|
|
this.jobList = [...this.jobList, ...resultList] |
|
|
|
this.scanPopupGetFocus() |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.showMessage("未查询到此ASN关联的采购收货任务") |
|
|
|
} |
|
|
@ -282,6 +350,9 @@ |
|
|
|
} catch (e) { |
|
|
|
this.showMessage(e.message) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
calcHandleQty(detailSource) { |
|
|
|
for (let item of detailSource) { |
|
|
|