| <template> | 
|     <view> | 
|         <scroll-view scroll-y> | 
|             <view class="pak-seach-box"> | 
|                 <view class="box-top"> | 
|                     <view class="color-block-blue"></view> | 
|                     <text class="title">选择站台</text> | 
|                 </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> | 
|             <!-- 修改数量 --> | 
|             <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 { | 
|                 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; | 
|     } | 
|      | 
|     .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> |