diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/online.png b/src/assets/images/device/count/online.png
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/assets/images/device/count/online.png
Binary files differ
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/online.png b/src/assets/images/device/count/online.png
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/assets/images/device/count/online.png
Binary files differ
diff --git a/src/views/data/statistics/components/bottom.vue b/src/views/data/statistics/components/bottom.vue
new file mode 100644
index 0000000..ca95910
--- /dev/null
+++ b/src/views/data/statistics/components/bottom.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/online.png b/src/assets/images/device/count/online.png
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/assets/images/device/count/online.png
Binary files differ
diff --git a/src/views/data/statistics/components/bottom.vue b/src/views/data/statistics/components/bottom.vue
new file mode 100644
index 0000000..ca95910
--- /dev/null
+++ b/src/views/data/statistics/components/bottom.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/header.vue b/src/views/data/statistics/components/header.vue
new file mode 100644
index 0000000..a825816
--- /dev/null
+++ b/src/views/data/statistics/components/header.vue
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/online.png b/src/assets/images/device/count/online.png
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/assets/images/device/count/online.png
Binary files differ
diff --git a/src/views/data/statistics/components/bottom.vue b/src/views/data/statistics/components/bottom.vue
new file mode 100644
index 0000000..ca95910
--- /dev/null
+++ b/src/views/data/statistics/components/bottom.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/header.vue b/src/views/data/statistics/components/header.vue
new file mode 100644
index 0000000..a825816
--- /dev/null
+++ b/src/views/data/statistics/components/header.vue
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/imgData.ts b/src/views/data/statistics/components/imgData.ts
new file mode 100644
index 0000000..b22047f
--- /dev/null
+++ b/src/views/data/statistics/components/imgData.ts
@@ -0,0 +1,5 @@
+export const img = {
+ online: new URL('@/assets/images/device/count/online.png', import.meta.url),
+ backup: new URL('@/assets/images/device/count/backup.png', import.meta.url),
+ offline: new URL('@/assets/images/device/count/offline.png', import.meta.url),
+}
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/online.png b/src/assets/images/device/count/online.png
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/assets/images/device/count/online.png
Binary files differ
diff --git a/src/views/data/statistics/components/bottom.vue b/src/views/data/statistics/components/bottom.vue
new file mode 100644
index 0000000..ca95910
--- /dev/null
+++ b/src/views/data/statistics/components/bottom.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/header.vue b/src/views/data/statistics/components/header.vue
new file mode 100644
index 0000000..a825816
--- /dev/null
+++ b/src/views/data/statistics/components/header.vue
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/imgData.ts b/src/views/data/statistics/components/imgData.ts
new file mode 100644
index 0000000..b22047f
--- /dev/null
+++ b/src/views/data/statistics/components/imgData.ts
@@ -0,0 +1,5 @@
+export const img = {
+ online: new URL('@/assets/images/device/count/online.png', import.meta.url),
+ backup: new URL('@/assets/images/device/count/backup.png', import.meta.url),
+ offline: new URL('@/assets/images/device/count/offline.png', import.meta.url),
+}
diff --git a/src/views/data/statistics/components/layout.vue b/src/views/data/statistics/components/layout.vue
new file mode 100644
index 0000000..f8a3ad0
--- /dev/null
+++ b/src/views/data/statistics/components/layout.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/online.png b/src/assets/images/device/count/online.png
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/assets/images/device/count/online.png
Binary files differ
diff --git a/src/views/data/statistics/components/bottom.vue b/src/views/data/statistics/components/bottom.vue
new file mode 100644
index 0000000..ca95910
--- /dev/null
+++ b/src/views/data/statistics/components/bottom.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/header.vue b/src/views/data/statistics/components/header.vue
new file mode 100644
index 0000000..a825816
--- /dev/null
+++ b/src/views/data/statistics/components/header.vue
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/imgData.ts b/src/views/data/statistics/components/imgData.ts
new file mode 100644
index 0000000..b22047f
--- /dev/null
+++ b/src/views/data/statistics/components/imgData.ts
@@ -0,0 +1,5 @@
+export const img = {
+ online: new URL('@/assets/images/device/count/online.png', import.meta.url),
+ backup: new URL('@/assets/images/device/count/backup.png', import.meta.url),
+ offline: new URL('@/assets/images/device/count/offline.png', import.meta.url),
+}
diff --git a/src/views/data/statistics/components/layout.vue b/src/views/data/statistics/components/layout.vue
new file mode 100644
index 0000000..f8a3ad0
--- /dev/null
+++ b/src/views/data/statistics/components/layout.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/middle.vue b/src/views/data/statistics/components/middle.vue
new file mode 100644
index 0000000..08845ca
--- /dev/null
+++ b/src/views/data/statistics/components/middle.vue
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
diff --git a/src/assets/images/device/count/backup.png b/src/assets/images/device/count/backup.png
new file mode 100644
index 0000000..7cdc265
--- /dev/null
+++ b/src/assets/images/device/count/backup.png
Binary files differ
diff --git a/src/assets/images/device/count/offline.png b/src/assets/images/device/count/offline.png
new file mode 100644
index 0000000..9b1f055
--- /dev/null
+++ b/src/assets/images/device/count/offline.png
Binary files differ
diff --git a/src/assets/images/device/count/online.png b/src/assets/images/device/count/online.png
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/assets/images/device/count/online.png
Binary files differ
diff --git a/src/views/data/statistics/components/bottom.vue b/src/views/data/statistics/components/bottom.vue
new file mode 100644
index 0000000..ca95910
--- /dev/null
+++ b/src/views/data/statistics/components/bottom.vue
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/header.vue b/src/views/data/statistics/components/header.vue
new file mode 100644
index 0000000..a825816
--- /dev/null
+++ b/src/views/data/statistics/components/header.vue
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/imgData.ts b/src/views/data/statistics/components/imgData.ts
new file mode 100644
index 0000000..b22047f
--- /dev/null
+++ b/src/views/data/statistics/components/imgData.ts
@@ -0,0 +1,5 @@
+export const img = {
+ online: new URL('@/assets/images/device/count/online.png', import.meta.url),
+ backup: new URL('@/assets/images/device/count/backup.png', import.meta.url),
+ offline: new URL('@/assets/images/device/count/offline.png', import.meta.url),
+}
diff --git a/src/views/data/statistics/components/layout.vue b/src/views/data/statistics/components/layout.vue
new file mode 100644
index 0000000..f8a3ad0
--- /dev/null
+++ b/src/views/data/statistics/components/layout.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/components/middle.vue b/src/views/data/statistics/components/middle.vue
new file mode 100644
index 0000000..08845ca
--- /dev/null
+++ b/src/views/data/statistics/components/middle.vue
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/data/statistics/index.vue b/src/views/data/statistics/index.vue
index d2c1e55..19cfc8b 100644
--- a/src/views/data/statistics/index.vue
+++ b/src/views/data/statistics/index.vue
@@ -4,9 +4,16 @@
Date: 2025-05-28
-->
- 统计分析页面
+
+
+
+
+
+