| | |
| | | </view> |
| | | <view class="square-content"> |
| | | <view class="content-input"> |
| | | <input v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8" |
| | | :focus="barcodeFocus" @focus="focuss"> |
| | | <input readonly="value" v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8" |
| | | :focus="barcodeFocus" @input="nextInput"> |
| | | <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons> |
| | | </view> |
| | | </view> |
| | |
| | | </view> |
| | | <view class="square-content"> |
| | | <view class="content-input"> |
| | | <input v-model="matnr" type="text" placeholder="扫码 / 输入" @input="findMat()" |
| | | :focus="focus" @focus="focuss" > |
| | | <input v-model="matnrId" type="text" placeholder="扫码 / 输入" @input="findMat()" |
| | | :focus="focus"@focus="empty()"> |
| | | <!-- :focus="focus" @blur="clear "> --> |
| | | <!-- @focus="focuss" --> |
| | | <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> |
| | | <uni-icons type="closeempty" size="20" color="#dadada" @click="foucss()"></uni-icons> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="square-none" v-show="matList.length === 0"> |
| | | <view class="v-show">暂无更多数据...</view> |
| | | </view> |
| | | <checkbox-group @change="checkbox"> |
| | | <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"> |
| | | <text>No:{{listLen-index}}</text> |
| | | <view class="matnr">No:{{listLen-index}}</view> |
| | | <view class="matnr">{{item.matnr}}-{{item.batch}}</view> |
| | | </view> |
| | | <view class="data-list-right"> |
| | | <uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons> |
| | | <uni-icons type="trash" size="20" color="#a5a5a5" @click="remove(item,index)"></uni-icons> |
| | | </view> |
| | | </view> |
| | | </checkbox-group> |
| | |
| | | <view> |
| | | <button class="cu-btn lg pakin-btn bg-blue" @click="comb()">组托</button> |
| | | </view> |
| | | </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> |
| | |
| | | type: 'center', |
| | | searchBox: 'hide', |
| | | pick:'hide', |
| | | matnr:'', |
| | | matnrId:'', |
| | | // matList:[{matnr:'1101842-10000',batch:'22047515999'}], |
| | | matList:[], |
| | | result: '', |
| | | listLen:0 |
| | | listLen:0, |
| | | msgType: 'success', |
| | | messageText: '这是一条成功提示', |
| | | } |
| | | }, |
| | | mounted(){ |
| | |
| | | const UPORT = uni.getStorageSync('UPORT'); |
| | | this.basePORT = UPORT |
| | | }, |
| | | methods: { |
| | | getListLength() { |
| | | this.listLen = this.matList.length |
| | | }, |
| | | focuss() { |
| | | onLoad() { |
| | | // #ifdef APP |
| | | setInterval(()=>{ |
| | | uni.hideKeyboard() |
| | | },20) |
| | | // #endif |
| | | }, |
| | | methods: { |
| | | nextInput() { |
| | | if (this.barcode.length == 8) { |
| | | this.foucss() |
| | | } |
| | | }, |
| | | empty() { |
| | | return this.inputValue=''; |
| | | }, |
| | | barcodeFocuss() { |
| | | // #ifdef APP |
| | | let that = this; |
| | | that.barcodeFocus = false; |
| | | setTimeout(()=>{ |
| | | that.matnrId = ''; |
| | | that.barcodeFocus = true; |
| | | }, 100); |
| | | // #endif |
| | | |
| | | }, |
| | | foucss() { |
| | | // #ifdef APP |
| | | let that = this; |
| | | that.focus = false; |
| | | setTimeout(()=>{ |
| | | that.matnrId = ''; |
| | | that.focus = true; |
| | | }, 100); |
| | | // #endif |
| | | }, |
| | | clear() { |
| | | this.matnrId = '' |
| | | }, |
| | | messageToggle(type) { |
| | | this.msgType = type |
| | | this.messageText = `这是一条${type}消息提示` |
| | | this.$refs.message.open() |
| | | }, |
| | | resst() { |
| | | this.matList = [] |
| | | this.barcode = '' |
| | | this.matnr = '' |
| | | uni.vibrateShort(); |
| | | this.matnrId = ''; |
| | | this.matList = []; |
| | | this.barcode = ''; |
| | | this.barcodeFocuss(); |
| | | }, |
| | | removeBarcode() { |
| | | this.barcode = '' |
| | | uni.vibrateShort(); |
| | | this.barcodeFocus = false; |
| | | this.$nextTick(function() { |
| | | this.barcodeFocus = true; |
| | | }); |
| | | }, |
| | | removeMatnr() { |
| | | this.matnr = '' |
| | | uni.vibrateShort(); |
| | | this.focus = false; |
| | | this.$nextTick(function() { |
| | | this.focus = true; |
| | | }); |
| | | }, |
| | | remove(item,index) { |
| | | this.matnrId = '' |
| | | this.matList.splice(index,1) |
| | | this.listLen = this.matList.length |
| | | uni.vibrateShort(); |
| | | this.messageToggle('success') |
| | | this.messageText = '删除成功' |
| | | }, |
| | | comb() { |
| | | uni.vibrateShort(); |
| | | let that = this; |
| | | if (that.barcode === '') { |
| | | uni.showToast({title: '请扫描托盘条码', icon: "none", position: 'top'}); |
| | |
| | | position: 'bottom', |
| | | duration: 1000 |
| | | }); |
| | | that.resst(); |
| | | } else if (res.code == 403) { |
| | | uni.showToast({title: res.msg, icon: "none", position: 'top'}) |
| | | setTimeout(() => { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | selectMat() { |
| | | let that = this |
| | | uni.vibrateShort(); |
| | | uni.showLoading(); |
| | | uni.navigateTo({ |
| | | url: "matSelect", |
| | | events: { |
| | | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 |
| | | acceptDataFromOpenedPage: function(data) { |
| | | that.matnr = data.data |
| | | that.findMat(that.matnr) |
| | | }, |
| | | }, |
| | | success: function(res) { |
| | | // 通过eventChannel向被打开页面传送数据 |
| | | res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT }) |
| | | } |
| | | }); |
| | | that.matnr = '' |
| | | }, |
| | | findMat() { |
| | | let that = this |
| | | let str = that.matnr.split('-') |
| | | that.matnr = str[0]+'-'+str[1] |
| | | if (that.matnrId.length > 25){ |
| | | that.messageToggle('warn'); |
| | | that.messageText = '商品编码超长,请重试'; |
| | | that.foucss(); |
| | | return; |
| | | } |
| | | let str = that.matnrId.split('-') |
| | | let matnr = str[0] + '-' + str[1] |
| | | for (let k = 0; k < that.matList.length;k++) { |
| | | if (that.matList[k].matnr != matnr) { |
| | | that.messageToggle('warn'); |
| | | that.messageText = '商品种类不一致,请重试!'; |
| | | that.foucss(); |
| | | return; |
| | | } |
| | | } |
| | | uni.showLoading(); |
| | | uni.request({ |
| | | url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth', |
| | | data: { |
| | | matnr:that.matnr |
| | | matnr:matnr |
| | | }, |
| | | header: { |
| | | 'token':uni.getStorageSync('token') |
| | | }, |
| | | success(result) { |
| | | uni.vibrateShort(); |
| | | uni.hideLoading(); |
| | | // uni.vibrateShort(); |
| | | let res = result.data |
| | | if (res.code === 200 && res.data) { |
| | | that.matnr = '' |
| | | let add = true; |
| | | if(res.data) { |
| | | let mat = res.data; |
| | | mat['batch'] = str[2]; |
| | | mat['anfme'] = 1 |
| | | for(let i = 0;i < that.matList.length;i++) { |
| | | if(that.matList[i].batch == str[2]) { |
| | | add = false; |
| | | break; |
| | | } |
| | | let mat = res.data; |
| | | mat['batch'] = str[2]; |
| | | mat['anfme'] = 1 |
| | | for(let i = 0;i < that.matList.length;i++) { |
| | | if(that.matList[i].batch == str[2]) { |
| | | that.messageToggle('warn'); |
| | | that.messageText = '重复扫描'; |
| | | that.foucss(); |
| | | add = false; |
| | | } |
| | | } |
| | | if(add) { |
| | | that.messageToggle('success'); |
| | | that.messageText = '检索成功'; |
| | | that.matList.unshift(res.data) |
| | | } |
| | | that.focus = false; |
| | | that.$nextTick(function() { |
| | | that.focus = true; |
| | | }); |
| | | uni.hideKeyboard(); |
| | | that.listLen = that.matList.length |
| | | that.foucss(); |
| | | } |
| | | that.listLen = that.matList.length; |
| | | } else if (res.code == 403) { |
| | | that.messageToggle('warn') |
| | | that.messageToggle('error') |
| | | that.messageText = res.msg |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | | url: '../login/login' |
| | | }); |
| | | }, 1000); |
| | | uni.hideLoading(); |
| | | } else { |
| | | that.messageToggle('warn') |
| | | that.messageToggle('error') |
| | | that.messageText = res.msg |
| | | uni.hideLoading(); |
| | | // uni.showToast({title: res.msg, icon: "none",position: 'top'}) |
| | | } |
| | | } |
| | |
| | | change(e) { |
| | | console.log('当前模式:' + e.type + ',状态:' + e.show); |
| | | }, |
| | | toggle(type) { |
| | | this.type = type |
| | | // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 |
| | | this.$refs.goodsSearch.open(type) |
| | | }, |
| | | checkbox: function (e) { |
| | | var items = this.data, |
| | | values = e.detail.value; |
| | | for (var i = 0, lenI = items.length; i < lenI; ++i) { |
| | | const item = items[i] |
| | | item.id = item.id + '' |
| | | if(values.indexOf(item.id) >= 0){ |
| | | this.$set(item,'checked',true) |
| | | }else{ |
| | | this.$set(item,'checked',false) |
| | | } |
| | | } |
| | | if (values.length == items.length) { |
| | | this.check = true |
| | | this.checkText = "取消全选" |
| | | } else { |
| | | this.check = false |
| | | this.checkText = "全选" |
| | | } |
| | | uni.vibrateShort(); |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | |
| | | |
| | | <style> |
| | | /* @import "../../colorui/main.css"; |
| | | @import "../../colorui/icon.css"; */ |
| | | /* |
| | | 1101842-10000-22047515999 |
| | | 1101842-10000-220475159999 |
| | | 1101842-10000-22047518494 |
| | | 1101842-10000-22047518532 |
| | | 1101842-10000-22047515990 |
| | | 1101842-12345-22047515990 |
| | | 1101842-10000-22047515997 |
| | | 1101842-10000-22047518515 |
| | | 1101842-10000-22047515778 |
| | |
| | | } |
| | | .data-list { |
| | | border-bottom: 1px solid #d8d8d8; |
| | | height: 90rpx; |
| | | height: 130rpx; |
| | | margin: 15rpx; |
| | | border-radius: 20rpx; |
| | | } |
| | |
| | | display: inline-block; |
| | | float: left; |
| | | margin-left: 6%; |
| | | height: 90rpx; |
| | | height: 130rpx; |
| | | /* line-height: 100rpx; */ |
| | | color: #676767; |
| | | } |
| | | .matnr { |
| | | padding-top: 10rpx; |
| | | font-size: 14px; |
| | | font-weight: 700; |
| | | /* padding-top: 15rpx; */ |
| | | padding-top: 15rpx; |
| | | } |
| | | .data-list-right { |
| | | display: inline-block; |
| | | float: right; |
| | | height: 90rpx; |
| | | line-height: 90rpx; |
| | | height: 130rpx; |
| | | line-height: 130rpx; |
| | | margin-right: 10%; |
| | | } |
| | | </style> |