<template>
|
<view>
|
<form>
|
<view class="cu-form-group margin-top">
|
<view class="title">单号</view>
|
<input v-model="billNo" placeholder="扫码 / 输入" name="input" autocomplete="off" focus @input="find()">
|
</view>
|
<view class="cu-form-group margin-top">
|
<view class="title">托盘码</view>
|
<input v-model="code" placeholder="扫码 / 输入" name="input">
|
</view>
|
</form>
|
<view class="margin-top">
|
<uni-table ref="table" border stripe emptyText="暂无更多数据" type="selection" @selection-change="selectionChange">
|
<uni-tr>
|
<uni-th align="center" width="90">数量</uni-th>
|
<uni-th align="center" width="90">产品代号</uni-th>
|
<uni-th align="center" width="90">产品编码</uni-th>
|
<uni-th align="center" width="90">产品名称</uni-th>
|
<uni-th align="center" width="90">序号</uni-th>
|
<uni-th align="center" width="90">批号</uni-th>
|
<uni-th align="center" width="200">组托数量</uni-th>
|
|
</uni-tr>
|
<uni-tr v-for="(item, index) in matData" :key="index">
|
<uni-td align="center">{{item.count}}</uni-td>
|
<uni-td align="center">{{item.size}}</uni-td>
|
<uni-td align="center">{{item.matNo}}</uni-td>
|
<uni-td align="center">{{item.matName}}</uni-td>
|
<uni-td align="center">{{item.seqNo}}</uni-td>
|
<uni-td align="center">{{item.itemBatch}}</uni-td>
|
<uni-td align="center">
|
<button class="uni-button" size="mini" type="primary" @click="confirm(index,item)">修改</button>
|
<button class="uni-button" size="mini" type="warn" @click="remove(index,item)">删除</button>
|
</uni-td>
|
</uni-tr>
|
</uni-table>
|
</view>
|
<view>
|
<button class ="delTable" @click="delTable">批量删除</button>
|
</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="message" type="message">
|
<uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
|
</uni-popup>
|
</view>
|
<view>
|
<!-- 输入框示例 -->
|
<uni-popup ref="inputDialog" type="dialog">
|
<uni-popup-dialog ref="inputClose" mode="input" title="组托数量"
|
placeholder="请输入组托数量" @confirm="dialogInputConfirm">
|
<uni-number-box :min="minCount" :max="maxCount" v-model="value" />
|
</uni-popup-dialog>
|
</uni-popup>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
billNo:'',
|
code:'',
|
matData:[],
|
type: '',
|
msgType: '',
|
messageText: '',
|
minCount:0,
|
maxCount:1,
|
rowNum:'',
|
value:'',
|
couChange:true,
|
baseIP:'',
|
selectArr : [],
|
|
|
}
|
},
|
mounted(){
|
const UIP = uni.getStorageSync('UIP');
|
this.baseIP = UIP
|
},
|
methods: {
|
// 多选
|
selectionChange(e) {
|
// 获取选中状态
|
console.log(e.detail.index)
|
this.selectedIndexs = e.detail.index
|
},
|
//批量删除
|
delTable() {
|
//实现全选删除和多选删除
|
let len = this.selectedIndexs.length
|
for (let i = 0; i < len; i++) {
|
this.matData.splice(this.selectedIndexs[i],1)
|
}
|
this.selectedIndexs = ''
|
|
},
|
reset:function() {
|
this.billNo = '';
|
this.code = '';
|
this.matData = []
|
},
|
messageToggle(type) {
|
this.msgType = type
|
this.messageText = '提取失败'
|
this.$refs.message.open()
|
},
|
|
// 根据通知单号查询物料详情
|
find(){
|
let billNo = this.billNo
|
let that = this
|
if(this.billNo.length === 0){
|
return
|
}
|
if(billNo.indexOf('=')>-1){
|
billNo = billNo.split(",")[0].split("=")[1];
|
}
|
if(billNo.length===0){
|
return
|
}
|
this.matData = []
|
uni.request({
|
url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/bill/query/auth",
|
header: {
|
'content-type':'application/x-www-form-urlencoded',
|
'token':uni.getStorageSync('token')},
|
data: {
|
billNo: billNo
|
},
|
method: 'POST',
|
success(res){
|
if(res.data.code === 200){
|
if(res.data.data != null){
|
that.addTableData(res.data.data)
|
}else if(res.data.code === 403){
|
|
}else {
|
|
}
|
}
|
}
|
})
|
|
},
|
addTableData(data){
|
for(var i=0;i<data.length;i++){
|
var toPush = true;
|
for(var j=0;j<this.matData.length;j++){
|
if(data[i].matNo ===this.matData[j].matNo ){
|
this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
|
toPush = false;
|
}
|
}
|
if(toPush) {
|
this.matData.push(data[i]);
|
}
|
}
|
|
},
|
|
// 修改数量
|
confirm(index,item){
|
this.couChange=false
|
this.$refs.inputDialog.open()
|
this.maxCount = item.count
|
this.rowNum = index
|
this.value = this.minCount
|
},
|
// 修改数量弹窗
|
dialogInputConfirm() {
|
this.matData[this.rowNum].count = this.value
|
this.messageToggle('success')
|
this.messageText = '修改成功'
|
},
|
// 删除
|
remove(index,item){
|
this.matData.splice(index,1)
|
this.messageToggle('success')
|
this.messageText = '删除成功'
|
},
|
comb(){
|
let that = this
|
let barcode = that.code
|
let billNo = this.billNo
|
if(billNo.length === 0){
|
that.messageToggle('error')
|
that.messageText = '入库单号为空'
|
return;
|
}
|
if(barcode.length === 0){
|
that.messageToggle('error')
|
that.messageText = '请输入托盘码'
|
return;
|
}
|
if (barcode.length !== 8) {
|
that.messageToggle('error')
|
that.messageText = '托盘码必须为8位'
|
return;
|
}
|
if(that.couChange){
|
that.messageToggle('error')
|
that.messageText = '请先确认入库数量'
|
return;
|
}
|
uni.request({
|
url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/comb/auth",
|
header: {'token':uni.getStorageSync('token')},
|
data:{
|
barcode:barcode,
|
combMats:that.matData,
|
billNo: billNo,
|
},
|
method:'POST',
|
success(res) {
|
|
if(res.data.code === 200){
|
that.reset()
|
that.matData = []
|
that.messageToggle('success')
|
that.messageText = '组托成功'
|
}
|
}
|
})
|
},
|
},
|
onShow() {
|
}
|
}
|
</script>
|
|
<style>
|
.delTable {
|
margin-left:0;
|
margin-right: auto;
|
width: 200rpx;
|
height: 80rpx;
|
font-size: 30upx;
|
font-weight: bold;
|
}
|
</style>
|