|  |  | 
 |  |  | <template> | 
 |  |  |    <view> | 
 |  |  |       <view>当前库位号:{{locNo}}</view> | 
 |  |  |       <view>当前货架码:{{barcode}}</view> | 
 |  |  |       <view style="padding: 16rpx 32rpx;font-size: 20px;font-weight: bold;"> | 
 |  |  |          <view>当前库位号:{{locNo}}</view> | 
 |  |  |          <view>当前货架码:{{barcode}}</view> | 
 |  |  |       </view> | 
 |  |  |       <view class="list list-font-color" :class="locDetl.color" v-for="(locDetl,index) in dataList" :key="index"> | 
 |  |  |          <view class="list-left"> | 
 |  |  |             <view>销售订单号:{{locDetl.threeCode}}</view> | 
 |  |  |             <view>主订单号:{{locDetl.orderNo}}</view> | 
 |  |  |             <view>商品编码:{{locDetl.matnr}}</view> | 
 |  |  |             <view>商品名称:{{locDetl.maktx}}</view> | 
 |  |  |             <view>工序:{{locDetl.processSts$}}</view> | 
 |  |  |             <view>库存:{{locDetl.count}}</view> | 
 |  |  |          </view> | 
 |  |  |          <view class="list-right" @click="chageDetl(index)"> | 
 |  |  |             <uni-icons type="right" size="25"  color="#fff"></uni-icons> | 
 |  |  |             <uni-icons type="settings" size="25"  color="#fff"></uni-icons> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  |       <view style="height: 100rpx;display: flex;align-items: center;justify-content: center;" @click="add()"> | 
 |  |  | 
 |  |  |                <!-- 标题 --> | 
 |  |  |                <view class="title">商品信息</view> | 
 |  |  |                <view class="popup-item"> | 
 |  |  |                   <view>订单号</view> | 
 |  |  |                   <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text"> </view> | 
 |  |  |                   <view style="width: 70px;">订单号</view> | 
 |  |  |                   <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text" v-model="orderNo"> </view> | 
 |  |  |                </view> | 
 |  |  |                <view class="popup-item"> | 
 |  |  |                   <view>销售单号</view> | 
 |  |  |                   <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text"> </view> | 
 |  |  |                   <view  style="width: 70px;">销售单号</view> | 
 |  |  |                   <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text" v-model="threeCode"> </view> | 
 |  |  |                </view> | 
 |  |  |                <view class="popup-item"> | 
 |  |  |                   <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /> | 
 |  |  |                   <view  style="width: 70px;">工序</view> | 
 |  |  |                      <uni-combox style="height: 20px;" :candidates="processSts$List" placeholder="请选择工序" v-model="processSts$"></uni-combox> | 
 |  |  |                   </view> | 
 |  |  |                <view class="popup-item"> | 
 |  |  |                   <uni-number-box :value="count" :step='0.01' :max="9999999" color="#747474" @change="changeValue" /> | 
 |  |  |                </view> | 
 |  |  |                <view class="btn"> | 
 |  |  |                   <view class="btn-left" @click="remove()">移除</view> | 
 |  |  | 
 |  |  |             count: '', | 
 |  |  |             index: 0, | 
 |  |  |             locNo: '', | 
 |  |  |             barcode: '' | 
 |  |  |             barcode: '', | 
 |  |  |             orderNo: '', | 
 |  |  |             threeCode: '', | 
 |  |  |             processSts$: '', | 
 |  |  |             type: '', | 
 |  |  |             processSts$List: ['待加工','已加工','无需加工'] | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       onShow() { | 
 |  |  | 
 |  |  |          // const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE | 
 |  |  |          const eventChannel = this.getOpenerEventChannel(); | 
 |  |  |          // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 | 
 |  |  |          eventChannel.on('item', function(data) { | 
 |  |  |          // eventChannel.on('item', function(data) { | 
 |  |  |          //    console.log(data); | 
 |  |  |          //    _this.locNo = data.item.locNo | 
 |  |  |          //    _this.barcode = data.item.barcode | 
 |  |  |          //    for (let k of data.item.data) { | 
 |  |  |          //       k['count'] = k.anfme | 
 |  |  |          //    } | 
 |  |  |          //    _this.dataList = data.item.data | 
 |  |  |          // }) | 
 |  |  |          eventChannel.on('baseInfo', function(data) { | 
 |  |  |             console.log(data); | 
 |  |  |             _this.locNo = data.item.locNo | 
 |  |  |             _this.barcode = data.item.barcode | 
 |  |  |             for (let k of data.item.data) { | 
 |  |  |                k['count'] = k.anfme | 
 |  |  |             } | 
 |  |  |             _this.dataList = data.item.data | 
 |  |  |             _this.getLocDetl(data.info.locNo,data.info.barcode) | 
 |  |  |             _this.locNo = data.info.locNo | 
 |  |  |             _this.barcode = data.info.barcode | 
 |  |  |             _this.type = data.info.type | 
 |  |  |          }) | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          getLocDetl(locNo,barcode) { | 
 |  |  |             let _this = this  | 
 |  |  |             let param = {locNo:locNo,containerCode: barcode} | 
 |  |  |             uni.request({ | 
 |  |  |                url: `${_this.baseUrl}/agvMobile/check/detl/v1`, | 
 |  |  |                header: {'token': uni.getStorageSync('token')}, | 
 |  |  |                data: param, | 
 |  |  |                method: 'POST', | 
 |  |  |                success(res) { | 
 |  |  |                   res = res.data | 
 |  |  |                   console.log(res); | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      if (_this.type == 'con') { | 
 |  |  |                         _this.dataList = res.data.containerCode | 
 |  |  |                      } else { | 
 |  |  |                         _this.dataList = res.data.locNo | 
 |  |  |                      } | 
 |  |  | 							 | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
 |  |  |                      setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
 |  |  |                   } else { | 
 |  |  |                      uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          add() { | 
 |  |  |             let _this = this | 
 |  |  |             uni.navigateTo({ | 
 |  |  | 
 |  |  |                }, | 
 |  |  |                events: { | 
 |  |  |                   matList: function(data) { | 
 |  |  |                      data.data.barcode = _this.barcode | 
 |  |  |                      data.data.suppCode = _this.barcode | 
 |  |  |                      _this.checkMat(data.data) | 
 |  |  |                   }, | 
 |  |  |                }, | 
 |  |  | 
 |  |  |             for (var i = 0; i < len; i++) { | 
 |  |  |                if (mat.matnr == this.dataList[i].matnr) { | 
 |  |  |                   for (var j = 0; j < len; j++) { | 
 |  |  |                      if (mat.batch == this.dataList[j].batch) { | 
 |  |  |                      if (mat.threeCode == this.dataList[j].threeCode) { | 
 |  |  |                         sameItem = true | 
 |  |  |                      } | 
 |  |  |                   } | 
 |  |  |                   // 相同物料 不同批号  新加列表 | 
 |  |  |                   if (mat.batch != this.dataList[i].batch) { | 
 |  |  |                   if (mat.threeCode != this.dataList[i].threeCode) { | 
 |  |  |                      this.$forceUpdate() // 强制刷新 | 
 |  |  |                      if (sameItem) { | 
 |  |  |                         add = false | 
 |  |  | 
 |  |  |                       | 
 |  |  |                   } else { | 
 |  |  |                      // 相同物料相同批号 数量累加 | 
 |  |  |                      this.dataList[i].anfme += mat.anfme | 
 |  |  |                      this.dataList[i].count += mat.count | 
 |  |  |                      this.$forceUpdate() // 强制刷新 | 
 |  |  |                      add = false | 
 |  |  |                   } | 
 |  |  | 
 |  |  |             if (add) { | 
 |  |  |                this.dataList.unshift(mat) | 
 |  |  |             } | 
 |  |  |             this.$forceUpdate() // 强制刷新 | 
 |  |  |          }, | 
 |  |  |          chageDetl(index) { | 
 |  |  |             this.index = index | 
 |  |  |             this.count = this.dataList[index].anfme | 
 |  |  |             this.count = this.dataList[index].count | 
 |  |  |             this.threeCode = this.dataList[index].threeCode | 
 |  |  |             this.orderNo = this.dataList[index].orderNo | 
 |  |  |             this.processSts$ = this.dataList[index].processSts$ | 
 |  |  |             this.$refs.chageDetl.open() | 
 |  |  |          }, | 
 |  |  |          // 修改数量 | 
 |  |  |          changeCount() { | 
 |  |  |             if (this.count > this.orderCarList[this.index].anfme) { | 
 |  |  |                uni.showToast({ title: '数量不合法!', icon: "none", position: 'top' }) | 
 |  |  |                return | 
 |  |  |             this.dataList[this.index].count = this.count | 
 |  |  |             this.dataList[this.index].threeCode = this.threeCode | 
 |  |  |             this.dataList[this.index].orderNo = this.orderNo | 
 |  |  |             this.dataList[this.index].processSts$ = this.processSts$ | 
 |  |  |             switch(this.processSts$) { | 
 |  |  |                case '待加工': | 
 |  |  |                   this.dataList[this.index].processSts = 1 | 
 |  |  |                   break; | 
 |  |  |                case '已加工': | 
 |  |  |                   this.dataList[this.index].processSts = 2 | 
 |  |  |                   break; | 
 |  |  |                case '无需加工': | 
 |  |  |                   this.dataList[this.index].processSts = 3 | 
 |  |  |                   break; | 
 |  |  |             } | 
 |  |  |             this.orderCarList[this.index].pakinQty = this.count | 
 |  |  |             this.$forceUpdate() // 强制刷新 | 
 |  |  |             this.$refs.chageDetl.close() | 
 |  |  |          }, | 
 |  |  |          // 移除物料 | 
 |  |  |          remove() { | 
 |  |  |             this.orderCarList.splice(this.index, 1) | 
 |  |  |             this.dataList.splice(this.index, 1) | 
 |  |  |             this.$refs.chageDetl.close() | 
 |  |  |          }, | 
 |  |  |          adjust() { | 
 |  |  | 
 |  |  |                method: 'POST', | 
 |  |  |                success(res) { | 
 |  |  |                   res = res.data | 
 |  |  |                   console.log(res); | 
 |  |  |                   if (res.code == 200) { | 
 |  |  |                      uni.showToast({ title: res.msg, icon: "success", position: 'top' }) | 
 |  |  |                      _this.$refs.chageDetl.close() | 
 |  |  |                      _this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: this.mat}); | 
 |  |  |                      setTimeout(()=> { | 
 |  |  |                         uni.navigateBack() | 
 |  |  |                      },1000) | 
 |  |  |                   } else if (res.code == 403) { | 
 |  |  |                      uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
 |  |  |                      setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
 |  |  |                   } else { | 
 |  |  |                      uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          } | 
 |  |  |          }, | 
 |  |  |          changeValue(value) { | 
 |  |  |             this.count = value | 
 |  |  |          }, | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |    @import url('../../../static/css/common/order.css'); | 
 |  |  |    .list-font-color { | 
 |  |  |       color: #fff; | 
 |  |  |       background-color: #2299ff; | 
 |  |  |    } | 
 |  |  |    .order-sts-start { | 
 |  |  |       background-color: #3eb689; | 
 |  |  |    } | 
 |  |  |    .popup { | 
 |  |  |       width: 80vw; | 
 |  |  |       min-height: 100rpx; |