#
whycq
2023-10-24 723f7fe013231d17c273d0cb021941ee420b7fbf
pages/authority/authority.vue
@@ -1,35 +1,38 @@
<template>
   <view>
      <view class="container">
         <view class="name all" @click="back(all)">{{all.title}}</view>
      </view>
      <view class="container" v-for="(item,i) in tree" :key="i">
         <view :class="item.key">
            <view class="title" v-show="item.key == 'dept_id'"  @click="switchbtn(item)">
               <view>{{item.title}}</view>
               <view >
            <view class="title" v-show="item.key == 'dept_id'" >
               <view @click="back(item)">{{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>
            </view>
            <view class="name" v-show="item.key == 'user_id'" @click="back()">
            <view class="name" v-show="item.key == 'user_id'" @click="back(item)">
               <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" v-show="sub.key == 'dept_id'"  @click="switchbtn(sub)">
                  <view>{{sub.title}}</view>
                  <view>
               <view :class="sub.key" class="title sub-title" v-show="sub.key == 'dept_id'"  >
                  <view @click="back(sub)">{{sub.title}}</view>
                  <view @click="switchbtn(sub)">
                     <!-- <uni-icons type="bottom"></uni-icons> -->
                     <uni-icons type="top" v-show="sub.switch"></uni-icons>
                     <uni-icons type="bottom" v-show="!sub.switch"></uni-icons>
                  </view>
               </view>
               
               <view :class="sub.key" class="name" v-show="sub.key == 'user_id'"  @click="back()">
                  <view>{{sub.title}}</view>
               <view :class="sub.key" class="name" v-show="sub.key == 'user_id'" >
                  <view  @click="back(sub)">{{sub.title}}</view>
               </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" v-show="it.key == 'dept_id'">{{it.title}}</view>
                  <view :class="it.key" class="name" v-show="it.key == 'user_id'" @click="back()">
                     <view>{{it.title}}</view>
                  <view :class="it.key" class="name" v-show="it.key == 'user_id'" >
                     <view @click="back(it)">{{it.title}}</view>
                  </view>
               </view>
            </view>
@@ -43,7 +46,8 @@
   export default {
      data() {
         return {
            tree: [{title: '超级管理员'}]
            tree: [{title: '超级管理员'}],
            all: {}
         }
      },
      onShow() {
@@ -54,14 +58,17 @@
            let res = await user.getUserTree()
            if (res.code === 200) {
               this.tree = []
               this.all = []
               console.log(res.data[0]);
               // this.all = 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);
@@ -71,14 +78,16 @@
               } else {
                  this.tree.push(res.data[0])
               }
               this.all = res.data[0]
            } else if (res.code === 403) {
               this.backLogin(res)
            }
            console.log(this.tree);
            // console.log(this.tree);
         },
         switchbtn(item) {
            console.log(item);
            console.log(item.switch);
            item.switch = item.switch ? false : true
            console.log(item.switch);
         },
         open(e) {
            // console.log('open', e)
@@ -97,8 +106,9 @@
               });
            }, 1000);
         },
         back() {
            uni.$emit('isRefresh', 1)
         back(it) {
            console.log(it);
            uni.$emit('isRefresh', it)
            uni.navigateBack({
               
            })
@@ -108,6 +118,15 @@
</script>
<style>
   .all {
      box-shadow: -4px 0px 0px #55aaff;
      font-size: 15px;
      font-weight: 700;
      margin-left: 10rpx;
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
   .container {
      margin:  16rpx;
      min-height: 35rpx;