|
1 | 1 | <template>
|
2 | 2 | <div class="min-h-full bg-gray-50">
|
3 |
| - <el-space direction="vertical" :fill="true" size="large" class="w-full p-4"> |
| 3 | + <el-space direction="vertical" :fill="true" size="small" class="w-full p-2"> |
4 | 4 | <!-- 统计卡片行 -->
|
5 |
| - <el-row :gutter="20" class="mb-6"> |
| 5 | + <el-row :gutter="16" class="mb-4"> |
6 | 6 | <el-col :span="6">
|
7 |
| - <el-card class="stat-card hover:shadow-lg transition-shadow duration-300" shadow="hover"> |
| 7 | + <el-card class="stat-card" shadow="never"> |
8 | 8 | <div class="flex flex-col">
|
9 |
| - <span class="text-gray-600 text-lg font-medium mb-2">品类数量</span> |
10 |
| - <span class="text-4xl font-bold text-blue-600 mb-4">{{ statsData.categoryTotal }}</span> |
| 9 | + <span class="text-gray-500 text-base mb-1">品类数量</span> |
| 10 | + <span class="text-3xl font-bold text-gray-700">{{ statsData.categoryTotal }}</span> |
11 | 11 | <el-divider class="my-2" />
|
12 |
| - <div class="flex items-center text-gray-500"> |
| 12 | + <div class="flex items-center text-gray-400 text-sm"> |
13 | 13 | <span>今日新增</span>
|
14 |
| - <span class="ml-2 text-green-500 text-lg">↑ 0</span> |
| 14 | + <span class="ml-1 text-green-500">↑ 0</span> |
15 | 15 | </div>
|
16 | 16 | </div>
|
17 | 17 | </el-card>
|
18 | 18 | </el-col>
|
19 | 19 | <el-col :span="6">
|
20 |
| - <el-card class="stat-card hover:shadow-lg transition-shadow duration-300" shadow="hover"> |
| 20 | + <el-card class="stat-card" shadow="never"> |
21 | 21 | <div class="flex flex-col">
|
22 |
| - <span class="text-gray-600 text-lg font-medium mb-2">产品数量</span> |
23 |
| - <span class="text-4xl font-bold text-indigo-600 mb-4">{{ statsData.productTotal }}</span> |
| 22 | + <span class="text-gray-500 text-base mb-1">产品数量</span> |
| 23 | + <span class="text-3xl font-bold text-gray-700">{{ statsData.productTotal }}</span> |
24 | 24 | <el-divider class="my-2" />
|
25 |
| - <div class="flex items-center text-gray-500"> |
| 25 | + <div class="flex items-center text-gray-400 text-sm"> |
26 | 26 | <span>今日新增</span>
|
27 |
| - <span class="ml-2 text-green-500 text-lg">↑ 0</span> |
| 27 | + <span class="ml-1 text-green-500">↑ 0</span> |
28 | 28 | </div>
|
29 | 29 | </div>
|
30 | 30 | </el-card>
|
31 | 31 | </el-col>
|
32 | 32 | <el-col :span="6">
|
33 |
| - <el-card class="stat-card hover:shadow-lg transition-shadow duration-300" shadow="hover"> |
| 33 | + <el-card class="stat-card" shadow="never"> |
34 | 34 | <div class="flex flex-col">
|
35 |
| - <span class="text-gray-600 text-lg font-medium mb-2">设备数量</span> |
36 |
| - <span class="text-4xl font-bold text-purple-600 mb-4">{{ statsData.deviceTotal }}</span> |
| 35 | + <span class="text-gray-500 text-base mb-1">设备数量</span> |
| 36 | + <span class="text-3xl font-bold text-gray-700">{{ statsData.deviceTotal }}</span> |
37 | 37 | <el-divider class="my-2" />
|
38 |
| - <div class="flex items-center text-gray-500"> |
| 38 | + <div class="flex items-center text-gray-400 text-sm"> |
39 | 39 | <span>今日新增</span>
|
40 |
| - <span class="ml-2 text-green-500 text-lg">↑ 0</span> |
| 40 | + <span class="ml-1 text-green-500">↑ 0</span> |
41 | 41 | </div>
|
42 | 42 | </div>
|
43 | 43 | </el-card>
|
44 | 44 | </el-col>
|
45 | 45 | <el-col :span="6">
|
46 |
| - <el-card class="stat-card hover:shadow-lg transition-shadow duration-300" shadow="hover"> |
| 46 | + <el-card class="stat-card" shadow="never"> |
47 | 47 | <div class="flex flex-col">
|
48 |
| - <span class="text-gray-600 text-lg font-medium mb-2">物模型消息</span> |
49 |
| - <span class="text-4xl font-bold text-teal-600 mb-4">{{ statsData.reportTotal }}</span> |
| 48 | + <span class="text-gray-500 text-base mb-1">物模型消息</span> |
| 49 | + <span class="text-3xl font-bold text-gray-700">{{ statsData.reportTotal }}</span> |
50 | 50 | <el-divider class="my-2" />
|
51 |
| - <div class="flex items-center text-gray-500"> |
| 51 | + <div class="flex items-center text-gray-400 text-sm"> |
52 | 52 | <span>今日新增</span>
|
53 |
| - <span class="ml-2 text-green-500 text-lg">↑ 0</span> |
| 53 | + <span class="ml-1 text-green-500">↑ 0</span> |
54 | 54 | </div>
|
55 | 55 | </div>
|
56 | 56 | </el-card>
|
57 | 57 | </el-col>
|
58 | 58 | </el-row>
|
59 | 59 |
|
60 | 60 | <!-- 图表行 -->
|
61 |
| - <el-row :gutter="20" class="mb-6"> |
| 61 | + <el-row :gutter="16" class="mb-4"> |
62 | 62 | <el-col :span="12">
|
63 |
| - <el-card class="h-full hover:shadow-lg transition-shadow duration-300" shadow="hover"> |
| 63 | + <el-card class="chart-card" shadow="never"> |
64 | 64 | <template #header>
|
65 | 65 | <div class="flex items-center">
|
66 |
| - <h3 class="text-lg font-semibold text-gray-700">设备数量统计</h3> |
| 66 | + <span class="text-base font-medium text-gray-600">设备数量统计</span> |
67 | 67 | </div>
|
68 | 68 | </template>
|
69 |
| - <div ref="chartDeviceNumStat" class="h-[300px]" ></div> |
| 69 | + <div ref="chartDeviceNumStat" class="h-[240px]"></div> |
70 | 70 | </el-card>
|
71 | 71 | </el-col>
|
72 | 72 | <el-col :span="12">
|
73 |
| - <el-card class="h-full hover:shadow-lg transition-shadow duration-300" shadow="hover"> |
| 73 | + <el-card class="chart-card" shadow="never"> |
74 | 74 | <template #header>
|
75 | 75 | <div class="flex items-center">
|
76 |
| - <h3 class="text-lg font-semibold text-gray-700">设备状态统计</h3> |
| 76 | + <span class="text-base font-medium text-gray-600">设备状态统计</span> |
77 | 77 | </div>
|
78 | 78 | </template>
|
79 |
| - <el-row class="h-[300px]"> |
| 79 | + <el-row class="h-[240px]"> |
80 | 80 | <el-col :span="8" class="flex flex-col items-center">
|
81 |
| - <div ref="chartDeviceOnline" class="h-[200px] w-full" ></div> |
82 |
| - <div class="text-center mt-4"> |
83 |
| - <span class="text-sm font-medium text-green-600">在线设备</span> |
| 81 | + <div ref="chartDeviceOnline" class="h-[160px] w-full"></div> |
| 82 | + <div class="text-center mt-2"> |
| 83 | + <span class="text-sm text-gray-600">在线设备</span> |
84 | 84 | </div>
|
85 | 85 | </el-col>
|
86 | 86 | <el-col :span="8" class="flex flex-col items-center">
|
87 |
| - <div ref="chartDeviceOffline" class="h-[200px] w-full" ></div> |
88 |
| - <div class="text-center mt-4"> |
89 |
| - <span class="text-sm font-medium text-red-600">离线设备</span> |
| 87 | + <div ref="chartDeviceOffline" class="h-[160px] w-full"></div> |
| 88 | + <div class="text-center mt-2"> |
| 89 | + <span class="text-sm text-gray-600">离线设备</span> |
90 | 90 | </div>
|
91 | 91 | </el-col>
|
92 | 92 | <el-col :span="8" class="flex flex-col items-center">
|
93 |
| - <div ref="chartDeviceActive" class="h-[200px] w-full" ></div> |
94 |
| - <div class="text-center mt-4"> |
95 |
| - <span class="text-sm font-medium text-blue-600">待激活设备</span> |
| 93 | + <div ref="chartDeviceActive" class="h-[160px] w-full"></div> |
| 94 | + <div class="text-center mt-2"> |
| 95 | + <span class="text-sm text-gray-600">待激活设备</span> |
96 | 96 | </div>
|
97 | 97 | </el-col>
|
98 | 98 | </el-row>
|
|
103 | 103 | <!-- 消息统计行 -->
|
104 | 104 | <el-row>
|
105 | 105 | <el-col :span="24">
|
106 |
| - <el-card class="hover:shadow-lg transition-shadow duration-300" shadow="hover"> |
| 106 | + <el-card class="chart-card" shadow="never"> |
107 | 107 | <template #header>
|
108 | 108 | <div class="flex items-center">
|
109 |
| - <h3 class="text-lg font-semibold text-gray-700">消息量统计</h3> |
| 109 | + <span class="text-base font-medium text-gray-600">消息量统计</span> |
110 | 110 | </div>
|
111 | 111 | </template>
|
112 |
| - <div ref="chartMsgStat" class="h-[400px]" ></div> |
| 112 | + <div ref="chartMsgStat" class="h-[300px]"></div> |
113 | 113 | </el-card>
|
114 | 114 | </el-col>
|
115 | 115 | </el-row>
|
@@ -385,18 +385,41 @@ onMounted(() => {
|
385 | 385 |
|
386 | 386 | <style lang="scss" scoped>
|
387 | 387 | .stat-card {
|
388 |
| - @apply bg-white rounded-lg overflow-hidden; |
| 388 | + @apply bg-white rounded overflow-hidden; |
389 | 389 |
|
390 |
| - &:hover { |
391 |
| - @apply transform transition-transform duration-300 -translate-y-1; |
| 390 | + :deep(.el-card__body) { |
| 391 | + @apply p-3; |
| 392 | + } |
| 393 | +
|
| 394 | + .el-divider { |
| 395 | + @apply my-2; |
392 | 396 | }
|
393 | 397 | }
|
394 | 398 |
|
395 |
| -:deep(.el-card__body) { |
396 |
| - @apply p-6; |
| 399 | +.chart-card { |
| 400 | + @apply bg-white rounded overflow-hidden; |
| 401 | + |
| 402 | + :deep(.el-card__header) { |
| 403 | + @apply py-2 px-3 border-b border-gray-100 bg-white; |
| 404 | + } |
| 405 | +
|
| 406 | + :deep(.el-card__body) { |
| 407 | + @apply p-3; |
| 408 | + } |
397 | 409 | }
|
398 | 410 |
|
399 |
| -:deep(.el-card__header) { |
400 |
| - @apply p-4 border-b border-gray-200 bg-gray-50; |
| 411 | +// 修改图表配色方案,使其更加柔和 |
| 412 | +:deep(.echarts) { |
| 413 | + .tooltip { |
| 414 | + @apply bg-white/90 border border-gray-200 shadow-sm; |
| 415 | + } |
| 416 | + |
| 417 | + .axis-line { |
| 418 | + @apply text-gray-300; |
| 419 | + } |
| 420 | + |
| 421 | + .split-line { |
| 422 | + @apply text-gray-100; |
| 423 | + } |
401 | 424 | }
|
402 | 425 | </style>
|
0 commit comments