#
whycq
2024-05-07 172d04fc9d2d7afb28dd3de207f05bbf90a1b58e
pages/tzsk/pakin/locPick.vue
@@ -2,9 +2,9 @@
   <view>
      <view class="container" v-for="(item,i) in tree" :key="i">
         <view :class="item.key">
            <view class="title"  @click="switchbtn(item)">
               <view>{{item.title}}</view>
               <view >
            <view class="title"  >
               <view  style="width: 50%;">{{item.title}}</view>
               <view @click="switchbtn(item)">
                  <uni-icons type="top" v-show="item.switch"></uni-icons>
                  <uni-icons type="bottom" v-show="!item.switch"></uni-icons>
               </view>
@@ -13,9 +13,9 @@
               <view>{{item.title}}</view>
            </view>
            <view class="sub1" v-for="sub in item.children" style="margin-left: 1em;" v-show="item.switch">
               <view :class="sub.key" class="title sub-title"  @click="switchbtn(sub)">
                  <view>{{sub.title}}</view>
                  <view>
               <view :class="sub.key" class="title sub-title"  >
                  <view  @click="chose(sub)">{{sub.title}}</view>
                  <view @click="switchbtn(sub)">
                     <uni-icons type="top" v-show="sub.switch"></uni-icons>
                     <uni-icons type="bottom" v-show="!sub.switch"></uni-icons>
                  </view>
@@ -26,8 +26,8 @@
               </view>
               
               <view class="sub2" v-for="it in sub.children" style="margin-left: 1em;" v-show="sub.switch">
                  <view :class="it.key" class="title sub-title" >{{it.title}}</view>
                  <view :class="it.key" class="name" v-show="it.key == 'user_id'" @click="back()">
                  <!-- <view :class="it.key" class="title sub-title" >{{it.title}}</view> -->
                  <view :class="it.key" class="locarea name"  @click="chose(it)">
                     <view>{{it.title}}</view>
                  </view>
               </view>
@@ -35,6 +35,51 @@
         </view>
      </view>
      
      <view class="pick-list" v-show="pickData != ''">
         <view class="list-item">
            <text class="list-title">订单号:</text><text class="val-text">{{pickData.docNum ? pickData.docNum : '--'}}</text>
         </view>
         <view class="list-item">
            <text>库位号:</text><text>{{pickData.locNo}}</text>
         </view>
         <view class="list-item">
            <text>托盘码:</text><text>{{pickData.zpallet ? pickData.zpallet : '--'}}</text>
         </view>
         <view class="list-item">
            <text>料箱码:</text><text>{{pickData.containerCode ? pickData.containerCode : '--'}}</text>
         </view>
         <view class="list-item">
            <text>销售行号:</text><text>{{pickData.csocode ? pickData.csocode : '--'}}</text>
         </view>
         <view class="list-item">
            <text>订单行号:</text><text>{{pickData.isoseg ? pickData.isoseg : '--'}}</text>
         </view>
         <view class="list-item">
            <text>物料号:</text><text>{{pickData.matnr ? pickData.matnr : '--'}}</text>
         </view>
         <view class="list-item">
            <text>物料名称:</text><text>{{pickData.maktx}}</text>
         </view>
         <view class="list-item">
            <text>状态:</text><text>{{pickData.status$}}</text>
         </view>
         <view class="list-item">
            <text>数量:</text><text class="val-num">{{pickData.anfme}}</text>
         </view>
      </view>
      <view style="height: 100rpx;"></view>
      <view class="z-floor" v-show="pickData != ''">
         <button size="mini" type="primary" @click="picked()">拣货</button>
      </view>
      <view>
         <!-- 提示信息弹窗 -->
         <uni-popup ref="message" type="message">
            <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message>
         </uni-popup>
      </view>
   </view>
</template>
@@ -42,7 +87,14 @@
   export default {
      data() {
         return {
            tree: []
            tree: [],
            pickList: [],
            pickData: '',
            index: 1,
            len: 5,
            msgType1: 'success',
            msgType: 'success',
            messageText: '',
         }
      },
      onShow() {
@@ -63,18 +115,18 @@
                  // console.log(res.data[0].children);
                  if (res.data[0].children[0]) {
                     for (let k of res.data[0].children) {
                        console.log(k);
                        // console.log(k);
                        if (k.children && k.children.length > 0) {
                           for (let i of k.children) {
                              i['switch'] = true
                              console.log(i);
                              // console.log(i);
                           }
                        }
                        // console.log(k);
                        k['switch'] = true
                        _this.tree.push(k)
                     }
                     console.log(_this.tree);
                     // console.log(_this.tree);
                  } else {
                     this.tree.push(res.data[0])
                  }
@@ -85,14 +137,14 @@
            let res = await user.getUserTree()
            if (res.code === 200) {
               this.tree = []
               console.log(res.data[0]);
               // console.log(res.data[0]);
               if (res.data[0].children) {
                  for (let k of res.data[0].children) {
                     
                     if (k.children && k.children.length > 0) {
                        for (let i of k.children) {
                           i['switch'] = true
                           console.log(i);
                           // console.log(i);
                        }
                     }
                     // console.log(k);
@@ -108,7 +160,7 @@
            console.log(this.tree);
         },
         switchbtn(item) {
            console.log(item);
            // console.log(item);
            item.switch = item.switch ? false : true
         },
         open(e) {
@@ -133,7 +185,68 @@
            uni.navigateBack({
               
            })
         }
         },
         chose(data) {
            let that = this
            uni.request({
               url: `${that.baseUrl}/node/order/pakout`,
               header: {'token': uni.getStorageSync('token')},
               data: {locType: data.title},
               success(res) {
                  // console.log(res);
                  res = res.data
                  if (res.code === 200 && res.data.length > 0) {
                     that.pickList = res.data
                     that.len = res.data.length
                     that.pickData = res.data[0]
                     that.index = 1
                  } else if (res.data.length == 0) {
                     that.getNodeTree()
                  }
               }
            })
            this.tree = []
         },
         picked() {
            let that = this
            // console.log(that.len);
            // console.log(that.index);
            if (that.len < that.index) {
               that.pickData = ''
               that.index = 1
               that.getNodeTree()
               return
            } else {
               that.pickData.orderNo = that.pickData.docNum
               uni.request({
                  url: `${that.baseUrl}/mobile/node/pakout`,
                  header: {'token': uni.getStorageSync('token')},
                  data: that.pickData,
                  method: 'POST'
               }).then((res)=>{
                  res = res.data
                  // console.log(res);
                  if (res.code === 200) {
                     if (that.index == that.len) {
                        that.pickData = ''
                        that.index = 1
                        that.getNodeTree()
                     } else {
                        that.index++
                        that.pickData = that.pickList[that.index]
                     }
                     that.messageText = "拣货成功"
                     that.messageToggle('success')
                  }
               })
            }
         },
         messageToggle(type) {
            this.msgType1 = type
            this.$refs.message.open()
         },
      }
   }
</script>
@@ -167,5 +280,50 @@
      justify-content: space-between;
      align-items: center;
   }
   .locarea:active {
      background-color: #55aa7f;
   }
   .pick-list {
      margin: 8px;
      background-color: #FFF;
      min-height: 70rpx;
      border-radius: 20rpx;
   }
   .list-item  {
      min-height: 70rpx;
      display: flex;
      align-items: center;
      padding-left: 32rpx;
   }
   .list-item:first-child {
      padding-top: 8rpx;
   }
   .list-item:last-child {
      padding-bottom: 8rpx;
   }
   .z-floor {
      position: fixed;
      bottom: 0;
      left: 0;
      height: 100rpx;
      width: 100%;
      background-color: #FFF;
      display: flex;
      align-items: center;
   }
   .list-title {
      vertical-align: text-bottom;
   }
   .val-text {
      background-color: #00aeec;
      padding: 2px 4px;
      border-radius: 4px;
      color: #FFF;
   }
   .val-num {
      font-weight: 900;
      color: #d19a66;
      font-size: 16px;
   }
</style>