Browse Source

修改到货检验参数

wms3.0_pda
李俊城 2 years ago
parent
commit
da79f72625
  1. 25
      common/basic.js
  2. 1
      mycomponents/qty/RecommendQty.vue
  3. 11
      pages/inspect/coms/inspectComDetailCard.vue
  4. 82
      pages/inspect/job/inspectDetail.vue
  5. 10
      pages/inspect/job/inspectJob.vue
  6. 122
      pages/inspect/job/inspectResult.vue
  7. 7
      pages/purchaseReceipt/job/receiptDetail.vue
  8. 26
      pages/putaway/record/putawayRecord.vue

25
common/basic.js

@ -4,7 +4,7 @@ export {
} }
let jobStatusList = []; let jobStatusList = [];
let itemStatusList =[]; let itemStatusList = [];
let locationTypeList = []; let locationTypeList = [];
let uomList = []; let uomList = [];
let inventoryStatusList = []; let inventoryStatusList = [];
@ -635,7 +635,7 @@ export function queryManageModel(managementList, itemCode) {
} }
} }
export function getPackingNumberAndBatch(managementList, itemCode,packingNumber,batch) { export function getPackingNumberAndBatch(managementList, itemCode, packingNumber, batch) {
var itemInfo = { var itemInfo = {
packingNumber: "", packingNumber: "",
batch: "" batch: ""
@ -677,19 +677,26 @@ export function getPackingNumberAndBatch(managementList, itemCode,packingNumber,
// scanErrorAudio(); // scanErrorAudio();
// } // }
export function compare(key) { export function compareTime() {
return function(a, b) {
// 按照时间降序
return Date.parse(a.time) - Date.parse(a.time)
}
}
//升序
export function compareAsc(key) {
return function(a, b) { return function(a, b) {
var val1 = a[key]; var val1 = a[key];
var val2 = b[key]; var val2 = b[key];
return val2 - val1; return val1 - val2;
} }
} }
//倒序
export function compareDesc(key) { export function compareDesc(key) {
return function(a, b) { return function(a, b) {
var val1 = a[key]; var val1 = a[key];
var val2 = b[key]; var val2 = b[key];
return val1 - val2; return val2 - val1;
} }
} }
@ -704,9 +711,9 @@ export function goHome() {
*/ */
export function getTodayDate() { export function getTodayDate() {
var startTime = new Date(new Date().toLocaleDateString()).getTime(); var startTime = new Date(new Date().toLocaleDateString()).getTime();
var endTime = startTime+24*60*60*1000-1 var endTime = startTime + 24 * 60 * 60 * 1000 - 1
console.log("获取时间",startTime+","+endTime) console.log("获取时间", startTime + "," + endTime)
return startTime+","+endTime; return startTime + "," + endTime;
} }
export function getCurrDate() { export function getCurrDate() {

1
mycomponents/qty/RecommendQty.vue

@ -1,6 +1,5 @@
<template> <template>
<view> <view>
推荐
<view class="uni-flex uni-row center"> <view class="uni-flex uni-row center">
<status v-if="isShowStatus" :status='dataContent.inventoryStatus'></status> <status v-if="isShowStatus" :status='dataContent.inventoryStatus'></status>
<view class="text_recommend "> <view class="text_recommend ">

11
pages/inspect/coms/inspectComDetailCard.vue

@ -2,6 +2,9 @@
<view class="" style="background-color: #fff;"> <view class="" style="background-color: #fff;">
<view class=""> <view class="">
<view class="" style="font-size: 32rpx;margin-left: 20rpx;"> <view class="" style="font-size: 32rpx;margin-left: 20rpx;">
<view class="">
检验类型 : {{getInspectType(jobContent.inspectType)}}
</view>
<view class=""> <view class="">
收货数量 : {{jobContent.receiveQty}}{{getUnitInfo(jobContent.uom)}} 收货数量 : {{jobContent.receiveQty}}{{getUnitInfo(jobContent.uom)}}
</view> </view>
@ -73,9 +76,9 @@
getDetailEditRemoveOption, getDetailEditRemoveOption,
getDetailRemoveOption getDetailRemoveOption
} from '@/common/array.js'; } from '@/common/array.js';
import { import {
getUnitInfo getUnitInfo,
getInspectType
} from '@/common/directory.js'; } from '@/common/directory.js';
export default { export default {
@ -144,6 +147,10 @@
}, },
methods: { methods: {
getInspectType(value){
return getInspectType(value)
},
swipeClick(e, item,index) { swipeClick(e, item,index) {
if (e.content.text == "详情") { if (e.content.text == "详情") {
this.detail(item) this.detail(item)

82
pages/inspect/job/inspectDetail.vue

@ -89,25 +89,28 @@
locationTypeList: [], locationTypeList: [],
managementList: [], managementList: [],
selectedItem: {}, selectedItem: {},
failedQty:0, failedQty: 0,
crackQty:0 crackQty: 0,
inspectType: ""
}; };
}, },
onLoad(option) { onLoad(option) {
this.id = option.id; this.id = option.id;
this.failedQty = option.failedQty; this.failedQty = option.failedQty;
this.crackQty = option.crackQty; this.crackQty = option.crackQty;
this.inspectType = option.inspectType;
if (this.id != undefined) { if (this.id != undefined && this.inspectType == "FULL") {
// // // //
// if (option.status == "1") { if (option.status == "1") {
// this.receive((callback => { this.receive((callback => {
// this.received = true; this.received = true;
// this.getDetail(); this.getDetail();
// })); }));
// } else { } else {
// this.getDetail(); this.getDetail();
// } }
} else {
this.getDetail(); this.getDetail();
} }
@ -119,24 +122,24 @@
} }
}, },
// onBackPress(e) { onBackPress(e) {
// // //
// if (e.from == 'backbutton') { if (e.from == 'backbutton') {
// if (this.received) { if (this.received) {
// // //
// cancleTakeInspectJob(this.id).then(res => { cancleTakeInspectJob(this.id).then(res => {
// uni.navigateBack(); uni.navigateBack();
// }).catch(error => { }).catch(error => {
// uni.navigateBack(); uni.navigateBack();
// }) })
// } else { } else {
// uni.navigateBack(); uni.navigateBack();
// } }
// return true; return true;
// } }
// }, },
onPullDownRefresh() { onPullDownRefresh() {
this.getDetail(); this.getDetail();
@ -178,7 +181,7 @@
} else { } else {
if (res.data.subList.length > 0) { if (res.data.subList.length > 0) {
that.jobContent = res.data; that.jobContent = res.data;
that.jobContent.failedQty= this.failedQty that.jobContent.failedQty = this.failedQty
that.jobContent.crackQty = this.crackQty; that.jobContent.crackQty = this.crackQty;
that.subList = res.data.subList; that.subList = res.data.subList;
that.subList.forEach(res => { that.subList.forEach(res => {
@ -318,6 +321,21 @@
this.showErrorMessage("扫描数为0,请先扫描") this.showErrorMessage("扫描数为0,请先扫描")
return; return;
} }
//
if (this.inspectType == "FULL") {
if (this.scanCount == this.subList.length) {
this.submitJob();
} else {
//
this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交<br>' + "已经扫描[" + this.scanCount +
"]箱总共[" + this
.subList.length + "]箱", res => {
if (res) {
this.openScanPopup();
}
});
}
} else {
// //
if (this.scanCount == this.subList.length) { if (this.scanCount == this.subList.length) {
this.submitJob(); this.submitJob();
@ -337,6 +355,8 @@
}); });
} }
} }
}
}, },
submitJob() { submitJob() {
@ -447,7 +467,7 @@
// detail.produceDate = detail.balance.produceDate; // detail.produceDate = detail.balance.produceDate;
// detail.expireDate = detail.balance.expireDate; // detail.expireDate = detail.balance.expireDate;
}else { } else {
detail.sampleQty = detail.qty; detail.sampleQty = detail.qty;
detail.failedQty = 0; detail.failedQty = 0;
detail.crackQty = 0; detail.crackQty = 0;

10
pages/inspect/job/inspectJob.vue

@ -173,14 +173,22 @@
}, },
openJobDetail(item) { openJobDetail(item) {
// uni.navigateTo({ // uni.navigateTo({
// url: './inspectDetail?id=' + item.id + '&status=' + item.status // url: './inspectDetail?id=' + item.id + '&status=' + item.status
// }); // });
if(item.inspectType=="FULL"){
uni.navigateTo({
url: './inspectDetail?id=' + item.id + '&status=' + item.status+'&inspectType=' + item.inspectType
});
}else {
uni.navigateTo({ uni.navigateTo({
url: './inspectResult?id=' + item.id + '&status=' + item.status url: './inspectResult?id=' + item.id + '&status=' + item.status
}); });
}
}, },
showItemList(itemList) { showItemList(itemList) {

122
pages/inspect/job/inspectResult.vue

@ -50,9 +50,9 @@
<view class="pda-list-cell-left"> <view class="pda-list-cell-left">
<view class="uni-label">不合格数量</view> <view class="uni-label">不合格数量</view>
</view> </view>
<view class="pda-list-cell-db" > <view class="pda-list-cell-db">
<uni-easyinput :inputBorder="true" type="number" placeholder="请输入数字" <uni-easyinput :inputBorder="true" type="number" placeholder="请输入数字" v-model="jobContent.failedQty"
v-model="jobContent.failedQty" @blur="failedQtyConfirm" class="count-input"> @blur="failedQtyConfirm" class="count-input">
</uni-easyinput> </uni-easyinput>
</view> </view>
</view> </view>
@ -62,18 +62,18 @@
<view class="pda-list-cell-left"> <view class="pda-list-cell-left">
<view class="uni-label">报废数量</view> <view class="uni-label">报废数量</view>
</view> </view>
<view class="pda-list-cell-db" > <view class="pda-list-cell-db">
<uni-easyinput placeholder="请输入数字" type="number" v-model="jobContent.crackQty" @blur="" <uni-easyinput placeholder="请输入数字" type="number" v-model="jobContent.crackQty" @blur=""
class="count-input"> class="count-input">
</uni-easyinput> </uni-easyinput>
</view> </view>
</view> </view>
<view class="pda-list-cell" > <view class="pda-list-cell">
<view class="pda-list-cell-left"> <view class="pda-list-cell-left">
<view class="uni-label">下一步动作</view> <view class="uni-label">下一步动作</view>
</view> </view>
<view class="pda-list-cell-db" > <view class="pda-list-cell-db">
<uni-data-picker class='uni-data-picker' placeholder="请选择下一步动作" popup-title="下一步动作" <uni-data-picker class='uni-data-picker' placeholder="请选择下一步动作" popup-title="下一步动作"
@change="nextStepChange" :localdata="nextActionList" v-model="nextAction"> @change="nextStepChange" :localdata="nextActionList" v-model="nextAction">
</uni-data-picker> </uni-data-picker>
@ -84,9 +84,9 @@
<view class="pda-list-cell-left"> <view class="pda-list-cell-left">
<view class="uni-label">最终不合格</view> <view class="uni-label">最终不合格</view>
</view> </view>
<view class="pda-list-cell-db" > <view class="pda-list-cell-db">
<uni-easyinput placeholder="待计算" type="number" :disabled="true" <uni-easyinput placeholder="待计算" type="number" :disabled="true" v-model="jobContent.notPassedQty"
v-model="jobContent.notPassedQty" class="count-input"> class="count-input">
</uni-easyinput> </uni-easyinput>
</view> </view>
</view> </view>
@ -248,10 +248,10 @@
if (res.data.subList.length > 0) { if (res.data.subList.length > 0) {
that.jobContent = res.data; that.jobContent = res.data;
that.detailList = res.data.subList; that.detailList = res.data.subList;
that.inspectType =that.jobContent.inspectType; that.inspectType = that.jobContent.inspectType;
that.jobContent.goodQty = null, // that.jobContent.goodQty = null, //
that.jobContent.failedQty = null,// that.jobContent.failedQty = null, //
that.jobContent.crackQty = null,// that.jobContent.crackQty = null, //
that.jobContent.notPassedQty = null; // that.jobContent.notPassedQty = null; //
} else { } else {
that.showMessage('列表数据为0'); that.showMessage('列表数据为0');
@ -291,27 +291,28 @@
return getUnitInfo(value).label return getUnitInfo(value).label
}, },
nextStepChange(e){ nextStepChange(e) {
this.nextAction = e.detail.value[0].value; this.nextAction = e.detail.value[0].value;
this.calcNotPassQty(); this.calcNotPassQty();
}, },
calcNotPassQty(){ calcNotPassQty() {
var failedQty = Number(this.jobContent.failedQty == null ? 0 : this.jobContent.failedQty) var failedQty = Number(this.jobContent.failedQty == null ? 0 : this.jobContent.failedQty)
//() //()
if (this.inspectType == 'FUll' ) { if (this.inspectType == 'FUll') {
// //
this.jobContent.notPassedQty = failedQty this.jobContent.notPassedQty = failedQty
}else if(this.inspectType == 'SAMPLING'){ } else if (this.inspectType == 'SAMPLING') {
// //
// //
// //
if (this.nextAction == "FULL_INSPECT"||this.nextAction == "PARTIAL_OK") { if (this.nextAction == "FULL_INSPECT" || this.nextAction == "PARTIAL_OK") {
// = // =
this.jobContent.notPassedQty = failedQty this.jobContent.notPassedQty = failedQty
}else if(this.nextAction=="ALL_NOK"){ } else if (this.nextAction == "ALL_NOK") {
//=- //=-
this.jobContent.notPassedQty = Number(this.jobContent.receiveQty)-Number(this.jobContent.crackQty==null?0:this.jobContent.crackQty) this.jobContent.notPassedQty = Number(this.jobContent.receiveQty) - Number(this.jobContent
.crackQty == null ? 0 : this.jobContent.crackQty)
} }
} }
@ -342,24 +343,38 @@
//==0() //==0()
if (failedQty == 0) { if (failedQty == 0) {
// if (crackQty == 0) {
this.jobContent.subList.forEach(res=>{ //==0
this.jobContent.subList.forEach(res => {
res.handleQty = res.qty res.handleQty = res.qty
res.failedQty = 0; res.failedQty = 0;
res.notPassedQty = 0; res.notPassedQty = 0;
res.crackQty = 0; res.crackQty = 0;
res.goodQty = this.jobContent.receiveQty; res.goodQty = res.qty;
res.toInventoryStatus = res.inventoryStatus res.failedReason = "";
res.failedReason ="";
res.photos = "" res.photos = ""
res.inspectResult ="" res.inspectResult = ""
res.inspectUser =this.$store.state.user.id res.toInventoryStatus = "OK"
res.inspectUser = this.$store.state.user.id
}) })
this.jobContent.nextAction = this.nextAction; this.jobContent.nextAction = "";
this.jobContent.goodQty = this.jobContent.receiveQty
this.submitJob(this.jobContent) this.submitJob(this.jobContent)
} else { } else {
//0
//
uni.navigateTo({
url: './inspectDetail?id=' + this.id +
'&status=' + this.status +
'&failedQty=' + this.jobContent.failedQty +
'&crackQty=' + this.jobContent.crackQty
});
}
} else {
//>0 //>0
// //
if (this.nextAction == null) { if (this.nextAction == null) {
@ -369,64 +384,74 @@
// //
if (this.nextAction == "ALL_NOK") { if (this.nextAction == "ALL_NOK") {
// //
this.jobContent.subList.forEach(res=>{ this.jobContent.subList.forEach(res => {
res.handleQty = res.qty res.handleQty = res.qty
res.failedQty = this.jobContent.receiveQty; res.failedQty = res.qty;
res.notPassedQty = this.jobContent.receiveQty; res.notPassedQty = res.qty;
res.crackQty = 0; res.crackQty = 0;
res.goodQty = 0; res.goodQty = 0;
res.toInventoryStatus = "NOK" res.failedReason = "";
res.failedReason ="";
res.photos = "" res.photos = ""
res.inspectResult ="" res.inspectResult = ""
re.inspectUser =this.$store.state.user.id res.toInventoryStatus = "NOK"
re.inspectUser = this.$store.state.user.id
}) })
this.jobContent.nextAction = this.nextAction; this.jobContent.nextAction = this.nextAction;
this.jobContent.goodQty = 0
this.submitJob(this.jobContent) this.submitJob(this.jobContent)
// //
} else if (this.nextAction == "PARTIAL_OK") { } else if (this.nextAction == "PARTIAL_OK") {
// //
uni.navigateTo({ uni.navigateTo({
url: './inspectDetail?id=' + this.id + url: './inspectDetail?id=' + this.id +
'&status=' + this.status+ '&status=' + this.status +
'&failedQty=' + this.jobContent.failedQty+ '&failedQty=' + this.jobContent.failedQty +
'&crackQty=' + this.jobContent.crackQty '&crackQty=' + this.jobContent.crackQty
}); });
//=== //
} else if (this.nextAction == "FULL_INSPECT") { } else if (this.nextAction == "FULL_INSPECT") {
// //
this.jobContent.subList.forEach(res=>{ this.jobContent.subList.forEach(res => {
res.handleQty = res.qty res.handleQty = res.qty
res.failedQty = 0; res.failedQty = 0;
res.notPassedQty = 0; res.notPassedQty = 0;
res.crackQty = 0; res.crackQty = 0;
res.goodQty = this.jobContent.receiveQty; res.goodQty = res.qty;
res.toInventoryStatus = res.inventoryStatus res.failedReason = "";
res.failedReason ="";
res.photos = "" res.photos = ""
res.inspectResult ="" res.inspectResult = ""
res.toInventoryStatus = "OK"
res.inspectUser = this.$store.state.user.id res.inspectUser = this.$store.state.user.id
}) })
this.jobContent.goodQty = this.jobContent.receiveQty
this.jobContent.nextAction = this.nextAction; this.jobContent.nextAction = this.nextAction;
this.submitJob(this.jobContent) this.submitJob(this.jobContent)
} }
} }
}, },
submitJob(params){ submitJob(params) {
uni.showLoading({ uni.showLoading({
title: "提交中....", title: "提交中....",
mask: true mask: true
}); });
console.log("提交参数", JSON.stringify(params)); console.log("提交参数", JSON.stringify(params));
inspectJobSubmit(params).then(res=>{ inspectJobSubmit(params).then(res => {
uni.hideLoading() uni.hideLoading()
if (res.data) { if (res.data) {
this.showCommitSuccessMessage("提交成功<br>生成到货检验记录" + res.data, ) var hint="";
if(this.jobContent.nextAction=="FULL_INSPECT"){
hint ="提交成功<br>生成到货检验任务" + res.data
}else {
hint ="提交成功<br>生成到货检验记录" + res.data
}
this.showCommitSuccessMessage(hint)
} else { } else {
this.showErrorMessage("提交失败["+res.msg+"]") this.showErrorMessage("提交失败[" + res.msg + "]")
} }
}).catch(error=>{ }).catch(error => {
uni.hideLoading() uni.hideLoading()
this.showErrorMessage(error) this.showErrorMessage(error)
}) })
@ -440,8 +465,7 @@
}, },
showErrorMessage(message) { showErrorMessage(message) {
this.$refs.comMessage.showErrorMessage(message, res => { this.$refs.comMessage.showErrorMessage(message, res => {
if (res) { if (res) {}
}
}); });
}, },

7
pages/purchaseReceipt/job/receiptDetail.vue

@ -45,7 +45,8 @@
goHome, goHome,
getCurrDateTime, getCurrDateTime,
getPackingNumberAndBatch, getPackingNumberAndBatch,
updateTitle updateTitle,
compareAsc
} from '@/common/basic.js'; } from '@/common/basic.js';
import { import {
@ -107,7 +108,6 @@
} else { } else {
this.getDetail(); this.getDetail();
} }
} }
}, },
// //
@ -208,11 +208,14 @@
this.showMessage("箱码【" + packingNumber + "】已经扫描") this.showMessage("箱码【" + packingNumber + "】已经扫描")
} else { } else {
itemDetail.scaned = true; itemDetail.scaned = true;
this.detailSource[0].subList.sort(compareAsc('scaned')); //
itemDetail.handleQty = Number(result.label.qty); itemDetail.handleQty = Number(result.label.qty);
itemDetail.toLocationCode = this.toLocationCode; itemDetail.toLocationCode = this.toLocationCode;
itemDetail.labelQty = Number(result.label.qty); itemDetail.labelQty = Number(result.label.qty);
calcHandleQty(this.detailSource); calcHandleQty(this.detailSource);
this.continueScan() this.continueScan()
this.$forceUpdate()
var list =this.detailSource[0].subList;
} }
} }
} }

26
pages/putaway/record/putawayRecord.vue

@ -17,8 +17,8 @@
</scroll-view> </scroll-view>
</view> </view>
<requiredLocation v-if="showToLoaction" title="目标库位" :locationCode="toLocationCode" @getLocation='getToLocationCode' <requiredLocation v-if="showToLoaction" title="目标库位" :locationCode="toLocationCode"
:locationTypeList="tolocationTypeList"></requiredLocation> @getLocation='getToLocationCode' :locationTypeList="tolocationTypeList"></requiredLocation>
<view class="page-footer"> <view class="page-footer">
<view class="uni-flex u-col-center space-between padding_10" <view class="uni-flex u-col-center space-between padding_10"
@ -112,15 +112,18 @@
outInventoryStatus: "", // outInventoryStatus: "", //
businessType: {}, businessType: {},
fromType: "", fromType: "",
showToLoaction:true showToLoaction: true
}; };
}, },
onLoad(option) { onLoad(option) {
this.fromType = option.fromType this.fromType = option.fromType
if(this.fromType=="requestType"){ this.showToLoaction=false if (this.fromType == "requestType") {
updateTitle("原料上架申请") }else { this.showToLoaction = false
updateTitle("原料上架申请")
} else {
updateTitle("原料上架记录") updateTitle("原料上架记录")
this.showToLoaction=true this.showToLoaction = true
} }
var typeCode = "PurchasePutaway" var typeCode = "PurchasePutaway"
getBusinessType(typeCode, res => { getBusinessType(typeCode, res => {
@ -130,7 +133,7 @@
this.tolocationTypeList = res.tolocationTypeList; this.tolocationTypeList = res.tolocationTypeList;
this.showFromLocationPopup(); this.showFromLocationPopup();
} else { } else {
this.$refs.comMessage.showBreakMessage(res.message ); this.$refs.comMessage.showBreakMessage(res.message);
} }
}); });
}, },
@ -145,8 +148,7 @@
onPullDownRefresh() {}, onPullDownRefresh() {},
mounted() { mounted() {},
},
methods: { methods: {
getScanResult(result) { getScanResult(result) {
let balance = result.balance; let balance = result.balance;
@ -248,7 +250,7 @@
}, },
commit() { commit() {
if (this.showToLoaction &&this.toLocationCode == "") { if (this.showToLoaction && this.toLocationCode == "") {
this.showMessage("请先选择目标库位") this.showMessage("请先选择目标库位")
return; return;
} }
@ -258,7 +260,7 @@
mask: true mask: true
}); });
if(this.fromType=="requestType"){ if (this.fromType == "requestType") {
var params = this.setParams(false) var params = this.setParams(false)
console.log("提交" + JSON.stringify(params)) console.log("提交" + JSON.stringify(params))
// putawayRequestSubmit(params).then(res => { // putawayRequestSubmit(params).then(res => {
@ -272,7 +274,7 @@
// uni.hideLoading() // uni.hideLoading()
// this.showErrorMessage(error) // this.showErrorMessage(error)
// }) // })
}else { } else {
// //
var itemCodes = [] var itemCodes = []
this.detailSource.forEach(item => { this.detailSource.forEach(item => {

Loading…
Cancel
Save