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 @@
-
用户数据概览
+
+
+
+
+
+
+
+
+ 用户总数
+
+
154,838
+
+ 较昨日增加↑ 5.22%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
时间段查询
+
+
搜索
+
重置
+
数据导出
+
+
+
+
+
用户构成明细
+
+
+
+ {{ scope.row.type }}
+
+
+
+
+
+ {{ scope.row.dailyNew }}
+
+
+
+
+ {{ scope.row.weeklyNew }}
+
+
+
+
+ {{ scope.row.monthlyNew }}
+
+
+
+
+
+
+
+
+
新注册用户来源
+
+
+
+
+
+
+
+
+
+
+
+
+
老用户来源
+
+
+
+
+
+
+
+
+
+
+
+
+
+