|  |  | 
 |  |  |             <view>名称:{{orderDetl.maktx}}</view> | 
 |  |  |             <view>库存数量:{{orderDetl.anfme}}</view> | 
 |  |  |             <view>订单可出数量:{{orderDetl.stock}}</view> | 
 |  |  |             <view>入库数量:{{orderDetl.pakinQty}}</view> | 
 |  |  |             <view>已拣数量:{{orderDetl.pickedAnfme}}</view> | 
 |  |  |             <view>拣料数量:{{orderDetl.count}}</view> | 
 |  |  |          </view> | 
 |  |  |          <view class="list-right" @click="addItem(index)"> | 
 |  |  |             <uni-icons type="folder-add" size="25"  color="#fff"></uni-icons> | 
 |  |  |          </view> | 
 |  |  |       </view> | 
 |  |  |       <!-- 垫高 --> | 
 |  |  |       <view style="height: 100rpx;text-align: center;color: #b9b9b9;"></view> | 
 |  |  |        | 
 |  |  |       <!-- 弹窗 --> | 
 |  |  |       <view> | 
 |  |  |          <uni-popup ref="addItem" type="dialog"> | 
 |  |  |             <view class="popup"> | 
 |  |  |                <!-- 标题 --> | 
 |  |  |                <view class="title">入库数量</view> | 
 |  |  |                <view class="title">拣料数量</view> | 
 |  |  |                <view class="popup-item"> | 
 |  |  |                   <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /> | 
 |  |  |                   <uni-number-box :value="count" :step='1' :max="maxCount" color="#747474" @change="changeValue" /> | 
 |  |  |                </view> | 
 |  |  |                <view class="btn"> | 
 |  |  |                   <view class="btn-left" @click="addClose">取消</view> | 
 |  |  | 
 |  |  |             </view> | 
 |  |  |          </uni-popup> | 
 |  |  |       </view> | 
 |  |  | 		 | 
 |  |  | 		 | 
 |  |  |       <view class="shop-car" @click="orderCar()"> | 
 |  |  |          <view class="car-left"> | 
 |  |  |             <uni-icons type="cart-filled" size="35"  color="#fff"></uni-icons> | 
 |  |  |          </view> | 
 |  |  |          <view class="car-right"> | 
 |  |  |             <text>{{orderCarList.length}}</text> | 
 |  |  |          </view> | 
 |  |  |       <!-- 底部操作按钮 --> | 
 |  |  |       <view class="buttom"> | 
 |  |  |          <button size="mini" type="primary" @click="confirmPick('warn')" :disabled="pickAgaDis">确认拣料</button> | 
 |  |  |       </view> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  | 
 |  |  |             dataList: [], | 
 |  |  |             orderCarList: [], | 
 |  |  |             pickList: [], | 
 |  |  |             count: '' | 
 |  |  |             index: 0, | 
 |  |  |             count: 0, | 
 |  |  |             maxCount: 0, | 
 |  |  |             wrkNo: '', | 
 |  |  |             locNo: '', | 
 |  |  |             pickedAnfme: 0, | 
 |  |  |             pickAgaDis: false | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       onShow() { | 
 |  |  | 
 |  |  |          eventChannel.on('item', function(data) { | 
 |  |  |             console.log(data); | 
 |  |  |             _this.pickList = data.wrkDetls | 
 |  |  |             _this.wrkNo = data.wrkDetls[0].wrkNo | 
 |  |  |             _this.locNo = data.item.sourceLocNo | 
 |  |  |             _this.getLocDetl(data.item.sourceLocNo) | 
 |  |  |          }) | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          getLocDetl(locNo) { | 
 |  |  | 				 | 
 |  |  |             let _this = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: `${_this.baseUrl}/agv/locDetl/list/auth/v2`, | 
 |  |  | 
 |  |  |                   res = res.data | 
 |  |  |                   console.log(res); | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      let enbleList = [] | 
 |  |  |                      _this.chosed(_this.pickList,res.data.records) | 
 |  |  |                      return | 
 |  |  |                      let enbleList = [], isfl; | 
 |  |  |                      for (let k of res.data.records) { | 
 |  |  |                         isfl = false; | 
 |  |  |                         for (let j of _this.pickList) { | 
 |  |  |                            if (j.matnr == k.matnr && j.threeCode == k.threeCode) { | 
 |  |  |                               isfl = true; | 
 |  |  |                               break | 
 |  |  |                            } else { | 
 |  |  |                               if (k.stock == -1) { | 
 |  |  | 
 |  |  |                                  k.stock = k.stock >= k.anfme ? k.anfme : k.stock | 
 |  |  |                                  k['color'] = 'order-sts-start' | 
 |  |  |                               } | 
 |  |  |                               enbleList.push(k) | 
 |  |  |                               k['count'] = 0 | 
 |  |  | 										 | 
 |  |  |                            } | 
 |  |  |                         } | 
 |  |  |                         if (!isfl) { | 
 |  |  |                            enbleList.push(k) | 
 |  |  |                         } | 
 |  |  |                          | 
 |  |  |                      } | 
 |  |  | 
 |  |  |                   } else { | 
 |  |  |                      uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |                }, | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          // 已选拣料列表 | 
 |  |  |          orderCar() { | 
 |  |  | 				 | 
 |  |  |          chosed(wrkDetls,locDetls) { | 
 |  |  |             let isfl = false, enbleList = [] | 
 |  |  |             for (let locDetl of locDetls) { | 
 |  |  |                locDetl['color'] = 'order-sts-start' | 
 |  |  |                locDetl['pickedAnfme'] = 0 | 
 |  |  |                locDetl['count'] = 0 | 
 |  |  |                for (let wrkDetl of wrkDetls) { | 
 |  |  |                   if (wrkDetl.threeCode == locDetl.threeCode && wrkDetl.matnr == locDetl.matnr) { | 
 |  |  |                      locDetl['pickedAnfme'] = wrkDetl.anfme | 
 |  |  |                      if (locDetl.stock == -1) { | 
 |  |  |                         locDetl.stock = 0 | 
 |  |  |                      } | 
 |  |  |                      if (wrkDetl.anfme < locDetl.anfme) { | 
 |  |  |                         locDetl['color'] = 'order-sts-working' | 
 |  |  |                         locDetl['pickedAnfme'] = wrkDetl.anfme | 
 |  |  |                         locDetl['count'] = 0 | 
 |  |  |                      } else { | 
 |  |  |                         locDetl['color'] = 'order-sts-end' | 
 |  |  |                      } | 
 |  |  |                      break | 
 |  |  |                   }  | 
 |  |  |                } | 
 |  |  | 					 | 
 |  |  |             } | 
 |  |  |             this.dataList = locDetls | 
 |  |  |          }, | 
 |  |  |          // 添加入库商品至 待组托列表 | 
 |  |  |          addItem(index) { | 
 |  |  |             // 判断添加的商品是否和已经添加的重复 | 
 |  |  |             let dataList = this.dataList | 
 |  |  |             for (let k of this.orderCarList) { | 
 |  |  |                if (k.orderNo == dataList[index].orderNo  | 
 |  |  |                   && k.threeCode == dataList[index].threeCode  | 
 |  |  |                   && k.matnr == dataList[index].matnr) { | 
 |  |  |                      uni.showToast({ title: '请勿重复添加商品!', icon: "none", position: 'top' }) | 
 |  |  |                      return | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             this.index = index | 
 |  |  |             let orderCount = this.dataList[index].stock | 
 |  |  |             let locCount = this.dataList[index].anfme | 
 |  |  |             let pickedAnfme = this.dataList[index].pickedAnfme | 
 |  |  |             // 预计最大要出库 | 
 |  |  |             let ftCount = pickedAnfme + orderCount | 
 |  |  | 				 | 
 |  |  |             if (orderCount > locCount) { | 
 |  |  |                this.maxCount = locCount - pickedAnfme | 
 |  |  |             } else { | 
 |  |  |                if (ftCount > locCount) { | 
 |  |  |                   this.maxCount = locCount -pickedAnfme | 
 |  |  |                } else { | 
 |  |  |                   this.maxCount = orderCount  | 
 |  |  |                } | 
 |  |  | 					 | 
 |  |  |             } | 
 |  |  | 				 | 
 |  |  |             this.$refs.addItem.open() | 
 |  |  |          }, | 
 |  |  |          addClose() { | 
 |  |  |             this.$refs.addItem.close() | 
 |  |  |             this.count = 0 | 
 |  |  |          }, | 
 |  |  |          addConfirm() { | 
 |  |  |             // if (this.count == 0) { | 
 |  |  |             //    uni.showToast({ title: '入库数量不合法!', icon: "none", position: 'top' }) | 
 |  |  |             //    return | 
 |  |  |             // } | 
 |  |  |             this.dataList[this.index]['used'] = true | 
 |  |  |             this.dataList[this.index]['pakinQty'] = this.count | 
 |  |  |             this.orderCarList.push(this.dataList[this.index]) | 
 |  |  |             this.index = 0 | 
 |  |  |             this.dataList[this.index].count = this.count  | 
 |  |  |             this.count = 0 | 
 |  |  |             this.$refs.addItem.close() | 
 |  |  |          }, | 
 |  |  |          changeValue(value) { | 
 |  |  |             this.count = value | 
 |  |  |          }, | 
 |  |  |          // 确认再次拣料 | 
 |  |  |          confirmPick() { | 
 |  |  |             this.pickAgaDis = true | 
 |  |  |             let _this = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: `${_this.baseUrl}/agvMobile/pick/again/auth`, | 
 |  |  |                header: { 'token': uni.getStorageSync('token') }, | 
 |  |  |                data: JSON.stringify({ | 
 |  |  |                   wrkNo: _this.wrkNo, | 
 |  |  |                   locNo: _this.locNo, | 
 |  |  |                   picks: _this.dataList | 
 |  |  |                }), | 
 |  |  |                method: 'POST', | 
 |  |  |                success(res) { | 
 |  |  |                   _this.pickAgaDis = false | 
 |  |  |                   res = res.data | 
 |  |  |                   console.log(res); | 
 |  |  |                   if  (res.code === 200) { | 
 |  |  |                      _this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: 1}); | 
 |  |  |                      setTimeout(()=>{ | 
 |  |  |                         uni.navigateBack() | 
 |  |  |                      },700) | 
 |  |  |                   } 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' }) | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          fail(res) { | 
 |  |  |             _this.pickAgaDis = false | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  | </script> |