|  |  | 
 |  |  |             </view> | 
 |  |  |             <view class="square-content"> | 
 |  |  |                <view class="content-input"> | 
 |  |  |                   <input  v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8" | 
 |  |  |                   :focus="barcodeFocus" @focus="focuss"> | 
 |  |  |                   <input  v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="10" | 
 |  |  |                   :focus="barcodeFocus" @input="barcodeInput" placeholder-style="line-height:  85rpx;"> | 
 |  |  |                   <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  | 			 | 
 |  |  |          <!-- <view class="pak-seach-box"> | 
 |  |  |             <view class="box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">托盘条码</text> | 
 |  |  |             </view> | 
 |  |  |             <view class="box-buttom"> | 
 |  |  |                <input v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8"> | 
 |  |  |                <view class="search-icon"> | 
 |  |  |                   <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeBarcode()"></uni-icons> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> --> | 
 |  |  |           | 
 |  |  |          <view class="square-2"> | 
 |  |  |             <view class="square-title"> | 
 |  |  | 
 |  |  |             <view class="square-content"> | 
 |  |  |                <view class="content-input"> | 
 |  |  |                   <input v-model="order" type="text" placeholder="扫码 / 输入" @input="findOrder()" | 
 |  |  |                   :focus="focus" @focus="focuss"> | 
 |  |  |                   :focus="focus" placeholder-style="line-height:  85rpx;"> | 
 |  |  |                   <uni-icons type="closeempty" size="20" color="#dadada" @click="removeOrder()"></uni-icons> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |           | 
 |  |  |          <!-- <view class="pak-seach-box"> | 
 |  |  |             <view class="box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">单据编号</text> | 
 |  |  |             </view> | 
 |  |  |             <view class="box-buttom"> | 
 |  |  |                <input v-model="order" type="text" placeholder="扫码 / 输入" @input="findOrder()"> | 
 |  |  |                <view class="search-icon"> | 
 |  |  |                   <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeOrder()"></uni-icons> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> --> | 
 |  |  |          <view class="square-1"> | 
 |  |  |             <view class="square-title"> | 
 |  |  |                <view class="title-sign"><view class="sign"></view></view> | 
 |  |  |                <view class="title-text"><text>商品列表</text></view> | 
 |  |  |                <view v-show="matList.length != 0" class="lable"> | 
 |  |  |                   <label class="label-btn" style="width: 170rpx;line-height: 95rpx;"  > | 
 |  |  |                      <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox> | 
 |  |  |                   </label> | 
 |  |  |                   <label class="label-btn"  > | 
 |  |  |                      <text  @click="reChecked()">反选</text> | 
 |  |  |                   </label> | 
 |  |  |                   <label > | 
 |  |  |                      <uni-icons type="trash" size="25" color="#a5a5a5" @click="remove()"></uni-icons> | 
 |  |  |                   </label> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  | 				 | 
 |  |  |          </view> | 
 |  |  |          <view class="square-none" v-show="orderList.length === 0"> | 
 |  |  |          <view class="square-none" v-show="matList.length === 0"> | 
 |  |  |             <view class="v-show">暂无更多数据...</view> | 
 |  |  |          </view> | 
 |  |  |           | 
 |  |  |          <!-- <view class="pak-data-box"> | 
 |  |  |             <view class="box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">商品列表</text> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |          <view class="pak-data-box"  v-show="orderList.length === 0"> | 
 |  |  |             <view style="text-align: center;">暂无更多数据</view> | 
 |  |  |          </view> --> | 
 |  |  |          <checkbox-group> | 
 |  |  |             <view v-for="(item,index) in orderList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > | 
 |  |  |          <checkbox-group @change="checkbox"> | 
 |  |  |             <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > | 
 |  |  |                <label class="left-check-box"> | 
 |  |  |                   <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> | 
 |  |  |                </label> | 
 |  |  |                <view class="data-list-left"> | 
 |  |  |                   <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 class="matnr"><text style="width: 700rpx;">编码:{{item.matnr}}</text></view> | 
 |  |  |                   <view><text style="width: 700rpx;">品名:{{item.maktx}}</text></view> | 
 |  |  |                   <view><text style="width: 700rpx;">批号:{{item.batch}}</text></view> | 
 |  |  |                   <view> | 
 |  |  |                      <text style="width: 400rpx;">数量:{{item.anfme}}</text> | 
 |  |  |                      <text style="width: 700rpx;">数量:{{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> | 
 |  |  |                   <!-- list中删除键 --> | 
 |  |  |                   <!-- <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> --> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </checkbox-group> | 
 |  |  |       </scroll-view> | 
 |  |  | 		 | 
 |  |  |       <!-- 底部按钮 --> | 
 |  |  |       <view class="footer flex justify-around"> | 
 |  |  |          <view> | 
 |  |  |             <button class="cu-btn lg" @click="resst()">重置</button> | 
 |  |  |          </view> | 
 |  |  |          <view> | 
 |  |  |             <button class="cu-btn lg pakin-btn bg-blue" @click="comb()">组托</button> | 
 |  |  |          </view> | 
 |  |  |          <!-- 底部全选 反选按钮 --> | 
 |  |  |          <!-- <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> | 
 |  |  | 		 | 
 |  |  |       <view> | 
 |  |  |          <!-- 修改数量 --> | 
 |  |  |          <uni-popup ref="revise" background-color="#fff" @change="change"> | 
 |  |  | 
 |  |  |                <view class="text-box"> | 
 |  |  |                   <text>可组数量:{{enableQty}}</text> | 
 |  |  |                </view> | 
 |  |  |                <view class="changeBox"> | 
 |  |  |                <view class="changeBox flex justify-around"> | 
 |  |  |                   <view class="num-box"> | 
 |  |  |                      <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474"  @change="changeValue"/> | 
 |  |  |                   </view>  | 
 |  |  |                   <button class="cu-btn" @click="changeMax">max</button> | 
 |  |  |                </view> | 
 |  |  |                <view class="revise-box-buttom"> | 
 |  |  |                   <view> | 
 |  |  | 
 |  |  |             pick:'hide', | 
 |  |  |             order:null, | 
 |  |  |             orderNo:null, | 
 |  |  |             orderList:[], | 
 |  |  |             matList:[], | 
 |  |  |             result: '', | 
 |  |  |             count:'', | 
 |  |  |             minCount:0, | 
 |  |  |             maxCount:'', | 
 |  |  |             rowNum:'', | 
 |  |  |             enableQty:'', | 
 |  |  | 				 | 
 |  |  |             check:false, | 
 |  |  |             checkText:'全选', | 
 |  |  |             checkedData:[], | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       mounted(){ | 
 |  |  | 
 |  |  |          this.basePORT = UPORT | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          // barcode input 事件 | 
 |  |  |          barcodeInput() { | 
 |  |  |             var len = this.barcode.length | 
 |  |  |             if (len != 8) { | 
 |  |  |                uni.showToast({title: '托盘码有误请重试', icon: "none", position: 'top'}); | 
 |  |  |                this.barcodeFocuss() | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             if (len == 8) { | 
 |  |  |                this.focuss() | 
 |  |  |             } | 
 |  |  |          }, | 
 |  |  |          // 托盘码有误重置 | 
 |  |  |          barcodeFocuss() { | 
 |  |  |             // #ifdef APP | 
 |  |  |             let that = this; | 
 |  |  |             that.barcodeFocus = false; | 
 |  |  |             setTimeout(()=>{ | 
 |  |  |                that.barcode = ''; | 
 |  |  |                that.barcodeFocus = true; | 
 |  |  |             }, 100); | 
 |  |  |             // #endif | 
 |  |  |          }, | 
 |  |  |          focuss() { | 
 |  |  |             uni.hideKeyboard() | 
 |  |  |             // #ifdef APP | 
 |  |  |             let that = this; | 
 |  |  |             that.focus = false; | 
 |  |  |             setTimeout(()=>{ | 
 |  |  |                that.matnrId = ''; | 
 |  |  |                that.focus = true; | 
 |  |  |             }, 100); | 
 |  |  |             // #endif | 
 |  |  |          }, | 
 |  |  |          resst() { | 
 |  |  |             this.orderList = [] | 
 |  |  |             this.matList = [] | 
 |  |  |             this.barcode = '' | 
 |  |  |             this.order = '' | 
 |  |  |             this.barcodeFocuss() | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          removeBarcode() { | 
 |  |  | 
 |  |  |          }, | 
 |  |  |          initAnfme() { | 
 |  |  |           | 
 |  |  |             for (var i = 0; i < this.orderList.length; i++) { | 
 |  |  |                this.orderList[i].anfme = 0 | 
 |  |  |             for (var i = 0; i < this.matList.length; i++) { | 
 |  |  |                this.matList[i].anfme = 0 | 
 |  |  |             } | 
 |  |  |             uni.hideLoading(); | 
 |  |  |          }, | 
 |  |  |          revise(item,index) { | 
 |  |  |             var maxCount = this.orderList[index].maxCount | 
 |  |  |             var maxCount = this.matList[index].maxCount | 
 |  |  |             if (maxCount == undefined ) { | 
 |  |  |                this.orderList[index]["maxCount"] = item.enableQty | 
 |  |  |                this.matList[index]["maxCount"] = item.enableQty | 
 |  |  |             }  | 
 |  |  |             this.enableQty = item.enableQty | 
 |  |  |             this.count = this.minCount | 
 |  |  | 
 |  |  |             this.rowNum = index | 
 |  |  |             this.eject() | 
 |  |  |          }, | 
 |  |  |          changeMax() { | 
 |  |  |             this.count = this.enableQty | 
 |  |  |          }, | 
 |  |  |          changeValue() { | 
 |  |  |              | 
 |  |  |          }, | 
 |  |  |          remove(item,index) { | 
 |  |  |             this.orderList.splice(index,1) | 
 |  |  |          remove() { | 
 |  |  |             console.log(this.matList.filter(item=> item.checked !== true)) | 
 |  |  |             this.matList = this.matList.filter(item=> item.checked !== true) | 
 |  |  | 				 | 
 |  |  |             // this.matList.splice(i,1) | 
 |  |  | 				 | 
 |  |  |             // for (var i = 0; i < this.matList.length; i++) { | 
 |  |  |             //    if (this.matList[i].checked == true) { | 
 |  |  | 						 | 
 |  |  |             //    } | 
 |  |  |             // } | 
 |  |  |             this.checkList(); | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          // 列表中删除 | 
 |  |  |          // remove(item,index) { | 
 |  |  |          //    this.matList.splice(index,1) | 
 |  |  |          //    uni.vibrateShort(); | 
 |  |  |          // }, | 
 |  |  |          confirm() { | 
 |  |  |             this.orderList[this.rowNum].anfme = this.count | 
 |  |  |             this.matList[this.rowNum].anfme = this.count | 
 |  |  |             this.$refs.revise.close() | 
 |  |  |          }, | 
 |  |  |          comb() { | 
 |  |  | 
 |  |  |                uni.showToast({title: '托盘码必须为8位', icon: "none", position: 'top'}); | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             if (that.orderList.length === 0) { | 
 |  |  |             if (that.matList.length === 0) { | 
 |  |  |                uni.showToast({title: '请添加商品列表', icon: "none", position: 'top'}); | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             for (var i = 0; i < that.orderList.length; i++) { | 
 |  |  |                if (that.orderList[i].anfme === 0) { | 
 |  |  |             for (var i = 0; i < that.matList.length; i++) { | 
 |  |  |                if (that.matList[i].anfme === 0) { | 
 |  |  |                   uni.showToast({title: '商品组托数量为0不能组托', icon: "none", position: 'top'}); | 
 |  |  |                   return; | 
 |  |  |                } | 
 |  |  | 
 |  |  |                 data: JSON.stringify({ | 
 |  |  |                   orderNo: that.orderNo, | 
 |  |  |                   barcode: that.barcode, | 
 |  |  |                   combMats: that.orderList | 
 |  |  |                   combMats: that.matList | 
 |  |  |                }), | 
 |  |  |                method: 'POST', | 
 |  |  |                 header: { | 
 |  |  | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      uni.showToast({ | 
 |  |  |                         title: res.msg, | 
 |  |  |                         position: 'bottom', | 
 |  |  |                         position: 'top', | 
 |  |  |                         duration: 1000 | 
 |  |  |                      }); | 
 |  |  |                      that.barcode = '' | 
 |  |  |                      that.orderNo = '' | 
 |  |  |                      that.order = '' | 
 |  |  |                      that.orderList = [] | 
 |  |  |                      that.resst() | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
 |  |  |                      setTimeout(() => { | 
 |  |  | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                 }, | 
 |  |  |                success(result) { | 
 |  |  |                   console.log(result) | 
 |  |  |                   let res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      if(res.data) { | 
 |  |  |                            uni.showLoading(); | 
 |  |  |                         that.orderList = res.data; | 
 |  |  |                         that.matList = res.data; | 
 |  |  |                         that.orderNo = that.order | 
 |  |  |                         that.initAnfme() | 
 |  |  |                         console.log(that.orderList) | 
 |  |  |                         console.log(that.matList) | 
 |  |  |                      } | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
 |  |  | 
 |  |  |             // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
 |  |  |             this.$refs.goodsSearch.open(type) | 
 |  |  |          }, | 
 |  |  |          // 列表选择 | 
 |  |  |          checkbox: function (e) { | 
 |  |  |             var items = this.matList, | 
 |  |  |                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(); | 
 |  |  |          }, | 
 |  |  |          // 列表反选 | 
 |  |  |          reChecked() {  | 
 |  |  |             if (this.matList.length == 0) { | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             var checkArr = [] | 
 |  |  |             for (var i = 0; i < this.matList.length;i++) { | 
 |  |  |                if (this.matList[i].checked == true) { | 
 |  |  |                   this.$set(this.matList[i],'checked',false) | 
 |  |  |                }else{ | 
 |  |  |                   this.$set(this.matList[i],'checked',true) | 
 |  |  |                } | 
 |  |  |                if (this.matList[i].checked == true) { | 
 |  |  |                   checkArr.push(this.matList[i].checked)  | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             if (checkArr.length == this.matList.length) { | 
 |  |  |                this.check = true | 
 |  |  |                this.checkText = "取消全选" | 
 |  |  |             } else { | 
 |  |  |                this.check = false | 
 |  |  |                this.checkText = "全选" | 
 |  |  |             } | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          // 列表全选 | 
 |  |  |          allChecked(e){  | 
 |  |  |             if (this.check == true) { | 
 |  |  |                for (var i = 0; i < this.matList.length;i++) { | 
 |  |  |                   this.$set(this.matList[i],'checked',false) | 
 |  |  |                } | 
 |  |  |                this.check = false | 
 |  |  |                this.checkText = "全选" | 
 |  |  |             } else { | 
 |  |  |                for (var i = 0; i < this.matList.length;i++) { | 
 |  |  |                   this.$set(this.matList[i],'checked',true) | 
 |  |  |                } | 
 |  |  |                this.check = true | 
 |  |  |                this.checkText = "取消全选" | 
 |  |  |             } | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          // 检验列表长度 等于0 显示全选   | 
 |  |  |          checkList() { | 
 |  |  |             if (this.matList.length == 0) { | 
 |  |  |                this.check = false | 
 |  |  |                this.checkText = "全选" | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  | </script> | 
 |  |  | 
 |  |  | <style> | 
 |  |  |    /* @import "../../colorui/main.css"; | 
 |  |  |    @import "../../colorui/icon.css"; */ | 
 |  |  | 	 | 
 |  |  |    .square-1 .lable { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: right; | 
 |  |  |       height: 100%; | 
 |  |  |       width: 400rpx; | 
 |  |  |    } | 
 |  |  |    .square-1 .lable label { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       height: 100%; | 
 |  |  |       width: 90rpx; | 
 |  |  |       line-height: 100rpx; | 
 |  |  |    } | 
 |  |  |    .pak-seach-box { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  | 
 |  |  |       width: 100rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |       line-height: 180rpx; | 
 |  |  |    } */ | 
 |  |  |    } */  | 
 |  |  |    .left-check-box { | 
 |  |  |       display: inline-block; | 
 |  |  |       /* background-color: #1E9FFF; */ | 
 |  |  |       float: left; | 
 |  |  |       height: 100%; | 
 |  |  |       width: 100rpx; | 
 |  |  |       text-align: center; | 
 |  |  |       line-height: 170rpx; | 
 |  |  |    } | 
 |  |  |    .data-list-left { | 
 |  |  |       /* background-color: #ffff7f; */ | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       margin-left: 6%; | 
 |  |  |       height: 180rpx; | 
 |  |  |       width: 500rpx; | 
 |  |  |       color: #676767; | 
 |  |  |    } | 
 |  |  |    .matnr { | 
 |  |  |       padding-top: 10rpx; | 
 |  |  |    } | 
 |  |  |    .data-list-right { | 
 |  |  |       /* background-color: #55ffff; */ | 
 |  |  |       display: inline-block; | 
 |  |  |       float: right; | 
 |  |  |       width: 200rpx; | 
 |  |  |       width: 100rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |       line-height: 180rpx; | 
 |  |  |    } | 
 |  |  | 
 |  |  |    } | 
 |  |  |    .changeBox .num-box { | 
 |  |  |       display:  inline-block; | 
 |  |  |       float: left; | 
 |  |  |    } | 
 |  |  |    .changeBox button { | 
 |  |  |       float: left; | 
 |  |  |    } | 
 |  |  |    .revise-box-buttom { | 
 |  |  |       position: absolute; |