Browse Source

Merge branch 'hella_online_20240803' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0-uniapp into hella_online_20240803

ljc_0803
niexiting 3 months ago
parent
commit
330128d328
  1. 5
      src/mycomponents/scan/winComScanFg.vue
  2. 46
      src/mycomponents/scan/winScanPackage.vue
  3. 47
      src/pages/inventoryMove/coms/comMoveJob.vue
  4. 2
      src/pages/inventoryMove/job/okToHoldMoveJob.vue
  5. 20
      src/pages/issue/job/issueDetail.vue
  6. 20
      src/pages/productPutaway/record/productPutawayRecord.vue
  7. 6
      src/pages/productReceipt/job/productReceiptDetail.vue
  8. 2
      src/pages/productionReceipt/job/productionReceiptDetail.vue
  9. 11
      src/pages/productionReceipt/job/productionReceiptJob.vue

5
src/mycomponents/scan/winComScanFg.vue

@ -188,6 +188,11 @@
// let productDate = content.substr(lengthMat, 8);
// let batch = content.substr(lengthMat + 8, 3);
let order = content.substr(-8);
if(content.length!=lengthBc){
that.clear();
throw new Error("解析错误:扫描标签长度与配置条码的长度不一致")
}
if (scanPartNumber != partNumber) {
that.clear();
throw new Error("解析错误:扫描的客户物料号【" + scanPartNumber +

46
src/mycomponents/scan/winScanPackage.vue

@ -33,6 +33,12 @@
getBalanceByFilter
} from '@/api/request2.js';
import {
getInventoryStatusDesc,
getDirectoryItemArray,
getLocationAreaTypeName
} from '@/common/directory.js';
export default {
name: 'winScanPack',
components: {
@ -55,7 +61,8 @@
data() {
return {
show: false,
businessType: null
businessType: null,
scanResult:{}
}
},
created() {
@ -104,6 +111,7 @@
getScanResult(result) {
if (result.success) {
this.scanResult=result
this.getBalance(result, res => {
result.balance = res;
this.$emit("getResult", result);
@ -130,14 +138,14 @@
value: this.businessType.outInventoryStatuses
})
}
if (this.businessType.outAreaTypes != null) {
if (this.businessType.outAreaTypes ) {
filters.push({
column: "areaType",
action: "in",
value: this.businessType.outAreaTypes
})
}
if (this.businessType.outAreaCodes != null) {
if (this.businessType.outAreaCodes ) {
filters.push({
column: "areaCode",
action: "in",
@ -147,6 +155,30 @@
return filters;
},
getQueryCondition() {
let condition = '按照以下条件:\n';
let label = this.scanResult.label;
let status = getInventoryStatusDesc(getDirectoryItemArray(this.businessType.outInventoryStatuses));
let areaType =getLocationAreaTypeName(this.businessType.outAreaTypes)
condition = condition + '物料号=[' + label.itemCode
+ ']\n箱码=[' + label.packingNumber +
']\n批次=[' +
label.batch +
']'
if (status) {
condition = condition + '\n库存状态=[' + status + ']'
}
if (areaType) {
condition = condition + '\n库区类型=[' + areaType + ']'
}
if (this.businessType.outAreaCodes) {
condition = condition + '\n库区代码=[' + this.businessType.outAreaCodes + ']'
}
return condition;
},
getBalance(result, callback) {
let filters = [];
let label = result.label;
@ -201,9 +233,7 @@
params.filters = filters;
getBalanceByFilter(params).then(res1 => {
if (res1.data.list.length == 0) {
this.showErrorMessage('未查找到该包装的库存余额', res => {
this.packGetFocus();
})
this.showErrorMessage(this.getQueryCondition()+'\n未查找到该包装的库存余额')
} else {
res1.data.list.forEach(r => r.parentPackingNumber = packageInfo.number)
callback(res1.data.list)
@ -212,9 +242,7 @@
this.showErrorMessage(err.message);
})
} else {
this.showErrorMessage('未查找到该包装的库存余额', res => {
this.packGetFocus();
})
this.showErrorMessage(this.getQueryCondition()+'\n未查找到该包装的库存余额')
}
}
}).catch(err => {

47
src/pages/inventoryMove/coms/comMoveJob.vue

@ -1,9 +1,9 @@
<template>
<view class="">
<com-empty-view v-if="jobList.length==0"></com-empty-view>
<job-filter ref="filter" otherTitle="ASN" @switchChangeToday="switchChangeToday"
<job-filter ref="filter" :isShowItemCode="isShowItemCode" :isShowQurery="isShowQurery" otherTitle="ASN" @switchChangeToday="switchChangeToday"
@switchChangeWait="switchChangeWait" @onScanNumber="getScanNumber" :checkedToday="checkedToday"
:checkedWaitTask="checkedWaitTask">
:checkedWaitTask="checkedWaitTask" @onQuery="getListByFilter">
</job-filter>
<view v-if="jobList.length>0">
@ -67,7 +67,15 @@
title: {
type: String,
default: ""
}
},
isShowItemCode: {
type: Boolean,
default: false
},
isShowQurery: {
type: Boolean,
default: false
},
},
data() {
return {
@ -82,7 +90,8 @@
status: '1,2', //
detailOptions: [],
detailGiveupOptions: [],
titleName:""
titleName:"",
filterItemCode:''
};
},
@ -172,6 +181,15 @@
value: this.status
})
if(this.filterItemCode){
//
filters.push({
column: "itemCode",
action: "like",
value: this.filterItemCode
})
}
filters.push({
column: "accept_user_id",
action: "==",
@ -260,6 +278,27 @@
this.showMessage(error)
})
},
getListByFilter(params) {
console.log('getListByFilter',params)
if (params.itemCode) {
//
this.filterItemCode = params.itemCode
}else{
this.filterItemCode = ''
}
if (params.status) {
this.status = params.status
}else{
this.status = "1,2"
}
if(params.creationTime==""){
this.checkedToday = false;
}
this.todayTime = params.creationTime
this.getList('refresh')
},
switchChangeToday(state, creationTime) {
this.checkedToday = state;

2
src/pages/inventoryMove/job/okToHoldMoveJob.vue

@ -1,6 +1,6 @@
<template>
<view class="page-wraper">
<comMoveJob :title="title" ref="comMoveJob" businessTypeCode='OkToHold' > </comMoveJob>
<comMoveJob :isShowItemCode="true" :isShowQurery="true" :title="title" ref="comMoveJob" businessTypeCode='OkToHold' > </comMoveJob>
</view>
</template>

20
src/pages/issue/job/issueDetail.vue

@ -32,7 +32,7 @@
<view class="">
</view>
<view class=" uni-flex uni-row">
<button class="btn_single_commit" hover-class="btn_commit_after" @click="submit()">提交</button>
<button class="btn_single_commit" hover-class="btn_commit_after" @click="autoCommit()">提交</button>
</view>
</view>
</view>
@ -449,9 +449,15 @@
afterScan() {
this.resizeCollapse();
let str = ""
this.autoCommit()
},
autoCommit(){
var totalQty =0;
var taskQty =0;
this.detailSource.forEach(detail => {
detail.Items.forEach(item => {
taskQty =calc.add(taskQty,item.qty)
item.Locations.forEach(lco => {
lco.Batchs.forEach(batch => {
batch.Records.forEach(record => {
@ -466,8 +472,12 @@
str +=
`包装号【${record.packingNumber}】提交数量【${tempHandleQty}】与任务物料数量【${batch.qty}】不一致\n`
}
}
if(record){
var hanleQty =record.qty?record.qty:0
totalQty = calc.add(totalQty,hanleQty)
}
})
})
})
@ -476,6 +486,9 @@
if(str){
str = '任务明细未全部完成,是否提交?\n' + str
}
if(totalQty!=taskQty){
str ="扫描数量["+totalQty+"]与任务数量不一致["+taskQty+"],是否提交"
this.$refs.comMessage.showQuestionMessage1(str, 'red', res => {
if (res) {
//
@ -487,7 +500,6 @@
}else {
//
this.$throttle(this.submit, 2000, this)()
}
},

20
src/pages/productPutaway/record/productPutawayRecord.vue

@ -147,6 +147,7 @@
getScanResult(result) {
let label = result.label;
let pack = result.package;
let errorHint=""
result.balance.forEach(
balance => {
let item = this.detailSource.find(res => {
@ -180,14 +181,19 @@
item.subList.push(newDetail);
} else {
if (detail.scaned == true) {
this.showErrorMessage("箱码[" + balance.packingNumber + "批次[" + balance.batch +
"]重复扫描")
errorHint+="箱码[" + balance.packingNumber + "批次[" + balance.batch +
"]重复扫描\n"
}
}
}
this.calcHandleQty();
}
)
if(errorHint){
this.showErrorMessage(errorHint)
}else {
this.scanPopupGetFocus()
}
},
getRecommendLocation(balance) {
@ -251,9 +257,6 @@
this.$forceUpdate();
},
updateData() {
this.calcHandleQty();
},
removeItem(index, item) {
this.removeRecommendLocation([item.expectinNumber]);
this.detailSource.splice(index, 1)
@ -423,13 +426,6 @@
if (res) {}
});
},
showErrorMessage(message) {
this.$refs.comMessage.showErrorMessage(message, res => {
if (res) {
}
});
},
showScanMessage(message) {
this.$refs.comMessage.showScanMessage(message);

6
src/pages/productReceipt/job/productReceiptDetail.vue

@ -228,9 +228,9 @@
that.jobToLocationCode = that.subList[0].toLocationCode;
that.productionLineCode = that.jobContent.subList[0].productionLineCode;
if (that.jobContent.allowModifyLocation == 'FALSE') {
that.toLocationCode = that.subList[0].toLocationCode
}
// if (that.jobContent.allowModifyLocation == 'FALSE') {
// that.toLocationCode = that.subList[0].toLocationCode
// }
that.toLocationAreaTypeList = getDirectoryItemArray(that.jobContent.toAreaTypes)
that.detailSource = getDataSource(that.subList)
if (that.scanMessage) {

2
src/pages/productionReceipt/job/productionReceiptDetail.vue

@ -34,7 +34,7 @@
:locationAreaTypeList="toLocationAreaTypeList"></locationCompare>
</view>
<view class=" uni-flex uni-row">
<button class="btn_single_commit" hover-class="btn_commit_after" @click="commit">提交</button>
<button class="btn_single_commit" hover-class="btn_commit_after" @click="autoCommit">提交</button>
</view>
</view>
</view>

11
src/pages/productionReceipt/job/productionReceiptJob.vue

@ -460,6 +460,17 @@
}else{
this.filterItemCode = ''
}
if (params.status) {
this.status = params.status
}else{
this.status = "1,2"
}
if(params.creationTime==""){
this.checkedToday = false;
}
this.todayTime = params.creationTime
this.getList('refresh', this.productionLine, this.filterItemCode)
},

Loading…
Cancel
Save