|
|
|
@ -20,7 +20,7 @@ |
|
|
|
<template v-if="addonsMenus"> |
|
|
|
<menu-item |
|
|
|
:routes="addonsMenus" |
|
|
|
:key="index" |
|
|
|
:key="'addon'" |
|
|
|
:level="props.level + 1" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
@ -29,7 +29,7 @@ |
|
|
|
<template v-else> |
|
|
|
<el-menu-item |
|
|
|
:index="String(routes.name)" |
|
|
|
@click="router.push({ name: routes.name })" |
|
|
|
@click="handleMenuClick(routes.name)" |
|
|
|
v-if="meta.addon && meta.parent_route && meta.parent_route.addon == ''" |
|
|
|
> |
|
|
|
<template #title> |
|
|
|
@ -53,7 +53,7 @@ |
|
|
|
</el-menu-item> |
|
|
|
<el-menu-item |
|
|
|
:index="String(routes.name)" |
|
|
|
@click="router.push({ name: routes.name })" |
|
|
|
@click="handleMenuClick(routes.name)" |
|
|
|
v-else |
|
|
|
> |
|
|
|
<template #title> |
|
|
|
@ -99,6 +99,19 @@ const props = defineProps({ |
|
|
|
const systemStore = useSystemStore() |
|
|
|
const meta = computed(() => props.routes.meta) |
|
|
|
|
|
|
|
// 处理菜单点击事件 |
|
|
|
const handleMenuClick = (name: string | number) => { |
|
|
|
// 导航到目标路由 |
|
|
|
router.push({ name: name.toString() }) |
|
|
|
|
|
|
|
// 在移动设备上关闭抽屉 |
|
|
|
if (window.innerWidth < 768) { |
|
|
|
systemStore.$patch((state) => { |
|
|
|
state.menuDrawer = false |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const addons = computed(() => { |
|
|
|
const addons: Record<string, any> = {} |
|
|
|
systemStore?.apps.forEach((item: any) => { |
|
|
|
|