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.
cy_pda/pages/onShelf/index.vue

196 lines
6.8 KiB

2 years ago
<template>
<view class="sh-content">
<view class="sh-search">
<u-form labelPosition="left" :model="dataForm" class="sh-form">
<!-- <u-form-item label="容器" prop="containerCode" labelWidth="150rpx">
<u-input v-model="dataForm.containerCode" border style="background-color: #ffffff;"
placeholder="请输入或扫描容器号"></u-input>
</u-form-item> -->
<u-form-item label="商品条码" prop="goodsMnemonic" labelWidth="150rpx">
<u-input v-model="dataForm.goodsMnemonic" border style="background-color: #ffffff;" placeholder="请输入或扫描条码"
@input="inputQuery"></u-input>
</u-form-item>
</u-form>
<!-- <view class="sh-sub-search" style="width: 130rpx">
<u-button class="sh-search-button" @click="searchClick()">搜索</u-button>
<u-button class="sh-search-button" style="width: 130rpx" @click="searchClick()">任务查看</u-button>
</view> -->
</view>
<view class="sh-card" v-for="(item, index) in dataList" :key="item.id" :index="item.id" v-if="dataList.length > 0" @click="goodDetail(item.id, item.sid, item.containerCode)">
<view class="sh-card-title" :class="{'borderBottom':!item.businInShelfDVoList.length}">
<view class="receipt-number">
<text class="receipt-number-title">收货单号</text>
<text class="receipt-number-value">{{item.sourceOrderNo}}</text>
</view>
<view class="card-content">
<view class="card-content-item">
<text class="item-title">商品编码</text>
<text class="item-value">{{item.batchNo}}</text>
</view>
<view class="card-content-item">
<text class="item-title">商品名称</text>
<text class="item-value">{{item.bgGoodName}}</text>
</view>
</view>
<view class="card-content">
<view class="card-content-item">
<text class="item-title">验收数量</text>
<text class="item-value">{{item.qty}}</text>
</view>
<view class="card-content-item">
<text class="item-title">待上架数量</text>
<text class="item-value">{{item.ableQty}}</text>
</view>
</view>
</view>
<!-- <view class="sh-card-content" v-for="(item2, index2) in item.businInShelfDVoList" :key="item2.id"
:index="item2.id" @click="goodDetail(item2.id, item2.sid, item2.containerCode)">
<view class="pad-content" :class="{'sh-card-title-border':(index2 + 1) < item.businInShelfDVoList.length}">
<view class="goods-card-content">
<view class="goods-card-content-item">
<text class="goods-title">商品名称</text>
<text class="goods-value">{{item2.bgGoodName}}</text>
</view>
<text class="goods-no">{{item2.bgGoodNo}}</text>
</view>
<view class="goods-card-content">
<view class="goods-card-content-item">
<text class="goods-title">商品批号</text>
<text class="goods-value">{{item2.batchNo}}</text>
</view>
</view>
<view class="detail-icon">
<u-icon size="40" name="../../static/icon/bg-right.png"></u-icon>
</view>
<view class="goods-card-content">
<view class="goods-card-content-item">
<text class="goods-title">件装量</text><text class="goods-value">{{item2.bpPackageQty}}</text>
</view>
<view class="goods-card-content-item">
<text class="goods-title">单位</text><text class="goods-value">{{transUnit(item2.bpUnit)}}</text>
</view>
</view>
<view class="goods-card-content">
<view class="goods-card-content-item">
<text class="goods-title">验收数量</text><text class="goods-value">{{item.qty}}</text>
</view>
<view class="goods-card-content-item">
<text class="goods-title">待上架数量</text><text class="goods-value">{{item.ableQty}}</text>
</view>
</view>
</view>
</view>
-->
</view>
<u-empty class="no-list" mode="list" v-else>
</u-empty>
<view class="loadmore-data">
<u-loadmore :status="loadStatus"></u-loadmore>
</view>
</view>
</template>
<script>
export default {
data() {
return {
dataForm: {
// containerCode: null,
goodsMnemonic: "",
pageNum: 1,
pageSize: 10
},
dataList: [],
query: {
current: 1,
size: 20
},
loadStatus: 'loadmore',
dicOptions: [],
queryFlag:'',
}
},
onLoad() {
this.getDic(); //获取字典
this.loadList();
},
//上拉刷新(当数据距离底部100时触发,距离在pages.json配置)
onReachBottom() {
this.loadStatus = "loading";
setTimeout(() => {
this.dataForm.pageNum += 1;
this.loadList();
}, 100);
},
methods: {
/**搜索框查询*/
inputQuery() {
if (this.queryFlag !== null||this.queryFlag !== '') {
clearTimeout(this.queryFlag); this.loadList()
}
if (this.dataForm.goodsMnemonic == '') {
return
}
this.queryFlag = setTimeout(() => {
this.loadList()
}, 500)
},
loadList() {
this.$u.api.onShelf.pageShelf(this.dataForm).then(res => {
if (!res.rows || res.rows.length == 0) {
// if (this.dataForm.containerCode) {
// this.$u.toast("当前容器无任务");
// }
if (this.dataForm.goodsMnemonic) {
this.$u.toast("当前商品不存在");
}
this.loadStatus = "nomore";
return;
}
this.dataList = res.rows;
this.loadStatus = "loadmore";
});
},
//detailId:明细id, sId:汇总id
goodDetail(detailId, sid, containerCode) {
this.$u.route({
url: 'pages/onShelf/shelfTask',
type: 'navigateTo',
params: {
detailId: detailId,
sid: sid,
// containerCode: containerCode
}
})
},
getDic() {
this.$u.api.getByDicType().then(res => {
this.dicOptions = res.data;
});
},
transUnit(unit) {
for (let dic in this.dicOptions) {
if (this.dicOptions[dic].dictValue === unit) {
return this.dicOptions[dic].dictLabel;
}
}
},
// 任务查看
searchClick() {
// this.$u.route({
// url: 'pages/onShelf/taskView',
// type: 'navigateTo'
// })
this.dataList = [];
this.dataForm.pageNum = 1;
this.loadList();
},
}
}
</script>
<style lang="scss">
@import "index.scss";
</style>