You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
4.4 KiB
178 lines
4.4 KiB
<template>
|
|
<page-meta root-font-size="16px"></page-meta>
|
|
<view class="">
|
|
<view class="view-noData" v-if="putawaydetailList.length==0">
|
|
<image class="default_nodata" src="@/static/icons_ui/default_data.png"></image>
|
|
</view>
|
|
|
|
<view hover-class="uni-list-cell-hover" v-for="(item, index) in putawaydetailList" :key="item.id"
|
|
@click="openDetail(item)">
|
|
<com-putaway :datacontent="item"></com-putaway>
|
|
</view>
|
|
<uni-load-more v-if="reload" :status="status" :icon-size="16" :content-text="contentText" />
|
|
<win-scan-button @goScan='openScanPopup'></win-scan-button>
|
|
<win-scan-by-pack ref="scanPopup" @getScanResult='getScanResult'></win-scan-by-pack>
|
|
|
|
<!-- com-message必须放在最下层 -->
|
|
<com-message ref="comMessage"></com-message>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getPutawayJobList
|
|
} from '@/api/index.js';
|
|
import {
|
|
getJobStatuStyle,
|
|
getJobStatuDesc,
|
|
maxPageSize,
|
|
goHome
|
|
} from '@/common/basic.js';
|
|
|
|
import comPutaway from '@/mycomponents/coms/task/comPutaway.vue';
|
|
import comMessage from '@/mycomponents/common/comMessage.vue'
|
|
import winScanButton from '@/mycomponents/wincom/winScanButton.vue'
|
|
import winScanByPack from '@/mycomponents/wincom/winScanByPack.vue'
|
|
|
|
export default {
|
|
name: 'putaway',
|
|
components: {
|
|
comPutaway,
|
|
comMessage,
|
|
winScanButton,
|
|
winScanByPack
|
|
},
|
|
data() {
|
|
return {
|
|
//popup
|
|
type: '',
|
|
putawaydetailList: [],
|
|
reload: false,
|
|
status: '',
|
|
contentText: {
|
|
contentdown: '上拉加载更多',
|
|
contentrefresh: '加载中',
|
|
contentnomore: '没有更多'
|
|
},
|
|
pageSize: 1000,
|
|
pageIndex: 1
|
|
};
|
|
},
|
|
props: {
|
|
datacontent: {
|
|
type: Object,
|
|
value: null
|
|
},
|
|
isByLocation: {
|
|
type: Boolean,
|
|
value: false
|
|
}
|
|
},
|
|
mounted() {
|
|
this.getList();
|
|
},
|
|
onPullDownRefresh() {
|
|
console.log('refresh');
|
|
this.pageIndex = 1;
|
|
this.putawaydetailList = []
|
|
this.getList();
|
|
},
|
|
//返回首页
|
|
onNavigationBarButtonTap(e) {
|
|
if (e.index === 0) {
|
|
goHome();
|
|
}else if(e.index === 1){
|
|
window.location.reload();
|
|
}
|
|
},
|
|
methods: {
|
|
openScanPopup() {
|
|
this.$refs.scanPopup.openScanPopup();
|
|
},
|
|
getList() {
|
|
let that = this;
|
|
let params = {
|
|
pageSize: that.pageSize,
|
|
pageIndex: that.pageIndex,
|
|
};
|
|
|
|
uni.showLoading({
|
|
title: "加载中....",
|
|
mask: true
|
|
});
|
|
getPutawayJobList(params)
|
|
.then(res => {
|
|
uni.stopPullDownRefresh();
|
|
console.log('list', res);
|
|
let details = [];
|
|
res.items?.forEach(r => {
|
|
r.details?.forEach(detail => {
|
|
//子表里没有任务状态,增加一个任务状态的属性
|
|
detail.jobStatus = r.jobStatus;
|
|
details.push(detail);
|
|
});
|
|
});
|
|
|
|
that.putawaydetailList = details;
|
|
if (details.length == 0) {
|
|
this.showMessage
|
|
}
|
|
uni.hideLoading();
|
|
})
|
|
.catch(err => {
|
|
uni.stopPullDownRefresh();
|
|
console.log('list err', err);
|
|
uni.hideLoading();
|
|
});
|
|
},
|
|
|
|
getScanResult(result) {
|
|
let that = this;
|
|
let code = '';
|
|
let item = {};
|
|
|
|
//不管是按托标签上架还是按照箱标签上架都对应一个上架任务
|
|
if (result.data.isPack === true) { //箱码
|
|
item = this.putawaydetailList.find(r => {
|
|
//零件号,箱码,批次
|
|
return r.itemCode === result.data.itemCode &&
|
|
r.recommendPackingCode === result.data.packingCode &&
|
|
r.recommendLot === result.data.lot
|
|
})
|
|
|
|
} else if (result.data.isPack === false) {
|
|
item = this.putawaydetailList.find(r => {
|
|
return r.recommendContainerCode === result.data.containerCode
|
|
})
|
|
} else {
|
|
this.showMessage('标签格式不正确');
|
|
return;
|
|
}
|
|
if (item == null) {
|
|
this.showMessage('未查找到任务');
|
|
} else {
|
|
// item.masterID:任务主表id
|
|
let isPack = result.data.isPack;
|
|
uni.navigateTo({
|
|
url: './putaway_detail?id=' + item.masterID + '&jobStatus=' + item.jobStatus + '&isPack=' +
|
|
isPack + '&byLocation=' + this.isByLocation
|
|
})
|
|
}
|
|
},
|
|
|
|
openDetail(item) {
|
|
uni.navigateTo({
|
|
url: './putaway_detail?id=' + item.masterID + '&jobStatus=' + item.jobStatus + '&isPack=' +
|
|
true + '&byLocation=' + this.isByLocation
|
|
})
|
|
},
|
|
showMessage(message) {
|
|
this.$refs.comMessage.showMessage(message);
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
@import '../../common/pdabasic.css';
|
|
</style>
|
|
|