|  |  | 
 |  |  |    <view> | 
 |  |  |       <view class="code"> | 
 |  |  |          <view class="item"> | 
 |  |  |             <view class="code-decs">订单号:</view> | 
 |  |  |             <input type="text" placeholder=" 扫码 / 输入" v-model="orderNo" :focus="orderNoFocus" | 
 |  |  |             <input type="text" placeholder=" 扫码 / 输入 站点码" v-model="orderNo" :focus="orderNoFocus" | 
 |  |  |                @input="findOrder()"> | 
 |  |  |          </view> | 
 |  |  |          <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> | 
 |  |  |                <text style="text-align: right;color: #409EFF;" @click="selectMat()">提取+</text> | 
 |  |  |                <uni-icons type="right" color="#c1c1c1"></uni-icons> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  |       <view class="mat-list-title"> | 
 |  |  |          商品列表 | 
 |  |  |       </view> | 
 |  |  |       <scroll-view> | 
 |  |  |          <view class="list" v-for="(item,i) in dataList" :key="i"> | 
 |  |  |             <view class="list-left"> | 
 |  |  |                <view class="list-left-item"> | 
 |  |  |                   <view class="desc">No:</view> | 
 |  |  |                   <view class="left-item">{{i + 1}}</view> | 
 |  |  |                </view> | 
 |  |  |                <view class="list-left-item"> | 
 |  |  |                   <view class="desc">料号:</view> | 
 |  |  |                   <view class="desc">站点号:</view> | 
 |  |  |                   <view class="left-item"> | 
 |  |  |                      <uni-tag :text="item.matnr" type="primary"></uni-tag> | 
 |  |  |                      <uni-tag :text="item.barcode" type="primary"></uni-tag> | 
 |  |  |                   </view> | 
 |  |  |                </view> | 
 |  |  |                <view class="list-left-item"> | 
 |  |  |                   <view class="desc">品名:</view> | 
 |  |  |                   <view class="left-item">{{item.maktx}}</view> | 
 |  |  |                   <view class="desc">站点状态:</view> | 
 |  |  |                   <view class="left-item">{{item.sts}}</view> | 
 |  |  |                </view> | 
 |  |  |                <view class="list-left-item"> | 
 |  |  |                   <view class="desc">规格:</view> | 
 |  |  | 
 |  |  |                   <view class="left-item">{{item.anfme}}</view> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |             <view class="list-right"> | 
 |  |  |                <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons> | 
 |  |  |                <uni-icons type="trash" color="#f58a8a" size="24" @click="remove(item,i,'warn')"></uni-icons> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </scroll-view> | 
 |  |  |       <!-- 底部操作按钮 --> | 
 |  |  |       <view class="buttom"> | 
 |  |  |       <view class="buttom-k"> | 
 |  |  |          <button size="mini" type="primary" @click="combConfirm('warn')">空板出库</button> | 
 |  |  |          <button size="mini" type="primary" @click="combConfirm('warn')">空板入库</button> | 
 |  |  |          <button size="mini" @click="reset('warn')">重置</button> | 
 |  |  |          <button size="mini" type="primary" @click="combConfirm('warn')">组托</button> | 
 |  |  |       </view> | 
 |  |  |       <!-- 弹窗 --> | 
 |  |  |       <!-- 修改数量 --> | 
 |  |  | 
 |  |  |             <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" | 
 |  |  | 
 |  |  |                @confirm="resetConfirm" @close="resetClose"></uni-popup-dialog> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  | 		 | 
 |  |  |       <view class="keyboard" :class="hidebg" mode="aspectFit" @click="hideKeyboard"> | 
 |  |  |          <image src="@/static/img/keyboard1.png" style="height: 70%;width: 70%;"></image> | 
 |  |  |       </view> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  |             token: '', | 
 |  |  |             barcode: '', | 
 |  |  |             orderNo: '', | 
 |  |  |             dataList: [], | 
 |  |  |             dataList: [ | 
 |  |  |                { | 
 |  |  |                   barcode: 'CS-101-001-01@1', | 
 |  |  |                   sts: 'F.在库' | 
 |  |  |                } | 
 |  |  |             ], | 
 |  |  |             count: 0, | 
 |  |  |             rowNum: '', | 
 |  |  |             matnr: '', | 
 |  |  | 
 |  |  |             messageText: '', | 
 |  |  |             title: '', | 
 |  |  |             content: '', | 
 |  |  |             barcodeFocus: true, | 
 |  |  |             orderNoFocus: true, | 
 |  |  |             barcodeFocus: false, | 
 |  |  |             matFocus: false, | 
 |  |  |             orderNoFocus: false, | 
 |  |  |             matData: '', | 
 |  |  |             removeNum: 0, | 
 |  |  |             tempOrderInfo: {csocode: '',isoseq: ''} | 
 |  |  |             tempOrderInfo: {csocode: '',isoseq: ''}, | 
 |  |  |             hide: true, | 
 |  |  |             hidebg: 'kb-bgtr' | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       onLoad() { | 
 |  |  |  | 
 |  |  |          // #ifdef APP | 
 |  |  |          setInterval(()=>{ | 
 |  |  |             if (this.hide) { | 
 |  |  |                uni.hideKeyboard() | 
 |  |  |             } else { | 
 |  |  | 					 | 
 |  |  |             } | 
 |  |  |          },20) | 
 |  |  |          // #endif | 
 |  |  |       }, | 
 |  |  |       onBackPress() { | 
 |  |  |          this.hide = false | 
 |  |  |       }, | 
 |  |  |       onShow() { | 
 |  |  |          this.baseUrl = uni.getStorageSync('baseUrl'); | 
 |  |  |          this.token = uni.getStorageSync('token'); | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          hideKeyboard() { | 
 |  |  |             this.hide = this.hide ? false : true | 
 |  |  |             if (this.hide) { | 
 |  |  |                this.hidebg = 'kb-bgtr' | 
 |  |  |             } else { | 
 |  |  |                this.hidebg = 'kb-bgfa' | 
 |  |  |             } | 
 |  |  |          }, | 
 |  |  |          // 根据订单号返回商品详情 | 
 |  |  |          findOrder() { | 
 |  |  |             let that = this | 
 |  |  | 
 |  |  |                }, | 
 |  |  |                success(res) { | 
 |  |  |                   res = res.data | 
 |  |  |                   console.log(res); | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      if(res.data && res.data[0].combMats) { | 
 |  |  |                         for (let i = 0; i < res.data[0].combMats.length; i++) { | 
 |  |  |                            that.checkMat(res.data[0].combMats[i]) | 
 |  |  |                         } | 
 |  |  |                         // that.tempOrderInfo.csocode = res.data[0].combMats.csocode ? res.data[0].combMats.csocode : '' | 
 |  |  |                         // that.tempOrderInfo.isoseq = res.data[0].combMats.isoseq ? res.data[0].combMats.isoseq : '' | 
 |  |  |                         that.orderNoFocus = false | 
 |  |  |                         setTimeout(() => { | 
 |  |  |                            that.barcodeFocus = true | 
 |  |  |                         }, 10); | 
 |  |  |                      } else { | 
 |  |  |                         uni.showToast({ | 
 |  |  |                            title: that.orderNo + '请检查订单号是否正确', | 
 |  |  |                            icon: "none", | 
 |  |  |                            position: 'top' | 
 |  |  |                         }) | 
 |  |  |                         // uni.showToast({ | 
 |  |  |                         //    title: that.orderNo + '请检查订单号是否正确', | 
 |  |  |                         //    icon: "none", | 
 |  |  |                         //    position: 'top' | 
 |  |  |                         // }) | 
 |  |  |                      } | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({ | 
 |  |  | 
 |  |  |          }, | 
 |  |  |          barcodeInput() { | 
 |  |  |             // 不设置定时器 会出现扫入的字符串不全 | 
 |  |  |             this.barcode = this.barcode.split('_')[1] | 
 |  |  |             if (this.barcode.split('_')[1]) { | 
 |  |  |                this.barcode = this.barcode.split('_')[1] | 
 |  |  |             }  | 
 |  |  |             // this.barcode = this.barcode.split('_')[1] | 
 |  |  |             setTimeout(() => { | 
 |  |  |                let len = this.barcode.length | 
 |  |  |                if (len != 10) { | 
 |  |  | 
 |  |  |          findMat() { | 
 |  |  |             let that = this | 
 |  |  |             // 判断物料长度是否为1 | 
 |  |  |             if (that.dataList.length >= 1) { | 
 |  |  |                this.messageText = "只能添加一种物料" | 
 |  |  |                this.messageToggle('warn') | 
 |  |  |                that.matnr = '' | 
 |  |  |                return | 
 |  |  |             } | 
 |  |  |             // if (that.dataList.length >= 1) { | 
 |  |  |             //    this.messageText = "只能添加一种物料" | 
 |  |  |             //    this.messageToggle('warn') | 
 |  |  |             //    that.matnr = '' | 
 |  |  |             //    return | 
 |  |  |             // } | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/mat/auth', | 
 |  |  |                data: { matnr: that.matnr }, | 
 |  |  | 
 |  |  |                         success: function(res) { | 
 |  |  |                            res.eventChannel.emit('mat', { | 
 |  |  |                               data: result.data, | 
 |  |  |                               tempOrderInfo: that.tempOrderInfo | 
 |  |  |                               // tempOrderInfo: that.tempOrderInfo | 
 |  |  |                            }) | 
 |  |  |                         }, | 
 |  |  |                         // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                         events: { | 
 |  |  |                            matList: function(data) { | 
 |  |  |                               data.data['csocode'] = '' | 
 |  |  |                               data.data['isoseq'] = '' | 
 |  |  |                               that.checkMat(data.data) | 
 |  |  |                               that.focuss() | 
 |  |  |                            }, | 
 |  |  | 
 |  |  |          combConfirm(type) { | 
 |  |  |             this.msgType = type | 
 |  |  |             this.title = '警告' | 
 |  |  |             this.content = '是否现在组托!' | 
 |  |  |             this.content = '是否现在空板入库!' | 
 |  |  |             this.$refs.combConfirm.open() | 
 |  |  |          }, | 
 |  |  |          combClose() { | 
 |  |  | 
 |  |  |                this.messageToggle('error') | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             if (that.dataList.length > 1) { | 
 |  |  |                this.messageText = "只能添加一种物料" | 
 |  |  |                this.messageToggle('error') | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             // if (that.dataList.length > 1) { | 
 |  |  |             //    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; | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             console.log(that.dataList); | 
 |  |  |             console.log(that.barcode); | 
 |  |  |             console.log(that.orderNo); | 
 |  |  |             // return | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/agvMobile/comb/auth', | 
 |  |  |                data: JSON.stringify({ | 
 |  |  | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      that.resst(); | 
 |  |  |                      that.messageText = "组托成功" | 
 |  |  |                      that.dataList = [] | 
 |  |  |                      that.findOrder() | 
 |  |  |                      // that.resst(); | 
 |  |  |                      that.barcode = '' | 
 |  |  |                      that.messageText = "空板入库成功" | 
 |  |  |                      that.messageToggle('success') | 
 |  |  |                      const innerAudioContext = uni.createInnerAudioContext(); | 
 |  |  |                      innerAudioContext.src = '/static/music/pakinOk.mp3'; | 
 |  |  | 
 |  |  | <style> | 
 |  |  |    @import url('../../../static/css/wms.css/wms.css'); | 
 |  |  |  | 
 |  |  |    .keyboard{ | 
 |  |  |       width: 40px;height: 40px;background-size: 100%;position: absolute;z-index: 99; | 
 |  |  |          top: 5px;right: 5px; border-radius: 50%; | 
 |  |  |          display: flex;align-items: center;justify-content: center; | 
 |  |  |    } | 
 |  |  |    .kb-bgtr { | 
 |  |  |       background-color: #55557f; | 
 |  |  |    } | 
 |  |  |    .kb-bgfa { | 
 |  |  |       background-color: #00aeec; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    .list:first-child { | 
 |  |  |       margin-top: 340rpx; | 
 |  |  |       margin-top: 120rpx; | 
 |  |  |    } | 
 |  |  |    .code { | 
 |  |  |       width: 100%; | 
 |  |  |       position: fixed; | 
 |  |  |       min-height: 200rpx; | 
 |  |  |       min-height: 70rpx; | 
 |  |  |       background-color: #FFF; | 
 |  |  |       z-index: 10; | 
 |  |  |    } | 
 |  |  | 
 |  |  |       text-align: center; | 
 |  |  |       box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5); | 
 |  |  |    } | 
 |  |  |    .buttom-k { | 
 |  |  |       position: fixed; | 
 |  |  |       bottom: 0; | 
 |  |  |       left: 0; | 
 |  |  |       width: 100%; | 
 |  |  |       display: flex; | 
 |  |  |       flex-direction: column; | 
 |  |  |       background-color: #FFF; | 
 |  |  |       box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2) ; | 
 |  |  |    } | 
 |  |  |    .buttom-k button { | 
 |  |  |       margin: 20rpx 50rpx; | 
 |  |  |    } | 
 |  |  | </style> |