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