Преглед на файлове

style(runScreen): 优化数据卡片和模块标题的样式布局

- 重构模块标题样式,使其更突出
- 调整数据卡片布局,改进数值显示方式
- 优化响应式设计,提升移动端显示效果
huoyi преди 1 месец
родител
ревизия
6fd007fedd
променени са 1 файла, в които са добавени 201 реда и са изтрити 157 реда
  1. 201 157
      src/views/runData/runScreen/index.vue

+ 201 - 157
src/views/runData/runScreen/index.vue

@@ -6,144 +6,165 @@
6 6
     </div>
7 7
 
8 8
     <!-- 模块一:运行数据 -->
9
-    <div class="module-section">
9
+    <div class="module-title-wrapper">
10 10
       <div class="module-title">模块一:运行数据</div>
11
-      
12
-      <!-- 第一行 -->
13
-      <el-row :gutter="20" class="row-margin">
14
-        <!-- 左边50%:两个div -->
15
-        <el-col :span="12">
16
-          <el-row :gutter="20">
17
-            <el-col :span="12">
18
-              <div class="data-card">
19
-                <div class="card-title">旅检过检总人数</div>
20
-                <div class="card-value">{{ runData.travelInspectionTotal }}人</div>
11
+    </div>
12
+
13
+
14
+
15
+    <!-- 第一行 -->
16
+    <el-row :gutter="20" class="row-margin">
17
+      <!-- 左边50%:两个div -->
18
+      <el-col :span="12">
19
+        <el-row :gutter="20" style="height: 100%;">
20
+          <el-col :span="12">
21
+            <div class="data-card">
22
+              <div class="card-title">旅检过检总人数</div>
23
+              <div class="card-value-wrapper" style="color: #E8B140;">
24
+                <span class="card-value">{{ runData.travelInspectionTotal }}</span>
25
+                <span class="card-unit">人</span>
21 26
               </div>
22
-            </el-col>
23
-            <el-col :span="12">
24
-              <div class="data-card">
25
-                <div class="card-title">行检过检总行李数</div>
26
-                <div class="card-value">{{ runData.luggageInspectionTotal }}件</div>
27
+            </div>
28
+          </el-col>
29
+          <el-col :span="12">
30
+            <div class="data-card">
31
+              <div class="card-title">行检过检总行李数</div>
32
+              <div class="card-value-wrapper" style="color: #26B6BE;">
33
+                <span class="card-value">{{ runData.luggageInspectionTotal }}</span>
34
+                <span class="card-unit">件</span>
27 35
               </div>
28
-            </el-col>
29
-          </el-row>
30
-        </el-col>
31
-        <!-- 右边50%:T1旅检过检人数折线图 -->
32
-        <el-col :span="12">
33
-          <div class="chart-card">
34
-            <div class="chart-title">T1旅检过检人数</div>
35
-            <div ref="t1TravelChart" class="chart-container"></div>
36
-          </div>
37
-        </el-col>
38
-      </el-row>
39
-
40
-      <!-- 第二行 -->
41
-      <el-row :gutter="20" class="row-margin">
42
-        <el-col :span="12">
43
-          <div class="chart-card">
44
-            <div class="chart-title">T2旅检过检人数</div>
45
-            <div ref="t2TravelChart" class="chart-container"></div>
46
-          </div>
47
-        </el-col>
48
-        <el-col :span="12">
49
-          <div class="chart-card">
50
-            <div class="chart-title">行检过检数</div>
51
-            <div ref="luggageChart" class="chart-container"></div>
52
-          </div>
53
-        </el-col>
54
-      </el-row>
55
-
56
-      <!-- 第三行 -->
57
-      <el-row :gutter="20" class="row-margin">
58
-        <el-col :span="8">
59
-          <div class="data-card">
60
-            <div class="card-title">国内货站总过检数</div>
61
-            <div class="card-value">{{ runData.domesticCargoTotal }}件</div>
62
-          </div>
63
-        </el-col>
64
-        <el-col :span="8">
65
-          <div class="data-card">
66
-            <div class="card-title">国际货站总过检数</div>
67
-            <div class="card-value">{{ runData.internationalCargoTotal }}件</div>
68
-          </div>
69
-        </el-col>
70
-        <el-col :span="8">
71
-          <div class="data-card">
72
-            <div class="card-title">道口车辆过检数</div>
73
-            <div class="card-value">{{ runData.vehicleInspectionTotal }}辆</div>
36
+            </div>
37
+          </el-col>
38
+        </el-row>
39
+      </el-col>
40
+      <!-- 右边50%:T1旅检过检人数折线图 -->
41
+      <el-col :span="12">
42
+        <div class="chart-card">
43
+          <div class="chart-title">T1旅检过检人数</div>
44
+          <div ref="t1TravelChart" class="chart-container"></div>
45
+        </div>
46
+      </el-col>
47
+    </el-row>
48
+
49
+    <!-- 第二行 -->
50
+    <el-row :gutter="20" class="row-margin">
51
+      <el-col :span="12">
52
+        <div class="chart-card">
53
+          <div class="chart-title">T2旅检过检人数</div>
54
+          <div ref="t2TravelChart" class="chart-container"></div>
55
+        </div>
56
+      </el-col>
57
+      <el-col :span="12">
58
+        <div class="chart-card">
59
+          <div class="chart-title">行检过检数</div>
60
+          <div ref="luggageChart" class="chart-container"></div>
61
+        </div>
62
+      </el-col>
63
+    </el-row>
64
+
65
+    <!-- 第三行 -->
66
+    <el-row :gutter="20" class="row-margin">
67
+      <el-col :span="8">
68
+        <div class="data-card">
69
+          <div class="card-title">国内货站总过检数</div>
70
+          <div class="card-value-wrapper" style="color: #E8B140;padding: 30px;">
71
+            <span class="card-value">{{ runData.domesticCargoTotal }}</span>
72
+            <span class="card-unit">件</span>
74 73
           </div>
75
-        </el-col>
76
-      </el-row>
77
-
78
-      <!-- 第四行 -->
79
-      <el-row :gutter="20" class="row-margin">
80
-        <el-col :span="12">
81
-          <div class="chart-card">
82
-            <div class="chart-title">货物过检数</div>
83
-            <div ref="cargoChart" class="chart-container"></div>
74
+        </div>
75
+      </el-col>
76
+      <el-col :span="8">
77
+        <div class="data-card">
78
+          <div class="card-title">国际货站总过检数</div>
79
+          <div class="card-value-wrapper" style="color: #26B6BE;padding: 30px;">
80
+            <span class="card-value">{{ runData.internationalCargoTotal }}</span>
81
+            <span class="card-unit">件</span>
84 82
           </div>
85
-        </el-col>
86
-        <el-col :span="12">
87
-          <div class="chart-card">
88
-            <div class="chart-title">车辆过检数</div>
89
-            <div ref="vehicleChart" class="chart-container"></div>
83
+        </div>
84
+      </el-col>
85
+      <el-col :span="8">
86
+        <div class="data-card">
87
+          <div class="card-title">道口车辆过检数</div>
88
+          <div class="card-value-wrapper" style="color: #5680C9;padding: 30px;">
89
+            <span class="card-value">{{ runData.vehicleInspectionTotal }}</span>
90
+            <span class="card-unit">辆</span>
90 91
           </div>
91
-        </el-col>
92
-      </el-row>
93
-    </div>
92
+        </div>
93
+      </el-col>
94
+    </el-row>
95
+
96
+    <!-- 第四行 -->
97
+    <el-row :gutter="20" class="row-margin">
98
+      <el-col :span="12">
99
+        <div class="chart-card">
100
+          <div class="chart-title">货物过检数</div>
101
+          <div ref="cargoChart" class="chart-container"></div>
102
+        </div>
103
+      </el-col>
104
+      <el-col :span="12">
105
+        <div class="chart-card">
106
+          <div class="chart-title">车辆过检数</div>
107
+          <div ref="vehicleChart" class="chart-container"></div>
108
+        </div>
109
+      </el-col>
110
+    </el-row>
111
+
94 112
 
95 113
     <!-- 模块二:查获/收缴数据 -->
96
-    <div class="module-section">
114
+    <div class="module-title-wrapper">
97 115
       <div class="module-title">模块二:查获/收缴数据</div>
98
-      
99
-      <!-- 第一行 -->
100
-      <el-row :gutter="20" class="row-margin">
101
-        <el-col :span="12">
102
-          <div class="chart-card">
103
-            <div class="chart-title">查获数据</div>
104
-            <div ref="seizePieChart" class="chart-container"></div>
105
-          </div>
106
-        </el-col>
107
-        <el-col :span="12">
108
-          <div class="chart-card">
109
-            <div class="chart-title">大队查获数对比图</div>
110
-            <div ref="teamSeizeBarChart" class="chart-container"></div>
111
-          </div>
112
-        </el-col>
113
-      </el-row>
114
-
115
-      <!-- 第二行 -->
116
-      <el-row :gutter="20" class="row-margin">
117
-        <el-col :span="12">
118
-          <div class="chart-card">
119
-            <div class="chart-title">T1区域各大队查获数对比图</div>
120
-            <div ref="t1TeamBarChart" class="chart-container"></div>
121
-          </div>
122
-        </el-col>
123
-        <el-col :span="12">
124
-          <div class="chart-card">
125
-            <div class="chart-title">T2区域各大队查获数对比图</div>
126
-            <div ref="t2TeamBarChart" class="chart-container"></div>
127
-          </div>
128
-        </el-col>
129
-      </el-row>
130
-
131
-      <!-- 第三行 -->
132
-      <el-row :gutter="20" class="row-margin">
133
-        <el-col :span="12">
134
-          <div class="chart-card">
135
-            <div class="chart-title">不合格充电宝劝阻数组</div>
136
-            <div ref="powerBankPieChart" class="chart-container"></div>
137
-          </div>
138
-        </el-col>
139
-        <el-col :span="12">
140
-          <div class="chart-card">
141
-            <div class="chart-title">待检区收缴禁限带物品数据表</div>
142
-            <div ref="waitingAreaPieChart" class="chart-container"></div>
143
-          </div>
144
-        </el-col>
145
-      </el-row>
146 116
     </div>
117
+
118
+
119
+
120
+    <!-- 第一行 -->
121
+    <el-row :gutter="20" class="row-margin">
122
+      <el-col :span="12">
123
+        <div class="chart-card">
124
+          <div class="chart-title">查获数据</div>
125
+          <div ref="seizePieChart" class="chart-container"></div>
126
+        </div>
127
+      </el-col>
128
+      <el-col :span="12">
129
+        <div class="chart-card">
130
+          <div class="chart-title">大队查获数对比图</div>
131
+          <div ref="teamSeizeBarChart" class="chart-container"></div>
132
+        </div>
133
+      </el-col>
134
+    </el-row>
135
+
136
+    <!-- 第二行 -->
137
+    <el-row :gutter="20" class="row-margin">
138
+      <el-col :span="12">
139
+        <div class="chart-card">
140
+          <div class="chart-title">T1区域各大队查获数对比图</div>
141
+          <div ref="t1TeamBarChart" class="chart-container"></div>
142
+        </div>
143
+      </el-col>
144
+      <el-col :span="12">
145
+        <div class="chart-card">
146
+          <div class="chart-title">T2区域各大队查获数对比图</div>
147
+          <div ref="t2TeamBarChart" class="chart-container"></div>
148
+        </div>
149
+      </el-col>
150
+    </el-row>
151
+
152
+    <!-- 第三行 -->
153
+    <el-row :gutter="20" class="row-margin">
154
+      <el-col :span="12">
155
+        <div class="chart-card">
156
+          <div class="chart-title">不合格充电宝劝阻数组</div>
157
+          <div ref="powerBankPieChart" class="chart-container"></div>
158
+        </div>
159
+      </el-col>
160
+      <el-col :span="12">
161
+        <div class="chart-card">
162
+          <div class="chart-title">待检区收缴禁限带物品数据表</div>
163
+          <div ref="waitingAreaPieChart" class="chart-container"></div>
164
+        </div>
165
+      </el-col>
166
+    </el-row>
167
+
147 168
   </div>
148 169
 </template>
149 170
 
@@ -436,7 +457,7 @@ function handleResize() {
436 457
     teamSeizeBarChartInstance, t1TeamBarChartInstance, t2TeamBarChartInstance,
437 458
     powerBankPieChartInstance, waitingAreaPieChartInstance
438 459
   ]
439
-  
460
+
440 461
   charts.forEach(chart => {
441 462
     if (chart) {
442 463
       chart.resize()
@@ -460,13 +481,13 @@ onUnmounted(() => {
460 481
     teamSeizeBarChartInstance, t1TeamBarChartInstance, t2TeamBarChartInstance,
461 482
     powerBankPieChartInstance, waitingAreaPieChartInstance
462 483
   ]
463
-  
484
+
464 485
   charts.forEach(chart => {
465 486
     if (chart) {
466 487
       chart.dispose()
467 488
     }
468 489
   })
469
-  
490
+
470 491
   window.removeEventListener('resize', handleResize)
471 492
 })
472 493
 </script>
@@ -490,21 +511,30 @@ onUnmounted(() => {
490 511
   margin: 0;
491 512
 }
492 513
 
493
-.module-section {
494
-  margin-bottom: 30px;
514
+.module-title-wrapper {
515
+  text-align: center;
516
+  width: 100%;
495 517
   background: #fff;
496 518
   border-radius: 8px;
497
-  padding: 20px;
519
+  padding: 15px 20px;
498 520
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
521
+  margin-bottom: 20px;
499 522
 }
500 523
 
501 524
 .module-title {
502 525
   font-size: 20px;
503 526
   font-weight: bold;
504 527
   color: #333;
528
+  margin: 0;
529
+}
530
+
531
+.module-section {
532
+  width: 100%;
533
+  background: #fff;
534
+  border-radius: 8px;
535
+  padding: 20px;
536
+  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
505 537
   margin-bottom: 20px;
506
-  padding-bottom: 10px;
507
-  border-bottom: 2px solid #409eff;
508 538
 }
509 539
 
510 540
 .row-margin {
@@ -512,27 +542,41 @@ onUnmounted(() => {
512 542
 }
513 543
 
514 544
 .data-card {
515
-  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
545
+  background: #fff;
516 546
   border-radius: 8px;
517
-  padding: 20px;
518
-  color: white;
519
-  text-align: center;
520
-  height: 120px;
521
-  display: flex;
522
-  flex-direction: column;
523
-  justify-content: center;
524
-  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
547
+  padding: 15px;
548
+  color: #333;
549
+  height: 100%;
550
+
551
+
552
+  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
553
+  border: 1px solid #e6e8eb;
525 554
 }
526 555
 
527 556
 .card-title {
528 557
   font-size: 16px;
529
-  margin-bottom: 10px;
530
-  opacity: 0.9;
558
+  color: #333;
559
+  font-weight: bold;
560
+  text-align: left;
561
+}
562
+
563
+.card-value-wrapper {
564
+  height: 100%;
565
+  display: flex;
566
+  flex-direction: column;
567
+  align-items: center;
568
+  justify-content: center;
531 569
 }
532 570
 
533 571
 .card-value {
534
-  font-size: 28px;
572
+  font-size: 50px;
535 573
   font-weight: bold;
574
+
575
+}
576
+
577
+.card-unit {
578
+  font-size: 16px;
579
+
536 580
 }
537 581
 
538 582
 .chart-card {
@@ -549,7 +593,7 @@ onUnmounted(() => {
549 593
   font-weight: bold;
550 594
   color: #333;
551 595
   margin-bottom: 15px;
552
-  text-align: center;
596
+  text-align: left;
553 597
 }
554 598
 
555 599
 .chart-container {
@@ -562,11 +606,11 @@ onUnmounted(() => {
562 606
   .data-card {
563 607
     height: 100px;
564 608
   }
565
-  
609
+
566 610
   .card-value {
567
-    font-size: 24px;
611
+    font-size: 30px;
568 612
   }
569
-  
613
+
570 614
   .chart-card {
571 615
     height: 250px;
572 616
   }
@@ -576,24 +620,24 @@ onUnmounted(() => {
576 620
   .run-screen-container {
577 621
     padding: 10px;
578 622
   }
579
-  
623
+
580 624
   .module-section {
581 625
     padding: 15px;
582 626
   }
583
-  
627
+
584 628
   .data-card {
585 629
     height: 80px;
586 630
     padding: 15px;
587 631
   }
588
-  
632
+
589 633
   .card-title {
590 634
     font-size: 14px;
591 635
   }
592
-  
636
+
593 637
   .card-value {
594 638
     font-size: 20px;
595 639
   }
596
-  
640
+
597 641
   .chart-card {
598 642
     height: 200px;
599 643
   }