|  |  | 
 |  |  |    <view> | 
 |  |  |       <view class="code"> | 
 |  |  |          <view class="item"> | 
 |  |  |             <view class="code-decs">库位号:</view> | 
 |  |  |             <input type="text" placeholder=" 扫码 / 输入" v-model="barcode" :focus="barcodeFocus" | 
 |  |  |                @input="barcodeInput()"> | 
 |  |  |          </view> | 
 |  |  |          <view class="item"> | 
 |  |  |             <view class="code-decs">物料号:</view> | 
 |  |  |             <input type="text" placeholder=" 扫码 / 输入" v-model="matnr" :focus="matFocus" @input="findMat()"> | 
 |  |  |             <view class="item-right"> | 
 |  |  |                <button></button> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |          <view class="item"> | 
 |  |  |             <view class="code-decs">库位号:</view> | 
 |  |  |             <input type="text" placeholder=" 扫码 / 输入" v-model="barcode" :focus="barcodeFocus"> | 
 |  |  |             <button v-show="recommendLocs.length" size="mini" type="primary" @click="toggle('right')">推荐</button> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  |       <view class="mat-list-title"> | 
 |  |  | 
 |  |  |             <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <!-- 确认组托 --> | 
 |  |  |       <!-- 确认上架 --> | 
 |  |  |       <view> | 
 |  |  |          <uni-popup ref="combConfirm" type="dialog"> | 
 |  |  |             <uni-popup-dialog :type="msgType" cancelText="取消" confirmText="确认" :title="title" :content="content" | 
 |  |  | 
 |  |  |          <!-- 提示信息弹窗 --> | 
 |  |  |          <uni-popup ref="message" type="message"> | 
 |  |  |             <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |       <view> | 
 |  |  |          <!-- 普通弹窗 --> | 
 |  |  |          <uni-popup ref="popup" background-color="#fff"> | 
 |  |  |             <scroll-view scroll-y="true" class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }"> | 
 |  |  |                <view class="recommend" v-for="item in recommendLocs" @click="chose(item)"> {{ item }}</view> | 
 |  |  |             </scroll-view> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  |    </view> | 
 |  |  | 
 |  |  |             messageText: '', | 
 |  |  |             title: '', | 
 |  |  |             content: '', | 
 |  |  |             barcodeFocus: true, | 
 |  |  |             matFocus: false, | 
 |  |  |             barcodeFocus: false, | 
 |  |  |             matFocus: true, | 
 |  |  |             matData: '', | 
 |  |  |             removeNum: 0 | 
 |  |  |             removeNum: 0, | 
 |  |  |             type: 'center', | 
 |  |  |             recommendLocs: [] | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       onShow() { | 
 |  |  | 
 |  |  |          this.token = uni.getStorageSync('token'); | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          chose(item) { | 
 |  |  |             this.barcode = item | 
 |  |  |             this.$refs.popup.close() | 
 |  |  |          }, | 
 |  |  |          toggle(type) { | 
 |  |  |             this.type = type | 
 |  |  |             // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
 |  |  |             this.$refs.popup.open(type) | 
 |  |  |          }, | 
 |  |  |          messageToggle(type) { | 
 |  |  |             this.msgType1 = type | 
 |  |  |             this.$refs.message.open() | 
 |  |  |          }, | 
 |  |  |          // barcode input 事件 | 
 |  |  |          barcodeInput() { | 
 |  |  |             // 不设置定时器 会出现扫入的字符串不全 | 
 |  |  |          matnrInput() { | 
 |  |  |             setTimeout(() => { | 
 |  |  |                var len = this.barcode.length | 
 |  |  |                this.focuss() | 
 |  |  |             }, 200) | 
 |  |  |          }, | 
 |  |  | 
 |  |  |                   result = result.data | 
 |  |  |                   if (result.code === 200 && result.data) { | 
 |  |  |                      that.matData = result.data | 
 |  |  |                      that.matnr = '' | 
 |  |  |                      that.matData['batch'] = '' | 
 |  |  |                      result.data.batch = matnr[2] | 
 |  |  |                      uni.navigateTo({ | 
 |  |  | 
 |  |  |                         // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                         events: { | 
 |  |  |                            matList: function(data) { | 
 |  |  |                               that.recommendLoc() | 
 |  |  |                               that.checkMat(data.data) | 
 |  |  |                               that.focuss() | 
 |  |  |                            }, | 
 |  |  | 
 |  |  |                } | 
 |  |  |             }); | 
 |  |  |           | 
 |  |  |          }, | 
 |  |  |          // 推荐库位 | 
 |  |  |          recommendLoc() { | 
 |  |  |             let that = this | 
 |  |  |             that.recommendLocs = [] | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/node/recommendLoc', | 
 |  |  |                data: {matnr: that.matnr}, | 
 |  |  |                header: {'token': uni.getStorageSync('token')}, | 
 |  |  |                success(res) { | 
 |  |  |                   res = res.data | 
 |  |  |                   if (res.code == 200 && res.data) { | 
 |  |  |                      that.recommendLocs = res.data | 
 |  |  |                   }  | 
 |  |  |                } | 
 |  |  | 					 | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          checkMat(mat) { | 
 |  |  |             mat['orderNo'] = this.order | 
 |  |  | 
 |  |  |          combConfirm(type) { | 
 |  |  |             this.msgType = type | 
 |  |  |             this.title = '警告' | 
 |  |  |             this.content = '是否现在组托!' | 
 |  |  |             this.content = '是否现在上架!' | 
 |  |  |             this.$refs.combConfirm.open() | 
 |  |  |          }, | 
 |  |  |          comb() { | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |             let that = this; | 
 |  |  |             if (that.barcode === '') { | 
 |  |  |                this.messageText = "请扫描托盘条码" | 
 |  |  |                this.messageText = "请添加库位码" | 
 |  |  |                this.messageToggle('error') | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  | 
 |  |  |             } | 
 |  |  |             for (var i = 0; i < that.dataList.length; i++) { | 
 |  |  |                if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') { | 
 |  |  |                   this.messageText = that.dataList[i].matnr + '组托数量不能为0' | 
 |  |  |                   this.messageText = that.dataList[i].matnr + '上架数量不能为0' | 
 |  |  |                   this.messageToggle('error') | 
 |  |  |                   return; | 
 |  |  |                } | 
 |  |  | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      that.resst(); | 
 |  |  |                      that.messageText = "组托成功" | 
 |  |  |                      that.messageText = "上架成功" | 
 |  |  |                      that.messageToggle('success') | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      that.messageText = res.msg | 
 |  |  | 
 |  |  |          resst() { | 
 |  |  |             this.dataList = [] | 
 |  |  |             this.barcode = '' | 
 |  |  |             this.recommendLocs = [] | 
 |  |  |             this.barcodeFocuss() | 
 |  |  |          }, | 
 |  |  |          combClose() { | 
 |  |  | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |    @import url('../../static/css/wms.css/wms.css'); | 
 |  |  |    .popup-content { | 
 |  |  |       /* height: 90vh; */ | 
 |  |  |       height: 90vh; | 
 |  |  |       width: 200px; | 
 |  |  |    } | 
 |  |  |    .recommend { | 
 |  |  |       width: 300rpx; | 
 |  |  |       height: 100rpx; | 
 |  |  |       text-align: center; | 
 |  |  |       line-height: 100rpx; | 
 |  |  |    } | 
 |  |  |    .list { | 
 |  |  |       display: flex; | 
 |  |  |       min-height: 80rpx; |