#
whycq
2024-04-15 d3e9d00e6b73a2f7d782e16975239f6e166ccdc9
pages/phyz/checkLocDetl/checkLocDetl.vue
@@ -1,30 +1,53 @@
<template>
   <view>
      <view>
         {{locNo}}
      </view>
      <view style="display: flex;">
         <view class="dropdown" @click="toggleDropdown()">
            <input type="text" style="flex: 1;" v-model="containerType"  placeholder="请选择排">
            <uni-icons :type="isOpen ? 'top' : 'bottom'" color="#c1c1c1" style="margin-left: 10rpx;"></uni-icons>
            <scroll-view scroll-y="ture" class="dropdown-content" v-if="isOpen">
               <view class="dropdown-item" v-for="option in selects" @click="selected(option)">{{option}}</view>
            </scroll-view>
         <view class="dropdown">
            <input type="text" style="flex: 1;" v-model="row1"  placeholder="请输入排" @confirm="getLocMastList">
            <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('row1')"></uni-icons>
         </view>
         <view class="dropdown" @click="toggleDropdown()">
            <input type="text" style="flex: 1;" v-model="containerType"  placeholder="请选择列">
            <uni-icons :type="isOpen ? 'top' : 'bottom'" color="#c1c1c1" style="margin-left: 10rpx;"></uni-icons>
            <scroll-view scroll-y="ture" class="dropdown-content" v-if="isOpen">
               <view class="dropdown-item" v-for="option in selects" @click="selected(option)">{{option}}</view>
            </scroll-view>
         <view class="dropdown">
            <input type="text" style="flex: 1;" v-model="bay1"   placeholder="请输入列"  @confirm="getLocMastList">
            <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('bay1')"></uni-icons>
         </view>
         <view class="dropdown" @click="toggleDropdown()">
            <input type="text" style="flex: 1;" v-model="containerType"  placeholder="请选择层">
            <uni-icons :type="isOpen ? 'top' : 'bottom'" color="#c1c1c1" style="margin-left: 10rpx;"></uni-icons>
            <scroll-view scroll-y="ture" class="dropdown-content" v-if="isOpen">
               <view class="dropdown-item" v-for="option in selects" @click="selected(option)">{{option}}</view>
            </scroll-view>
         <view class="dropdown">
            <input type="text" style="flex: 1;" v-model="lev1"  placeholder="请输入层" @confirm="getLocMastList">
            <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('lev1')"></uni-icons>
         </view>
      </view>
      <view class="list list-font-color" :class="locMast.color" v-for="(locMast,index) in dataList" :key="index">
         <view class="list-left">
            <view class="detl-threeCode">{{locMast.locNo}}</view>
            <view>库位状态:{{locMast.locSts$}}</view>
            <view>库位类型:{{locMast.locType1$}}</view>
            <view>货架码:{{locMast.barcode}}</view>
            <view style="display: flex;">
               <view style="flex:1">排:<text style="font-size: 22px;font-weight: bold;">{{locMast.row1}}</text></view>
               <view style="flex:1">列:<text style="font-size: 22px;font-weight: bold;">{{locMast.bay1}}</text></view>
               <view style="flex:1">层:<text style="font-size: 22px;font-weight: bold;">{{locMast.lev1}}</text></view>
            </view>
         </view>
         <view class="list-right" @click="goToLocDetl(locMast)">
            <uni-icons type="right" size="25"  color="#fff"></uni-icons>
         </view>
      </view>
      <!-- 弹窗 -->
      <view>
         <uni-popup ref="check" type="dialog">
            <view class="popup">
               <!-- 标题 -->
               <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>
               <view class="btn">
                  <view class="btn-left" @click="checkClose">取消</view>
                  <view class="btn-right" @click="checkConfirm()">确认</view>
               </view>
            </view>
         </uni-popup>
      </view>
      
   </view>
@@ -34,10 +57,114 @@
   export default {
      data() {
         return {
            locNo: '123123'
            baseUrl: '',
            token: '',
            barcode: '',
            locNo: '123123',
            row1: '',
            bay1: '',
            lev1: '',
            dataList: [],
         }
      },
      onLoad() {
         this.baseUrl = uni.getStorageSync('baseUrl');
         this.token = uni.getStorageSync('token');
         this.getLocMastList()
      },
      methods: {
         clear(e) {
            switch (e) {
               case 'row1':
                  setTimeout(() => {
                     this.row1 = ''
                     this.getLocMastList()
                  }, 100);
                  break;
               case 'bay1':
                  setTimeout(() => {
                     this.bay1 = ''
                     this.getLocMastList()
                  }, 100);
                  break;
               case 'lev1':
                  setTimeout(() => {
                     this.lev1 = ''
                     this.getLocMastList()
                  }, 100);
                  break;
            }
         },
         getLocMastList() {
            let _this = this
            uni.request({
               url: `${_this.baseUrl}/agv/locMast/list/auth`,
               header: {'token': uni.getStorageSync('token')},
               data: {
                  curr: 1,
                  limit: 50,
                  row1: _this.row1,
                  bay1: _this.bay1,
                  lev1: _this.lev1,
               },
               method: 'GET',
               success(res) {
                  res = res.data
                  console.log(res);
                  if (res.code === 200) {
                     for (let k of res.data.records) {
                        if (k.locSts == 'F') {
                           k['color'] = 'locSts-F'
                        } else if (k.locSts == 'D') {
                           k['color'] = 'locSts-D'
                        } else if (k.locSts == 'O') {
                           k['color'] = 'locSts-O'
                        } else if (k.locSts == 'R') {
                           k['color'] = 'locSts-R'
                        } else if (k.locSts == 'S') {
                           k['color'] = 'locSts-S'
                        } else if (k.locSts == 'X') {
                           k['color'] = 'locSts-X'
                        } else if (k.locSts == 'Q') {
                           k['color'] = 'locSts-Q'
                        } else if (k.locSts == 'X') {
                           k['color'] = 'locSts-X'
                        }
                     }
                     _this.dataList = res.data.records
                  }
               }
            })
         },
         goToLocDetl() {
            this.$refs.check.open()
         },
         checkClose() {
            this.$refs.check.close()
         },
         checkConfirm() {
            let _this = this
            let param = {
               barcode : _this.barcode,
               locNo : _this.locNo
            }
            uni.navigateTo({
               url: "./locDetl",
               success: function(res) {
                  // 通过eventChannel向被打开页面传送数据   向另外一个页面传递值的
                  res.eventChannel.emit('item', {
                     item: param
                  })
               },
               events: {
                  // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据  另外一个页面传过来的
                  acceptDataFromOpenedPage: function(data) {
                     _this.searchValueFocus = true
                  }
               },
            });
         }
         
      }
   }
@@ -45,6 +172,14 @@
<style>
   @import url('../../../static/css/common/order.css');
   .detl-threeCode {
      font-size: 28px;
      font-weight: bold;
   }
   .list-font-color {
      color: #fff;
      /* background-color: #33bb44; */
   }
   .dropdown {
      border: 1px solid #a7a7a7;
      margin: 2px;
@@ -56,4 +191,91 @@
   .dropdown:last-child {
      margin-right: 2px;
   }
   .locSts-F {
      background-color: #d82f2f;
   }
   .locSts-D {
      background-color: #daad25;
   }
   .locSts-O {
      background-color: #55aaff;
   }
   .locSts-R {
      background-color: #aaaaff;
   }
   .locSts-S {
      background-color: #d86d66;
   }
   .locSts-P {
      background-color: #ffaa00;
   }
   .locSts-X {
      background-color: #767676;
   }
   .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;
   }
</style>