From 250c5cbfeb708ba031bdaafc8148c99d7553246e Mon Sep 17 00:00:00 2001 From: huangping Date: Mon, 25 May 2026 15:05:18 +0800 Subject: [PATCH] feat(m9): add subscription report config (localStorage MVP) --- .../src/layout/MainLayout.vue | 1 + web/delivery-platform-ui/src/router/index.js | 6 + .../src/views/HomeView.vue | 1 + .../src/views/SubscriptionReportView.vue | 121 ++++++++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 web/delivery-platform-ui/src/views/SubscriptionReportView.vue diff --git a/web/delivery-platform-ui/src/layout/MainLayout.vue b/web/delivery-platform-ui/src/layout/MainLayout.vue index 8f167b9..a6e6b7f 100644 --- a/web/delivery-platform-ui/src/layout/MainLayout.vue +++ b/web/delivery-platform-ui/src/layout/MainLayout.vue @@ -136,6 +136,7 @@ const menuItems = [ { path: "/devices", icon: "🖥️", label: "设备管理", roles: ["SYS_ADMIN","SALES","DELIVERY"] }, { path: "/todos", icon: "🔔", label: "待办中心", roles: ["SYS_ADMIN","SALES","LICENSE_OPS"] }, { path: "/reports/contract-sn", icon: "📊", label: "报表中心", roles: ["SYS_ADMIN"] }, + { path: "/reports/subscriptions", icon: "📧", label: "报表订阅", roles: ["SYS_ADMIN"] }, ]; const visibleMenu = computed(() => menuItems.filter(m => auth.hasAnyRole(m.roles))); diff --git a/web/delivery-platform-ui/src/router/index.js b/web/delivery-platform-ui/src/router/index.js index 1ce10ee..ed5deff 100644 --- a/web/delivery-platform-ui/src/router/index.js +++ b/web/delivery-platform-ui/src/router/index.js @@ -188,6 +188,12 @@ const routes = [ component: () => import("../views/ProfileView.vue"), meta: { roles: ["SYS_ADMIN", "SALES", "LICENSE_OPS"], title: "个人设置" }, }, + { + path: "reports/subscriptions", + name: "report-subscriptions", + component: () => import("../views/SubscriptionReportView.vue"), + meta: { roles: ["SYS_ADMIN"], title: "报表订阅" }, + }, { path: "reports/project-health", name: "project-health", diff --git a/web/delivery-platform-ui/src/views/HomeView.vue b/web/delivery-platform-ui/src/views/HomeView.vue index 8210b50..340afcf 100644 --- a/web/delivery-platform-ui/src/views/HomeView.vue +++ b/web/delivery-platform-ui/src/views/HomeView.vue @@ -44,6 +44,7 @@ const allModuleLinks = [ { to: "/devices", label: "设备管理", roles: ["SYS_ADMIN", "SALES", "DELIVERY"] }, { to: "/todos", label: "待办中心", roles: ["SYS_ADMIN", "SALES", "LICENSE_OPS"] }, { to: "/reports/contract-sn", label: "报表中心", roles: ["SYS_ADMIN"] }, + { to: "/reports/subscriptions", label: "报表订阅", roles: ["SYS_ADMIN"] }, ]; const visibleModuleLinks = computed(() => allModuleLinks.filter((l) => auth.hasAnyRole(l.roles))); diff --git a/web/delivery-platform-ui/src/views/SubscriptionReportView.vue b/web/delivery-platform-ui/src/views/SubscriptionReportView.vue new file mode 100644 index 0000000..0051181 --- /dev/null +++ b/web/delivery-platform-ui/src/views/SubscriptionReportView.vue @@ -0,0 +1,121 @@ + + + + +