#
whycq
2024-09-04 82f3ac1948d1b9d3d0e3dcbcd9466eabc72cdcf8
pages/phyz/orderOut/orderList.vue
@@ -6,6 +6,7 @@
            <view>
               <view class="detl-threeCode">{{orderDetl.threeCode}}</view>
               <view class="detl-locNo">{{orderDetl.locNo}}</view>
               <view class="detl-locNo">货架码:{{orderDetl.suppCode}}</view>
            </view>
            <!-- 中 -->
            <view style="display: flex;">
@@ -13,9 +14,10 @@
                  <view>主单号:{{orderDetl.orderNo}}</view>
                  <view>编号:{{orderDetl.matnr}}</view>
                  <view>名称:{{orderDetl.maktx}}</view>
                  <view>库位状态:{{orderDetl.locSts$}}</view>
                  <view>库存数量:{{orderDetl.anfme}}</view>
               </view>
               <view class="out-btn">
               <view class="out-btn" @click="pakoutPrive(orderDetl)">
                  <view>出库</view>
               </view>
            </view>
@@ -25,6 +27,7 @@
            <uni-icons type="right" size="25"  color="#fff"></uni-icons>
         </view> -->
      </view>
      <!-- 垫高 -->
      <view style="height: 340rpx;text-align: center;color: #b9b9b9;">
         - 已经到底了 -
@@ -40,9 +43,11 @@
            token: '',
            dataList: [],
            count: 0,
            index: 0,
            barcode: '',
            agvDevp: '',
            containerType: '',
            isOpen: true,
            option: '',
            selects: [],
            orderId: ''
         }
      },
      onShow() {
@@ -54,11 +59,12 @@
         // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
         eventChannel.on('item', function(data) {
            console.log(data.item);
            _this.getLocDetl(data.item.orderNo,data.item.threeCode,data.item.matnr)
            _this.orderId = data.item.id
            _this.getLocDetl(data.item.orderNo,data.item.threeCode,data.item.matnr,data.item.id)
         })
      },
      methods: {
         getLocDetl(orderNo,threeCode,matnr) {
         getLocDetl(orderNo,threeCode,matnr,id) {
            let _this = this
            uni.request({
               url: `${_this.baseUrl}/agvMobile/query/locDetl/v1`,
@@ -74,19 +80,77 @@
                  console.log(res);
                  if (res.code === 200) {
                     for (let k of res.data) {
                        if (k.anfme > k.qty && k.qty == 0) {
                        if (k.locSts == "F") {
                           k['color'] = 'order-sts-start'
                        } else if (k.anfme > k.qty && k.qty != 0) {
                        } else if (k.locSts != "F") {
                           k['color'] = 'order-sts-working'
                        } else {
                           k['color'] = 'order-sts-end'
                        }
                        k['id'] = id
                     }
                     _this.dataList = res.data
                  } 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' })
                  }
               }
            })
         }
         },
         pakoutPrive(item) {
            let _this = this
            if (item.locSts != 'F') {
               uni.showToast({ title: '当前库位不是在库状态!', icon: "error", position: 'top' })
               return
            }
            uni.navigateTo({
               url: "./orderCheck",
               success: function(res) {
                  // 通过eventChannel向被打开页面传送数据   向另外一个页面传递值的
                  res.eventChannel.emit('mat', {
                     mat: item,
                  })
               },
               events: {
                  // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据  另外一个页面传过来的
                  acceptDataFromOpenedPage: function(data) {
                     // _this.matnr = data.data
                  },
               },
            });
         },
         pakout(item) {
            let _this = this
            let items = [item]
            uni.request({
               url: `${_this.baseUrl}/out/pakout/auth`,
               header: { 'token': uni.getStorageSync('token') },
               data: items,
               method: 'POST',
               success(res) {
                  res = res.data
                  console.log(res);
                  if (res.code === 200) {
                  } 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' })
                  }
               }
            })
         },
         // 开启 / 关闭下拉框
         toggleDropdown() {
            this.isOpen = !this.isOpen
         },
         // 选择货架类型
         selected(option) {
            this.containerType = option
         },
      }
   }
</script>
@@ -124,4 +188,94 @@
      margin-left: 20rpx;
      margin-right: 20rpx;
   }
   .popup {
      width: 80vw;
      min-height: 100rpx;
      background-color: #FFF;
      border-radius: 25rpx;
      position: relative;
   }
   .title {
      height: 100rpx;
      line-height: 100rpx;
      width: 100%;
      color: #606266;
      text-align: center;
      font-size: 16px;
   }
   .popup-item {
      position: relative;
      height: 80rpx;
      line-height: 80rpx;
      display: flex;
      align-items: center;
      font-size: 14px;
   }
   .popup-item-left {
      width: 16vw;
      padding-right: 20rpx;
      text-align: right;
      color: #606266;
   }
   .popup-item-right {
      display: flex;
      align-items: center;
      width: 50vw;
      height: 50rpx;
      padding: 2px 5px;
      border: 1px solid #E4E7ED;
      border-radius: 5rpx;
   }
   .popup-item-right input{
      color: #606266;
   }
   .btn {
      display: flex;
      height: 90rpx;
      margin-top: 20rpx;
      border-top: 1px solid #DCDFE6;
      justify-content: center;
      align-items: center;
   }
   .btn-left {
      display: flex;
      flex: 1;
      height: 100%;
      justify-content: center;
      align-items: center;
      color: #606266;
      border-right: 1px solid #DCDFE6;
   }
   .btn-right {
      display: flex;
      flex: 1;
      justify-content: center;
      align-items: center;
      color: #409EFF;
   }
   .dropdown {
      position: relative;
      display: flex;
      width: 93%;
      align-items: center;
      padding: 0rpx 20rpx;
   }
   .dropdown-content {
      position: absolute;
      top: calc(100% + 15rpx);
      left: 0;
      width: calc(100% - 20rpx);
      max-height: 300rpx;
      background-color: #fff;
      box-shadow: 0 0px 6px rgba(0, 0, 0, 0.3);
      border-radius: 8rpx;
      z-index: 10;
   }
   .dropdown-item {
      padding: 12rpx;
      line-height: 1.2;
      font-size: 22px;
      color: #3a3a3a;
   }
</style>