<template>
|
<view class="has-foot">
|
<form>
|
<view class="cu-form-group margin-top">
|
<view class="title">ASN单</view>
|
<input placeholder="请扫描ASN单" v-model="asnCode" focus></input>
|
</view>
|
|
<view class="cu-form-group ">
|
<view class="title">托盘</view>
|
<input placeholder="请扫描托盘" v-model="container"></input>
|
</view>
|
|
<view class="cu-form-group ">
|
<view class="title">物料码</view>
|
<input placeholder="请扫描物料码" v-model="barcode"></input>
|
<text class='cuIcon-search text-blue' @click="search"></text>
|
</view>
|
</form>
|
|
|
|
<view class="cu-list det menu sm-border padding">
|
<block v-for="(item, index) in list" :key="index">
|
<view class="cu-bar bg-white solid-bottom margin-top-sm">
|
<view class="action">
|
<view class="index">
|
{{index+1}}
|
</view>
|
<view class="text-blue">
|
{{`${item.maktx}`}}
|
</view>
|
</view>
|
<view class="action">
|
<text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
|
</view>
|
</view>
|
|
<view class="cu-item">
|
<view class="content">
|
<text class="text-black">ASN:</text>
|
</view>
|
<view class="action">
|
<text class="text-grey ">{{item.asnCode}}</text>
|
</view>
|
</view>
|
|
<view class="cu-item">
|
<view class="content">
|
<text class="text-black">托盘:</text>
|
</view>
|
<view class="action">
|
<text class="text-grey ">{{item.barcode}}</text>
|
</view>
|
</view>
|
|
<view class="cu-item">
|
<view class="content">
|
<text class="text-black">供应商批次:</text>
|
</view>
|
<view class="action">
|
<text class="text-grey ">{{item.splrBatch}}</text>
|
</view>
|
</view>
|
|
<view class="cu-item">
|
<view class="content">
|
<text class="text-black">库存批次:</text>
|
</view>
|
<view class="action">
|
<text class="text-grey ">{{item.batch}}</text>
|
</view>
|
</view>
|
|
|
<view class="cu-item">
|
<view class="content">
|
<text class="text-black">收货数量:</text>
|
</view>
|
<view class="action">
|
<text class="text-grey ">{{item.anfme}}</text>
|
</view>
|
</view>
|
|
</block>
|
</view>
|
|
<view class="cu-form-group margin-bottom">
|
<view class="title">库位码</view>
|
<input placeholder="请扫描库位码" v-model="locCode"></input>
|
</view>
|
|
|
<view class="cu-bar btn-group foot">
|
<button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
|
<button class="cu-btn bg-blue shadow-blur" @click="confirm">上架</button>
|
</view>
|
|
</view>
|
</template>
|
|
<script>
|
import {
|
request
|
} from '../../common/request.js'
|
import {
|
mapState,
|
mapMutations,
|
mapActions,
|
mapGetters
|
} from 'vuex';
|
export default {
|
data() {
|
return {
|
barcode: '',
|
asnCode: '',
|
locCode: '',
|
container: '',
|
list: [],
|
}
|
},
|
computed: {
|
...mapState('user', ['dynamicFields']),
|
},
|
mounted() {},
|
methods: {
|
async search() {
|
const {
|
code,
|
data,
|
msg
|
} = await request('/stock/operate/list', {
|
asnCode: this.asnCode,
|
barcode: this.container,
|
matnrCode: this.barcode
|
})
|
if (code === 200) {
|
const find = this.list.find(el => el.id === data.id);
|
!find && this.list.push(data)
|
} else {
|
uni.showToast({
|
title: msg,
|
icon: "none",
|
})
|
}
|
},
|
remove(index) {
|
this.list.splice(index, 1);
|
},
|
clear() {
|
this.list = []
|
this.matnrCode = ''
|
this.locCode = ''
|
},
|
|
async confirm() {
|
if (this.locCode !== '') {
|
const {
|
code,
|
data,
|
msg
|
} = await request('/stock/operate', {
|
itemList: this.list,
|
locCode: this.locCode
|
})
|
if (code === 200) {
|
uni.showToast({
|
title: '上架成功'
|
})
|
this.list = []
|
this.barcode = ''
|
} else {
|
uni.showToast({
|
title: msg,
|
icon: "none",
|
})
|
}
|
} else {
|
uni.showToast({
|
title: '请选择库位',
|
icon: "none",
|
})
|
}
|
|
|
},
|
|
}
|
}
|
</script>
|
|
<style>
|
.index {
|
border: 1px solid #e54d42;
|
color: #e54d42;
|
border-radius: 50%;
|
display: block;
|
width: 50rpx;
|
height: 50rpx;
|
line-height: 48rpx;
|
text-align: center;
|
margin-right: 20rpx;
|
font-size: 30rpx;
|
}
|
|
.text-blue {
|
color: #0081ff !important;
|
|
}
|
|
.item {
|
position: relative;
|
display: flex;
|
min-height: 80upx;
|
align-items: center;
|
}
|
|
.uni-file-picker {
|
width: 100%;
|
margin-bottom: 10px;
|
}
|
|
.uni-select__selector {
|
z-index: 999;
|
}
|
</style>
|