<template>
|
<view>
|
<form>
|
<view class="cu-form-group margin-top">
|
<view class="title">托盘码</view>
|
<input v-model="code" placeholder="扫码 / 输入" name="input" @input="findCode()" focus>
|
<button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+提取</text></button>
|
|
</view>
|
</form>
|
<view class="margin-top">
|
<uni-table border stripe emptyText="暂无更多数据">
|
<uni-tr>
|
<uni-th width="50">数量</uni-th>
|
<uni-th width="100">产品ID</uni-th>
|
<uni-th width="100">产品名称</uni-th>
|
</uni-tr>
|
<uni-tr v-for="(item, index) in matData" :key="index" @input="tabRender()">
|
<uni-td>{{item.count}}</uni-td>
|
<uni-td>{{item.matNo}}</uni-td>
|
<uni-td>{{item.matName}}</uni-td>
|
</uni-tr>
|
</uni-table>
|
|
</view>
|
<view>
|
<button class="cu-btn bg-yellow pda-btn" @click="comb()">组托</button>
|
<button class="cu-btn bg-grey pda-btn" @click="reset">重置</button>
|
</view>
|
<view>
|
<!-- 普通弹窗 -->
|
<uni-popup ref="popup" background-color="#fff" style="width: 500rpx;">
|
<view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }">
|
<view class="cu-form-group margin-top">
|
<text>提取产品</text>
|
</view>
|
<view class="cu-form-group margin-top">
|
<text class="title">产品ID</text>
|
<input type="text" v-model="matNo" placeholder="扫码 / 输入" name="input" autocomplete="off" focus @input="find()">
|
</view>
|
<view class="cu-form-group margin-top">
|
<text class="title">产品名称</text>
|
<input type="text" name="input" autocomplete="off" v-model="matName">
|
</view>
|
<view class="cu-form-group margin-top">
|
<text class="title">规格型号</text>
|
<input type="text" name="input" autocomplete="off" v-model="specs">
|
</view>
|
<view class="cu-form-group margin-top">
|
<text class="title">单位</text>
|
<input type="text" name="input" autocomplete="off" v-model="unit">
|
</view>
|
<view class="cu-form-group margin-top">
|
<text class="title">数量</text>
|
<uni-number-box @change="countDom" v-model="count" />
|
</view>
|
<button class="cu-btn bg-yellow pda-btn2" @click="confirm">提取</button>
|
|
</view>
|
</uni-popup>
|
</view>
|
<view>
|
<!-- 提示信息弹窗 -->
|
<uni-popup ref="message" type="message">
|
<uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
|
</uni-popup>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
code:'',
|
value: '',
|
numberValue: 0,
|
matBtn:'',
|
matNo:'',
|
matName:'',
|
specs:'',
|
unit:'',
|
count:'0',
|
matData:[],
|
type: 'center',
|
msgType: 'success',
|
messageText: '这是一条成功提示',
|
toPush:true,
|
|
}
|
},
|
methods: {
|
reset() {
|
let that =this;
|
that.code = '';
|
that.matData=[];
|
|
},
|
toggle(type) {
|
this.type = type
|
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
this.$refs.popup.open(type)
|
},
|
countDom(value) {
|
|
},
|
findCode(){ // 查询托盘码 超过8位
|
let that = this;
|
if(that.code.length === 8){
|
that.toggle('right')
|
}
|
},
|
// 根据产品代号查询产品详情
|
find(){
|
let that = this
|
let thatId = that.matNo
|
if(that.matNo.length===0){
|
return;
|
}
|
console.log('http://'+ that.baseUrl + ':8082/xgmwms' + "/matCode/auth")
|
uni.request({
|
url: that.baseUrl + "/matCode/auth",
|
|
header:{
|
'content-type':'application/x-www-form-urlencoded',
|
'token':uni.getStorageSync('token')
|
},
|
data:{
|
id:thatId
|
},
|
method:'POST',
|
success:function(res){
|
console.log(res)
|
let data = res.data.data
|
|
if(res.data.code === 200){
|
if(data != null){
|
that.matName = data.matName
|
that.specs = data.specs
|
that.unit = data.unit
|
}
|
} else if (res.data.code ===403 ){
|
// 待定
|
} else {
|
// 待定
|
}
|
}
|
|
})
|
},
|
// 提取
|
confirm(){
|
let that = this
|
let data = {
|
matNo:that.matNo,
|
matName:that.matName,
|
count:that.count
|
}
|
that.addTableData(data)
|
|
},
|
// 添加表格数据
|
addTableData(data){
|
if(data.matName===''){
|
this.messageToggle('error')
|
return
|
}
|
|
this.$refs.popup.close()
|
for(var i=0;i<this.matData.length;i++){
|
if(data.matNo === this.matData[i].matNo){
|
this.matData[i].count = Number(this.matData[i].count) + Number(data.count);
|
this.toPush = false;
|
}
|
}
|
if(this.toPush){
|
this.matData.push(data)
|
}
|
this.messageToggle('success')
|
this.messageText = '提取成功'
|
this.matName=''
|
this.matNo=''
|
this.specs=''
|
this.count='0'
|
this.tabRender()
|
},
|
|
messageToggle(type) {
|
this.msgType = type
|
this.messageText = '提取失败'
|
this.$refs.message.open()
|
},
|
// 表格渲染
|
tabRender(){
|
|
},
|
// 组托
|
comb(){
|
let that = this
|
let barcode = that.code
|
if(barcode.length === 0){
|
console.log(1)
|
that.messageToggle('error')
|
that.messageText = '托盘条码为空'
|
return;
|
}
|
if(barcode.length !== 8){
|
that.messageToggle('error')
|
that.messageText = '条码必须为8位'
|
return;
|
}
|
if (that.matData.length === 0) {
|
that.messageToggle('error')
|
that.messageText = '请提取产品'
|
return;
|
}
|
uni.request({
|
|
url: that.baseUrl + "/mobile/comb/auth",
|
header:{
|
// #ifdef H5
|
'token':uni.getStorageSync('token')
|
// #endif
|
|
// #ifdef APP-PLUS
|
'token': uni.getStorageSync('token')
|
// Authorization:uni.getStorageSync('token')
|
// #endif
|
},
|
data:{
|
barcode:barcode,
|
combMats:that.matData
|
},
|
method:'POST',
|
success:function(res){
|
console.log(res)
|
if(res.data.code===200){
|
that.reset()
|
that.messageToggle('success')
|
that.messageText = '组托成功'
|
}else if(res.data.data===403){
|
|
}else {
|
|
}
|
}
|
})
|
|
}
|
}
|
}
|
</script>
|
|
<style>
|
.pda-btn2{
|
display: flex;
|
margin-left: 100rpx;
|
margin-top: 150rpx;
|
width: 200rpx;
|
height: 80rpx;
|
}
|
.popup-content {
|
align-items: center;
|
justify-content: center;
|
padding: 15px;
|
width: 80vw;
|
height: 50px;
|
background-color: #fff;
|
}
|
</style>
|