From 0b86f0390c17ca06758cc436596774e56687a875 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期二, 09 七月 2024 09:03:54 +0800 Subject: [PATCH] # --- zy-asrs-admin/src/views/IndexView.vue | 60 ++++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 42 insertions(+), 18 deletions(-) diff --git a/zy-asrs-admin/src/views/IndexView.vue b/zy-asrs-admin/src/views/IndexView.vue index abf58d4..f2eebe0 100644 --- a/zy-asrs-admin/src/views/IndexView.vue +++ b/zy-asrs-admin/src/views/IndexView.vue @@ -1,5 +1,5 @@ <script setup> -import { nextTick, ref, inject } from 'vue'; +import { nextTick, ref, inject, onMounted } from 'vue'; import { useRouter } from "vue-router"; import { get, post, postForm } from '@/utils/request.js' import { logout } from '@/config.js'; @@ -31,6 +31,28 @@ const components = { ...Icons, }; + +onMounted(() => { + let name = router.currentRoute.value.name; + let path = router.currentRoute.value.path; + if (currentCache.value == null && path != '/') { + get('/api/menu/get/route', { + route: path + }).then((resp) => { + let result = resp.data; + let data = result.data; + if (result.code == 200) { + currentCache.value = name; + routerCache.value.push(name) + routerCacheList.value.push({ + key: path, + languageId: data.languageId, + name: name, + }) + } + }) + } +}) getMenu() function getMenu() { @@ -172,29 +194,31 @@ <template> <a-layout class="main"> - <a-layout-sider v-model:collapsed="collapsed" :trigger="null" collapsible> + <a-layout-sider v-model:collapsed="collapsed" :trigger="null" collapsible theme="dark"> <div class="logo" /> - <a-menu v-for="(item, index) in menuCache" :key="index" v-model:selectedKeys="selectedKeys" @select="menuSelect" - theme="dark" mode="inline"> + <a-menu v-model:selectedKeys="selectedKeys" @select="menuSelect" theme="dark" mode="inline"> <div> <a-menu-item key="/" name="涓婚〉"> <HomeOutlined /> {{ formatMessage('common.home', '涓婚〉') }} </a-menu-item> </div> - <a-sub-menu v-if="item.type == 0"> - <template #title> - <span> - <component :is="components[ref(item.icon).value]" /> - {{ formatMessage(item.languageId, item.name) }} - </span> - </template> - <div v-for="(child, idx) in item.children"> - <a-menu-item v-if="child.status == 1" :key="child.route" :name="child.name" :languageId="child.languageId"> - {{ formatMessage(child.languageId, child.name) }} - </a-menu-item> - </div> - </a-sub-menu> + <div v-for="(item, index) in menuCache" :key="index"> + <a-sub-menu :key="index" v-if="item.type == 0"> + <template #title> + <span> + <component :is="components[ref(item.icon).value]" /> + {{ formatMessage(item.languageId, item.name) }} + </span> + </template> + <div v-for="(child, idx) in item.children"> + <a-menu-item v-if="child.status == 1" :key="child.route" :name="child.name" + :languageId="child.languageId"> + {{ formatMessage(child.languageId, child.name) }} + </a-menu-item> + </div> + </a-sub-menu> + </div> </a-menu> </a-layout-sider> @@ -225,7 +249,7 @@ <a-dropdown> <div> <TranslationOutlined /> - {{ globalState.localeList[globalState.locale].desc }} + {{ globalState.localeList[globalState.locale]?.desc }} </div> <template #overlay> <a-menu> -- Gitblit v1.9.1