diff --git a/package-lock.json b/package-lock.json index 9da5d1e..8844d81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@element-plus/icons-vue": "^2.3.2", "axios": "^1.13.2", + "echarts": "^6.0.0", "element-plus": "^2.11.8", "normalize.css": "^8.0.1", "pinia": "^3.0.4", @@ -1254,6 +1255,16 @@ "node": ">= 0.4" } }, + "node_modules/echarts": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-6.0.0.tgz", + "integrity": "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "6.0.0" + } + }, "node_modules/element-plus": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.11.8.tgz", @@ -1856,6 +1867,12 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, "node_modules/vite": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz", @@ -1966,6 +1983,15 @@ "peerDependencies": { "vue": "^3.5.0" } + }, + "node_modules/zrender": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-6.0.0.tgz", + "integrity": "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } } } } diff --git a/package.json b/package.json index aace571..b0ed0cf 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "dependencies": { "@element-plus/icons-vue": "^2.3.2", "axios": "^1.13.2", + "echarts": "^6.0.0", "element-plus": "^2.11.8", "normalize.css": "^8.0.1", "pinia": "^3.0.4", diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue index 1f50e2b..b1cf1ef 100644 --- a/src/layout/Layout.vue +++ b/src/layout/Layout.vue @@ -153,10 +153,10 @@ const lastActivePath = ref(""); // 初始化+监听路由变化,更新最后有效路径 watch( - () => route.path, // 监听当前路由路径变化 - (newPath) => { + [() => route.path, validMenuIndexes], + ([newPath, newIndexes]) => { // 如果新路由是侧边栏有效路径,更新,否则不跟新 - if (validMenuIndexes.value.includes(newPath)) { + if (newIndexes.includes(newPath)) { lastActivePath.value = newPath; } }, diff --git a/src/views/PlatformData/UserOverview.vue b/src/views/PlatformData/UserOverview.vue index cbeb848..c8319d8 100644 --- a/src/views/PlatformData/UserOverview.vue +++ b/src/views/PlatformData/UserOverview.vue @@ -1,14 +1,559 @@