|
|
@ -29,7 +29,7 @@ |
|
|
|
<!-- 管理精度是批次 --> |
|
|
|
<comReceiptDetailCardBacth :dataContent="item" :index="index" :settingParam="jobContent" |
|
|
|
@remove="updateData" @updateData="updateData" :locationAreaTypeList='toLocationAreaTypeList' |
|
|
|
v-if="managementType == 'BY_BATCH'"> |
|
|
|
v-if="managementType == 'BY_BATCH' || managementType =='BY_QUANTITY'"> |
|
|
|
</comReceiptDetailCardBacth> |
|
|
|
<com-receipt-detail-card :dataContent="item" :index="index" :settingParam="jobContent" @remove="updateData" |
|
|
|
@updateData="updateData" :locationAreaTypeList='toLocationAreaTypeList' v-else> |
|
|
@ -55,7 +55,7 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<win-scan-pack ref="scanPopup" @getResult="getScanResult"></win-scan-pack> |
|
|
|
<win-scan-pack ref="scanPopup" @getResult="getScanResult" :locationCode='jobToLocationCode'></win-scan-pack> |
|
|
|
<win-scan-button @goScan="openScanPopup" v-if="operation == 'receipt'"></win-scan-button> |
|
|
|
<!-- <winScanPackAndCont ref="scanPopup" @getResult='getScanResult'></winScanPackAndCont> --> |
|
|
|
<com-message ref="comMessageRef" /> |
|
|
@ -70,7 +70,9 @@ import { purchaseReceiptJobSubmit, getPurchaseReceiptJobDetail, takePurchaseRece |
|
|
|
import { goHome, getCurrDateTime, getPackingNumberAndBatch, compareDesc, navigateBack, getSwitchInfoByCode } from '@/common/basic.js' |
|
|
|
|
|
|
|
import { getDirectoryItemArray } from '@/common/directory.js' |
|
|
|
import { Decimal } from 'decimal.js'; |
|
|
|
|
|
|
|
import { calc } from '@/common/calc' |
|
|
|
import { getManagementPrecisions } from '@/common/balance.js' |
|
|
|
|
|
|
|
import { getTreeDataSource, createRecordInfo, calcHandleQty, getScanCount, calcTreeHandleQty } from '@/common/detail.js' |
|
|
@ -114,11 +116,17 @@ const count = ref(0) |
|
|
|
const managementType = ref('') |
|
|
|
const switchCode1 = ref('') |
|
|
|
const scanedPackingNumber = ref('') |
|
|
|
const packingNumberList = ref([]) |
|
|
|
const source_type = ref('') |
|
|
|
const balanceInfo = ref('') |
|
|
|
const packList = ref([]) |
|
|
|
|
|
|
|
onLoad((option) => { |
|
|
|
id.value = option.id |
|
|
|
scanMessage.value = option.scanMessage |
|
|
|
scanedPackingNumber.value = option.scaned || '' |
|
|
|
status.value = option.status || '' |
|
|
|
source_type.value = option.source_type; |
|
|
|
operation.value = option.operation |
|
|
|
switchCode.value = 'purchasereceiptPrintPDA' // pda打印 |
|
|
|
switchCode1.value = "EnableQms" //根据开关中是否启用QMS去判断,如果为TRUE显示检验指引单,如果为FALSE不显示检验指引单 |
|
|
@ -209,8 +217,9 @@ const getDetail = () => { |
|
|
|
getManagementPrecisions(itemCodes, jobToLocationCode.value, res => { |
|
|
|
if (res.success) { |
|
|
|
managementList.value = res.list; |
|
|
|
managementType.value = managementList.value.some(item => item.ManagementPrecision == |
|
|
|
'BY_BATCH') ? 'BY_BATCH' : '' |
|
|
|
managementType.value = managementList.value && |
|
|
|
managementList.value[0] && |
|
|
|
managementList.value[0].ManagementPrecision ? managementList.value[0].ManagementPrecision : 'BY_PACKAGING' |
|
|
|
} |
|
|
|
}) |
|
|
|
if (scanMessage.value) { |
|
|
@ -226,8 +235,11 @@ const getDetail = () => { |
|
|
|
}) |
|
|
|
} |
|
|
|
const getScanResult = (result) => { |
|
|
|
balanceInfo.value = result.balance |
|
|
|
if(managementType.value == 'BY_BATCH'){ |
|
|
|
getScanResultAfterBatch(result) |
|
|
|
}else if(managementType.value == 'BY_QUANTITY' ){ |
|
|
|
getScanResultAfterQuantity(result) |
|
|
|
}else{ |
|
|
|
getScanResultAfter(result) |
|
|
|
} |
|
|
@ -237,11 +249,11 @@ const getScanResultAfter = (result) => { |
|
|
|
try { |
|
|
|
const { itemCode } = result.label |
|
|
|
let detail = detailSource.value.find((r) => r.itemCode == itemCode) |
|
|
|
detail.scaned = true; |
|
|
|
if (detail == undefined) { |
|
|
|
showErrorMessage(`物料号【${itemCode}】不在列表中`) |
|
|
|
return |
|
|
|
} |
|
|
|
detail.scaned = true; |
|
|
|
if (result.label.labelType == 'ContainerLabel') { |
|
|
|
const containerNumber = result.label.container |
|
|
|
var itemDetail = detail.subList.filter((r) => r.containerNumber == containerNumber) |
|
|
@ -289,7 +301,7 @@ const getScanResultAfter = (result) => { |
|
|
|
pack.toLocationCode = toLocationCode.value |
|
|
|
pack.labelQty = Number(result.label.qty) |
|
|
|
} |
|
|
|
calcTreeHandleQty(detailSource.value) |
|
|
|
calcHandleQty(detailSource.value) |
|
|
|
itemDetail.packList.sort(compareDesc('scanDate')) // 按扫描信息排序 |
|
|
|
} |
|
|
|
} else { |
|
|
@ -333,11 +345,11 @@ const getScanResultAfterBatch = (result)=>{ |
|
|
|
try { |
|
|
|
let itemCode = result.label.itemCode; |
|
|
|
let detail = detailSource.value.find(r => r.itemCode == itemCode); |
|
|
|
detail.scaned = true; |
|
|
|
if (detail == undefined) { |
|
|
|
showErrorMessage("物料号【" + itemCode + "】不在列表中") |
|
|
|
return; |
|
|
|
} |
|
|
|
detail.scaned = true; |
|
|
|
if (result.label.labelType == "ContainerLabel") { |
|
|
|
let containerNumber = result.label.container; |
|
|
|
let itemDetail = detail.subList.filter(r => r.containerNumber == containerNumber); |
|
|
@ -350,10 +362,10 @@ const getScanResultAfterBatch = (result)=>{ |
|
|
|
itemDetail.forEach(item => { |
|
|
|
item.scaned = true; |
|
|
|
itemDetail.scanDate = new Date(); |
|
|
|
item.handleQty = item.qty; |
|
|
|
item.handleQty = calc.add(item.handleQty,result.label.qty) |
|
|
|
item.toLocationCode = toLocationCode.value; |
|
|
|
}) |
|
|
|
calcHandleQty(detailSource.value); |
|
|
|
// calcHandleQty(detailSource.value); |
|
|
|
detailSource.value[0].subList.sort(compareDesc('scanDate')); //按扫描信息排序 |
|
|
|
continueScan() |
|
|
|
} |
|
|
@ -382,10 +394,19 @@ const getScanResultAfterBatch = (result)=>{ |
|
|
|
if (pack == undefined) { |
|
|
|
showMessage("批次【" + batch + "】不在列表中") |
|
|
|
} else { |
|
|
|
if (pack.scaned) { |
|
|
|
let isScan = false |
|
|
|
if(packingNumber){ |
|
|
|
isScan = packList.value.some(item=>item == packingNumber) |
|
|
|
}else{ |
|
|
|
isScan = false |
|
|
|
} |
|
|
|
if (isScan) { |
|
|
|
pack.scanDate = new Date(); |
|
|
|
showMessage("批次【" + batch + "】已经扫描"); |
|
|
|
pack.handleQty = calc.add(pack.handleQty,result.label.qty) |
|
|
|
// showMessage("批次【" + batch + "】已经扫描"); |
|
|
|
} else { |
|
|
|
packList.value.push(packingNumber) |
|
|
|
pack.packList.push(packingNumber) |
|
|
|
pack.scaned = true |
|
|
|
pack.scanDate = new Date(); |
|
|
|
pack.handleQty = Number(result.label.qty); |
|
|
@ -393,10 +414,9 @@ const getScanResultAfterBatch = (result)=>{ |
|
|
|
pack.labelQty = Number(result.label.qty); |
|
|
|
} |
|
|
|
} |
|
|
|
calcTreeHandleQty(detailSource.value); |
|
|
|
calcHandleQty(detailSource.value); |
|
|
|
itemDetail.packList.sort(compareDesc('scanDate')); //按扫描信息排序 |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
//扫描的是外包装,将包装集合全部扫描 |
|
|
|
let scanedLength = 0; |
|
|
@ -405,36 +425,171 @@ const getScanResultAfterBatch = (result)=>{ |
|
|
|
scanedLength++; |
|
|
|
} |
|
|
|
}) |
|
|
|
if (itemDetail.scaned && scanedLength == itemDetail |
|
|
|
.packList.length) { |
|
|
|
let isScan = false |
|
|
|
if(packingNumber){ |
|
|
|
isScan = packingNumberList.value.some(item=>item == packingNumber) |
|
|
|
}else{ |
|
|
|
isScan = false |
|
|
|
} |
|
|
|
if (isScan) { |
|
|
|
itemDetail.scanDate = new Date(); |
|
|
|
showMessage("批次【" + batch + "】已经扫描") |
|
|
|
itemDetail.handleQty = calc.add(itemDetail.handleQty,result.label.qty) |
|
|
|
// showMessage("批次【" + batch + "】已经扫描") |
|
|
|
} else { |
|
|
|
packingNumberList.value.push(packingNumber) |
|
|
|
itemDetail.scaned = true; |
|
|
|
itemDetail.scanDate = new Date(); |
|
|
|
itemDetail.handleQty = Number(result.label.qty); |
|
|
|
itemDetail.handleQty = calc.add(itemDetail.handleQty,result.label.qty) |
|
|
|
itemDetail.toLocationCode = toLocationCode.value; |
|
|
|
itemDetail.labelQty = Number(result.label.qty); |
|
|
|
itemDetail.packList.forEach(pac => { |
|
|
|
pac.scaned = true |
|
|
|
pac.scanDate = new Date(); |
|
|
|
pac.handleQty = Number(pac.qty); |
|
|
|
pac.handleQty = calc.add(pac.handleQty,result.label.qty); |
|
|
|
pac.toLocationCode = toLocationCode.value; |
|
|
|
}) |
|
|
|
|
|
|
|
calcTreeHandleQty(detailSource.value); |
|
|
|
this.detailSource[0].subList.sort(compareDesc('scanDate')); //按扫描信息排序 |
|
|
|
this.continueScan() |
|
|
|
this.$forceUpdate() |
|
|
|
detail.handleQty = itemDetail.handleQty |
|
|
|
detailSource.value[0].subList.sort(compareDesc('scanDate')); //按扫描信息排序 |
|
|
|
continueScan() |
|
|
|
} |
|
|
|
calcHandleQty(detailSource.value); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
this.showErrorMessage(e.message) |
|
|
|
} |
|
|
|
} |
|
|
|
// 数量扫码之后逻辑 |
|
|
|
const getScanResultAfterQuantity = (result)=> { |
|
|
|
try { |
|
|
|
let itemCode = result.label.itemCode; |
|
|
|
let detail = detailSource.value.find(r => r.itemCode == itemCode); |
|
|
|
if (detail == undefined) { |
|
|
|
showErrorMessage("物料号【" + itemCode + "】不在列表中") |
|
|
|
return; |
|
|
|
} |
|
|
|
detail.scaned = true; |
|
|
|
if (result.label.labelType == "ContainerLabel") { |
|
|
|
const containerNumber = result.label.container; |
|
|
|
const itemDetail = detail.subList.filter(r => r.containerNumber == containerNumber); |
|
|
|
if (itemDetail.length == 0) { |
|
|
|
showErrorMessage("物料【" + itemCode + "】、托码【" + containerNumber + "】不在列表中") |
|
|
|
} else { |
|
|
|
if (itemDetail[0].scaned) { |
|
|
|
showErrorMessage("物料【" + itemCode + "】、托码【" + containerNumber + "】已经扫描") |
|
|
|
} else { |
|
|
|
itemDetail.forEach(item => { |
|
|
|
item.scaned = true; |
|
|
|
itemDetail.scanDate = new Date(); |
|
|
|
item.handleQty = calc.add(item.handleQty,result.label.qty) |
|
|
|
item.toLocationCode = toLocationCode.value; |
|
|
|
}) |
|
|
|
// calcHandleQty(this.detailSource); |
|
|
|
detailSource.value[0].subList.sort(compareDesc('scanDate')); //按扫描信息排序 |
|
|
|
continueScan() |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (result.label.labelType == "PurchaseLabel") { |
|
|
|
const packingNumber = result.package.number; |
|
|
|
const parentpackingNumber = result.package.parentNumber; |
|
|
|
const batch = result.label.batch; |
|
|
|
const qty = result.label.qty; |
|
|
|
const detail = detailSource.value.find(r => r.itemCode == itemCode); |
|
|
|
console.log(8989,this.detailSource) |
|
|
|
if (detail == undefined) { |
|
|
|
showMessage("物料号【" + itemCode + "】不在列表中") |
|
|
|
} else { |
|
|
|
//物料在列表中 |
|
|
|
// var itemDetail = detail.subList.find(r => r.batch == |
|
|
|
// batch); |
|
|
|
// if (itemDetail == undefined) { |
|
|
|
// itemDetail = detail.subList.find(r => r.batch == |
|
|
|
// batch); |
|
|
|
|
|
|
|
// if (itemDetail == undefined) { |
|
|
|
// this.showMessage("批次【" + batch + "】不在列表中") |
|
|
|
// } else { |
|
|
|
// var pack = itemDetail.packList.find(p => |
|
|
|
// p.batch == batch) |
|
|
|
// if (pack == undefined) { |
|
|
|
// this.showMessage("批次【" + batch + "】不在列表中") |
|
|
|
// } else { |
|
|
|
let isScan = false |
|
|
|
const itemDetail = detail.subList[0] |
|
|
|
let pack = detail.subList[0] && detail.subList[0].length>0 ?detail.subList[0] : {} |
|
|
|
if(packingNumber){ |
|
|
|
isScan = packingNumberList.value.some(item=>item == packingNumber) |
|
|
|
}else{ |
|
|
|
isScan = false |
|
|
|
} |
|
|
|
if (isScan) { |
|
|
|
detail.subList[0].scanDate = new Date(); |
|
|
|
// this.showMessage("箱码【" + packingNumber + "】已经扫描"); |
|
|
|
|
|
|
|
detail.subList[0].handleQty = calc.add(detail.subList[0].handleQty,result.label.qty) |
|
|
|
} else { |
|
|
|
packingNumberList.value.push(packingNumber) |
|
|
|
detail.subList[0].scaned = true |
|
|
|
detail.subList[0].scanDate = new Date(); |
|
|
|
detail.subList[0].handleQty = Number(result.label.qty); |
|
|
|
detail.subList[0].toLocationCode = toLocationCode.value; |
|
|
|
detail.subList[0].labelQty = Number(result.label.qty); |
|
|
|
} |
|
|
|
// } |
|
|
|
calcHandleQty(detailSource.value); |
|
|
|
continueScan() |
|
|
|
// itemDetail.packList[0] = detail.subList[0]; //按扫描信息排序 |
|
|
|
// } |
|
|
|
|
|
|
|
// } else { |
|
|
|
// //扫描的是外包装,将包装集合全部扫描 |
|
|
|
// var scanedLength = 0; |
|
|
|
// itemDetail.packList.forEach(res => { |
|
|
|
// if (res.scaned) { |
|
|
|
// scanedLength++; |
|
|
|
// } |
|
|
|
// }) |
|
|
|
// debugger |
|
|
|
// let isScan = false |
|
|
|
// if(packingNumber){ |
|
|
|
// isScan = this.packingNumberList.some(item=>item == packingNumber) |
|
|
|
// }else{ |
|
|
|
// isScan = false |
|
|
|
// } |
|
|
|
// if (isScan) { |
|
|
|
// itemDetail.scanDate = new Date(); |
|
|
|
// // this.showMessage("箱码【" + packingNumber + "】已经扫描") |
|
|
|
// itemDetail.handleQty = calc.add(itemDetail.handleQty,result.label.qty) |
|
|
|
// } else { |
|
|
|
// this.packingNumberList.push(packingNumber) |
|
|
|
// itemDetail.scaned = true; |
|
|
|
// itemDetail.scanDate = new Date(); |
|
|
|
// itemDetail.handleQty =itemDetail.handleQty ?itemDetail.handleQty:0 |
|
|
|
// itemDetail.handleQty = calc.add(itemDetail.handleQty,result.label.qty) |
|
|
|
// console.log(itemDetail.handleQty) |
|
|
|
// itemDetail.toLocationCode = this.toLocationCode; |
|
|
|
// itemDetail.labelQty = Number(result.label.qty); |
|
|
|
// itemDetail.packList.forEach(pac => { |
|
|
|
// pac.scaned = true |
|
|
|
// pac.scanDate = new Date(); |
|
|
|
// pac.handleQty = calc.add(pac.handleQty,result.label.qty); |
|
|
|
// pac.toLocationCode = this.toLocationCode; |
|
|
|
// }) |
|
|
|
// detail.handleQty = itemDetail.handleQty |
|
|
|
// this.detailSource[0].subList.sort(compareDesc('scanDate')); //按扫描信息排序 |
|
|
|
// this.continueScan() |
|
|
|
// this.$forceUpdate() |
|
|
|
// } |
|
|
|
// calcHandleQty(this.detailSource); |
|
|
|
// } |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (e) { |
|
|
|
showErrorMessage(e.message) |
|
|
|
} |
|
|
|
} |
|
|
|
// 继续扫描 |
|
|
|
const continueScan = () => { |
|
|
|
scanCount.value = getScanCount(subList.value) |
|
|
@ -446,7 +601,7 @@ const continueScan = () => { |
|
|
|
} |
|
|
|
|
|
|
|
const updateData = () => { |
|
|
|
calcTreeHandleQty(detailSource.value) |
|
|
|
calcHandleQty(detailSource.value) |
|
|
|
// calcHandleQty(this.detailSource); |
|
|
|
} |
|
|
|
|
|
|
@ -471,11 +626,36 @@ const commit = () => { |
|
|
|
if (!checkLocation()) { |
|
|
|
return |
|
|
|
} |
|
|
|
let itemCodes = [] |
|
|
|
detailSource.value.forEach(item => { |
|
|
|
itemCodes.push(item.itemCode) |
|
|
|
}) |
|
|
|
|
|
|
|
//获取管理模式,封装参数 |
|
|
|
getManagementPrecisions(itemCodes, toLocationCode.value, res => { |
|
|
|
if (res.success) { |
|
|
|
managementList.value = res.list; |
|
|
|
managementType.value = managementList.value && |
|
|
|
managementList.value[0] && |
|
|
|
managementList.value[0].ManagementPrecision ? managementList.value[0].ManagementPrecision : 'BY_PACKAGING' |
|
|
|
if(managementType.value == 'BY_BATCH' || managementType.value == 'BY_QUANTITY'){ |
|
|
|
checkBatch() |
|
|
|
}else{ |
|
|
|
check() |
|
|
|
} |
|
|
|
} else { |
|
|
|
uni.hideLoading(); |
|
|
|
showErrorMessage(res.message); |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
// 校验 |
|
|
|
const check = ()=>{ |
|
|
|
// 扫描数量和任务数量相等,直接提交 |
|
|
|
if (scanCount.value == subList.value.length) { |
|
|
|
submitJob() |
|
|
|
} else if (scanCount.value < subList.value.length) { |
|
|
|
} |
|
|
|
else if (scanCount.value < subList.value.length) { |
|
|
|
// 扫描数量小于任务数量,判断是否允许部分提交 |
|
|
|
if (jobContent.value.allowPartialComplete == 'TRUE') { |
|
|
|
// 提交 |
|
|
@ -492,13 +672,38 @@ const commit = () => { |
|
|
|
// 不允许部分提交,提示 |
|
|
|
comMessageRef.value.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { |
|
|
|
if (res) { |
|
|
|
openScanPopup() |
|
|
|
openScanPopup(jobToLocationCode.value) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//按批次的校验 |
|
|
|
const checkBatch = ()=> { |
|
|
|
//扫描数量和任务数量相等,直接提交 |
|
|
|
const scanCount1 = detailSource.value |
|
|
|
const current = detailSource.value.find(item=> item.handleQty<item.qty) |
|
|
|
if(current){ |
|
|
|
//扫描数量小于任务数量,判断是否允许部分提交 |
|
|
|
if (jobContent.value.allowPartialComplete == "TRUE") { |
|
|
|
//提交 |
|
|
|
comMessageRef.value.showQuestionMessage1("任务明细未全部完成,是否提交?", 'red', res => { |
|
|
|
if (res) { |
|
|
|
submitJob() |
|
|
|
} |
|
|
|
}); |
|
|
|
} else { |
|
|
|
//不允许部分提交,提示 |
|
|
|
comMessageRef.value.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { |
|
|
|
if (res) { |
|
|
|
openScanPopup(jobToLocationCode.value); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
submitJob(); |
|
|
|
} |
|
|
|
} |
|
|
|
const reject = () => { |
|
|
|
if (!reasonText.value) { |
|
|
|
showMessage('请输入拒收原因') |
|
|
@ -530,103 +735,91 @@ const reject = () => { |
|
|
|
|
|
|
|
const submitJob = () => { |
|
|
|
proxy.$modal.loading('提交中....') |
|
|
|
const itemCodes = [] |
|
|
|
detailSource.value.forEach((item) => { |
|
|
|
itemCodes.push(item.itemCode) |
|
|
|
}) |
|
|
|
|
|
|
|
// 获取管理模式,封装参数 |
|
|
|
getManagementPrecisions(itemCodes, toLocationCode.value, (res) => { |
|
|
|
if (res.success) { |
|
|
|
managementList.value = res.list |
|
|
|
const params = setParams() |
|
|
|
|
|
|
|
purchaseReceiptJobSubmit(params) |
|
|
|
.then((res) => { |
|
|
|
uni.hideLoading() |
|
|
|
if (res.data) { |
|
|
|
// showCommitSuccessMessage(`提交成功<br>生成采购收货记录<br>${res.data}`) |
|
|
|
const isCheckPrint = getSwitchInfoByCode(switchCode.value) |
|
|
|
let isCheckPrint1 = getSwitchInfoByCode(switchCode1.value)//是否显示采购收货检验指引单 |
|
|
|
if (!isCheckPrint) { |
|
|
|
uni.hideLoading() |
|
|
|
// showCommitSuccessMessage(`提交成功<br>生成采购收货记录<br>${res.data.number}`) |
|
|
|
uni.redirectTo({ |
|
|
|
url: '/pages/pointPutawayJob/index?number='+jobContent.value.number |
|
|
|
}) |
|
|
|
} else if(!isCheckPrint1 && !isCheckPrint){ |
|
|
|
showCommitSuccessMessage("提交成功\n生成采购收货记录\n" + res.data.number) |
|
|
|
}else { |
|
|
|
uni.showLoading({ |
|
|
|
title: '提交成功,将跳转到打印页面', |
|
|
|
mask: true |
|
|
|
}) |
|
|
|
// 获取上架任务 |
|
|
|
let timerCount = 0 |
|
|
|
const timer1 = setInterval(async () => { |
|
|
|
if (timerCount == 15) { |
|
|
|
const params = setParams() |
|
|
|
purchaseReceiptJobSubmit(params) |
|
|
|
.then((res) => { |
|
|
|
uni.hideLoading() |
|
|
|
if (res.data) { |
|
|
|
// showCommitSuccessMessage(`提交成功<br>生成采购收货记录<br>${res.data}`) |
|
|
|
const isCheckPrint = getSwitchInfoByCode(switchCode.value) |
|
|
|
let isCheckPrint1 = getSwitchInfoByCode(switchCode1.value)//是否显示采购收货检验指引单 |
|
|
|
if (!isCheckPrint) { |
|
|
|
uni.hideLoading() |
|
|
|
// showCommitSuccessMessage(`提交成功<br>生成采购收货记录<br>${res.data.number}`) |
|
|
|
uni.redirectTo({ |
|
|
|
url: '/pages/pointPutawayJob/index?number='+jobContent.value.number |
|
|
|
}) |
|
|
|
} else if(!isCheckPrint1 && !isCheckPrint){ |
|
|
|
showCommitSuccessMessage("提交成功\n生成采购收货记录\n" + res.data.number) |
|
|
|
}else if(source_type.value !='TOOL' && source_type.value != 'Develop') { |
|
|
|
uni.showLoading({ |
|
|
|
title: '提交成功,将跳转到打印页面', |
|
|
|
mask: true |
|
|
|
}) |
|
|
|
// 获取上架任务 |
|
|
|
let timerCount = 0 |
|
|
|
const timer1 = setInterval(async () => { |
|
|
|
if (timerCount == 15) { |
|
|
|
clearInterval(timer1) |
|
|
|
showErrorMessage('上架任务生成异常,请到收货记录里重新生成上架申请') |
|
|
|
return |
|
|
|
} |
|
|
|
await getPutawayJobList({ |
|
|
|
filters: [ |
|
|
|
{ |
|
|
|
column: 'purchaseReceiptRecordNumber', |
|
|
|
action: 'in', |
|
|
|
value: res.data.number |
|
|
|
} |
|
|
|
], |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 1000 |
|
|
|
}).then((res1) => { |
|
|
|
timerCount += 1 |
|
|
|
if (res1.data && res1.data.list && res1.data.list.length && res1.data.total >= res.data.detailCount) { |
|
|
|
uni.hideLoading() |
|
|
|
clearInterval(timer1) |
|
|
|
showErrorMessage('上架任务生成异常,请到收货记录里重新生成上架申请') |
|
|
|
return |
|
|
|
} |
|
|
|
await getPutawayJobList({ |
|
|
|
filters: [ |
|
|
|
{ |
|
|
|
column: 'purchaseReceiptRecordNumber', |
|
|
|
action: 'in', |
|
|
|
value: res.data.number |
|
|
|
} |
|
|
|
], |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 1000 |
|
|
|
}).then((res1) => { |
|
|
|
timerCount += 1 |
|
|
|
if (res1.data && res1.data.list && res1.data.list.length && res1.data.total >= res.data.detailCount) { |
|
|
|
uni.hideLoading() |
|
|
|
clearInterval(timer1) |
|
|
|
uni.hideLoading() |
|
|
|
const dataParams = { |
|
|
|
toLocationCode: res1.data.list[0].toLocationCode, |
|
|
|
number: res1.data.list[0].number, |
|
|
|
creator: res1.data.list[0].creator, |
|
|
|
createTime: res1.data.list[0].createTime, |
|
|
|
ids: res1.data.list.map((item) => item.masterId).join(',') |
|
|
|
} |
|
|
|
console.log(dataParams) |
|
|
|
uni.hideLoading() |
|
|
|
if(!isCheckPrint1 && isCheckPrint){ |
|
|
|
uni.redirectTo({ |
|
|
|
url: '/pages/pointPutawayJob/index?data=' + |
|
|
|
encodeURIComponent(JSON.stringify(dataParams)) |
|
|
|
}) |
|
|
|
}else if(isCheckPrint1 && isCheckPrint){ |
|
|
|
uni.redirectTo({ |
|
|
|
url: '/pages/pointPutawayJob/index?number=' + that.jobContent.number + |
|
|
|
'&data=' + |
|
|
|
encodeURIComponent(JSON.stringify(dataParams)) |
|
|
|
}) |
|
|
|
} |
|
|
|
uni.hideLoading() |
|
|
|
const dataParams = { |
|
|
|
toLocationCode: res1.data.list[0].toLocationCode, |
|
|
|
number: res1.data.list[0].number, |
|
|
|
creator: res1.data.list[0].creator, |
|
|
|
createTime: res1.data.list[0].createTime, |
|
|
|
ids: res1.data.list.map((item) => item.masterId).join(',') |
|
|
|
} |
|
|
|
}) |
|
|
|
}, 2000) |
|
|
|
} |
|
|
|
} else { |
|
|
|
showErrorMessage(`提交失败[${res.msg}]`) |
|
|
|
console.log(dataParams) |
|
|
|
uni.hideLoading() |
|
|
|
if(!isCheckPrint1 && isCheckPrint){ |
|
|
|
uni.redirectTo({ |
|
|
|
url: '/pages/pointPutawayJob/index?data=' + |
|
|
|
encodeURIComponent(JSON.stringify(dataParams)) |
|
|
|
}) |
|
|
|
}else if(isCheckPrint1 && isCheckPrint){ |
|
|
|
uni.redirectTo({ |
|
|
|
url: '/pages/pointPutawayJob/index?number=' + that.jobContent.number + |
|
|
|
'&data=' + |
|
|
|
encodeURIComponent(JSON.stringify(dataParams)) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}, 2000) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch((error) => { |
|
|
|
} else if(source_type.value == 'TOOL' || source_type.value == 'Develop'){ |
|
|
|
uni.hideLoading() |
|
|
|
comMessageRef.value.showErrorMessage(error, res => { |
|
|
|
if (res) { |
|
|
|
navigateBack(1) |
|
|
|
} |
|
|
|
}); |
|
|
|
}) |
|
|
|
} else { |
|
|
|
uni.hideLoading() |
|
|
|
showErrorMessage(res.message) |
|
|
|
} |
|
|
|
}) |
|
|
|
this.showCommitSuccessMessage("提交成功\n生成采购收货记录\n" + res.data.number) |
|
|
|
}else { |
|
|
|
showErrorMessage(`提交失败[${res.msg}]`) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch((error) => { |
|
|
|
uni.hideLoading() |
|
|
|
comMessageRef.value.showErrorMessage(error, res => { |
|
|
|
if (res) { |
|
|
|
navigateBack(1) |
|
|
|
} |
|
|
|
}); |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
const setParams = () => { |
|
|
@ -644,6 +837,7 @@ const setParams = () => { |
|
|
|
pack.handleQty = 0 |
|
|
|
} |
|
|
|
}) |
|
|
|
detail.toLocationCode = toLocationCode.value ? toLocationCode.value : jobToLocationCode.value |
|
|
|
const info = getPackingNumberAndBatch(managementList.value, detail.itemCode, detail.packingNumber, detail.batch) |
|
|
|
detail.toPackingNumber = info.packingNumber |
|
|
|
detail.packingNumber = info.packingNumber; |
|
|
@ -694,6 +888,7 @@ const switchChange = (isOn) => { |
|
|
|
r.resizeCollapse() |
|
|
|
}) |
|
|
|
}) |
|
|
|
scanCount.value = getScanCount(detailSource.value); |
|
|
|
calcHandleQty(detailSource.value) |
|
|
|
} else { |
|
|
|
comMessageRef.value.showQuestionMessage('是否要关闭整单收货?', (res) => { |
|
|
@ -731,7 +926,7 @@ const showErrorMessage = (message) => { |
|
|
|
} |
|
|
|
|
|
|
|
const openScanPopup = () => { |
|
|
|
scanPopup.value.openScanPopup() |
|
|
|
scanPopup.value.openScanPopup(jobToLocationCode.value) |
|
|
|
} |
|
|
|
|
|
|
|
const closeScanPopup = () => { |
|
|
|