diff --git a/ui/package-lock.json b/ui/package-lock.json
index 3ebff2f..6f22bda 100644
--- a/ui/package-lock.json
+++ b/ui/package-lock.json
@@ -12,6 +12,7 @@
"element-plus": "^2.9.7",
"pinia": "^3.0.1",
"pinia-plugin-persistedstate": "^4.2.0",
+ "splitpanes": "^4.0.4",
"vue": "^3.5.13",
"vue-router": "^4.5.0"
},
@@ -4766,6 +4767,17 @@
"node": ">=0.10.0"
}
},
+ "node_modules/splitpanes": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmmirror.com/splitpanes/-/splitpanes-4.0.4.tgz",
+ "integrity": "sha512-RbysugZhjbCw5fgplvk3hOXr41stahQDtZhHVkhnnJI6H4wlGDhM2kIpbehy7v92duy9GnMa8zIhHigIV1TWtg==",
+ "funding": {
+ "url": "https://github.com/sponsors/antoniandre"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
"node_modules/std-env": {
"version": "3.9.0",
"resolved": "https://registry.npmmirror.com/std-env/-/std-env-3.9.0.tgz",
diff --git a/ui/package.json b/ui/package.json
index 755e8f0..d45a554 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -13,6 +13,7 @@
"element-plus": "^2.9.7",
"pinia": "^3.0.1",
"pinia-plugin-persistedstate": "^4.2.0",
+ "splitpanes": "^4.0.4",
"vue": "^3.5.13",
"vue-router": "^4.5.0"
},
diff --git a/ui/src/stores/user.js b/ui/src/stores/user.js
index 43e8fef..6f20b50 100644
--- a/ui/src/stores/user.js
+++ b/ui/src/stores/user.js
@@ -137,7 +137,7 @@ const userStore = defineStore(
meta: {
desc: "事件分析"
},
- component: () => import('@/views/bi/components/event.vue'),
+ component: () => import('@/views/bi/analyse/event.vue'),
},
{
path: biAnalyseRoutePath + "/analyse/retention",
@@ -145,7 +145,63 @@ const userStore = defineStore(
meta: {
desc: "留存分析"
},
- component: () => import('@/views/bi/components/retention.vue'),
+ component: () => import('@/views/bi/analyse/retention.vue'),
+ },
+ {
+ path: biAnalyseRoutePath + "/analyse/retention",
+ name: biAnalyseRoutePath + "/analyse/retention",
+ meta: {
+ desc: "漏斗分析"
+ },
+ component: () => import('@/views/bi/analyse/retention.vue'),
+ },
+ {
+ path: biAnalyseRoutePath + "/analyse/retention",
+ name: biAnalyseRoutePath + "/analyse/retention",
+ meta: {
+ desc: "间隔分析"
+ },
+ component: () => import('@/views/bi/analyse/retention.vue'),
+ },
+ {
+ path: biAnalyseRoutePath + "/analyse/retention",
+ name: biAnalyseRoutePath + "/analyse/retention",
+ meta: {
+ desc: "分布分析"
+ },
+ component: () => import('@/views/bi/analyse/retention.vue'),
+ },
+ {
+ path: biAnalyseRoutePath + "/analyse/retention",
+ name: biAnalyseRoutePath + "/analyse/retention",
+ meta: {
+ desc: "路径分析"
+ },
+ component: () => import('@/views/bi/analyse/retention.vue'),
+ },
+ {
+ path: biAnalyseRoutePath + "/analyse/retention",
+ name: biAnalyseRoutePath + "/analyse/retention",
+ meta: {
+ desc: "属性分析"
+ },
+ component: () => import('@/views/bi/analyse/retention.vue'),
+ },
+ {
+ path: biAnalyseRoutePath + "/analyse/retention",
+ name: biAnalyseRoutePath + "/analyse/retention",
+ meta: {
+ desc: "归因分析"
+ },
+ component: () => import('@/views/bi/analyse/retention.vue'),
+ },
+ {
+ path: biAnalyseRoutePath + "/analyse/retention",
+ name: biAnalyseRoutePath + "/analyse/retention",
+ meta: {
+ desc: "行为序列"
+ },
+ component: () => import('@/views/bi/analyse/retention.vue'),
},
],
},
@@ -162,7 +218,7 @@ const userStore = defineStore(
meta: {
desc: "事件分析"
},
- component: () => import('@/views/bi/components/event.vue'),
+ component: () => import('@/views/bi/analyse/event.vue'),
},
{
path: biAnalyseRoutePath + "/bi_user/retention",
@@ -170,7 +226,7 @@ const userStore = defineStore(
meta: {
desc: "留存分析"
},
- component: () => import('@/views/bi/components/retention.vue'),
+ component: () => import('@/views/bi/analyse/retention.vue'),
},
],
},
@@ -187,7 +243,7 @@ const userStore = defineStore(
meta: {
desc: "事件分析"
},
- component: () => import('@/views/bi/components/event.vue'),
+ component: () => import('@/views/bi/analyse/event.vue'),
},
{
path: biAnalyseRoutePath + "/bi_data/retention",
@@ -195,7 +251,7 @@ const userStore = defineStore(
meta: {
desc: "留存分析"
},
- component: () => import('@/views/bi/components/retention.vue'),
+ component: () => import('@/views/bi/analyse/retention.vue'),
},
],
},
diff --git a/ui/src/views/bi/analyse/components/toolbar/dateDaySelect.vue b/ui/src/views/bi/analyse/components/toolbar/dateDaySelect.vue
new file mode 100644
index 0000000..841fa92
--- /dev/null
+++ b/ui/src/views/bi/analyse/components/toolbar/dateDaySelect.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+ <
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/views/bi/analyse/event.vue b/ui/src/views/bi/analyse/event.vue
new file mode 100644
index 0000000..3f453ed
--- /dev/null
+++ b/ui/src/views/bi/analyse/event.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/views/bi/analyse/layout/analyseMainContent.vue b/ui/src/views/bi/analyse/layout/analyseMainContent.vue
new file mode 100644
index 0000000..6b0562a
--- /dev/null
+++ b/ui/src/views/bi/analyse/layout/analyseMainContent.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/views/bi/analyse/layout/analyseMainContentLeft.vue b/ui/src/views/bi/analyse/layout/analyseMainContentLeft.vue
new file mode 100644
index 0000000..c92156d
--- /dev/null
+++ b/ui/src/views/bi/analyse/layout/analyseMainContentLeft.vue
@@ -0,0 +1,13 @@
+
+
+
+
+ 左边部分
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/views/bi/analyse/layout/analyseMainContentRight.vue b/ui/src/views/bi/analyse/layout/analyseMainContentRight.vue
new file mode 100644
index 0000000..e3d18b7
--- /dev/null
+++ b/ui/src/views/bi/analyse/layout/analyseMainContentRight.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/views/bi/components/event.vue b/ui/src/views/bi/analyse/layout/analyseMainContentRightResult.vue
similarity index 83%
rename from ui/src/views/bi/components/event.vue
rename to ui/src/views/bi/analyse/layout/analyseMainContentRightResult.vue
index 542eaa1..556a8fd 100644
--- a/ui/src/views/bi/components/event.vue
+++ b/ui/src/views/bi/analyse/layout/analyseMainContentRightResult.vue
@@ -3,7 +3,7 @@
- 事件分析
+ 结果
\ No newline at end of file
diff --git a/ui/src/views/bi/analyse/layout/analyseMainHeader.vue b/ui/src/views/bi/analyse/layout/analyseMainHeader.vue
new file mode 100644
index 0000000..07018d8
--- /dev/null
+++ b/ui/src/views/bi/analyse/layout/analyseMainHeader.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/views/bi/analyse/layout/analyseMainIndex.vue b/ui/src/views/bi/analyse/layout/analyseMainIndex.vue
new file mode 100644
index 0000000..0580918
--- /dev/null
+++ b/ui/src/views/bi/analyse/layout/analyseMainIndex.vue
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ui/src/views/bi/components/retention.vue b/ui/src/views/bi/analyse/retention.vue
similarity index 100%
rename from ui/src/views/bi/components/retention.vue
rename to ui/src/views/bi/analyse/retention.vue
diff --git a/ui/src/views/bi/layout/main/index.vue b/ui/src/views/bi/layout/main/index.vue
index 54da073..4c84f18 100644
--- a/ui/src/views/bi/layout/main/index.vue
+++ b/ui/src/views/bi/layout/main/index.vue
@@ -8,17 +8,23 @@ const route = useRoute()
-
+
\ No newline at end of file