<template>
|
<view>
|
<u-sticky offset-top="0" zIndex="999" bgColor="#fff" style="width: 100%;">
|
<view style="background-color: #fff; padding-bottom: 20rpx;">
|
<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
|
<uni-forms ref="formData" label-width="120">
|
<uni-forms-item label="出库地址" style="background-color: #fff;">
|
<uni-easyinput type="text" maxlength="25" :focus="true" v-model="outAddress"
|
placeholder="请输入出库地址" ref='midInput' />
|
</uni-forms-item>
|
</uni-forms>
|
</view>
|
</u-sticky>
|
<uni-list class="body">
|
<uni-list-item direction="column" v-for="(item,index) in stockInfo" :key="item.id">
|
<template v-slot:body>
|
<view class="uni-list-box">
|
<checkbox @click="click(item)"></checkbox>
|
<view class="uni-content">
|
<view class="uni-title-sub uni-ellipsis-2">托盘号:{{item.barcode}}</view>
|
<view class="uni-note">货位编号:{{item.locationNo}}</view>
|
<view class="uni-note">物料编码:{{item.matCode}}</view>
|
<view class="uni-note">物料名称:{{item.matName}}</view>
|
<view class="uni-note">数量:{{item.quantity}}</view>
|
</view>
|
</view>
|
</template>
|
</uni-list-item>
|
</uni-list>
|
<view style="background-color: #fff; padding: 20rpx,20rpx;" class="footerxy">
|
<u-sticky offset-top="80%" zIndex="999">
|
<button @click="outbound()" type="primary" size="default">出库确认</button>
|
</u-sticky>
|
</view>
|
<u-toast ref="uToast" />
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
stockInfo: [],
|
outItems: [],
|
outAddress: "",
|
pageNo: 1,
|
searchValue: ""
|
}
|
},
|
onLoad(res) {
|
this.getData();
|
},
|
onReachBottom() {
|
this.pageNo += 1;
|
this.getData();
|
|
},
|
methods: {
|
search() {
|
this.$nextTick(() => {
|
this.pageNo = 1;
|
this.getData();
|
})
|
},
|
getData() {
|
var postData = {
|
MainData: {
|
system: "ZB",
|
matCode: this.searchValue
|
},
|
Extra: this.pageNo
|
}
|
this.$u.post('/api/VV_StockGroup/GetStockInfo', postData).then((res) => {
|
if (res.status) {
|
if (res.data) {
|
if (this.pageNo == 1) {
|
this.stockInfo = res.data;
|
} else {
|
this.stockInfo = this.stockInfo.concat(res.data);
|
}
|
}else{
|
this.$refs.uToast.show({
|
title: res.message,
|
});
|
}
|
}else{
|
this.stockInfo = [];
|
this.$refs.uToast.show({
|
title: res.message,
|
type: "error"
|
});
|
}
|
})
|
|
},
|
outbound() {
|
if (this.outItems.length == 0) {
|
this.$refs.uToast.show({
|
title: "请选择要出库的数据",
|
type: "error"
|
});
|
return;
|
}
|
if (this.outItems.length > 1) {
|
this.$refs.uToast.show({
|
title: "请选择一条要出库的数据",
|
type: "error"
|
});
|
return;
|
}
|
if (this.outAddress == "") {
|
this.$refs.uToast.show({
|
title: "请输入出库地址",
|
type: "error"
|
});
|
return;
|
}
|
var postData = {
|
MainData: {
|
"id": this.outItems[0].id,
|
"endPoint": this.outAddress
|
},
|
}
|
|
this.$u.post('/api/Outbound/HandOutbound', postData).then((res) => {
|
if (res.status) {
|
this.$refs.uToast.show({
|
title: "出库成功",
|
type: "success"
|
});
|
this.outAddress = "";
|
this.outItems = [];
|
this.stockInfo = [];
|
this.pageNo = 1;
|
this.search();
|
} else {
|
this.$refs.uToast.show({
|
title: "出库失败" + res.message,
|
type: "error"
|
});
|
}
|
})
|
},
|
click(e) {
|
if (this.outItems.find(x => x.barcode == e.barcode)) {
|
this.outItems.map((item, index) => {
|
if (item.barcode == e.barcode) {
|
this.outItems.splice(index, 1);
|
}
|
})
|
} else {
|
this.outItems.push(e);
|
}
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss">
|
@import '@/common/uni-ui.scss';
|
|
page {
|
display: flex;
|
flex-direction: column;
|
box-sizing: border-box;
|
background-color: #efeff4;
|
min-height: 100%;
|
height: auto;
|
}
|
|
.tips {
|
color: #67c23a;
|
font-size: 14px;
|
line-height: 40px;
|
text-align: center;
|
background-color: #f0f9eb;
|
height: 0;
|
opacity: 0;
|
transform: translateY(-100%);
|
transition: all 0.3s;
|
}
|
|
.tips-ani {
|
transform: translateY(0);
|
height: 40px;
|
opacity: 1;
|
}
|
|
.content {
|
width: 100%;
|
display: flex;
|
}
|
|
.list-picture {
|
width: 100%;
|
height: 145px;
|
}
|
|
.thumb-image {
|
width: 100%;
|
height: 100%;
|
}
|
|
.ellipsis {
|
display: flex;
|
overflow: hidden;
|
}
|
|
.uni-ellipsis-1 {
|
overflow: hidden;
|
white-space: nowrap;
|
text-overflow: ellipsis;
|
}
|
|
.uni-ellipsis-2 {
|
overflow: hidden;
|
text-overflow: ellipsis;
|
display: -webkit-box;
|
-webkit-line-clamp: 2;
|
-webkit-box-orient: vertical;
|
}
|
|
.customcss {
|
display: flex;
|
position: fixed;
|
width: 100%;
|
top: 60px;
|
text-align: center;
|
z-index: 999;
|
left: 40px;
|
height: 20%;
|
}
|
|
.footer {
|
// padding-top: 30%;
|
}
|
|
.body {
|
padding-bottom: 80px;
|
background-color: #f1f3f4;
|
}
|
|
.footerxy {
|
width: 100%;
|
height: 140rpx;
|
text-align: center;
|
position: fixed;
|
/*1、【relative】相对定位;2、【absolute】绝对定位;3、【fixed】固定定位;4、【static】默认值;5、【sticky】粘性定位。*/
|
left: 0px;
|
/*定位:离页面左边0px的位置*/
|
bottom: 0px;
|
/*定位:离页面底部0px的位置*/
|
padding-top: 20rpx;
|
}
|
</style>
|