From 28200f4931603817a8ba3ccadcc3e7e698dae929 Mon Sep 17 00:00:00 2001 From: zhongzm Date: Fri, 10 Jan 2025 14:28:59 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BB=AA=E8=A1=A8=E7=9B=98?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=EF=BC=88=E6=9C=AA=E6=8E=A5=E9=80=9A=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/api/auth.ts | 8 + src/typings/api.d.ts | 41 +++ src/typings/auto-imports.d.ts | 1 + src/typings/components.d.ts | 5 +- src/views/dashboard/modules/card-data.vue | 280 ++++++++++++----- src/views/dashboard/modules/header-banner.vue | 285 +++++++++++++++--- src/views/device/dashboard/index.vue | 8 + 7 files changed, 506 insertions(+), 122 deletions(-) create mode 100644 src/views/device/dashboard/index.vue diff --git a/src/service/api/auth.ts b/src/service/api/auth.ts index 67734f0..e46bee5 100644 --- a/src/service/api/auth.ts +++ b/src/service/api/auth.ts @@ -202,6 +202,14 @@ export function updateBillRule(data: Api.Billing.BillRuleUpdate) { data }); } +/** 获取仪表盘概览数据 */ +export function getDashboardOverview() { + return request({ + url: '/system/dashboard/overview', + method: 'get' + }); +} + diff --git a/src/typings/api.d.ts b/src/typings/api.d.ts index 8bcfa0b..475b304 100644 --- a/src/typings/api.d.ts +++ b/src/typings/api.d.ts @@ -607,4 +607,45 @@ declare namespace Api { enable: boolean; } } + + interface DashboardOverview { + cloud: { + connected: boolean; + }; + sites: { + total: number; + countries: number; + connected: number; + disconnected: number; + }; + devices: { + gateways: { + connected: number; + disconnected: number; + }; + switches: { + connected: number; + disconnected: number; + }; + olts: { + connected: number; + disconnected: number; + }; + ap: { + connected: number; + disconnected: number; + isolated: number; + }; + }; + client: { + wiredUsers: number; + wirelessUsers: number; + wirelessGuests: number; + }; + alerts: number; + users: { + registered: number; + online: number; + }; + } } diff --git a/src/typings/auto-imports.d.ts b/src/typings/auto-imports.d.ts index dc8316c..05bd787 100644 --- a/src/typings/auto-imports.d.ts +++ b/src/typings/auto-imports.d.ts @@ -152,6 +152,7 @@ declare global { const getCacheRouteNames: typeof import('../store/modules/route/shared')['getCacheRouteNames'] const getCurrentInstance: typeof import('vue')['getCurrentInstance'] const getCurrentScope: typeof import('vue')['getCurrentScope'] + const getDashboardOverview: typeof import('../service/api/auth')['getDashboardOverview'] const getData: typeof import('../service/api/dictData')['getData'] const getDefaultHomeTab: typeof import('../store/modules/tab/shared')['getDefaultHomeTab'] const getDictDataType: typeof import('../service/api/dict')['getDictDataType'] diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts index ba4e03c..1f73c16 100644 --- a/src/typings/components.d.ts +++ b/src/typings/components.d.ts @@ -45,7 +45,6 @@ declare module 'vue' { ASelectOption: typeof import('ant-design-vue/es')['SelectOption'] ASpace: typeof import('ant-design-vue/es')['Space'] ASpin: typeof import('ant-design-vue/es')['Spin'] - AStatistic: typeof import('ant-design-vue/es')['Statistic'] AStep: typeof import('ant-design-vue/es')['Step'] ASteps: typeof import('ant-design-vue/es')['Steps'] ASwitch: typeof import('ant-design-vue/es')['Switch'] @@ -77,7 +76,11 @@ declare module 'vue' { IconIcRoundSearch: typeof import('~icons/ic/round-search')['default'] IconLocalBanner: typeof import('~icons/local/banner')['default'] IconLocalLogo: typeof import('~icons/local/logo')['default'] + IconMdiAccessPoint: typeof import('~icons/mdi/access-point')['default'] + IconMdiAlert: typeof import('~icons/mdi/alert')['default'] + IconMdiCloud: typeof import('~icons/mdi/cloud')['default'] IconMdiDrag: typeof import('~icons/mdi/drag')['default'] + IconMdiLaptop: typeof import('~icons/mdi/laptop')['default'] IconMdiRefresh: typeof import('~icons/mdi/refresh')['default'] IconMdiSearch: typeof import('~icons/mdi/search')['default'] LangSwitch: typeof import('./../components/common/lang-switch.vue')['default'] diff --git a/src/views/dashboard/modules/card-data.vue b/src/views/dashboard/modules/card-data.vue index ba6a15a..670e7d2 100644 --- a/src/views/dashboard/modules/card-data.vue +++ b/src/views/dashboard/modules/card-data.vue @@ -1,109 +1,231 @@ - + diff --git a/src/views/dashboard/modules/header-banner.vue b/src/views/dashboard/modules/header-banner.vue index df1e80c..149105a 100644 --- a/src/views/dashboard/modules/header-banner.vue +++ b/src/views/dashboard/modules/header-banner.vue @@ -1,62 +1,263 @@ - + diff --git a/src/views/device/dashboard/index.vue b/src/views/device/dashboard/index.vue new file mode 100644 index 0000000..0b0fc85 --- /dev/null +++ b/src/views/device/dashboard/index.vue @@ -0,0 +1,8 @@ + + + + +