whycq
2024-10-18 2b5bf2b63f6b8718a396f16f02c682f635744425
pages/phyz/checkLocDetl/locMove.vue
@@ -4,6 +4,24 @@
         <uni-search-bar  v-model="searchValue1" 
            maxlength="500" ancel="cancel" @confirm="searchValueInput1()" @clear="clearVal" placeholder="输入 / 扫描 货架码">
         </uni-search-bar>
         <view style="display: flex;padding: 10rpx 20rpx;">
            <view class="dropdown">
               <input type="text" style="flex: 1;" v-model="row1"  placeholder="排" placeholder-style="font-size:10px" @confirm="getLocMastList('')">
               <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('row1')"></uni-icons>
            </view>
            <view class="dropdown">
               <input type="text" style="flex: 1;" v-model="bay1"   placeholder="列"  placeholder-style="font-size:10px" @confirm="getLocMastList('')">
               <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('bay1')"></uni-icons>
            </view>
            <view class="dropdown">
               <input type="text" style="flex: 1;" v-model="lev1"  placeholder="层" placeholder-style="font-size:10px" @confirm="getLocMastList('')">
               <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('lev1')"></uni-icons>
            </view>
            <view class="dropdown">
               <input type="text" style="flex: 1;" v-model="floorNum"  placeholder="楼层" placeholder-style="font-size:10px" @confirm="getLocMastList('')">
               <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('floor')"></uni-icons>
            </view>
         </view>
      </view>
      
      
@@ -32,11 +50,13 @@
               <view class="title">目标楼层</view>
               <view class="popup-item">
                  <view class="popup-item-left">楼层:</view>
                  <view class="popup-item-right"><input type="text" v-model="barcode"></view>
                  <view class="popup-item-right">
                     <uni-combox :candidates="floorList" placeholder="请选择目标楼层" v-model="floor"></uni-combox>
                  </view>
               </view>
               <view class="btn">
                  <view class="btn-left" @click="checkClose">取消</view>
                  <view class="btn-right" @click="checkConfirm()">确认</view>
                  <view class="btn-right" @click="checkConfirm()" :disabled="checkDis">确认</view>
               </view>
            </view>
         </uni-popup>
@@ -58,7 +78,12 @@
            bay1: '',
            lev1: '',
            dataList: [],
            item: ''
            item: '',
            floorNum: '',
            floorList: ['1F01','1F02','2F','3F'],
            floor: '',
            locMast: null,
            checkDis: false
         }
      },
      onShow() {
@@ -69,7 +94,7 @@
         } else {
            this.lev1 = 2 
         }
         this.getLocMastList()
      },
      methods: {
         clear(e) {
@@ -93,6 +118,12 @@
                     this.getLocMastList('')
                  }, 100);
                  break;
               case 'floor':
                  setTimeout(() => {
                     this.floor = ''
                     this.getLocMastList('')
                  }, 100);
                  break;
            }
         },
         clearVal() {
@@ -108,6 +139,7 @@
         },
         getLocMastList(barcode) {
            let _this = this
            this.dataList = []
            uni.setStorageSync('lev1', this.lev1);
            uni.request({
               url: `${_this.baseUrl}/agv/locMast/list/auth`,
@@ -117,7 +149,8 @@
                  limit: 50,
                  row1: _this.row1,
                  bay1: _this.bay1,
                  floor: _this.lev1,
                  lev1: _this.lev1,
                  floor: _this.floorNum,
                  barcode: barcode
               },
               method: 'GET',
@@ -162,6 +195,11 @@
               uni.showToast({ title: '当前库位在作业', icon: "error", position: 'top' })
               return
            }
            if (e.locSts == 'O') {
               uni.showToast({ title: '当前库位为空库位', icon: "error", position: 'top' })
               return
            }
            this.locMast = e
            this.$refs.check.open()
         },
         checkClose() {
@@ -169,28 +207,35 @@
         },
         checkConfirm() {
            let _this = this
            let param = {
               barcode : _this.barcode,
               locNo : _this.locNo,
               item: _this.item
            }
            uni.navigateTo({
               url: "./locDetl",
               success: function(res) {
                  _this.$refs.check.close()
                  // 通过eventChannel向被打开页面传送数据   向另外一个页面传递值的
                  res.eventChannel.emit('item', {
                     item: param
                  })
            _this.checkDis = true
            uni.request({
               url: `${_this.baseUrl}/agvMobile/hand/control/locMove`,
               header: {'token': uni.getStorageSync('token'),
               },
               events: {
                  // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据  另外一个页面传过来的
                  acceptDataFromOpenedPage: function(data) {
               data: JSON.stringify({
                  locNo: this.locMast.locNo,
                  floor: _this.floor
               }),
               method: 'POST',
               success(res) {
                  _this.checkDis = false
                  res = res.data
                  if (res.code === 200) {
                     uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                     _this.$refs.check.close()
                     _this.getLocMastList()
                  }
                  } 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.checkDis = false
               }
            })
         }
         
      }
@@ -237,6 +282,9 @@
   .locSts-P {
      background-color: #ffaa00;
   }
   .locSts-Q {
      background-color: #47a301;
   }
   .locSts-X {
      background-color: #767676;
   }
@@ -258,8 +306,10 @@
   }
   .popup-item {
      position: relative;
      height: 80rpx;
      line-height: 80rpx;
      /* height: 80rpx; */
      /* line-height: 80rpx; */
      margin-top: 30rpx;
      margin-bottom: 60rpx;
      display: flex;
      align-items: center;
      font-size: 14px;
@@ -276,7 +326,7 @@
      width: 50vw;
      height: 50rpx;
      padding: 2px 5px;
      border: 1px solid #E4E7ED;
      /* border: 1px solid #E4E7ED; */
      border-radius: 5rpx;
   }
   .popup-item-right input{