|  |  | 
 |  |  | <template> | 
 |  |  |    <view> | 
 |  |  |       <view class="cu-form-group margin-top"> | 
 |  |  |          <view class="title">出库口</view> | 
 |  |  |          <picker @change="PickerChange" :value="index" :range="picker"> | 
 |  |  |             <view class="picker"> | 
 |  |  |                {{index>-1?picker[index]:'请选择'}} | 
 |  |  |       <scroll-view scroll-y> | 
 |  |  |          <view class="pak-seach-box"> | 
 |  |  |             <view class="box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">选择站台</text> | 
 |  |  |             </view> | 
 |  |  |          </picker> | 
 |  |  |          <button></button> | 
 |  |  |       </view> | 
 |  |  |             <view> | 
 |  |  |                <text class="item">出库口</text> | 
 |  |  |                <view class="example-body"> | 
 |  |  |                   <uni-combox @input="getCheckDetl" emptyTips="暂无数据" :candidates="staNoList" v-model="staNo" placeholder="请选择"></uni-combox> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  | 			 | 
 |  |  |          <view class="square-2"> | 
 |  |  |             <view class="square-title"> | 
 |  |  |                <view class="title-sign"><view class="sign"></view></view> | 
 |  |  |                <view class="title-text"><text>托盘条码</text></view> | 
 |  |  |             </view> | 
 |  |  |             <view class="square-content"> | 
 |  |  |                <view class="content-input"> | 
 |  |  |                   <input v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8"placeholder-style="line-height:  85rpx;"> | 
 |  |  |                   <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode" ></uni-icons> | 
 |  |  |                </view> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |          <view class="pak-data-box"> | 
 |  |  |             <view class="box-top"> | 
 |  |  |                <view class="color-block-blue"></view> | 
 |  |  |                <text class="title">商品列表</text> | 
 |  |  |                <!-- <button class="cu-btn bg-blue" @click="selectMat()">+ 添加</button> --> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |          <view class="pak-data-box"  v-show="matList.length === 0"> | 
 |  |  |             <view style="text-align: center;">暂无更多数据</view> | 
 |  |  |          </view> | 
 |  |  |          <checkbox-group> | 
 |  |  |             <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > | 
 |  |  |                <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> | 
 |  |  |                      <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"> | 
 |  |  |             <view> | 
 |  |  |                <button class="cu-btn lg" @click="resst()">重置</button> | 
 |  |  |             </view> | 
 |  |  |             <view> | 
 |  |  |                <button class="cu-btn lg pakin-btn bg-blue" @click="adjust()">确认</button> | 
 |  |  |             </view> | 
 |  |  |          </view> | 
 |  |  |       </scroll-view> | 
 |  |  |       <view> | 
 |  |  |          <button class="cu-btn bg-yellow pda-btn">确认</button> | 
 |  |  |          <button class="cu-btn bg-grey pda-btn">重置</button> | 
 |  |  |          <!-- 修改数量 --> | 
 |  |  |          <uni-popup ref="revise" background-color="#fff" @change="change"> | 
 |  |  |             <view class="revise-box"> | 
 |  |  |                <view class="revise-box-top"> | 
 |  |  |                   <view class="color-block-blue"></view> | 
 |  |  |                   <text class="title">组托数量</text> | 
 |  |  |                </view> | 
 |  |  |                <view class="text-box"> | 
 |  |  |                   <text>可组数量:{{enableQty}}</text> | 
 |  |  |                </view> | 
 |  |  |                <view class="changeBox"> | 
 |  |  |                   <view class="num-box"> | 
 |  |  |                      <uni-number-box v-model="count" :min="minCount" :max="maxCount" 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> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  |    export default { | 
 |  |  |       data() { | 
 |  |  |          return { | 
 |  |  |             picker: ['+补充', '汪汪汪', '哼唧哼唧'], | 
 |  |  |             matList:[], | 
 |  |  |             staNoList:[], | 
 |  |  |             barcode: '', | 
 |  |  |             staNo:'', | 
 |  |  |             matnr:'', | 
 |  |  |             enableQty:'', | 
 |  |  |             count:'', | 
 |  |  |             maxCount:'', | 
 |  |  |             minCount:0, | 
 |  |  |             rowNum:'' | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       mounted(){ | 
 |  |  |          const UIP = uni.getStorageSync('UIP'); | 
 |  |  |          this.baseIP = UIP; | 
 |  |  |          const UPORT = uni.getStorageSync('UPORT'); | 
 |  |  |          this.basePORT = UPORT | 
 |  |  |          this.getOutBound(); | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  | 			 | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |          getOutBound() {         // 获取出库口 | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/available/take/check/site', | 
 |  |  |                method: 'POST', | 
 |  |  |                header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                }, | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      that.staNoList = res.data | 
 |  |  |                   } 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'}) | 
 |  |  |                   } | 
 |  |  |                }, | 
 |  |  |             }); | 
 |  |  |          }, // getOutBound | 
 |  |  |          getCheckDetl() {   // 获取出库口货物信息 | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/checkDetl/auth', | 
 |  |  |                method: 'POST', | 
 |  |  |                data: { | 
 |  |  |                   staNo:that.staNo | 
 |  |  |                }, | 
 |  |  |                header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                }, | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   console.log(result) | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      console.log(res.data) | 
 |  |  |                   } 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'}) | 
 |  |  |                   } | 
 |  |  |                }, | 
 |  |  |             }); | 
 |  |  |          }, // getCheckDetl | 
 |  |  |          selectMat() {  // 选择商品 | 
 |  |  |             let that = this | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |             uni.navigateTo({ | 
 |  |  |                url: "matSelect", | 
 |  |  |                events: { | 
 |  |  |                    // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                    acceptDataFromOpenedPage: function(data) { | 
 |  |  |                      that.matnr = data.data | 
 |  |  |                      that.findMat(that.matnr) | 
 |  |  |                    }, | 
 |  |  |                  }, | 
 |  |  |                  success: function(res) { | 
 |  |  |                    // 通过eventChannel向被打开页面传送数据 | 
 |  |  |                    res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT }) | 
 |  |  |                  } | 
 |  |  |             }); | 
 |  |  |             that.matnr = '' | 
 |  |  |          }, // selectMat | 
 |  |  |          findMat() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                 url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth', | 
 |  |  |                 data: { | 
 |  |  |                   matnr:that.matnr | 
 |  |  |                 }, | 
 |  |  |                 header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                 }, | 
 |  |  |                success(result) { | 
 |  |  |                   uni.vibrateShort(); | 
 |  |  |                   let res = result.data | 
 |  |  |                   if (res.code === 200 && res.data) { | 
 |  |  |                      that.matData = res.data | 
 |  |  |                      uni.navigateTo({ | 
 |  |  |                         url: "matQuery", | 
 |  |  |                         events: { | 
 |  |  |                             // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 | 
 |  |  |                             matList: function(data) { | 
 |  |  |                               that.matList.push(data.data) | 
 |  |  |                             }, | 
 |  |  |                           }, | 
 |  |  |                           success: function(res) { | 
 |  |  |                             // 通过eventChannel向被打开页面传送数据 | 
 |  |  |                             res.eventChannel.emit('matData', { data: that.matData }) | 
 |  |  |                           } | 
 |  |  |                      }); | 
 |  |  |                   } | 
 |  |  | 						 | 
 |  |  |                } | 
 |  |  |             }); | 
 |  |  |          }, // findMat | 
 |  |  |          revise(item,index) { | 
 |  |  |             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() | 
 |  |  |          },  | 
 |  |  |          remove(item,index) { | 
 |  |  |             this.matList.splice(index,1) | 
 |  |  |             uni.vibrateShort(); | 
 |  |  |          }, | 
 |  |  |          eject(type) { | 
 |  |  |             this.type = type | 
 |  |  |             // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 | 
 |  |  |             this.$refs.revise.open(type) | 
 |  |  |          }, | 
 |  |  |          change(e) { | 
 |  |  |             // console.log('当前模式:' + e.type + ',状态:' + e.show); | 
 |  |  |          }, | 
 |  |  |          changeValue() { | 
 |  |  | 				 | 
 |  |  |          }, | 
 |  |  |          confirm() { | 
 |  |  |             this.matList[this.rowNum].anfme = this.count | 
 |  |  |             this.$refs.revise.close() | 
 |  |  |          }, | 
 |  |  |          resst() { | 
 |  |  |             this.matList = [] | 
 |  |  |             this.staNo = '' | 
 |  |  |          }, | 
 |  |  |          adjust() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/adjust/auth', | 
 |  |  |                method: 'POST', | 
 |  |  |                data: { | 
 |  |  |                   combParam: that.matList | 
 |  |  |                }, | 
 |  |  |                header: { | 
 |  |  |                   'token':uni.getStorageSync('token') | 
 |  |  |                }, | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                      console.log(result) | 
 |  |  |                   if (res.code === 200) { | 
 |  |  | 					 | 
 |  |  |                   } 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'}) | 
 |  |  |                   } | 
 |  |  |                }, | 
 |  |  |             }); | 
 |  |  |          }, | 
 |  |  |          removeBarcode() { | 
 |  |  |             this.barcode = '' | 
 |  |  |          } | 
 |  |  |       } // methods | 
 |  |  |    } // exprot | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |    .pak-seach-box { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       width: 96%; | 
 |  |  |       height: 200rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |    } | 
 |  |  |    .box-top{ | 
 |  |  |       display: block; | 
 |  |  |       height: 80rpx; | 
 |  |  |       width: 720rpx; | 
 |  |  |    } | 
 |  |  |    .color-block-blue { | 
 |  |  |       background-color: #1E9FFF; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       margin: 30rpx 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: 80rpx; | 
 |  |  |       margin-top: 10rpx; | 
 |  |  |    } | 
 |  |  |    .item { | 
 |  |  |       text-indent: 1em; | 
 |  |  |       font-size: 16px; | 
 |  |  |       display: inline-block; | 
 |  |  |       margin-top: 40rpx; | 
 |  |  |    } | 
 |  |  |    .example-body { | 
 |  |  |       position: fixed; | 
 |  |  |       display: inline-block; | 
 |  |  |       margin-top: 3.5%; | 
 |  |  |       margin-left: 5%; | 
 |  |  |       width: 70%; | 
 |  |  |       z-index: 999; | 
 |  |  |    } | 
 |  |  |     | 
 |  |  | </style> | 
 |  |  |    .pak-data-box { | 
 |  |  |       background-color: #F1F1F1; | 
 |  |  |       margin: 15rpx 15rpx 0rpx 15rpx; | 
 |  |  |       width: 96%; | 
 |  |  |       height: 100rpx; | 
 |  |  |       border-radius: 20rpx; | 
 |  |  |       line-height: 100rpx; | 
 |  |  |    } | 
 |  |  |    .pak-data-box>.box-top { | 
 |  |  |       background-color: #FFFFFF; | 
 |  |  |       height: 100rpx; | 
 |  |  |       border-radius: 20rpx 20rpx 20rpx 20rpx; | 
 |  |  |    } | 
 |  |  |    .pak-data-box button { | 
 |  |  |       background-color: #1E9FFF; | 
 |  |  |       color: #ffffff; | 
 |  |  |       display: inline-block; | 
 |  |  |       float: right; | 
 |  |  |       width: 150rpx; | 
 |  |  |       height: 80rpx; | 
 |  |  |       margin: 10rpx 25rpx 0rpx 0rpx; | 
 |  |  |       line-height: 80rpx; | 
 |  |  |    } | 
 |  |  |    .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: 160rpx; | 
 |  |  |    } | 
 |  |  |    .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; | 
 |  |  |       width: 200rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |       line-height: 180rpx; | 
 |  |  |    } | 
 |  |  |    .data-list-right label { | 
 |  |  |       display: inline-block; | 
 |  |  |       float: left; | 
 |  |  |       width: 100rpx; | 
 |  |  |       height: 180rpx; | 
 |  |  |    } | 
 |  |  | </style> |