|  |  | 
 |  |  |       <view class="square-none" v-show="matList.length == 0"> | 
 |  |  |          <view class="v-show">暂无更多数据...</view> | 
 |  |  |       </view> | 
 |  |  | 		 | 
 |  |  |       <checkbox-group @change="checkbox"> | 
 |  |  |          <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > | 
 |  |  |             <view class="data-list-left"> | 
 |  |  |                <!-- <view> | 
 |  |  |                   <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> | 
 |  |  |                </view> --> | 
 |  |  |                <view class="matnr"><text style="width: 400rpx;">编码:{{item.matnr}}</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.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"> | 
 |  |  |          <!-- <label class="label-btn" style="width: 170rpx;"> | 
 |  |  |             <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox> | 
 |  |  |          </label> | 
 |  |  |          <label class="label-btn" style="width: 100rpx;"> | 
 |  |  |             <text  @click="reChecked()">反选</text> | 
 |  |  |          </label> --> | 
 |  |  | 			 | 
 |  |  |          <label class="label-btn" style="width: 150rpx;"> | 
 |  |  |             <button class="cu-btn" @click="resst()">重置</button> | 
 |  |  |          </label> | 
 |  |  |          <label class="label-btn"> | 
 |  |  |             <button class="cu-btn bg-blue " @click="comb()">盘点</button> | 
 |  |  |          </label> | 
 |  |  |       </view> | 
 |  |  | 		 | 
 |  |  |       <!-- 弹窗 --> | 
 |  |  |       <!-- 修改数量 --> | 
 |  |  |       <uni-popup ref="revise" background-color="#fff"> | 
 |  |  |          <view class="revise-box "> | 
 |  |  |             <view class="revise-box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">修改批号/数量</text> | 
 |  |  |             </view> | 
 |  |  |             <view class="" style="position: relative;left: 50px;margin-bottom: 20px;"> | 
 |  |  |                <text style="display: inline-block;float: left;width: 50px;">批号:</text> | 
 |  |  |                <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="batch"> | 
 |  |  |             </view> | 
 |  |  |             <view class="changeBox"> | 
 |  |  |                <view class="num-box"> | 
 |  |  |                   <text style="display: inline-block;float: left;width: 50px;">批号:</text> | 
 |  |  |                   <uni-number-box :value="count" :max="9999" color="#747474"  @change="changeValue"/> | 
 |  |  |                </view>  | 
 |  |  |             </view> | 
 |  |  |             <view class="revise-box-buttom"> | 
 |  |  |                <view> | 
 |  |  |                   <button class="cu-btn bg-blue" @click="confirm()">确认</button> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </uni-popup> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  |    export default { | 
 |  |  |       data() { | 
 |  |  |          return { | 
 |  |  |             commonUrl:null, | 
 |  |  |             locno: '', | 
 |  |  |             locnoFocus: true, | 
 |  |  |             matnr: '', | 
 |  |  |             matnrFocus: true, | 
 |  |  |             matList: [], | 
 |  |  |             count:'', | 
 |  |  |             batch:'' | 
 |  |  |              | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       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 | 
 |  |  |          }, | 
 |  |  |          // 清空input | 
 |  |  |          remove(e) { | 
 |  |  |             this[e] = '' | 
 |  |  |          }, | 
 |  |  |          findMat() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                 url: that.commonUrl + '/mat/auth', | 
 |  |  |                 data: { | 
 |  |  |                   matnr:that.matnr | 
 |  |  |                 }, | 
 |  |  |                 header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                 }, | 
 |  |  |                success(result) { | 
 |  |  |                   console.log(result); | 
 |  |  |                   uni.vibrateShort(); | 
 |  |  |                   let res = result.data | 
 |  |  |                   if (res.code === 200 && res.data) { | 
 |  |  |                      that.matData = res.data | 
 |  |  |                      that.matnr = '' | 
 |  |  |                      uni.navigateTo({ | 
 |  |  |                         url: "matQuery", | 
 |  |  |                         events: { | 
 |  |  |                             // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                             matList: function(data) { | 
 |  |  |                               that.checkMat(data.data) | 
 |  |  |                               // that.matList.push(data.data) | 
 |  |  |                            }, | 
 |  |  |                         }, | 
 |  |  |                         success: function(res) { | 
 |  |  |                            // 通过eventChannel向被打开页面传送数据 | 
 |  |  |                            res.eventChannel.emit('matData', { data: that.matData }) | 
 |  |  |                         }, | 
 |  |  |                      }); | 
 |  |  |                   } 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'}) | 
 |  |  |                   } | 
 |  |  | 						 | 
 |  |  |                } | 
 |  |  |             }); | 
 |  |  | 				 | 
 |  |  |          }, | 
 |  |  |          // 添加商品 | 
 |  |  |          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) | 
 |  |  |             } | 
 |  |  |          }, | 
 |  |  |          // 列表删除按钮 | 
 |  |  |          remove(item,index) { | 
 |  |  |             this.matList.splice(index,1) | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          revise(item,index) { | 
 |  |  |             this.count = this.matList[index].anfme | 
 |  |  |             // 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.rowNum = index | 
 |  |  |             this.eject() | 
 |  |  |          }, | 
 |  |  |          eject(type) { | 
 |  |  |             this.type = type | 
 |  |  |             // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
 |  |  |             this.$refs.revise.open(type) | 
 |  |  |          }, | 
 |  |  |          confirm() { | 
 |  |  |             this.matList[this.rowNum].anfme = this.count | 
 |  |  |             this.matList[this.rowNum].batch = this.batch | 
 |  |  |             this.$refs.revise.close() | 
 |  |  |             this.$forceUpdate() // 强制刷新 | 
 |  |  |          }, | 
 |  |  |          changeValue(value) { | 
 |  |  |             this.count = value | 
 |  |  |          }, | 
 |  |  |          resst() { | 
 |  |  |             this.matList = [] | 
 |  |  |             this.locno = '' | 
 |  |  |             this.barcodeFocuss() | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          comb() { | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |             let that = this; | 
 |  |  |             if (that.barcode === '') { | 
 |  |  |                uni.showToast({title: '请扫描托盘条码', icon: "none", position: 'top'}); | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             if (that.matList.length === 0) { | 
 |  |  |                uni.showToast({title: '请添加商品列表', icon: "none", position: 'top'}); | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             for (var i = 0; i < that.matList.length; i++) { | 
 |  |  |                if (that.matList[i].anfme == 0 || that.matList[i].anfme == '') { | 
 |  |  |                   uni.showToast({title: that.matList[i].matnr + '组托数量不能为0', icon: "none", position: 'top'}); | 
 |  |  |                   return; | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             uni.showLoading(); | 
 |  |  |             uni.request({ | 
 |  |  |                 url: that.commonUrl + '/mobile/comb/auth', | 
 |  |  |                 data: JSON.stringify({ | 
 |  |  |                   barcode: that.barcode, | 
 |  |  |                   combMats: that.matList | 
 |  |  |                }), | 
 |  |  |                method: 'POST', | 
 |  |  |                 header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                 }, | 
 |  |  |                success(result) { | 
 |  |  |                   uni.hideLoading(); | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      that.resst(); | 
 |  |  |                      uni.showToast({ | 
 |  |  |                         title: res.msg, | 
 |  |  |                         position: 'bottom', | 
 |  |  |                         duration: 1000 | 
 |  |  |                      }); | 
 |  |  |                   } 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'}) | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }); | 
 |  |  |          }, | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |    .revise-box { | 
 |  |  |       position: relative; | 
 |  |  |       width: 500rpx; | 
 |  |  |       height: 400rpx; | 
 |  |  |       border-radius: 25px; | 
 |  |  |    } | 
 |  |  |    .revise-box-top { | 
 |  |  |       width: 400rpx; | 
 |  |  |       height: 120rpx; | 
 |  |  |       border-radius: 25px; | 
 |  |  |    } | 
 |  |  |    .changeBox { | 
 |  |  |       width: 400rpx; | 
 |  |  |       height: 100rpx; | 
 |  |  |    } | 
 |  |  |    .num-box { | 
 |  |  |       margin-left: 100rpx; | 
 |  |  |    } | 
 |  |  |    .revise-box-buttom{ | 
 |  |  |       margin-left: 190rpx; | 
 |  |  |    } | 
 |  |  |    .pak-seach-box { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       width: 96%; | 
 |  |  |       height: 150rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |    } | 
 |  |  |    .box-top{ | 
 |  |  |       display: block; | 
 |  |  |       height: 60rpx; | 
 |  |  |       width: 720rpx; | 
 |  |  |    } | 
 |  |  |    .color-block-blue { | 
 |  |  |       background-color: #1E9FFF; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       margin: 15rpx 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: 50rpx; | 
 |  |  |       margin-top: 10rpx; | 
 |  |  |    } | 
 |  |  |    .box-buttom { | 
 |  |  |       display: inline-block; | 
 |  |  |       background-color: #ededed; | 
 |  |  |       width: 65%; | 
 |  |  |       height: 60rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |    } | 
 |  |  |    .box-buttom input { | 
 |  |  |       width: 75%; | 
 |  |  |       float: left; | 
 |  |  |       margin: 8rpx 10rpx 0rpx 25rpx; | 
 |  |  |    } | 
 |  |  |    .box-buttom .search-icon{ | 
 |  |  |       width: 60rpx; | 
 |  |  |       height: 60rpx; | 
 |  |  |       float: right; | 
 |  |  |       margin-top: 5rpx; | 
 |  |  |       margin-right: 10rpx; | 
 |  |  |    } | 
 |  |  |    /* .pak-seach-box input { | 
 |  |  |       background-color: #ededed; | 
 |  |  |       border: 1rpx solid #d8d8d8; | 
 |  |  |       display: inline-block; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |       float: left; | 
 |  |  |       width: 70%; | 
 |  |  |       height: 60rpx; | 
 |  |  |       line-height: 60rpx; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       padding-left: 20rpx; | 
 |  |  |    } */ | 
 |  |  |    .pak-seach-box button { | 
 |  |  |       background-color: #1E9FFF; | 
 |  |  |       color: #ffffff; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: right; | 
 |  |  |       width: 180rpx; | 
 |  |  |       height: 60rpx; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       line-height: 60rpx; | 
 |  |  |    } | 
 |  |  |    .pakin-btn { | 
 |  |  |       background-color: #1E9FFF; | 
 |  |  |    } | 
 |  |  |    .pak-data-box { | 
 |  |  |       background-color: #F1F1F1; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       width: 96%; | 
 |  |  |       height: 70rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |    } | 
 |  |  |    .pak-data-box .box-top { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |       height: 70rpx; | 
 |  |  |       border-radius: 20rpx 20rpx 20rpx 20rpx; | 
 |  |  |    } | 
 |  |  |    .bg-false { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |    } | 
 |  |  |    .bg-true { | 
 |  |  |       background-color: #ebebeb; | 
 |  |  |    } | 
 |  |  |    .data-list { | 
 |  |  |       border-bottom: 1px solid #d8d8d8; | 
 |  |  |       height: 180rpx; | 
 |  |  |       margin: 15rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |    } | 
 |  |  |    .data-list:first-child { | 
 |  |  |       margin-top: 20rpx; | 
 |  |  |    } | 
 |  |  |    .data-list:last-child { | 
 |  |  |       margin-bottom: 120rpx; | 
 |  |  |    } | 
 |  |  |    /* .data-list-left { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       text-align: center; | 
 |  |  |       width: 100rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |       line-height: 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; | 
 |  |  |       height: 180rpx; | 
 |  |  |       line-height: 180rpx; | 
 |  |  |    } | 
 |  |  |    /* display: inline-block; | 
 |  |  |    float: right; | 
 |  |  |    width: 200rpx; | 
 |  |  |    height: 180rpx; | 
 |  |  |    line-height: 180rpx; */ | 
 |  |  |    .data-list-right label { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       width: 80rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |    } | 
 |  |  | </style> |