| | |
| | | <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> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | tree: [{title: '超级管理员'}] |
| | | tree: [{title: '超级管理员'}], |
| | | all: {} |
| | | } |
| | | }, |
| | | onShow() { |
| | |
| | | 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); |
| | |
| | | } 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) |
| | |
| | | }); |
| | | }, 1000); |
| | | }, |
| | | back() { |
| | | uni.$emit('isRefresh', 1) |
| | | back(it) { |
| | | console.log(it); |
| | | uni.$emit('isRefresh', it) |
| | | uni.navigateBack({ |
| | | |
| | | }) |
| | |
| | | </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; |