|  |  | 
 |  |  |     <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="popup" background-color="#fff"> | 
 |  |  |                 <view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }"> | 
 |  |  |                     <view class="recommend" v-for="item in recommendLocs" @click="chose(item)"> {{ item }}</view> | 
 |  |  |                 </view> | 
 |  |  |             </uni-popup> | 
 |  |  |         </view> | 
 |  |  |     </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  |                 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.data | 
 |  |  |                         that.recommendLocs = res | 
 |  |  |                     } | 
 |  |  | 					 | 
 |  |  |                 }) | 
 |  |  |             }, | 
 |  |  |             checkMat(mat) { | 
 |  |  |                 mat['orderNo'] = this.order | 
 |  |  | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |     @import url('../../static/css/wms.css/wms.css'); | 
 |  |  |     .popup-content { | 
 |  |  |         width: 200px; | 
 |  |  |     } | 
 |  |  |     .recommend { | 
 |  |  |         width: 300rpx; | 
 |  |  |         height: 100rpx; | 
 |  |  |         text-align: center; | 
 |  |  |         line-height: 100rpx; | 
 |  |  |     } | 
 |  |  |     .list { | 
 |  |  |         display: flex; | 
 |  |  |         min-height: 80rpx; |