diff --git a/src/layout/components/SideBar.vue b/src/layout/components/SideBar.vue index 99b080f3..69658e9e 100644 --- a/src/layout/components/SideBar.vue +++ b/src/layout/components/SideBar.vue @@ -29,39 +29,37 @@ limitations under the License. --> :style="{ border: 'none' }" > @@ -77,9 +75,12 @@ limitations under the License. --> /*global Recordable*/ const appStore = useAppStoreWithOut(); - const name = ref(String(useRouter().currentRoute.value.name)); + const router = useRouter(); + const name = ref(String(router.currentRoute.value.name)); const theme = ["VirtualMachine", "Kubernetes"].includes(name.value || "") ? ref("light") : ref("black"); - const routes = ref(useRouter().options.routes); + const routes = ref( + (router.options.routes || []).filter((d: any) => d.meta && d.meta.activate), + ); const route = useRoute(); const isCollapse = ref(true); const showMenu = ref(true); diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts index b4ab404d..3dac4191 100644 --- a/src/store/modules/app.ts +++ b/src/store/modules/app.ts @@ -36,7 +36,6 @@ interface AppState { version: string; isMobile: boolean; reloadTimer: Nullable; - activateMenus: MenuOptions[]; allMenus: MenuOptions[]; } @@ -58,7 +57,6 @@ export const appStore = defineStore({ version: "", isMobile: false, reloadTimer: null, - activateMenus: [], allMenus: [], }), getters: { @@ -165,8 +163,8 @@ export const appStore = defineStore({ }, async getActivateMenus() { const resp = (await this.queryMenuItems()) || {}; - this.allMenus = resp.getMenuItems || []; - const menus = this.allMenus.map((d: MenuOptions, index: number) => { + + this.allMenus = (resp.getMenuItems || []).map((d: MenuOptions, index: number) => { const t = `${d.title.replace(/\s+/g, "-")}`; d.name = `${t}-${index}`; d.path = `/${t}`; @@ -182,16 +180,6 @@ export const appStore = defineStore({ return d; }); - this.activateMenus = menus.filter((d: MenuOptions) => { - if (d.activate) { - d.subItems = d.subItems.filter((item: SubItem) => { - if (item.activate) { - return item; - } - }); - return d; - } - }); }, async queryOAPTimeInfo() { const res: AxiosResponse = await graphql.query("queryOAPTimeInfo").params({}); diff --git a/src/views/marketplace/Menus.vue b/src/views/marketplace/Menus.vue index c109ce06..27114a4d 100644 --- a/src/views/marketplace/Menus.vue +++ b/src/views/marketplace/Menus.vue @@ -56,7 +56,7 @@ limitations under the License. --> const { t } = useI18n(); const appStore = useAppStoreWithOut(); - const currentItems = ref(appStore.activateMenus[0] || {}); + const currentItems = ref(appStore.allMenus[0] || {}); function handleItems(item: MenuOptions) { currentItems.value = item;