From 81b8089d94e7f9537b8f5a00b68c95a9e858e2bf Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期一, 13 十一月 2023 12:48:41 +0800 Subject: [PATCH] # --- pages/authority/authority.vue | 92 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 69 insertions(+), 23 deletions(-) diff --git a/pages/authority/authority.vue b/pages/authority/authority.vue index 844fe0e..43d4c03 100644 --- a/pages/authority/authority.vue +++ b/pages/authority/authority.vue @@ -1,29 +1,38 @@ <template> <view> - <view class="container" v-for="item in tree"> + <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'"> - <view>{{item.title}}</view> - <view>+</view> - </view> - <view class="name" v-show="item.key == 'user_id'"> - <view>{{item.title}}</view> - <view>></view> - </view> - <view class="sub1" v-for="sub in item.children" style="margin-left: 1em;" v-show="true"> - <view :class="sub.key" class="title sub-title" v-show="sub.key == 'dept_id'"> - <view>{{sub.title}}</view> - <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 :class="sub.key" class="name" v-show="sub.key == 'user_id'"> - <view>{{sub.title}}</view> - <view>></view> + </view> + <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'" > + <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="sub2" v-for="it in sub.children" style="margin-left: 1em;"> + + <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'"> - <view>{{it.title}}</view> - <view>></view> + <view :class="it.key" class="name" v-show="it.key == 'user_id'" > + <view @click="back(it)">{{it.title}}</view> </view> </view> </view> @@ -37,7 +46,8 @@ export default { data() { return { - tree: [{title: '瓒呯骇绠$悊鍛�'}] + tree: [{title: '瓒呯骇绠$悊鍛�'}], + all: {} } }, onShow() { @@ -48,17 +58,36 @@ 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(k); + k['switch'] = true this.tree.push(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); + }, + switchbtn(item) { + console.log(item.switch); + item.switch = item.switch ? false : true + console.log(item.switch); }, open(e) { // console.log('open', e) @@ -76,12 +105,28 @@ url: '../login/login' }); }, 1000); + }, + 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; @@ -101,13 +146,14 @@ align-items: center; } .sub-title { + margin: 16rpx; box-shadow: -3px 0px 0px #55aa7f; } .name { padding: 16rpx; - border-bottom: 1px solid #e7e7e7; display: flex; justify-content: space-between; align-items: center; } + </style> \ No newline at end of file -- Gitblit v1.9.1