Browse Source

YT-505成品发货:扫描数量大于任务数量时,如果配置了不允许大于推荐数量,则不可提交任务。

intex_online20241111
张立 6 months ago
parent
commit
05913111a3
  1. 8
      src/mycomponents/qty/qtyEdit.vue
  2. 6
      src/pages/deliver/coms/comDeliverDetailCardBatch.vue
  3. 23
      src/pages/deliver/job/deliverDetailBatch.vue
  4. 65
      src/pages/purchaseReceipt/job/receiptDetail.vue

8
src/mycomponents/qty/qtyEdit.vue

@ -89,7 +89,11 @@
allowEditStatus: { allowEditStatus: {
type: Boolean, type: Boolean,
default: false default: false
} },
allowBiggerQty: {
type: String,
default: 'TRUE'
},
}, },
methods: { methods: {
openEditPopup(item, handleQty) { openEditPopup(item, handleQty) {
@ -119,7 +123,7 @@
res => { res => {
this.allQty = balanceQty; this.allQty = balanceQty;
}) })
} else if (this.allQty > balanceQty) { } else if (this.allQty > balanceQty && this.allowBiggerQty == 'TRUE') {
this.$refs.comMessage.showConfirmWarningModal('数量[' + this.allQty + ']不允许大于任务数量[' + balanceQty + ']', this.$refs.comMessage.showConfirmWarningModal('数量[' + this.allQty + ']不允许大于任务数量[' + balanceQty + ']',
res => { res => {
this.allQty = balanceQty; this.allQty = balanceQty;

6
src/pages/deliver/coms/comDeliverDetailCardBatch.vue

@ -17,7 +17,7 @@
</uni-swipe-action> </uni-swipe-action>
</view> </view>
</view> </view>
<qtyEdit ref="balanceQtyEdit" @confirm="confirm" :isShowStatus="true"></qtyEdit> <qtyEdit ref="balanceQtyEdit" @confirm="confirm" :isShowStatus="true" :allowBiggerQty='allowBiggerQty'></qtyEdit>
<detail-info-popup ref="detailInfoPopup"></detail-info-popup> <detail-info-popup ref="detailInfoPopup"></detail-info-popup>
<comMessage ref="message"></comMessage> <comMessage ref="message"></comMessage>
</template> </template>
@ -67,6 +67,10 @@ import {
type: Boolean, type: Boolean,
default: true default: true
}, },
allowBiggerQty: {
type: Boolean,
default: false
},
}, },
watch: { watch: {

23
src/pages/deliver/job/deliverDetailBatch.vue

@ -30,7 +30,7 @@
<scroll-view scroll-y="true" class="page-main-scroll"> <scroll-view scroll-y="true" class="page-main-scroll">
<view> <view>
<comDeliverDetailCardBatch ref='comIssueDetailCard' :dataContent="detailSource" :settingParam="jobContent" <comDeliverDetailCardBatch ref='comIssueDetailCard' :dataContent="detailSource" :settingParam="jobContent"
@updateData='updateData'> @updateData='updateData' :allowBiggerQty='allowBiggerQty'>
</comDeliverDetailCardBatch> </comDeliverDetailCardBatch>
</view> </view>
</scroll-view> </scroll-view>
@ -109,7 +109,8 @@
scanOptions: [], scanOptions: [],
status: "", status: "",
toLocationCode: "", toLocationCode: "",
jobStatus: "" jobStatus: "",
allowBiggerQty:true,//
}; };
}, },
@ -186,6 +187,7 @@
that.subList = res.data.subList; that.subList = res.data.subList;
that.detailSource = res.data; that.detailSource = res.data;
that.toLocationCode = that.subList[0].toLocationCode that.toLocationCode = that.subList[0].toLocationCode
that.allowBiggerQty = res.data.allowBiggerQty;
that.resizeCollapse(); that.resizeCollapse();
} else { } else {
that.showMessage('未获取到详情'); that.showMessage('未获取到详情');
@ -247,6 +249,7 @@
checkCount() { checkCount() {
let str = "" let str = ""
let str1 = ""
var taskQty = 0; var taskQty = 0;
var totalQty = 0; var totalQty = 0;
this.detailSource.subList.forEach(item => { this.detailSource.subList.forEach(item => {
@ -260,8 +263,13 @@
// //
this.detailSource.subList.forEach(detail => { this.detailSource.subList.forEach(detail => {
if (this.jobContent.allowPartialComplete == "FALSE") { if (this.jobContent.allowPartialComplete == "FALSE") {
if (item.taskQty != item.totalQty) { if (taskQty != totalQty) {
str += `物料号【${item.itemCode}】任务数量【${item.taskQty}】与实际提交数量【${item.totalQty}】不一致\n` str += `物料号【${detail.itemCode}】任务数量【${taskQty}】与实际提交数量【${totalQty}】不一致\n`
}
}
if (this.allowBiggerQty) {
if (taskQty > totalQty) {
str1 += '数量[' + totalQty + ']不允许大于任务数量[' + taskQty + ']'
} }
} }
}) })
@ -270,8 +278,12 @@
str = '不允许提交\n' + str str = '不允许提交\n' + str
this.showErrorMessage(str) this.showErrorMessage(str)
} }
if (str1) {
str = '不允许提交\n' + str
this.showErrorMessage(str)
}
return str ? false : true return str || str1 ? false : true
}, },
@ -291,6 +303,7 @@
deliverJobSubmit(params).then(res => { deliverJobSubmit(params).then(res => {
uni.hideLoading() uni.hideLoading()
if (res.data) { if (res.data) {
this.showCommitSuccessMessage("提交成功\n生成发货记录\n" + res.data) this.showCommitSuccessMessage("提交成功\n生成发货记录\n" + res.data)
} else { } else {
this.showErrorMessage("提交失败[" + res.msg + "]") this.showErrorMessage("提交失败[" + res.msg + "]")

65
src/pages/purchaseReceipt/job/receiptDetail.vue

@ -601,7 +601,29 @@
if (!this.checkLocation()) { if (!this.checkLocation()) {
return return
} }
var itemCodes = []
this.detailSource.forEach(item => {
itemCodes.push(item.itemCode)
})
//
getManagementPrecisions(itemCodes, this.toLocationCode, 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'
if(this.managementType == 'BY_BATCH' || this.managementType == 'BY_QUANTITY'){
this.checkBatch()
}else{
this.check()
}
} else {
uni.hideLoading();
this.showErrorMessage(res.message);
}
})
},
//
check(){
// //
if (this.scanCount == this.subList.length) { if (this.scanCount == this.subList.length) {
this.submitJob(); this.submitJob();
@ -625,7 +647,32 @@
} }
}, },
//
checkBatch(){
//
const scanCount1 = this.detailSource
const current = this.detailSource.find(item=> item.handleQty<item.qty)
if(current){
//
if (this.jobContent.allowPartialComplete == "TRUE") {
//
this.$refs.comMessage.showQuestionMessage1("任务明细未全部完成,是否提交?", 'red', res => {
if (res) {
this.submitJob()
}
});
} else {
//
this.$refs.comMessage.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => {
if (res) {
this.openScanPopup(this.jobToLocationCode);
}
});
}
}else{
this.submitJob();
}
},
reject() { reject() {
if (!this.reasonText) { if (!this.reasonText) {
this.showMessage("请输入拒收原因") this.showMessage("请输入拒收原因")
@ -659,18 +706,10 @@
title: "提交中....", title: "提交中....",
mask: true mask: true
}); });
var itemCodes = []
this.detailSource.forEach(item => {
itemCodes.push(item.itemCode)
})
//
getManagementPrecisions(itemCodes, this.toLocationCode, res => {
if (res.success) {
this.managementList = res.list;
var params = this.setParams(); var params = this.setParams();
let that = this let that = this
console.log(params) console.log(params)
// return
purchaseReceiptJobSubmit(params).then(res => { purchaseReceiptJobSubmit(params).then(res => {
if (res.data) { if (res.data) {
let isCheckPrint = getSwitchInfoByCode(this.switchCode)// let isCheckPrint = getSwitchInfoByCode(this.switchCode)//
@ -769,11 +808,7 @@
} }
}); });
}) })
} else {
uni.hideLoading();
this.showErrorMessage(res.message);
}
});
}, },

Loading…
Cancel
Save