diff --git a/src/components/base/menu/RoutesMenu.tsx b/src/components/base/menu/RoutesMenu.tsx index 0e767ea5..726a6acb 100644 --- a/src/components/base/menu/RoutesMenu.tsx +++ b/src/components/base/menu/RoutesMenu.tsx @@ -54,7 +54,7 @@ const VRoutesMenu = defineComponent({ icon: () => renderIcon(item.icon), }} onSelect={handleSelect} - active={route.path === item.path} + active={openIds.value.includes(item.path)} /> )} diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index 1f5d4180..7a5719f9 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -31,7 +31,8 @@
- + +
diff --git a/src/layouts/SystemSettingsLayout.vue b/src/layouts/SystemSettingsLayout.vue new file mode 100644 index 00000000..23bb8ea6 --- /dev/null +++ b/src/layouts/SystemSettingsLayout.vue @@ -0,0 +1,65 @@ + + diff --git a/src/layouts/index.ts b/src/layouts/index.ts index 907c3136..82391a85 100644 --- a/src/layouts/index.ts +++ b/src/layouts/index.ts @@ -1,2 +1,3 @@ export { default as BlankLayout } from "./BlankLayout.vue"; export { default as BasicLayout } from "./BasicLayout.vue"; +export { default as SystemSettingsLayout } from "./SystemSettingsLayout.vue"; diff --git a/src/router/menus.config.ts b/src/router/menus.config.ts index 09e5a195..3b126f3c 100644 --- a/src/router/menus.config.ts +++ b/src/router/menus.config.ts @@ -96,7 +96,7 @@ export const menus: MenuGroupType[] = [ }, { name: "设置", - path: "/settings", + path: "/settings/general", icon: IconSettings, }, ], diff --git a/src/router/routes.config.ts b/src/router/routes.config.ts index 548968dc..d0d3d1d5 100644 --- a/src/router/routes.config.ts +++ b/src/router/routes.config.ts @@ -1,5 +1,5 @@ import type { RouteRecordRaw } from "vue-router"; -import { BasicLayout, BlankLayout } from "@/layouts"; +import { BasicLayout, BlankLayout, SystemSettingsLayout } from "@/layouts"; import Dashboard from "../views/dashboard/Dashboard.vue"; @@ -18,7 +18,8 @@ import Visual from "../views/interface/visual/Visual.vue"; import PluginList from "../views/system/plugins/PluginList.vue"; import UserList from "../views/system/users/UserList.vue"; import Profile from "../views/system/users/Profile.vue"; -import Settings from "../views/system/settings/Settings.vue"; +import GeneralSettings from "../views/system/settings/GeneralSettings.vue"; +import NotificationSettings from "../views/system/settings/NotificationSettings.vue"; export const routes: Array = [ { @@ -167,12 +168,18 @@ export const routes: Array = [ }, { path: "/settings", - component: BasicLayout, + component: SystemSettingsLayout, + redirect: "/settings/general", children: [ { - path: "", - name: "Settings", - component: Settings, + path: "general", + name: "GeneralSettings", + component: GeneralSettings, + }, + { + path: "notification", + name: "NotificationSettings", + component: NotificationSettings, }, ], }, diff --git a/src/views/system/settings/GeneralSettings.vue b/src/views/system/settings/GeneralSettings.vue new file mode 100644 index 00000000..719df229 --- /dev/null +++ b/src/views/system/settings/GeneralSettings.vue @@ -0,0 +1,75 @@ + + diff --git a/src/views/system/settings/NotificationSettings.vue b/src/views/system/settings/NotificationSettings.vue new file mode 100644 index 00000000..719df229 --- /dev/null +++ b/src/views/system/settings/NotificationSettings.vue @@ -0,0 +1,75 @@ + + diff --git a/src/views/system/settings/Settings.vue b/src/views/system/settings/Settings.vue deleted file mode 100644 index 7cb7c22c..00000000 --- a/src/views/system/settings/Settings.vue +++ /dev/null @@ -1 +0,0 @@ -