<template>
|
<view>
|
<view class="list shop-car">
|
<view class="list-left">
|
<view class="detl-threeCode" style="padding: 16rpx 0;">{{data.csocode}}</view>
|
<view>库位:{{data.locNo}}</view>
|
<view>编号:{{data.matnr}}</view>
|
<view>名称:{{data.maktx}}</view>
|
<view>自由项:{{data.containerCode}}</view>
|
<view>规格:{{data.specs}}</view>
|
<view>批号:{{data.batch}}</view>
|
<view>库存数量:{{count}}</view>
|
<view class="detl-threeCode" style="display: flex;padding: 32rpx 0;align-items: center;font-size: 24px;">
|
<view>出库数量:{{data.anfme}}</view>
|
<view style="margin-left: 50rpx;" @click="revise()">
|
<uni-icons type="compose" size="30" color="#fff"></uni-icons>
|
</view>
|
</view>
|
|
<view class="detl-threeCode" style="display: flex;padding: 0 0 32rpx 0;font-size: 24px;">出库站:
|
<view class="dropdown" @click="toggleDropdown(data)">
|
<input type="text" style="width: 270rpx;font-size: 20px;" v-model="data.agvStaNo" placeholder="请选择出库站" placeholder-style="color: #fff">
|
<uni-icons :type="data.isOpen ? 'top' : 'bottom'" color="#fff" style="margin-left: 10rpx;"></uni-icons>
|
<scroll-view scroll-y="ture" class="dropdown-content" v-if="data.isOpen">
|
<view class="dropdown-item" v-for="option in data.agvStaNos" @click="selected(option,data)">{{option}}</view>
|
</scroll-view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<!-- 弹窗 -->
|
<view>
|
<uni-popup ref="addItem" type="dialog">
|
<view class="popup">
|
<!-- 标题 -->
|
<view class="title">出库数量</view>
|
<view class="popup-item">
|
<view>
|
<uni-number-box :value="data.anfme" :step='1' :min="0" :max="count" color="#747474" @change="changeValue" />
|
</view>
|
|
</view>
|
<view class="popup-item">
|
<view>
|
<view @click="max()" style="padding: 0rpx 16rpx;background-color: #d9d9d9;font-size: 10px;">MAX</view>
|
</view>
|
|
</view>
|
<view class="btn">
|
<view class="btn-left" @click="addClose">取消</view>
|
<view class="btn-right" @click="addConfirm()">确认</view>
|
</view>
|
</view>
|
</uni-popup>
|
</view>
|
<!-- 底部操作按钮 -->
|
<view class="buttom">
|
<button size="mini" @click="reset('warn')">稍后处理</button>
|
<button size="mini" type="primary" @click="combConfirm('warn')">立即出库</button>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
baseUrl: '',
|
token: '',
|
data: {},
|
option: '',
|
count: 0
|
}
|
},
|
onShow() {
|
let _this = this
|
this.baseUrl = uni.getStorageSync('baseUrl');
|
this.token = uni.getStorageSync('token');
|
// const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE
|
const eventChannel = this.getOpenerEventChannel();
|
// 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
|
eventChannel.on('mat', function(data) {
|
let ids = [data.mat.id]
|
_this.getPakoutList(ids,data.mat.locNo)
|
})
|
},
|
methods: {
|
max() {
|
this.data.anfme = this.count
|
},
|
toggleDropdown(item) {
|
item.isOpen = !item.isOpen;
|
},
|
selected(option,item) {
|
item.agvStaNo = option
|
},
|
// 订单明细
|
getPakoutList(ids,locNo) {
|
let _this = this
|
uni.request({
|
url: `${_this.baseUrl}/out/pakout/preview/auth`,
|
header: {'token': uni.getStorageSync('token')},
|
data: ids,
|
method: 'POST',
|
success(res) {
|
res = res.data
|
console.log(res);
|
if (res.code === 200) {
|
for (let k of res.data) {
|
if (locNo == k.locNo) {
|
k['isOpen'] = false
|
_this.count = k.anfme
|
k.anfme = 0
|
_this.data = k
|
return
|
}
|
}
|
} else if (res.code == 403) {
|
uni.showToast({ title: res.msg, icon: "error", position: 'top' })
|
setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
|
} else {
|
uni.showToast({ title: res.msg, icon: "error", position: 'top' })
|
}
|
}
|
})
|
},
|
revise() {
|
this.$refs.addItem.open()
|
},
|
addClose() {
|
this.$refs.addItem.close()
|
this.data.anfme = 0
|
},
|
addConfirm() {
|
this.$refs.addItem.close()
|
},
|
changeValue(value) {
|
this.data.anfme = value
|
},
|
combConfirm() {
|
let _this = this
|
if (_this.data.anfme == 0) {
|
uni.showToast({ title: '出库数量不能为0!', icon: "error", position: 'top'})
|
return
|
}
|
uni.showLoading({})
|
let combList = []
|
combList.push(_this.data)
|
uni.request({
|
url: `${_this.baseUrl}/out/pakout/auth`,
|
header: {'token': uni.getStorageSync('token')},
|
data: combList,
|
method: 'POST',
|
success(res) {
|
res = res.data
|
if (res.code === 200) {
|
uni.hideLoading({})
|
uni.showToast({ title: '出库成功', icon: "success", position: 'top'})
|
setTimeout(()=> {
|
uni.navigateBack({
|
delta: 2
|
});
|
},700)
|
} else if (res.code == 403) {
|
uni.showToast({ title: res.msg, icon: "error", position: 'top' })
|
setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
|
} else {
|
uni.showToast({ title: res.msg, icon: "error", position: 'top' })
|
}
|
}
|
})
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
@import url('../../../static/css/common/order.css');
|
.shop-car {
|
background-color: #2299ff;
|
color: #fff;
|
}
|
.detl-threeCode {
|
font-size: 34px;
|
font-weight: bold;
|
}
|
.dropdown-item {
|
font-size: 20px;
|
font-weight: bold;
|
}
|
|
.popup {
|
width: 80vw;
|
min-height: 100rpx;
|
background-color: #FFF;
|
border-radius: 25rpx;
|
position: relative;
|
}
|
.title {
|
height: 100rpx;
|
line-height: 100rpx;
|
width: 100%;
|
color: #606266;
|
text-align: center;
|
font-size: 16px;
|
}
|
.popup-item {
|
height: 80rpx;
|
line-height: 80rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
.popup-item-left {
|
width: 16vw;
|
padding-right: 20rpx;
|
text-align: right;
|
color: #606266;
|
}
|
.popup-item-right {
|
display: flex;
|
align-items: center;
|
width: 50vw;
|
height: 50rpx;
|
padding: 2px 5px;
|
border: 1px solid #E4E7ED;
|
border-radius: 5rpx;
|
}
|
.popup-item-right input{
|
color: #606266;
|
}
|
.btn {
|
display: flex;
|
height: 90rpx;
|
margin-top: 20rpx;
|
border-top: 1px solid #DCDFE6;
|
justify-content: center;
|
align-items: center;
|
}
|
.btn-left {
|
display: flex;
|
flex: 1;
|
height: 100%;
|
justify-content: center;
|
align-items: center;
|
color: #606266;
|
border-right: 1px solid #DCDFE6;
|
}
|
.btn-right {
|
display: flex;
|
flex: 1;
|
justify-content: center;
|
align-items: center;
|
color: #409EFF;
|
}
|
</style>
|