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