From 3d9cfe77ae62c8c452b8e41fefe16783ea69acf2 Mon Sep 17 00:00:00 2001 From: Fine Date: Thu, 6 Jul 2023 10:11:56 +0800 Subject: [PATCH] feat: add administration --- src/graphql/query/app.ts | 4 ++- src/locales/lang/en.ts | 2 ++ src/locales/lang/es.ts | 2 ++ src/locales/lang/zh.ts | 2 ++ src/router/{setting.ts => administration.ts} | 20 +++++++----- src/router/index.ts | 4 +-- src/store/modules/app.ts | 7 +++++ src/views/administration/Menus.vue | 32 ++++++++++++++++++++ src/views/{ => administration}/Settings.vue | 0 9 files changed, 63 insertions(+), 10 deletions(-) rename src/router/{setting.ts => administration.ts} (72%) create mode 100644 src/views/administration/Menus.vue rename src/views/{ => administration}/Settings.vue (100%) diff --git a/src/graphql/query/app.ts b/src/graphql/query/app.ts index d538c417..d74aeac4 100644 --- a/src/graphql/query/app.ts +++ b/src/graphql/query/app.ts @@ -14,8 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { OAPTimeInfo, OAPVersion } from "../fragments/app"; +import { OAPTimeInfo, OAPVersion, MenuItems } from "../fragments/app"; export const queryOAPTimeInfo = `query queryOAPTimeInfo {${OAPTimeInfo.query}}`; export const queryOAPVersion = `query ${OAPVersion.query}`; + +export const queryMenuItems = `query menuItems {${MenuItems.query}}`; diff --git a/src/locales/lang/en.ts b/src/locales/lang/en.ts index 7dbf950c..07ef024f 100644 --- a/src/locales/lang/en.ts +++ b/src/locales/lang/en.ts @@ -405,5 +405,7 @@ const msg = { detailLabel: "Detail Label", summary: "Summary", detail: "Detail", + administration: "Administration", + menusManagement: "Menus Management", }; export default msg; diff --git a/src/locales/lang/es.ts b/src/locales/lang/es.ts index 2f5637e9..c7b07d05 100644 --- a/src/locales/lang/es.ts +++ b/src/locales/lang/es.ts @@ -404,5 +404,7 @@ const msg = { detailLabel: "Detail Label", summary: "Summary", detail: "Detail", + administration: "Administration", + menusManagement: "Menus Management", }; export default msg; diff --git a/src/locales/lang/zh.ts b/src/locales/lang/zh.ts index 4bf623b8..a8ddc27b 100644 --- a/src/locales/lang/zh.ts +++ b/src/locales/lang/zh.ts @@ -402,5 +402,7 @@ const msg = { detailLabel: "详细标签", summary: "概括", detail: "详细", + administration: "管理", + menusManagement: "菜单管理", }; export default msg; diff --git a/src/router/setting.ts b/src/router/administration.ts similarity index 72% rename from src/router/setting.ts rename to src/router/administration.ts index 9ad4d455..1fb5fcfc 100644 --- a/src/router/setting.ts +++ b/src/router/administration.ts @@ -17,26 +17,32 @@ import type { RouteRecordRaw } from "vue-router"; import Layout from "@/layout/Index.vue"; -export const routesSetting: Array = [ +export const routesAdministration: Array = [ { path: "", - name: "Settings", + name: "Administration", meta: { - title: "settings", + title: "administration", icon: "settings", - hasGroup: false, + hasGroup: true, }, component: Layout, children: [ + { + path: "/menus-management", + name: "MenusManagement", + meta: { + title: "menusManagement", + }, + component: () => import("@/views/administration/Menus.vue"), + }, { path: "/settings", name: "Settings", meta: { title: "settings", - icon: "settings", - hasGroup: false, }, - component: () => import("@/views/Settings.vue"), + component: () => import("@/views/administration/Settings.vue"), }, ], }, diff --git a/src/router/index.ts b/src/router/index.ts index f86f4aaf..5be29a7e 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -17,11 +17,11 @@ import type { RouteRecordRaw } from "vue-router"; import { createRouter, createWebHistory } from "vue-router"; import { routesDashboard } from "./dashboard"; -import { routesSetting } from "./setting"; +import { routesAdministration } from "./administration"; import { routesAlarm } from "./alarm"; import routesLayers from "./layer"; -const routes: Array = [...routesLayers, ...routesDashboard, ...routesAlarm, ...routesSetting]; +const routes: Array = [...routesLayers, ...routesDashboard, ...routesAlarm, ...routesAdministration]; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts index 2065a163..be0a4c0a 100644 --- a/src/store/modules/app.ts +++ b/src/store/modules/app.ts @@ -179,6 +179,13 @@ export const appStore = defineStore({ this.version = res.data.data.version; return res.data; }, + async queryMenuItems() { + const res: AxiosResponse = await graphql.query("queryMenuItems").params({}); + if (res.data.errors) { + return res.data; + } + console.log(res.data.data); + }, setReloadTimer(timer: IntervalHandle) { this.reloadTimer = timer; }, diff --git a/src/views/administration/Menus.vue b/src/views/administration/Menus.vue new file mode 100644 index 00000000..99f4dfae --- /dev/null +++ b/src/views/administration/Menus.vue @@ -0,0 +1,32 @@ + + + + diff --git a/src/views/Settings.vue b/src/views/administration/Settings.vue similarity index 100% rename from src/views/Settings.vue rename to src/views/administration/Settings.vue