whycq
2024-10-18 2b5bf2b63f6b8718a396f16f02c682f635744425
pages/phyz/bcp/bcpDbList.vue
@@ -1,5 +1,5 @@
<template>
   <view>
   <view style="font-size: 13px;">
      <view class="station station-wrk" v-if="station">
         <view class="mt-flex">
            <view class="station-title" style="flex: 4;">{{station.threeCode}}</view>
@@ -20,8 +20,8 @@
         </view>
      </view>
      <!-- 垫高 -->
      <view style="height: 360rpx;text-align: center;color: #b9b9b9;">
      </view>
      <!-- <view style="height: 330rpx;text-align: center;color: #b9b9b9;">
      </view> -->
      <view class="list list-font-color" :class="orderDetl.color" v-for="(orderDetl,index) in dataList" :key="index">
         <view class="list-left" style="display: flex;flex-direction: column;">
            <!-- 上 -->
@@ -40,7 +40,7 @@
         </view>
         <view class="list-right" @click="checkboxChange(orderDetl)">
            <label >
               <checkbox :value="orderDetl.orderNo" :checked="orderDetl.checked" style="transform:scale(0.7)" /><text></text>
               <checkbox :value="orderDetl.orderNo" :checked="orderDetl.checked" v-show="orderDetl.locSts == 'F'" style="transform:scale(0.7)" /><text></text>
            </label>
         </view>
      </view>
@@ -54,15 +54,14 @@
         <uni-popup ref="filter" type="dialog">
            <view class="filter-popup">
               <!-- 标题 -->
               <view class="title">筛选</view>
               <view class="popup-item" style="background-color: #dfdfdf;">
                  <view class="item-cl">
                     <view>销售订单:</view>
                     <input type="text" v-model="searchValue">
               <view class="title">调拨楼层</view>
               <view class="popup-item" style="width: 100%;display: flex;justify-content: center;">
                  <view style="margin-top: 50rpx;width: 60%;">
                     <uni-combox :candidates="floorList" placeholder="请选择目标楼层" v-model="floor"></uni-combox>
                  </view>
               </view>
               <view class="btn filter-btn">
                  <view class="btn-right" @click="filterConfirm()">开始调拨</view>
                  <button class="btn-right" @click="filterConfirm()" :disabled="isAutoDis">开始调拨</button>
               </view>
            </view>
         </uni-popup>
@@ -70,7 +69,7 @@
      <!-- 底部操作按钮 -->
      <view class="buttom">
         <button size="mini" @click="isAuto('unAuto')">手动</button>
         <button size="mini" type="primary" @click="isAuto('auto')">自动</button>
         <button size="mini" type="primary" @click="isAuto('auto')" >自动</button>
      </view>
   </view>
</template>
@@ -82,6 +81,7 @@
            baseUrl: '',
            token: '',
            dataList: [],
            dbList: [],
            count: 0,
            containerType: '',
            isOpen: true,
@@ -90,7 +90,11 @@
            orderId: '',
            station: '',
            allCheck: false,
            allCheckBtnTitle: '全选'
            allCheckBtnTitle: '全选',
            floorList: ['2楼','3楼'],
            floor: '',
            moveType: '',
            isAutoDis: false
         }
      },
      onShow() {
@@ -117,7 +121,8 @@
               data: {
                  orderNo: orderNo,
                  threeCode: threeCode ,
                  matnr: matnr
                  matnr: matnr,
                  floor: "F1"
               },
               method: 'POST',
               success(res) {
@@ -204,7 +209,11 @@
            if (e.checked) {
               this.$set(e,'checked',false)
            } else {
               this.$set(e,'checked',true)
               if (e.locSts != "F") {
                  this.$set(e,'checked',false)
               } else {
                  this.$set(e,'checked',true)
               }
            }
            let num = 0
            for (let k of items) {
@@ -240,7 +249,8 @@
            }
            for (let item of this.dataList) {
               if (this.allCheck) {
                  if (item.anfme == item.qty) {
                  // if (item.locSts == "F")
                  if (item.locSts != "F") {
                     this.$set(item,'checked',false)
                  } else {
                     this.$set(item,'checked',true)
@@ -252,7 +262,53 @@
            this.upDateCount()
         },
         isAuto(type) {
            this.dbList = []
            for (let k of this.dataList) {
               if (k.checked) {
                  this.dbList.push(k)
               }
            }
            if (this.dbList.length == 0) {
               uni.showToast({ title: '请选择调拨库位', icon: "error", position: 'top' })
               return
            }
            this.moveType = type
            this.$refs.filter.open('bottom')
         },
         filterConfirm() {
            console.log(this.dbList);
            this.isAutoDis = true
            if (this.floor == '') {
               uni.showToast({ title: '请选择调拨楼层', icon: "error", position: 'top' })
               return
            }
            let _this = this
            let param = {floor: this.floor,dbList: this.dbList,moveType: this.moveType}
            uni.request({
               url: `${_this.baseUrl}/agvMobile/agv/v2/locMove`,
               header: {'token': uni.getStorageSync('token'),},
               data: param,
               method: 'POST',
               success(res) {
                  _this.isAutoDis = false
                  console.log(res);
                  res = res.data
                  if (res.code === 200) {
                     uni.navigateBack({
                        delta: 1
                     });
                  } 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.isAutoDis = false
               }
            })
            this.$refs.filter.close('bottom')
         }
      }
   }
@@ -262,13 +318,12 @@
   @import url('../../../static/css/common/order.css');
   
   .station {
      position: fixed;
      top: 85rpx;
      left: 0;
      right: 0;
      /* position: fixed; */
      font-size: 18px;
      width: 96%;
      padding: 24rpx;
      z-index: 999;
      font-size: 14px;
   }
   .station-title {
      font-size: 32px;
@@ -336,8 +391,6 @@
   }
   .popup-item {
      position: relative;
      height: 80rpx;
      line-height: 80rpx;
      display: flex;
      align-items: center;
      font-size: 14px;
@@ -411,7 +464,7 @@
   }
   .filter-popup {
      width: 100%;
      height: 80vh;
      height: 40vh;
      background-color: #FFF;
      position: relative;
      border-radius: 30rpx 30rpx 0rpx 0rpx;