From ecd6ecebd8372239c1bf3a13c11c0b743ee1b946 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期二, 12 七月 2022 15:34:10 +0800
Subject: [PATCH] 菜单跳转

---
 src/views/homeMenu/homeMenu.vue |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/views/homeMenu/homeMenu.vue b/src/views/homeMenu/homeMenu.vue
index 2dea8a3..9d3f67c 100644
--- a/src/views/homeMenu/homeMenu.vue
+++ b/src/views/homeMenu/homeMenu.vue
@@ -61,6 +61,9 @@
 	import {useRoute, useRouter} from "vue-router";
 	import {initBackEndControlRoutes} from "/@/router/backEnd";
 	import {useUserInfo} from "/@/stores/userInfo";
+    import { ElMessage } from 'element-plus';
+    import pinia from '/@/stores';
+    import { useRoutesList } from '/@/stores/routesList';
 
 	// 定义接口来定义对象的类型
 	interface LoginState {
@@ -76,6 +79,8 @@
 			const router = useRouter();
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
+            const routeToStore = useRoutesList(pinia);
+            const { routesList } = storeToRefs(routeToStore);
 			const storesThemeConfig = useThemeConfig();
 			const { themeConfig } = storeToRefs(storesThemeConfig);
 			const state = reactive<LoginState>({
@@ -90,12 +95,28 @@
 			const onLoginOut = () => {
 				console.log('退出登录')
 			};
-			const renderMenu = async (value: string) => {
-				Session.set('projectId',value)
-				userInfos.value.projectId = value
-				await initBackEndControlRoutes();
-				router.push('/home')
-			};
+            const renderMenu = async (value: string) => {
+                Session.set('projectId', value);
+                userInfos.value.projectId = value;
+                await initBackEndControlRoutes().then(() => {
+                    let linkToMenu = [...routesList.value];
+                    if (linkToMenu && linkToMenu.length > 1) {
+                        console.log(linkToFirstMenu(JSON.parse(JSON.stringify(linkToMenu))[1]));
+                        router.push(linkToFirstMenu(JSON.parse(JSON.stringify(linkToMenu))[1]));
+                    } else {
+                        ElMessage({ type: 'warning', message: '你没有该项目的权限' });
+                    }
+                });
+            };
+            const linkToFirstMenu: any = (value: any) => {
+                debugger
+                let returnMenu = value;
+                if (returnMenu.children?.length > 0) {
+                    return linkToFirstMenu(returnMenu.children[0]);
+                } else {
+                    return returnMenu.path;
+                }
+            };
 			//点击进入特殊作业
 			const toSpecialWorkSys = () => {
 				router.push('/layoutPage');

--
Gitblit v1.9.2