<template>
|
<view>
|
<scroll-view scroll-y>
|
<!-- <view class="pak-seach-box">
|
<view class="box-top">
|
<view class="color-block-blue"></view>
|
<text class="title">选择站台</text>
|
</view>
|
<view>
|
<text class="item">出库口</text>
|
<view class="example-body">
|
<uni-combox @input="getCheckDetl" emptyTips="暂无数据" :candidates="staNoList" v-model="staNo" placeholder="请选择"></uni-combox>
|
</view>
|
</view>
|
</view> -->
|
|
<view class="square-2">
|
<view class="square-title">
|
<view class="title-sign"><view class="sign"></view></view>
|
<view class="title-text"><text>托盘条码</text></view>
|
</view>
|
<view class="square-content">
|
<view class="content-input">
|
<input v-model="barcode" @input="search" type="text" placeholder="扫码 / 输入" maxlength="8"placeholder-style="line-height: 85rpx;">
|
<uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode" ></uni-icons>
|
</view>
|
</view>
|
</view>
|
<view class="square-2">
|
<view class="square-title">
|
<view class="title-sign"><view class="sign"></view></view>
|
<view class="title-text"><text>添加商品</text></view>
|
</view>
|
<view class="square-content">
|
<view class="content-input-btn">
|
<input v-model="matnr" type="text" placeholder="扫码 / 输入" @input="findMat()"
|
:focus="focus" placeholder-style="line-height: 85rpx;">
|
<uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons>
|
</view>
|
<view class="content-btn">
|
<button class="cu-btn bg-blue pda-btn" @click="selectMat()">+提取</button>
|
</view>
|
</view>
|
</view>
|
<view class="pak-data-box">
|
<view class="box-top">
|
<view class="color-block-blue"></view>
|
<text class="title">商品列表</text>
|
<!-- <button class="cu-btn bg-blue" @click="selectMat()">+ 添加</button> -->
|
</view>
|
</view>
|
<view class="pak-data-box" v-show="matList.length === 0">
|
<view style="text-align: center;">暂无更多数据</view>
|
</view>
|
<checkbox-group>
|
<view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
|
<view class="data-list-left">
|
<view class="matnr"><text style="width: 400rpx;">编码:{{item.matnr}}</text></view>
|
<view><text style="width: 400rpx;">规格:{{item.specs}}</text></view>
|
<view><text style="width: 400rpx;">品名:{{item.maktx}}</text></view>
|
<view><text style="width: 400rpx;">批号:{{item.batch}}</text></view>
|
<view><text style="width: 400rpx;">客户信息:{{item.cstmr}}</text></view>
|
<view>
|
<text style="width: 400rpx;">备注:{{item.memo}}</text>
|
<text style="width: 400rpx;margin-left: 100rpx">数量:{{item.anfme}}</text>
|
</view>
|
</view>
|
<view class="data-list-right">
|
<label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label>
|
<label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label>
|
</view>
|
</view>
|
</checkbox-group>
|
<view class="footer flex justify-around">
|
<view>
|
<button class="cu-btn lg" @click="resst()">重置</button>
|
</view>
|
<view>
|
<button class="cu-btn lg pakin-btn bg-blue" @click="adjust()">确认</button>
|
</view>
|
</view>
|
</scroll-view>
|
<!-- <y-pop v-model="count" title="修改" :max="9999999" :show="show"></y-pop> -->
|
<view>
|
<!-- 修改数量 -->
|
<uni-popup ref="revise" @change="change">
|
<view class="revise-box">
|
<view class="revise-box-top">
|
<view class="color-block-blue"></view>
|
<text class="title">修改</text>
|
</view>
|
<view class="change">
|
<view class="text-box">
|
<text>数量:{{enableQty}}</text>
|
</view>
|
<view class="changeBox">
|
<view class="num-box">
|
<uni-number-box v-model="count" :min="minCount" :max="99999999" color="#747474" @change="changeValue"/>
|
</view>
|
</view>
|
</view>
|
|
<view class="revise-box-buttom">
|
<view>
|
<button class="cu-btn bg-blue" @click="confirm()">确认</button>
|
</view>
|
</view>
|
|
</view>
|
</uni-popup>
|
</view>
|
</view>
|
</template>
|
<script>
|
export default {
|
data() {
|
return {
|
commonUrl:null,
|
matList:[],
|
staNoList:[],
|
barcode: '',
|
staNo:'',
|
matnr:'',
|
enableQty:'',
|
count:15,
|
maxCount:'',
|
minCount:0,
|
rowNum:'',
|
show: false,
|
focus: false,
|
|
}
|
},
|
mounted(){
|
const UIP = uni.getStorageSync('UIP');
|
this.baseIP = UIP;
|
const UPORT = uni.getStorageSync('UPORT');
|
this.basePORT = UPORT
|
const PROJ = uni.getStorageSync('UPROJ');
|
this.baseUrl = PROJ
|
this.getUrl()
|
},
|
methods: {
|
// 获取url
|
getUrl() {
|
this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl
|
},
|
// 根据托盘码搜索
|
search() {
|
let that = this
|
uni.request({
|
url: that.commonUrl + '/mobile/checkDetl/auth2',
|
header: {
|
'token':uni.getStorageSync('token')
|
},
|
data: {barcode: that.barcode},
|
method:'GET',
|
success(result) {
|
let res = result.data
|
if(res.code === 200){
|
for(var i = 0; i < res.data.length;i++){
|
that.matList.push(res.data[i])
|
}
|
} else if (res.code == 403) {
|
uni.showToast({title: res.msg, icon: "none", position: 'top'})
|
setTimeout(() => {
|
uni.reLaunch({
|
url: '../login/login'
|
});
|
}, 1000);
|
} else {
|
uni.showToast({title: res.msg, icon: "none",position: 'top'})
|
}
|
}
|
|
})
|
},
|
selectMat() { // 选择商品
|
let that = this
|
uni.vibrateShort();
|
uni.navigateTo({
|
url: "matSelect",
|
events: {
|
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 另外一个页面传过来的
|
acceptDataFromOpenedPage: function(data) {
|
that.matnr = data.data
|
that.findMat(that.matnr)
|
that.matnr = ''
|
},
|
},
|
success: function(res) {
|
// 通过eventChannel向被打开页面传送数据 向另外一个页面传递值的
|
res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl })
|
},
|
|
});
|
|
}, // selectMat
|
findMat() {
|
let that = this
|
uni.request({
|
url: that.commonUrl + '/mat/auth',
|
data: {
|
matnr:that.matnr
|
},
|
header: {
|
'token':uni.getStorageSync('token')
|
},
|
success(result) {
|
uni.vibrateShort();
|
let res = result.data
|
if (res.code === 200 && res.data) {
|
that.matData = res.data
|
uni.navigateTo({
|
url: "matQuery",
|
events: {
|
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
|
matList: function(data) {
|
that.checkMat(data.data)
|
},
|
},
|
success: function(res) {
|
// 通过eventChannel向被打开页面传送数据
|
res.eventChannel.emit('matData', { data: that.matData })
|
}
|
});
|
}
|
|
}
|
});
|
}, // findMat
|
removeMatnr() {
|
this.matnr = ''
|
uni.vibrateShort();
|
this.focus = false;
|
this.$nextTick(function() {
|
this.focus = true;
|
});
|
},
|
revise(item,index) {
|
// var maxCount = this.matList[index].maxCount
|
// if (maxCount == undefined ) {
|
// this.matList[index]["maxCount"] = item.enableQty
|
// }
|
// this.enableQty = item.enableQty
|
// this.count = this.minCount
|
// this.maxCount = item.maxCount
|
this.count = this.matList[index].anfme
|
this.rowNum = index
|
this.eject()
|
// this.show = true
|
},
|
remove(item,index) {
|
this.matList[index].anfme = 0
|
uni.vibrateShort();
|
this.$forceUpdate() // 强制刷新
|
},
|
eject(type) {
|
this.type = type
|
// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
|
this.$refs.revise.open(type)
|
},
|
change(e) {
|
// console.log('当前模式:' + e.type + ',状态:' + e.show);
|
},
|
changeValue() {
|
|
},
|
confirm() {
|
this.matList[this.rowNum].anfme = this.count
|
this.$refs.revise.close()
|
this.$forceUpdate() // 强制刷新
|
},
|
resst() {
|
this.matList = []
|
this.staNo = ''
|
},
|
// 添加商品
|
addMat(mat) {
|
this.matList.unshift(mat)
|
},
|
checkMat(mat) {
|
var len = this.matList.length
|
var add = true
|
for (var i = 0; i < len; i++) {
|
if (mat.matnr == this.matList[i].matnr) {
|
this.matList[i].anfme += mat.anfme
|
this.$forceUpdate() // 强制刷新
|
add = false
|
}
|
}
|
if (add) {
|
this.matList.unshift(mat)
|
}
|
},
|
adjust() {
|
let that = this
|
var combMats = []
|
var combParam = {}
|
combParam['barcode'] = that.barcode
|
combParam['wrkDetls'] = that.matList
|
uni.request({
|
url: that.commonUrl + '/mobile/adjustNew/auth',
|
method: 'POST',
|
data: JSON.stringify(combParam),
|
header: {
|
'token':uni.getStorageSync('token')
|
},
|
success(result) {
|
var res = result.data
|
if (res.code === 200) {
|
that.matList = []
|
that.barcode = ''
|
uni.showToast({title: res.msg, icon: "none", position: 'top'})
|
} else if (res.code == 403) {
|
uni.showToast({title: res.msg, icon: "none", position: 'top'})
|
setTimeout(() => {
|
uni.reLaunch({
|
url: '../login/login'
|
});
|
}, 1000);
|
} else {
|
uni.showToast({title: res.msg, icon: "none",position: 'top'})
|
}
|
},
|
});
|
},
|
removeBarcode() {
|
this.barcode = ''
|
}
|
} // methods
|
} // exprot
|
</script>
|
<style>
|
.revise-box {
|
width: 500rpx;
|
height: 300rpx;
|
display: flex;
|
flex-direction: column;
|
border-radius: 20rpx;
|
background-color: #F1F1F1;
|
}
|
.change {
|
height: 150rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
.revise-box-buttom {
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
.pak-seach-box {
|
background-color: #FFFFFF;
|
margin: 15rpx 15rpx 0rpx 15rpx;
|
width: 96%;
|
height: 200rpx;
|
border-radius: 20rpx;
|
}
|
.box-top{
|
display: block;
|
height: 80rpx;
|
width: 720rpx;
|
}
|
.color-block-blue {
|
background-color: #1E9FFF;
|
display: inline-block;
|
float: left;
|
margin: 30rpx 15rpx 0 15rpx;
|
width: 12rpx;
|
height: 40rpx;
|
border: 5rpx solid #1E9FFF;
|
border-radius: 20rpx;
|
}
|
.title {
|
display: inline-block;
|
float: left;
|
font-size: 34rpx;
|
font-weight: 700;
|
height: 50rpx;
|
line-height: 80rpx;
|
margin-top: 10rpx;
|
}
|
.item {
|
text-indent: 1em;
|
font-size: 16px;
|
display: inline-block;
|
margin-top: 40rpx;
|
}
|
.example-body {
|
position: fixed;
|
display: inline-block;
|
margin-top: 3.5%;
|
margin-left: 5%;
|
width: 70%;
|
z-index: 999;
|
}
|
|
.pak-data-box {
|
background-color: #F1F1F1;
|
margin: 15rpx 15rpx 0rpx 15rpx;
|
width: 96%;
|
height: 100rpx;
|
border-radius: 20rpx;
|
line-height: 100rpx;
|
}
|
.pak-data-box>.box-top {
|
background-color: #FFFFFF;
|
height: 100rpx;
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
}
|
.pak-data-box button {
|
background-color: #1E9FFF;
|
color: #ffffff;
|
display: inline-block;
|
float: right;
|
width: 150rpx;
|
height: 80rpx;
|
margin: 10rpx 25rpx 0rpx 0rpx;
|
line-height: 80rpx;
|
}
|
.bg-false {
|
background-color: #FFFFFF;
|
}
|
.bg-true {
|
background-color: #ebebeb;
|
}
|
.data-list {
|
border-bottom: 1px solid #d8d8d8;
|
height: 240rpx;
|
margin: 15rpx;
|
border-radius: 20rpx;
|
}
|
.data-list:first-child {
|
margin-top: 20rpx;
|
}
|
.data-list:last-child {
|
margin-bottom: 180rpx;
|
}
|
.data-list-left {
|
display: inline-block;
|
float: left;
|
margin-left: 6%;
|
height: 180rpx;
|
color: #676767;
|
}
|
.matnr {
|
padding-top: 10rpx;
|
}
|
.data-list-right {
|
display: inline-block;
|
float: right;
|
width: 200rpx;
|
height: 230rpx;
|
line-height: 230rpx;
|
}
|
.data-list-right label {
|
display: inline-block;
|
float: left;
|
width: 100rpx;
|
height: 180rpx;
|
}
|
</style>
|