Преглед изворни кода

refactor: 整体页面样式升级为浅色主题

1.  重构所有页面组件样式,将深色背景替换为浅色白色主题
2.  统一图表文字颜色为深色系,调整边框和背景色适配浅色模式
3.  新增AI问答页面和画像管理页面,完善底部导航栏配置
4.  优化工作台应用过滤逻辑,隐藏指定画像类应用
huoyi пре 1 недеља
родитељ
комит
d5564de53a
30 измењених фајлова са 352 додато и 249 уклоњено
  1. 6 5
      src/components/SectionTitle.vue
  2. 19 8
      src/pages.json
  3. 0 0
      src/pages/ai/index.vue
  4. 4 4
      src/pages/components/AreaDistribution.vue
  5. 8 8
      src/pages/components/DailySeizureChart.vue
  6. 8 8
      src/pages/components/DeptStats.vue
  7. 7 7
      src/pages/components/GroupMemberTable.vue
  8. 4 4
      src/pages/components/InterceptionDistribution.vue
  9. 6 6
      src/pages/components/ItemDistribution.vue
  10. 5 5
      src/pages/components/MemberBasicDistribution.vue
  11. 12 12
      src/pages/components/MemberPositionDistribution.vue
  12. 9 9
      src/pages/components/PassengerChart.vue
  13. 5 4
      src/pages/components/ProfileRadar.vue
  14. 1 1
      src/pages/components/SecurityTestCharts.vue
  15. 4 4
      src/pages/components/SeizedNumAll.vue
  16. 7 8
      src/pages/components/SeizureInfo.vue
  17. 5 5
      src/pages/components/SupervisionDistribution.vue
  18. 7 7
      src/pages/components/TeamMemberTable.vue
  19. 7 7
      src/pages/components/UnsafeItemsChart.vue
  20. 7 7
      src/pages/components/UnsafePositionChart.vue
  21. 7 7
      src/pages/components/UnsafeTypesChart.vue
  22. 20 23
      src/pages/deptProfile/index.vue
  23. 29 31
      src/pages/employeeProfile/index.vue
  24. 20 23
      src/pages/groupProfile/index.vue
  25. 105 0
      src/pages/profileManage/index.vue
  26. 16 19
      src/pages/stationProfile/index.vue
  27. 22 25
      src/pages/teamProfile/index.vue
  28. 2 2
      src/pages/work/index.vue
  29. BIN
      src/static/images/tabbar/ai.png
  30. BIN
      src/static/images/tabbar/ai_.png

+ 6 - 5
src/components/SectionTitle.vue

@@ -26,11 +26,12 @@ export default {
26
 
26
 
27
 <style lang="scss" scoped>
27
 <style lang="scss" scoped>
28
 .section-wrapper {
28
 .section-wrapper {
29
-    background: rgba(45, 42, 85, 0.6);
29
+    background: #fff;
30
     border-radius: 20rpx;
30
     border-radius: 20rpx;
31
     padding: 32rpx;
31
     padding: 32rpx;
32
     margin-bottom: 24rpx;
32
     margin-bottom: 24rpx;
33
-    border: 1rpx solid rgba(167, 139, 250, 0.2);
33
+    border: 1rpx solid #e0e0e0;
34
+    box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
34
 }
35
 }
35
 
36
 
36
 .section-header {
37
 .section-header {
@@ -43,7 +44,7 @@ export default {
43
 .section-title {
44
 .section-title {
44
     font-size: 30rpx;
45
     font-size: 30rpx;
45
     font-weight: 600;
46
     font-weight: 600;
46
-    color: #A78BFA;
47
+    color: #333;
47
     position: relative;
48
     position: relative;
48
     padding-left: 16rpx;
49
     padding-left: 16rpx;
49
 
50
 
@@ -55,13 +56,13 @@ export default {
55
         transform: translateY(-50%);
56
         transform: translateY(-50%);
56
         width: 4rpx;
57
         width: 4rpx;
57
         height: 28rpx;
58
         height: 28rpx;
58
-        background: #A78BFA;
59
+        background: #60A5FA;
59
         border-radius: 2rpx;
60
         border-radius: 2rpx;
60
     }
61
     }
61
 }
62
 }
62
 
63
 
63
 .section-header-right {
64
 .section-header-right {
64
     font-size: 24rpx;
65
     font-size: 24rpx;
65
-    color: rgba(255, 255, 255, 0.5);
66
+    color: #666;
66
 }
67
 }
67
 </style>
68
 </style>

+ 19 - 8
src/pages.json

@@ -117,6 +117,12 @@
117
       }
117
       }
118
     },
118
     },
119
     {
119
     {
120
+      "path": "pages/profileManage/index",
121
+      "style": {
122
+        "navigationBarTitleText": "画像管理"
123
+      }
124
+    },
125
+    {
120
       "path": "pages/stationProfile/index",
126
       "path": "pages/stationProfile/index",
121
       "style": {
127
       "style": {
122
         "navigationBarTitleText": "站画像"
128
         "navigationBarTitleText": "站画像"
@@ -134,7 +140,7 @@
134
         "navigationBarTitleText": "班组画像"
140
         "navigationBarTitleText": "班组画像"
135
       }
141
       }
136
     },
142
     },
137
-        {
143
+    {
138
       "path": "pages/groupProfile/index",
144
       "path": "pages/groupProfile/index",
139
       "style": {
145
       "style": {
140
         "navigationBarTitleText": "小组画像"
146
         "navigationBarTitleText": "小组画像"
@@ -373,18 +379,23 @@
373
       //   "text": "首页"
379
       //   "text": "首页"
374
       // },
380
       // },
375
       {
381
       {
376
-        "pagePath": "pages/work/index",
377
-        "iconPath": "static/images/tabbar/work.png",
378
-        "selectedIconPath": "static/images/tabbar/work_.png",
379
-        "text": "工作台"
380
-      },
381
-      {
382
         "pagePath": "pages/myToDoList/index",
382
         "pagePath": "pages/myToDoList/index",
383
         "iconPath": "/static/images/tabbar/message.png",
383
         "iconPath": "/static/images/tabbar/message.png",
384
         "selectedIconPath": "/static/images/tabbar/message_.png",
384
         "selectedIconPath": "/static/images/tabbar/message_.png",
385
         "text": "消息"
385
         "text": "消息"
386
       },
386
       },
387
-      
387
+      {
388
+        "pagePath": "pages/ai/index",
389
+        "iconPath": "static/images/tabbar/ai.png",
390
+        "selectedIconPath": "static/images/tabbar/ai_.png",
391
+        "text": "AI问答"
392
+      },
393
+      {
394
+        "pagePath": "pages/work/index",
395
+        "iconPath": "static/images/tabbar/work.png",
396
+        "selectedIconPath": "static/images/tabbar/work_.png",
397
+        "text": "工作台"
398
+      },
388
       {
399
       {
389
         "pagePath": "pages/mine/index",
400
         "pagePath": "pages/mine/index",
390
         "iconPath": "static/images/tabbar/mine.png",
401
         "iconPath": "static/images/tabbar/mine.png",

+ 0 - 0
src/pages/ai/index.vue


+ 4 - 4
src/pages/components/AreaDistribution.vue

@@ -57,11 +57,11 @@ export default {
57
           data: this.chartsData.labels,
57
           data: this.chartsData.labels,
58
           axisLine: {
58
           axisLine: {
59
             lineStyle: {
59
             lineStyle: {
60
-              color: 'rgba(255, 255, 255, 0.1)'
60
+              color: 'rgba(0, 0, 0, 0.1)'
61
             }
61
             }
62
           },
62
           },
63
           axisLabel: {
63
           axisLabel: {
64
-            color: 'rgba(255, 255, 255, 0.5)',
64
+            color: '#666',
65
             fontSize: 10,
65
             fontSize: 10,
66
             // rotate: 30
66
             // rotate: 30
67
           }
67
           }
@@ -76,11 +76,11 @@ export default {
76
           },
76
           },
77
           splitLine: {
77
           splitLine: {
78
             lineStyle: {
78
             lineStyle: {
79
-              color: 'rgba(255, 255, 255, 0.05)'
79
+              color: 'rgba(0, 0, 0, 0.05)'
80
             }
80
             }
81
           },
81
           },
82
           axisLabel: {
82
           axisLabel: {
83
-            color: 'rgba(255, 255, 255, 0.5)',
83
+            color: '#666',
84
             fontSize: 10
84
             fontSize: 10
85
           }
85
           }
86
         },
86
         },

+ 8 - 8
src/pages/components/DailySeizureChart.vue

@@ -84,11 +84,11 @@ export default {
84
           data: this.chartsData.total.labels,
84
           data: this.chartsData.total.labels,
85
           axisLine: {
85
           axisLine: {
86
             lineStyle: {
86
             lineStyle: {
87
-              color: 'rgba(255, 255, 255, 0.1)'
87
+              color: 'rgba(0, 0, 0, 0.1)'
88
             }
88
             }
89
           },
89
           },
90
           axisLabel: {
90
           axisLabel: {
91
-            color: 'rgba(255, 255, 255, 0.5)',
91
+            color: '#666',
92
             fontSize: 10
92
             fontSize: 10
93
           }
93
           }
94
         },
94
         },
@@ -102,11 +102,11 @@ export default {
102
           },
102
           },
103
           splitLine: {
103
           splitLine: {
104
             lineStyle: {
104
             lineStyle: {
105
-              color: 'rgba(255, 255, 255, 0.05)'
105
+              color: 'rgba(0, 0, 0, 0.05)'
106
             }
106
             }
107
           },
107
           },
108
           axisLabel: {
108
           axisLabel: {
109
-            color: 'rgba(255, 255, 255, 0.5)',
109
+            color: '#666',
110
             fontSize: 10
110
             fontSize: 10
111
           }
111
           }
112
         },
112
         },
@@ -214,18 +214,18 @@ export default {
214
 .daily-seizure-chart {
214
 .daily-seizure-chart {
215
   .chart-section {
215
   .chart-section {
216
     margin-bottom: 32rpx;
216
     margin-bottom: 32rpx;
217
-    
217
+
218
     &:last-child {
218
     &:last-child {
219
       margin-bottom: 0;
219
       margin-bottom: 0;
220
     }
220
     }
221
   }
221
   }
222
-  
222
+
223
   .sub-title {
223
   .sub-title {
224
     font-size: 24rpx;
224
     font-size: 24rpx;
225
-    color: rgba(255, 255, 255, 0.5);
225
+    color: #666;
226
     margin-bottom: 16rpx;
226
     margin-bottom: 16rpx;
227
   }
227
   }
228
-  
228
+
229
   .chart-container {
229
   .chart-container {
230
     height:400rpx;
230
     height:400rpx;
231
   }
231
   }

+ 8 - 8
src/pages/components/DeptStats.vue

@@ -55,11 +55,12 @@ export default {
55
     align-items: center;
55
     align-items: center;
56
     justify-content: center;
56
     justify-content: center;
57
     padding: 24rpx 16rpx;
57
     padding: 24rpx 16rpx;
58
-    background: linear-gradient(135deg, rgba(33, 33, 58, 0.95), rgba(15, 70, 250, 0.2));
58
+    background: linear-gradient(135deg, #f5f7fa, #e8ecf1);
59
     border-radius: 16rpx;
59
     border-radius: 16rpx;
60
-    border: 1rpx solid rgba(159, 3, 193, 0.3);
60
+    border: 1rpx solid #e0e0e0;
61
     position: relative;
61
     position: relative;
62
     overflow: hidden;
62
     overflow: hidden;
63
+    box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
63
 
64
 
64
     &::before {
65
     &::before {
65
         content: '';
66
         content: '';
@@ -68,7 +69,7 @@ export default {
68
         left: 0;
69
         left: 0;
69
         right: 0;
70
         right: 0;
70
         height: 2rpx;
71
         height: 2rpx;
71
-        background: linear-gradient(90deg, #0f46fa, transparent);
72
+        background: linear-gradient(90deg, #60A5FA, transparent);
72
     }
73
     }
73
 
74
 
74
     &::after {
75
     &::after {
@@ -78,21 +79,20 @@ export default {
78
         right: 0;
79
         right: 0;
79
         left: 0;
80
         left: 0;
80
         height: 2rpx;
81
         height: 2rpx;
81
-        background: linear-gradient(90deg, transparent, #9903C1);
82
+        background: linear-gradient(90deg, transparent, #A78BFA);
82
     }
83
     }
83
 }
84
 }
84
 
85
 
85
 .stat-value {
86
 .stat-value {
86
     font-size: 36rpx;
87
     font-size: 36rpx;
87
     font-weight: bold;
88
     font-weight: bold;
88
-    color: #fff;
89
-    text-shadow: 0 0 12rpx rgba(15, 70, 250, 0.8);
89
+    color: #333;
90
     line-height: 1;
90
     line-height: 1;
91
 }
91
 }
92
 
92
 
93
 .stat-label {
93
 .stat-label {
94
     font-size: 20rpx;
94
     font-size: 20rpx;
95
-    color: #a0c4ff;
95
+    color: #666;
96
     margin-top: 8rpx;
96
     margin-top: 8rpx;
97
 }
97
 }
98
 
98
 
@@ -102,7 +102,7 @@ export default {
102
     .dept-name {
102
     .dept-name {
103
         font-size: 28rpx;
103
         font-size: 28rpx;
104
         font-weight: bold;
104
         font-weight: bold;
105
-        color: #fff;
105
+        color: #333;
106
         text-align: center;
106
         text-align: center;
107
     }
107
     }
108
 }
108
 }

+ 7 - 7
src/pages/components/GroupMemberTable.vue

@@ -52,25 +52,25 @@ export default {
52
   .table-scroll {
52
   .table-scroll {
53
     width: 100%;
53
     width: 100%;
54
   }
54
   }
55
-  
55
+
56
   .data-table {
56
   .data-table {
57
     width: 100%;
57
     width: 100%;
58
     font-size: 24rpx;
58
     font-size: 24rpx;
59
     border-collapse: collapse;
59
     border-collapse: collapse;
60
-    
60
+
61
     th, td {
61
     th, td {
62
       padding: 16rpx 8rpx;
62
       padding: 16rpx 8rpx;
63
       text-align: left;
63
       text-align: left;
64
       white-space: nowrap;
64
       white-space: nowrap;
65
     }
65
     }
66
-    
66
+
67
     th {
67
     th {
68
-      color: rgba(255, 255, 255, 0.5);
69
-      border-bottom: 1rpx solid rgba(255, 255, 255, 0.1);
68
+      color: #666;
69
+      border-bottom: 1rpx solid #e0e0e0;
70
     }
70
     }
71
-    
71
+
72
     td {
72
     td {
73
-      color: rgba(255, 255, 255, 0.9);
73
+      color: #333;
74
     }
74
     }
75
   }
75
   }
76
 }
76
 }

+ 4 - 4
src/pages/components/InterceptionDistribution.vue

@@ -57,11 +57,11 @@ export default {
57
                     axisTick: { show: false },
57
                     axisTick: { show: false },
58
                     splitLine: {
58
                     splitLine: {
59
                         lineStyle: {
59
                         lineStyle: {
60
-                            color: 'rgba(255, 255, 255, 0.05)'
60
+                            color: 'rgba(0, 0, 0, 0.05)'
61
                         }
61
                         }
62
                     },
62
                     },
63
                     axisLabel: {
63
                     axisLabel: {
64
-                        color: 'rgba(255, 255, 255, 0.5)',
64
+                        color: '#666',
65
                         fontSize: 9
65
                         fontSize: 9
66
                     }
66
                     }
67
                 },
67
                 },
@@ -72,11 +72,11 @@ export default {
72
                     axisTick: { show: false },
72
                     axisTick: { show: false },
73
                     splitLine: {
73
                     splitLine: {
74
                         lineStyle: {
74
                         lineStyle: {
75
-                            color: 'rgba(255, 255, 255, 0.05)'
75
+                            color: 'rgba(0, 0, 0, 0.05)'
76
                         }
76
                         }
77
                     },
77
                     },
78
                     axisLabel: {
78
                     axisLabel: {
79
-                        color: 'rgba(255, 255, 255, 0.6)',
79
+                        color: '#666',
80
                         fontSize: 9,
80
                         fontSize: 9,
81
                         formatter: function (value) {
81
                         formatter: function (value) {
82
                             return value.length > 5 ? value.substring(0, 6) + '...' : value
82
                             return value.length > 5 ? value.substring(0, 6) + '...' : value

+ 6 - 6
src/pages/components/ItemDistribution.vue

@@ -68,7 +68,7 @@ export default {
68
           },
68
           },
69
           label: {
69
           label: {
70
             show: true,
70
             show: true,
71
-            color: 'rgba(255, 255, 255, 0.7)',
71
+            color: '#333',
72
             fontSize: 10,
72
             fontSize: 10,
73
             formatter: '{b}\n{d}%'
73
             formatter: '{b}\n{d}%'
74
           }
74
           }
@@ -88,28 +88,28 @@ export default {
88
   .chart-container {
88
   .chart-container {
89
     height: 300rpx;
89
     height: 300rpx;
90
   }
90
   }
91
-  
91
+
92
   .legend-grid {
92
   .legend-grid {
93
     display: grid;
93
     display: grid;
94
     grid-template-columns: repeat(2, 1fr);
94
     grid-template-columns: repeat(2, 1fr);
95
     gap: 8rpx;
95
     gap: 8rpx;
96
     margin-top: 16rpx;
96
     margin-top: 16rpx;
97
   }
97
   }
98
-  
98
+
99
   .legend-item {
99
   .legend-item {
100
     display: flex;
100
     display: flex;
101
     align-items: center;
101
     align-items: center;
102
     font-size: 24rpx;
102
     font-size: 24rpx;
103
-    
103
+
104
     .legend-dot {
104
     .legend-dot {
105
       width: 12rpx;
105
       width: 12rpx;
106
       height: 12rpx;
106
       height: 12rpx;
107
       border-radius: 50%;
107
       border-radius: 50%;
108
       margin-right: 8rpx;
108
       margin-right: 8rpx;
109
     }
109
     }
110
-    
110
+
111
     .legend-text {
111
     .legend-text {
112
-      color: rgba(255, 255, 255, 0.7);
112
+      color: #666;
113
     }
113
     }
114
   }
114
   }
115
 }
115
 }

+ 5 - 5
src/pages/components/MemberBasicDistribution.vue

@@ -86,7 +86,7 @@ export default {
86
           },
86
           },
87
           label: {
87
           label: {
88
             show: true,
88
             show: true,
89
-            color: 'rgba(255, 255, 255, 0.7)',
89
+            color: '#333',
90
             fontSize: 10,
90
             fontSize: 10,
91
             formatter: '{b}\n{d}%'
91
             formatter: '{b}\n{d}%'
92
           }
92
           }
@@ -168,19 +168,19 @@ export default {
168
     flex-direction: column;
168
     flex-direction: column;
169
     gap: 32rpx;
169
     gap: 32rpx;
170
   }
170
   }
171
-  
171
+
172
   .chart-item {
172
   .chart-item {
173
     display: flex;
173
     display: flex;
174
     align-items: center;
174
     align-items: center;
175
     gap: 24rpx;
175
     gap: 24rpx;
176
-    
176
+
177
     .chart-label {
177
     .chart-label {
178
       width: 160rpx;
178
       width: 160rpx;
179
       flex-shrink: 0;
179
       flex-shrink: 0;
180
       font-size: 24rpx;
180
       font-size: 24rpx;
181
-      color: rgba(255, 255, 255, 0.5);
181
+      color: #666;
182
     }
182
     }
183
-    
183
+
184
     .chart-container {
184
     .chart-container {
185
       flex: 1;
185
       flex: 1;
186
       height:250rpx;
186
       height:250rpx;

+ 12 - 12
src/pages/components/MemberPositionDistribution.vue

@@ -80,11 +80,11 @@ export default {
80
           data: this.chartsData.qualification.labels,
80
           data: this.chartsData.qualification.labels,
81
           axisLine: {
81
           axisLine: {
82
             lineStyle: {
82
             lineStyle: {
83
-              color: 'rgba(255, 255, 255, 0.1)'
83
+              color: 'rgba(0, 0, 0, 0.1)'
84
             }
84
             }
85
           },
85
           },
86
           axisLabel: {
86
           axisLabel: {
87
-            color: 'rgba(255, 255, 255, 0.5)',
87
+            color: '#666',
88
             fontSize: 10
88
             fontSize: 10
89
           }
89
           }
90
         },
90
         },
@@ -98,11 +98,11 @@ export default {
98
           },
98
           },
99
           splitLine: {
99
           splitLine: {
100
             lineStyle: {
100
             lineStyle: {
101
-              color: 'rgba(255, 255, 255, 0.05)'
101
+              color: 'rgba(0, 0, 0, 0.05)'
102
             }
102
             }
103
           },
103
           },
104
           axisLabel: {
104
           axisLabel: {
105
-            color: 'rgba(255, 255, 255, 0.5)',
105
+            color: '#666',
106
             fontSize: 10
106
             fontSize: 10
107
           }
107
           }
108
         },
108
         },
@@ -145,11 +145,11 @@ export default {
145
           data: this.chartsData.experience.labels,
145
           data: this.chartsData.experience.labels,
146
           axisLine: {
146
           axisLine: {
147
             lineStyle: {
147
             lineStyle: {
148
-              color: 'rgba(255, 255, 255, 0.1)'
148
+              color: 'rgba(0, 0, 0, 0.1)'
149
             }
149
             }
150
           },
150
           },
151
           axisLabel: {
151
           axisLabel: {
152
-            color: 'rgba(255, 255, 255, 0.5)',
152
+            color: '#666',
153
             fontSize: 10
153
             fontSize: 10
154
           }
154
           }
155
         },
155
         },
@@ -163,11 +163,11 @@ export default {
163
           },
163
           },
164
           splitLine: {
164
           splitLine: {
165
             lineStyle: {
165
             lineStyle: {
166
-              color: 'rgba(255, 255, 255, 0.05)'
166
+              color: 'rgba(0, 0, 0, 0.05)'
167
             }
167
             }
168
           },
168
           },
169
           axisLabel: {
169
           axisLabel: {
170
-            color: 'rgba(255, 255, 255, 0.5)',
170
+            color: '#666',
171
             fontSize: 10
171
             fontSize: 10
172
           }
172
           }
173
         },
173
         },
@@ -210,11 +210,11 @@ export default {
210
           data: this.chartsData.position.labels,
210
           data: this.chartsData.position.labels,
211
           axisLine: {
211
           axisLine: {
212
             lineStyle: {
212
             lineStyle: {
213
-              color: 'rgba(255, 255, 255, 0.1)'
213
+              color: 'rgba(0, 0, 0, 0.1)'
214
             }
214
             }
215
           },
215
           },
216
           axisLabel: {
216
           axisLabel: {
217
-            color: 'rgba(255, 255, 255, 0.5)',
217
+            color: '#666',
218
             fontSize: 10,
218
             fontSize: 10,
219
             rotate: 30,
219
             rotate: 30,
220
             margin: 15
220
             margin: 15
@@ -230,11 +230,11 @@ export default {
230
           },
230
           },
231
           splitLine: {
231
           splitLine: {
232
             lineStyle: {
232
             lineStyle: {
233
-              color: 'rgba(255, 255, 255, 0.05)'
233
+              color: 'rgba(0, 0, 0, 0.05)'
234
             }
234
             }
235
           },
235
           },
236
           axisLabel: {
236
           axisLabel: {
237
-            color: 'rgba(255, 255, 255, 0.5)',
237
+            color: '#666',
238
             fontSize: 10
238
             fontSize: 10
239
           }
239
           }
240
         },
240
         },

+ 9 - 9
src/pages/components/PassengerChart.vue

@@ -84,11 +84,11 @@ export default {
84
           trigger: 'axis',
84
           trigger: 'axis',
85
           backgroundColor: 'rgba(30, 27, 75, 0.95)',
85
           backgroundColor: 'rgba(30, 27, 75, 0.95)',
86
           borderColor: '#A78BFA',
86
           borderColor: '#A78BFA',
87
-          textStyle: { color: '#fff' }
87
+          textStyle: { color: '#666' }
88
         },
88
         },
89
         legend: {
89
         legend: {
90
           data: [...areaNames, '人流总数'],
90
           data: [...areaNames, '人流总数'],
91
-          textStyle: { color: 'rgba(255, 255, 255, 0.5)', fontSize: 10 },
91
+          textStyle: { color: '#666', fontSize: 10 },
92
           top: 0
92
           top: 0
93
         },
93
         },
94
         grid: {
94
         grid: {
@@ -100,27 +100,27 @@ export default {
100
         xAxis: {
100
         xAxis: {
101
           type: 'category',
101
           type: 'category',
102
           data: this.chartsData.labels,
102
           data: this.chartsData.labels,
103
-          axisLabel: { color: 'rgba(255, 255, 255, 0.5)', fontSize: 10 },
104
-          axisLine: { lineStyle: { color: 'rgba(255, 255, 255, 0.1)' } }
103
+          axisLabel: { color: '#666', fontSize: 10 },
104
+          axisLine: { lineStyle: { color: 'rgba(0, 0, 0, 0.1)' } }
105
         },
105
         },
106
         yAxis: [
106
         yAxis: [
107
           {
107
           {
108
             type: 'value',
108
             type: 'value',
109
             name: '人数',
109
             name: '人数',
110
-            nameTextStyle: { color: 'rgba(255, 255, 255, 0.5)', fontSize: 10 },
110
+            nameTextStyle: { color: '#666', fontSize: 10 },
111
             position: 'left',
111
             position: 'left',
112
             max: Math.ceil(maxVal * 1.2),
112
             max: Math.ceil(maxVal * 1.2),
113
-            axisLabel: { color: 'rgba(255, 255, 255, 0.5)', fontSize: 10 },
113
+            axisLabel: { color: '#666', fontSize: 10 },
114
             axisLine: { show: false },
114
             axisLine: { show: false },
115
-            splitLine: { lineStyle: { color: 'rgba(255, 255, 255, 0.05)' } }
115
+            splitLine: { lineStyle: { color: 'rgba(0, 0, 0, 0.05)' } }
116
           },
116
           },
117
           {
117
           {
118
             type: 'value',
118
             type: 'value',
119
             name: '人流总数',
119
             name: '人流总数',
120
-            nameTextStyle: { color: 'rgba(255, 255, 255, 0.5)', fontSize: 10 },
120
+            nameTextStyle: { color: '#666', fontSize: 10 },
121
             position: 'right',
121
             position: 'right',
122
             max: Math.ceil(maxVal * 1.2),
122
             max: Math.ceil(maxVal * 1.2),
123
-            axisLabel: { color: 'rgba(255, 255, 255, 0.5)', fontSize: 10 },
123
+            axisLabel: { color: '#666', fontSize: 10 },
124
             axisLine: { show: false },
124
             axisLine: { show: false },
125
             splitLine: { show: false }
125
             splitLine: { show: false }
126
           }
126
           }

+ 5 - 4
src/pages/components/ProfileRadar.vue

@@ -186,7 +186,7 @@ export default {
186
         display: flex;
186
         display: flex;
187
         align-items: center;
187
         align-items: center;
188
         justify-content: center;
188
         justify-content: center;
189
-        color: rgba(255, 255, 255, 0.5);
189
+        color: #999;
190
         font-size: 28rpx;
190
         font-size: 28rpx;
191
     }
191
     }
192
 
192
 
@@ -208,7 +208,7 @@ export default {
208
             font-size: 24rpx;
208
             font-size: 24rpx;
209
 
209
 
210
             .item-label {
210
             .item-label {
211
-                color: rgba(160, 196, 255, 0.9);
211
+                color: #333;
212
             }
212
             }
213
 
213
 
214
             .progress-row {
214
             .progress-row {
@@ -219,7 +219,7 @@ export default {
219
                 .progress-bar {
219
                 .progress-bar {
220
                     flex: 1;
220
                     flex: 1;
221
                     height: 10rpx;
221
                     height: 10rpx;
222
-                    background: rgba(255, 255, 255, 0.1);
222
+                    background: #f0f0f0;
223
                     border-radius: 0;
223
                     border-radius: 0;
224
                     overflow: visible;
224
                     overflow: visible;
225
 
225
 
@@ -237,6 +237,7 @@ export default {
237
                             width: 6rpx;
237
                             width: 6rpx;
238
                             height: 18rpx;
238
                             height: 18rpx;
239
                             background: #fff;
239
                             background: #fff;
240
+                            border: 2rpx solid currentColor;
240
                             border-radius: 4rpx;
241
                             border-radius: 4rpx;
241
                         }
242
                         }
242
                     }
243
                     }
@@ -245,7 +246,7 @@ export default {
245
                 .item-value {
246
                 .item-value {
246
                     width: 80rpx;
247
                     width: 80rpx;
247
                     text-align: right;
248
                     text-align: right;
248
-                    color: #fff;
249
+                    color: #333;
249
                     font-weight: bold;
250
                     font-weight: bold;
250
                     font-size: 24rpx;
251
                     font-size: 24rpx;
251
                 }
252
                 }

+ 1 - 1
src/pages/components/SecurityTestCharts.vue

@@ -94,7 +94,7 @@ export default {
94
           },
94
           },
95
           label: {
95
           label: {
96
             show: true,
96
             show: true,
97
-            color: 'rgba(255, 255, 255, 0.7)',
97
+            color: '#333',
98
             fontSize: 10,
98
             fontSize: 10,
99
             formatter: '{b}\n{d}%'
99
             formatter: '{b}\n{d}%'
100
           }
100
           }

+ 4 - 4
src/pages/components/SeizedNumAll.vue

@@ -54,11 +54,11 @@ export default {
54
                     data: this.chartsData.map(item => item.recordDate),
54
                     data: this.chartsData.map(item => item.recordDate),
55
                     axisLine: {
55
                     axisLine: {
56
                         lineStyle: {
56
                         lineStyle: {
57
-                            color: 'rgba(255, 255, 255, 0.1)'
57
+                            color: 'rgba(0, 0, 0, 0.1)'
58
                         }
58
                         }
59
                     },
59
                     },
60
                     axisLabel: {
60
                     axisLabel: {
61
-                        color: 'rgba(255, 255, 255, 0.5)',
61
+                        color: '#666',
62
                         fontSize: 9,
62
                         fontSize: 9,
63
                         rotate: 30
63
                         rotate: 30
64
                     }
64
                     }
@@ -69,11 +69,11 @@ export default {
69
                     axisTick: { show: false },
69
                     axisTick: { show: false },
70
                     splitLine: {
70
                     splitLine: {
71
                         lineStyle: {
71
                         lineStyle: {
72
-                            color: 'rgba(255, 255, 255, 0.05)'
72
+                            color: 'rgba(0, 0, 0, 0.05)'
73
                         }
73
                         }
74
                     },
74
                     },
75
                     axisLabel: {
75
                     axisLabel: {
76
-                        color: 'rgba(255, 255, 255, 0.5)',
76
+                        color: '#666',
77
                         fontSize: 9
77
                         fontSize: 9
78
                     }
78
                     }
79
                 },
79
                 },

+ 7 - 8
src/pages/components/SeizureInfo.vue

@@ -137,14 +137,13 @@ export default {
137
           data: this.chartsData.depts.labels,
137
           data: this.chartsData.depts.labels,
138
           axisLine: {
138
           axisLine: {
139
             lineStyle: {
139
             lineStyle: {
140
-              color: 'rgba(255, 255, 255, 0.1)'
140
+              color: 'rgba(0, 0, 0, 0.1)'
141
             }
141
             }
142
           },
142
           },
143
-          // axisLabel: {
144
-          //   color: 'rgba(255, 255, 255, 0.5)',
145
-          //   fontSize: 9,
146
-          //   rotate: 30
147
-          // }
143
+          axisLabel: {
144
+            color: '#666',
145
+            fontSize: 9
146
+          }
148
         },
147
         },
149
         yAxis: {
148
         yAxis: {
150
           type: 'value',
149
           type: 'value',
@@ -156,11 +155,11 @@ export default {
156
           },
155
           },
157
           splitLine: {
156
           splitLine: {
158
             lineStyle: {
157
             lineStyle: {
159
-              color: 'rgba(255, 255, 255, 0.05)'
158
+              color: 'rgba(0, 0, 0, 0.05)'
160
             }
159
             }
161
           },
160
           },
162
           axisLabel: {
161
           axisLabel: {
163
-            color: 'rgba(255, 255, 255, 0.5)',
162
+            color: '#666',
164
             fontSize: 9
163
             fontSize: 9
165
           }
164
           }
166
         },
165
         },

+ 5 - 5
src/pages/components/SupervisionDistribution.vue

@@ -54,11 +54,11 @@ export default {
54
                     data: this.chartsData.map(item => item.name),
54
                     data: this.chartsData.map(item => item.name),
55
                     axisLine: {
55
                     axisLine: {
56
                         lineStyle: {
56
                         lineStyle: {
57
-                            color: 'rgba(255, 255, 255, 0.1)'
57
+                            color: 'rgba(0, 0, 0, 0.1)'
58
                         }
58
                         }
59
                     },
59
                     },
60
                     axisLabel: {
60
                     axisLabel: {
61
-                        color: 'rgba(255, 255, 255, 0.5)',
61
+                        color: '#666',
62
                         fontSize: 9,
62
                         fontSize: 9,
63
                         rotate: 30
63
                         rotate: 30
64
                     }
64
                     }
@@ -67,18 +67,18 @@ export default {
67
                     type: 'value',
67
                     type: 'value',
68
                     name: '人数',
68
                     name: '人数',
69
                     nameTextStyle: {
69
                     nameTextStyle: {
70
-                        color: 'rgba(255, 255, 255, 0.5)',
70
+                        color: '#666',
71
                         fontSize: 9
71
                         fontSize: 9
72
                     },
72
                     },
73
                     axisLine: { show: false },
73
                     axisLine: { show: false },
74
                     axisTick: { show: false },
74
                     axisTick: { show: false },
75
                     splitLine: {
75
                     splitLine: {
76
                         lineStyle: {
76
                         lineStyle: {
77
-                            color: 'rgba(255, 255, 255, 0.05)'
77
+                            color: 'rgba(0, 0, 0, 0.05)'
78
                         }
78
                         }
79
                     },
79
                     },
80
                     axisLabel: {
80
                     axisLabel: {
81
-                        color: 'rgba(255, 255, 255, 0.5)',
81
+                        color: '#666',
82
                         fontSize: 9
82
                         fontSize: 9
83
                     }
83
                     }
84
                 },
84
                 },

+ 7 - 7
src/pages/components/TeamMemberTable.vue

@@ -48,25 +48,25 @@ export default {
48
   .table-scroll {
48
   .table-scroll {
49
     width: 100%;
49
     width: 100%;
50
   }
50
   }
51
-  
51
+
52
   .data-table {
52
   .data-table {
53
     width: 100%;
53
     width: 100%;
54
     font-size: 24rpx;
54
     font-size: 24rpx;
55
     border-collapse: collapse;
55
     border-collapse: collapse;
56
-    
56
+
57
     th, td {
57
     th, td {
58
       padding: 16rpx 8rpx;
58
       padding: 16rpx 8rpx;
59
       text-align: left;
59
       text-align: left;
60
       white-space: nowrap;
60
       white-space: nowrap;
61
     }
61
     }
62
-    
62
+
63
     th {
63
     th {
64
-      color: rgba(255, 255, 255, 0.5);
65
-      border-bottom: 1rpx solid rgba(255, 255, 255, 0.1);
64
+      color: #666;
65
+      border-bottom: 1rpx solid #e0e0e0;
66
     }
66
     }
67
-    
67
+
68
     td {
68
     td {
69
-      color: rgba(255, 255, 255, 0.9);
69
+      color: #333;
70
     }
70
     }
71
   }
71
   }
72
 }
72
 }

+ 7 - 7
src/pages/components/UnsafeItemsChart.vue

@@ -72,7 +72,7 @@ export default {
72
           },
72
           },
73
           label: {
73
           label: {
74
             show: true,
74
             show: true,
75
-            color: 'rgba(255, 255, 255, 0.7)',
75
+            color: '#333',
76
             fontSize: 10,
76
             fontSize: 10,
77
             formatter: '{b}\n{d}%'
77
             formatter: '{b}\n{d}%'
78
           }
78
           }
@@ -92,23 +92,23 @@ export default {
92
   .chart-container {
92
   .chart-container {
93
     height: 220rpx;
93
     height: 220rpx;
94
   }
94
   }
95
-  
95
+
96
   .items-list {
96
   .items-list {
97
     margin-top: 16rpx;
97
     margin-top: 16rpx;
98
   }
98
   }
99
-  
99
+
100
   .list-item {
100
   .list-item {
101
     display: flex;
101
     display: flex;
102
     justify-content: space-between;
102
     justify-content: space-between;
103
     font-size: 24rpx;
103
     font-size: 24rpx;
104
     padding: 8rpx 0;
104
     padding: 8rpx 0;
105
-    
105
+
106
     .item-name {
106
     .item-name {
107
-      color: rgba(255, 255, 255, 0.7);
107
+      color: #666;
108
     }
108
     }
109
-    
109
+
110
     .item-value {
110
     .item-value {
111
-      color: rgba(255, 255, 255, 0.9);
111
+      color: #333;
112
     }
112
     }
113
   }
113
   }
114
 }
114
 }

+ 7 - 7
src/pages/components/UnsafePositionChart.vue

@@ -63,11 +63,11 @@ export default {
63
           data: this.chartsData.positions.labels,
63
           data: this.chartsData.positions.labels,
64
           axisLine: {
64
           axisLine: {
65
             lineStyle: {
65
             lineStyle: {
66
-              color: 'rgba(255, 255, 255, 0.1)'
66
+              color: 'rgba(0, 0, 0, 0.1)'
67
             }
67
             }
68
           },
68
           },
69
           axisLabel: {
69
           axisLabel: {
70
-            color: 'rgba(255, 255, 255, 0.5)',
70
+            color: '#666',
71
             fontSize: 10,
71
             fontSize: 10,
72
             // rotate: 30
72
             // rotate: 30
73
           }
73
           }
@@ -82,11 +82,11 @@ export default {
82
           },
82
           },
83
           splitLine: {
83
           splitLine: {
84
             lineStyle: {
84
             lineStyle: {
85
-              color: 'rgba(255, 255, 255, 0.05)'
85
+              color: 'rgba(0, 0, 0, 0.05)'
86
             }
86
             }
87
           },
87
           },
88
           axisLabel: {
88
           axisLabel: {
89
-            color: 'rgba(255, 255, 255, 0.5)',
89
+            color: '#666',
90
             fontSize: 10
90
             fontSize: 10
91
           }
91
           }
92
         },
92
         },
@@ -124,14 +124,14 @@ export default {
124
   .chart-container {
124
   .chart-container {
125
     height: 240rpx;
125
     height: 240rpx;
126
   }
126
   }
127
-  
127
+
128
   .position-info {
128
   .position-info {
129
     margin-top: 16rpx;
129
     margin-top: 16rpx;
130
     text-align: center;
130
     text-align: center;
131
-    
131
+
132
     .info-text {
132
     .info-text {
133
       font-size: 24rpx;
133
       font-size: 24rpx;
134
-      color: rgba(255, 255, 255, 0.5);
134
+      color: #666;
135
     }
135
     }
136
   }
136
   }
137
 }
137
 }

+ 7 - 7
src/pages/components/UnsafeTypesChart.vue

@@ -72,7 +72,7 @@ export default {
72
           },
72
           },
73
           label: {
73
           label: {
74
             show: true,
74
             show: true,
75
-            color: 'rgba(255, 255, 255, 0.7)',
75
+            color: '#333',
76
             fontSize: 10,
76
             fontSize: 10,
77
             formatter: '{b}\n{d}%'
77
             formatter: '{b}\n{d}%'
78
           }
78
           }
@@ -92,23 +92,23 @@ export default {
92
   .chart-container {
92
   .chart-container {
93
     height: 220rpx;
93
     height: 220rpx;
94
   }
94
   }
95
-  
95
+
96
   .types-list {
96
   .types-list {
97
     margin-top: 16rpx;
97
     margin-top: 16rpx;
98
   }
98
   }
99
-  
99
+
100
   .list-item {
100
   .list-item {
101
     display: flex;
101
     display: flex;
102
     justify-content: space-between;
102
     justify-content: space-between;
103
     font-size: 24rpx;
103
     font-size: 24rpx;
104
     padding: 8rpx 0;
104
     padding: 8rpx 0;
105
-    
105
+
106
     .item-name {
106
     .item-name {
107
-      color: rgba(255, 255, 255, 0.7);
107
+      color: #666;
108
     }
108
     }
109
-    
109
+
110
     .item-value {
110
     .item-value {
111
-      color: rgba(255, 255, 255, 0.9);
111
+      color: #333;
112
     }
112
     }
113
   }
113
   }
114
 }
114
 }

+ 20 - 23
src/pages/deptProfile/index.vue

@@ -726,9 +726,9 @@ export default {
726
 </script>
726
 </script>
727
 
727
 
728
 <style lang="scss" scoped>
728
 <style lang="scss" scoped>
729
-    .dept-selector {
729
+.dept-selector {
730
     padding: 16rpx 32rpx;
730
     padding: 16rpx 32rpx;
731
-    background: rgba(30, 27, 75, 0.8);
731
+    background: #fff;
732
 }
732
 }
733
 
733
 
734
 .dept-select-trigger {
734
 .dept-select-trigger {
@@ -737,8 +737,8 @@ export default {
737
     justify-content: center;
737
     justify-content: center;
738
     gap: 12rpx;
738
     gap: 12rpx;
739
     padding: 16rpx 24rpx;
739
     padding: 16rpx 24rpx;
740
-    background: rgba(45, 42, 85, 0.8);
741
-    border: 1rpx solid rgba(167, 139, 250, 0.3);
740
+    background: #f5f5f5;
741
+    border: 1rpx solid #e0e0e0;
742
     border-radius: 50rpx;
742
     border-radius: 50rpx;
743
 }
743
 }
744
 
744
 
@@ -749,12 +749,12 @@ export default {
749
 
749
 
750
 .dept-name-text {
750
 .dept-name-text {
751
     font-size: 26rpx;
751
     font-size: 26rpx;
752
-    color: rgba(255, 255, 255, 0.9);
752
+    color: #333;
753
 }
753
 }
754
 
754
 
755
 .dept-profile-page {
755
 .dept-profile-page {
756
     min-height: 100vh;
756
     min-height: 100vh;
757
-    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
757
+    background: #fff;
758
     padding-bottom: 40rpx;
758
     padding-bottom: 40rpx;
759
 }
759
 }
760
 
760
 
@@ -762,7 +762,7 @@ export default {
762
     position: sticky;
762
     position: sticky;
763
     top: 0;
763
     top: 0;
764
     z-index: 100;
764
     z-index: 100;
765
-    background: rgba(30, 27, 75, 0.9);
765
+    background: #fff;
766
     backdrop-filter: blur(10px);
766
     backdrop-filter: blur(10px);
767
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
767
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
768
 }
768
 }
@@ -776,10 +776,7 @@ export default {
776
     .title-main {
776
     .title-main {
777
         font-size: 36rpx;
777
         font-size: 36rpx;
778
         font-weight: bold;
778
         font-weight: bold;
779
-        background: linear-gradient(90deg, #A78BFA, #60A5FA);
780
-        -webkit-background-clip: text;
781
-        -webkit-text-fill-color: transparent;
782
-        background-clip: text;
779
+        color: #fff;
783
     }
780
     }
784
 }
781
 }
785
 
782
 
@@ -796,7 +793,7 @@ export default {
796
 
793
 
797
 .time-filter {
794
 .time-filter {
798
     padding: 16rpx 32rpx;
795
     padding: 16rpx 32rpx;
799
-    background: rgba(30, 27, 75, 0.8);
796
+    background: #fff;
800
 }
797
 }
801
 
798
 
802
 .time-scroll {
799
 .time-scroll {
@@ -812,14 +809,14 @@ export default {
812
 .time-tag {
809
 .time-tag {
813
     padding: 8rpx 10rpx;
810
     padding: 8rpx 10rpx;
814
     border-radius: 50rpx;
811
     border-radius: 50rpx;
815
-    background: rgba(45, 42, 85, 0.8);
812
+    background: #f0f0f0;
816
     font-size: 24rpx;
813
     font-size: 24rpx;
817
-    color: rgba(255, 255, 255, 0.6);
814
+    color: #666;
818
     transition: all 0.3s;
815
     transition: all 0.3s;
819
 
816
 
820
     &.active {
817
     &.active {
821
-        background: #A78BFA;
822
-        color: #1E1B4B;
818
+        background: #60A5FA;
819
+        color: #fff;
823
         font-weight: 500;
820
         font-weight: 500;
824
     }
821
     }
825
 }
822
 }
@@ -830,26 +827,26 @@ export default {
830
     gap: 16rpx;
827
     gap: 16rpx;
831
     margin-top: 16rpx;
828
     margin-top: 16rpx;
832
     padding-top: 16rpx;
829
     padding-top: 16rpx;
833
-    border-top: 1rpx solid rgba(255, 255, 255, 0.1);
830
+    border-top: 1rpx solid #e0e0e0;
834
 }
831
 }
835
 
832
 
836
 .date-input {
833
 .date-input {
837
     flex: 1;
834
     flex: 1;
838
     padding: 12rpx 24rpx;
835
     padding: 12rpx 24rpx;
839
     border-radius: 12rpx;
836
     border-radius: 12rpx;
840
-    background: rgba(45, 42, 85, 0.8);
837
+    background: #f5f5f5;
841
     font-size: 24rpx;
838
     font-size: 24rpx;
842
-    color: rgba(255, 255, 255, 0.4);
839
+    color: #999;
843
     text-align: center;
840
     text-align: center;
844
 
841
 
845
     &.filled {
842
     &.filled {
846
-        color: rgba(255, 255, 255, 0.9);
843
+        color: #333;
847
     }
844
     }
848
 }
845
 }
849
 
846
 
850
 .date-separator {
847
 .date-separator {
851
     font-size: 24rpx;
848
     font-size: 24rpx;
852
-    color: rgba(255, 255, 255, 0.5);
849
+    color: #999;
853
     flex-shrink: 0;
850
     flex-shrink: 0;
854
 }
851
 }
855
 
852
 
@@ -868,8 +865,8 @@ export default {
868
     transition: all 0.3s;
865
     transition: all 0.3s;
869
 
866
 
870
     &.active {
867
     &.active {
871
-        color: #A78BFA;
872
-        border-bottom-color: #A78BFA;
868
+        color: #fff;
869
+        border-bottom-color: #fff;
873
     }
870
     }
874
 }
871
 }
875
 
872
 

+ 29 - 31
src/pages/employeeProfile/index.vue

@@ -702,7 +702,7 @@ export default {
702
 <style lang="scss" scoped>
702
 <style lang="scss" scoped>
703
 .employee-profile-page {
703
 .employee-profile-page {
704
     min-height: 100vh;
704
     min-height: 100vh;
705
-    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
705
+    background: #fff;
706
     padding-bottom: 40rpx;
706
     padding-bottom: 40rpx;
707
 }
707
 }
708
 
708
 
@@ -710,7 +710,8 @@ export default {
710
     position: sticky;
710
     position: sticky;
711
     top: 0;
711
     top: 0;
712
     z-index: 100;
712
     z-index: 100;
713
-    background: rgba(30, 27, 75, 0.9);
713
+    color: black;
714
+    background: #fff;
714
     backdrop-filter: blur(10px);
715
     backdrop-filter: blur(10px);
715
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
716
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
716
 }
717
 }
@@ -724,10 +725,7 @@ export default {
724
     .title-main {
725
     .title-main {
725
         font-size: 36rpx;
726
         font-size: 36rpx;
726
         font-weight: bold;
727
         font-weight: bold;
727
-        background: linear-gradient(90deg, #A78BFA, #60A5FA);
728
-        -webkit-background-clip: text;
729
-        -webkit-text-fill-color: transparent;
730
-        background-clip: text;
728
+        color: black;
731
     }
729
     }
732
 }
730
 }
733
 
731
 
@@ -744,7 +742,7 @@ export default {
744
 
742
 
745
 .time-filter {
743
 .time-filter {
746
     padding: 16rpx 32rpx;
744
     padding: 16rpx 32rpx;
747
-    background: rgba(30, 27, 75, 0.8);
745
+    background: #fff;
748
 }
746
 }
749
 
747
 
750
 .time-scroll {
748
 .time-scroll {
@@ -760,14 +758,14 @@ export default {
760
 .time-tag {
758
 .time-tag {
761
     padding: 8rpx 10rpx;
759
     padding: 8rpx 10rpx;
762
     border-radius: 50rpx;
760
     border-radius: 50rpx;
763
-    background: rgba(45, 42, 85, 0.8);
761
+    background: #f0f0f0;
764
     font-size: 24rpx;
762
     font-size: 24rpx;
765
-    color: rgba(255, 255, 255, 0.6);
763
+    color: #666;
766
     transition: all 0.3s;
764
     transition: all 0.3s;
767
 
765
 
768
     &.active {
766
     &.active {
769
-        background: #A78BFA;
770
-        color: #1E1B4B;
767
+        background: #60A5FA;
768
+        color: #fff;
771
         font-weight: 500;
769
         font-weight: 500;
772
     }
770
     }
773
 }
771
 }
@@ -778,32 +776,32 @@ export default {
778
     gap: 16rpx;
776
     gap: 16rpx;
779
     margin-top: 16rpx;
777
     margin-top: 16rpx;
780
     padding-top: 16rpx;
778
     padding-top: 16rpx;
781
-    border-top: 1rpx solid rgba(255, 255, 255, 0.1);
779
+    border-top: 1rpx solid #e0e0e0;
782
 }
780
 }
783
 
781
 
784
 .date-input {
782
 .date-input {
785
     flex: 1;
783
     flex: 1;
786
     padding: 12rpx 24rpx;
784
     padding: 12rpx 24rpx;
787
     border-radius: 12rpx;
785
     border-radius: 12rpx;
788
-    background: rgba(45, 42, 85, 0.8);
786
+    background: #f5f5f5;
789
     font-size: 24rpx;
787
     font-size: 24rpx;
790
-    color: rgba(255, 255, 255, 0.4);
788
+    color: #999;
791
     text-align: center;
789
     text-align: center;
792
 
790
 
793
     &.filled {
791
     &.filled {
794
-        color: rgba(255, 255, 255, 0.9);
792
+        color: #333;
795
     }
793
     }
796
 }
794
 }
797
 
795
 
798
 .date-separator {
796
 .date-separator {
799
     font-size: 24rpx;
797
     font-size: 24rpx;
800
-    color: rgba(255, 255, 255, 0.5);
798
+    color: #999;
801
     flex-shrink: 0;
799
     flex-shrink: 0;
802
 }
800
 }
803
 
801
 
804
 .search-selector {
802
 .search-selector {
805
     padding: 16rpx 32rpx;
803
     padding: 16rpx 32rpx;
806
-    background: rgba(30, 27, 75, 0.8);
804
+    background: #fff;
807
 }
805
 }
808
 
806
 
809
 .search-select-trigger {
807
 .search-select-trigger {
@@ -812,8 +810,8 @@ export default {
812
     justify-content: center;
810
     justify-content: center;
813
     gap: 12rpx;
811
     gap: 12rpx;
814
     padding: 16rpx 24rpx;
812
     padding: 16rpx 24rpx;
815
-    background: rgba(45, 42, 85, 0.8);
816
-    border: 1rpx solid rgba(167, 139, 250, 0.3);
813
+    background: #f5f5f5;
814
+    border: 1rpx solid #e0e0e0;
817
     border-radius: 50rpx;
815
     border-radius: 50rpx;
818
 }
816
 }
819
 
817
 
@@ -824,11 +822,11 @@ export default {
824
 
822
 
825
 .search-name-text {
823
 .search-name-text {
826
     font-size: 26rpx;
824
     font-size: 26rpx;
827
-    color: rgba(255, 255, 255, 0.9);
825
+    color: #333;
828
 }
826
 }
829
 
827
 
830
 .employee-picker {
828
 .employee-picker {
831
-    background: #1E1B4B;
829
+    background: #0d0d0d;
832
     display: flex;
830
     display: flex;
833
     flex-direction: column;
831
     flex-direction: column;
834
     border-radius: 16rpx 16rpx 0 0;
832
     border-radius: 16rpx 16rpx 0 0;
@@ -889,9 +887,9 @@ export default {
889
     border-bottom: 2rpx solid transparent;
887
     border-bottom: 2rpx solid transparent;
890
     transition: all 0.3s;
888
     transition: all 0.3s;
891
 
889
 
892
-    &.active {
893
-        color: #A78BFA;
894
-        border-bottom-color: #A78BFA;
890
+     &.active {
891
+        color: #fff;
892
+        border-bottom-color: #fff;
895
     }
893
     }
896
 }
894
 }
897
 
895
 
@@ -933,7 +931,7 @@ export default {
933
         width: 120rpx;
931
         width: 120rpx;
934
         height: 120rpx;
932
         height: 120rpx;
935
         border-radius: 50%;
933
         border-radius: 50%;
936
-        background: #fff;
934
+        background: #222;
937
         display: flex;
935
         display: flex;
938
         align-items: center;
936
         align-items: center;
939
         justify-content: center;
937
         justify-content: center;
@@ -949,7 +947,7 @@ export default {
949
         .avatar-placeholder {
947
         .avatar-placeholder {
950
             font-size: 48rpx;
948
             font-size: 48rpx;
951
             font-weight: bold;
949
             font-weight: bold;
952
-            color: #6f6c98;
950
+            color: #aaa;
953
         }
951
         }
954
     }
952
     }
955
 
953
 
@@ -959,7 +957,7 @@ export default {
959
 
957
 
960
         .name-label {
958
         .name-label {
961
             font-size: 26rpx;
959
             font-size: 26rpx;
962
-            color: #8675AE;
960
+            color: rgba(255, 255, 255, 0.5);
963
         }
961
         }
964
 
962
 
965
         .name-value {
963
         .name-value {
@@ -979,7 +977,7 @@ export default {
979
     .info-item {
977
     .info-item {
980
         .info-label {
978
         .info-label {
981
             font-size: 22rpx;
979
             font-size: 22rpx;
982
-            color: #8675AE;
980
+            color: rgba(255, 255, 255, 0.5);
983
             margin-bottom: 4rpx;
981
             margin-bottom: 4rpx;
984
         }
982
         }
985
 
983
 
@@ -991,9 +989,9 @@ export default {
991
                 display: inline-block;
989
                 display: inline-block;
992
                 padding: 4rpx 16rpx;
990
                 padding: 4rpx 16rpx;
993
                 margin-left: 2rpx;
991
                 margin-left: 2rpx;
994
-                background: rgba(167, 139, 250, 0.3);
992
+                background: rgba(255, 255, 255, 0.15);
995
                 border-radius: 8rpx;
993
                 border-radius: 8rpx;
996
-                color: #A78BFA;
994
+                color: #fff;
997
                 font-size: 22rpx;
995
                 font-size: 22rpx;
998
             }
996
             }
999
         }
997
         }
@@ -1021,7 +1019,7 @@ export default {
1021
 
1019
 
1022
             .score-label {
1020
             .score-label {
1023
                 font-size: 26rpx;
1021
                 font-size: 26rpx;
1024
-                color: #8675AE;
1022
+                color: rgba(255, 255, 255, 0.5);
1025
             }
1023
             }
1026
 
1024
 
1027
             .score-val {
1025
             .score-val {

+ 20 - 23
src/pages/groupProfile/index.vue

@@ -735,7 +735,7 @@ export default {
735
 <style lang="scss" scoped>
735
 <style lang="scss" scoped>
736
     .dept-selector {
736
     .dept-selector {
737
     padding: 16rpx 32rpx;
737
     padding: 16rpx 32rpx;
738
-    background: rgba(30, 27, 75, 0.8);
738
+    background: #fff;
739
 }
739
 }
740
 
740
 
741
 .dept-select-trigger {
741
 .dept-select-trigger {
@@ -744,8 +744,8 @@ export default {
744
     justify-content: center;
744
     justify-content: center;
745
     gap: 12rpx;
745
     gap: 12rpx;
746
     padding: 16rpx 24rpx;
746
     padding: 16rpx 24rpx;
747
-    background: rgba(45, 42, 85, 0.8);
748
-    border: 1rpx solid rgba(167, 139, 250, 0.3);
747
+    background: #f5f5f5;
748
+    border: 1rpx solid #e0e0e0;
749
     border-radius: 50rpx;
749
     border-radius: 50rpx;
750
 }
750
 }
751
 
751
 
@@ -756,12 +756,12 @@ export default {
756
 
756
 
757
 .dept-name-text {
757
 .dept-name-text {
758
     font-size: 26rpx;
758
     font-size: 26rpx;
759
-    color: rgba(255, 255, 255, 0.9);
759
+    color: #333;
760
 }
760
 }
761
 
761
 
762
 .dept-profile-page {
762
 .dept-profile-page {
763
     min-height: 100vh;
763
     min-height: 100vh;
764
-    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
764
+    background: #0d0d0d;
765
     padding-bottom: 40rpx;
765
     padding-bottom: 40rpx;
766
 }
766
 }
767
 
767
 
@@ -769,7 +769,7 @@ export default {
769
     position: sticky;
769
     position: sticky;
770
     top: 0;
770
     top: 0;
771
     z-index: 100;
771
     z-index: 100;
772
-    background: rgba(30, 27, 75, 0.9);
772
+    background: rgba(13, 13, 13, 0.9);
773
     backdrop-filter: blur(10px);
773
     backdrop-filter: blur(10px);
774
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
774
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
775
 }
775
 }
@@ -783,10 +783,7 @@ export default {
783
     .title-main {
783
     .title-main {
784
         font-size: 36rpx;
784
         font-size: 36rpx;
785
         font-weight: bold;
785
         font-weight: bold;
786
-        background: linear-gradient(90deg, #A78BFA, #60A5FA);
787
-        -webkit-background-clip: text;
788
-        -webkit-text-fill-color: transparent;
789
-        background-clip: text;
786
+        color: #fff;
790
     }
787
     }
791
 }
788
 }
792
 
789
 
@@ -803,7 +800,7 @@ export default {
803
 
800
 
804
 .time-filter {
801
 .time-filter {
805
     padding: 16rpx 32rpx;
802
     padding: 16rpx 32rpx;
806
-    background: rgba(30, 27, 75, 0.8);
803
+    background: #fff;
807
 }
804
 }
808
 
805
 
809
 .time-scroll {
806
 .time-scroll {
@@ -819,14 +816,14 @@ export default {
819
 .time-tag {
816
 .time-tag {
820
     padding: 8rpx 10rpx;
817
     padding: 8rpx 10rpx;
821
     border-radius: 50rpx;
818
     border-radius: 50rpx;
822
-    background: rgba(45, 42, 85, 0.8);
819
+    background: #f0f0f0;
823
     font-size: 24rpx;
820
     font-size: 24rpx;
824
-    color: rgba(255, 255, 255, 0.6);
821
+    color: #666;
825
     transition: all 0.3s;
822
     transition: all 0.3s;
826
 
823
 
827
     &.active {
824
     &.active {
828
-        background: #A78BFA;
829
-        color: #1E1B4B;
825
+        background: #60A5FA;
826
+        color: #fff;
830
         font-weight: 500;
827
         font-weight: 500;
831
     }
828
     }
832
 }
829
 }
@@ -837,26 +834,26 @@ export default {
837
     gap: 16rpx;
834
     gap: 16rpx;
838
     margin-top: 16rpx;
835
     margin-top: 16rpx;
839
     padding-top: 16rpx;
836
     padding-top: 16rpx;
840
-    border-top: 1rpx solid rgba(255, 255, 255, 0.1);
837
+    border-top: 1rpx solid #e0e0e0;
841
 }
838
 }
842
 
839
 
843
 .date-input {
840
 .date-input {
844
     flex: 1;
841
     flex: 1;
845
     padding: 12rpx 24rpx;
842
     padding: 12rpx 24rpx;
846
     border-radius: 12rpx;
843
     border-radius: 12rpx;
847
-    background: rgba(45, 42, 85, 0.8);
844
+    background: #f5f5f5;
848
     font-size: 24rpx;
845
     font-size: 24rpx;
849
-    color: rgba(255, 255, 255, 0.4);
846
+    color: #999;
850
     text-align: center;
847
     text-align: center;
851
 
848
 
852
     &.filled {
849
     &.filled {
853
-        color: rgba(255, 255, 255, 0.9);
850
+        color: #333;
854
     }
851
     }
855
 }
852
 }
856
 
853
 
857
 .date-separator {
854
 .date-separator {
858
     font-size: 24rpx;
855
     font-size: 24rpx;
859
-    color: rgba(255, 255, 255, 0.5);
856
+    color: #999;
860
     flex-shrink: 0;
857
     flex-shrink: 0;
861
 }
858
 }
862
 
859
 
@@ -874,9 +871,9 @@ export default {
874
     border-bottom: 2rpx solid transparent;
871
     border-bottom: 2rpx solid transparent;
875
     transition: all 0.3s;
872
     transition: all 0.3s;
876
 
873
 
877
-    &.active {
878
-        color: #A78BFA;
879
-        border-bottom-color: #A78BFA;
874
+     &.active {
875
+        color: #fff;
876
+        border-bottom-color: #fff;
880
     }
877
     }
881
 }
878
 }
882
 
879
 

+ 105 - 0
src/pages/profileManage/index.vue

@@ -0,0 +1,105 @@
1
+<template>
2
+  <home-container :customStyle="{ background: 'none', backgroundColor: '#f5f5f5' }">
3
+    <view class="profile-manage-container">
4
+      <view class="grid-body">
5
+        <uni-section title="画像管理" type="line" class="uni-section-custom"></uni-section>
6
+        <uni-grid :column="3" :showBorder="false">
7
+          <uni-grid-item v-for="(item, index) in items" :key="index">
8
+            <view class="grid-item-box" @click="handleGridClick(item.appUrl)">
9
+              <img alt="" :src="item.workbenchIcon">
10
+              <text class="text">{{ item.appName }}</text>
11
+            </view>
12
+          </uni-grid-item>
13
+        </uni-grid>
14
+      </view>
15
+    </view>
16
+  </home-container>
17
+</template>
18
+
19
+<script>
20
+import HomeContainer from '@/components/HomeContainer.vue'
21
+import { getAppList } from '@/api/system/user'
22
+
23
+const profileAppNames = ['站画像', '部门画像', '班组画像', '小组画像', '员工画像']
24
+
25
+export default {
26
+  components: { HomeContainer },
27
+  data() {
28
+    return {
29
+      appList: []
30
+    }
31
+  },
32
+  computed: {
33
+    items() {
34
+      return this.appList.filter(item => profileAppNames.includes(item.appName))
35
+    }
36
+  },
37
+  onLoad() {
38
+    this.loadAppList()
39
+  },
40
+  methods: {
41
+    async loadAppList() {
42
+      try {
43
+        const res = await getAppList({ homePage: 0 })
44
+        if (res.code === 200) {
45
+          this.appList = res.data || []
46
+        }
47
+      } catch (error) {
48
+        console.error('获取画像应用列表失败:', error)
49
+        this.appList = []
50
+      }
51
+    },
52
+    handleGridClick(url) {
53
+      if (!url) return
54
+      uni.navigateTo({ url })
55
+    }
56
+  }
57
+}
58
+</script>
59
+
60
+<style lang="scss" scoped>
61
+.profile-manage-container {
62
+  padding: 20rpx;
63
+  background-color: #f5f5f5;
64
+}
65
+
66
+.grid-body {
67
+  background-color: #fff;
68
+  border-radius: 16rpx;
69
+  padding: 20rpx;
70
+  box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
71
+
72
+  .uni-section-custom {
73
+    ::v-deep .uni-section-header {
74
+      padding: 12rpx 10rpx !important;
75
+    }
76
+  }
77
+}
78
+
79
+.grid-item-box {
80
+  flex: 1;
81
+  display: flex;
82
+  flex-direction: column;
83
+  align-items: center;
84
+  justify-content: center;
85
+  padding: 30rpx 0;
86
+
87
+  img {
88
+    display: inline-block;
89
+    width: 88rpx;
90
+    height: 88rpx;
91
+  }
92
+
93
+  &:active {
94
+    background-color: #f5f5f5;
95
+    border-radius: 12rpx;
96
+  }
97
+}
98
+
99
+.text {
100
+  text-align: center;
101
+  font-size: 25rpx;
102
+  margin-top: 15rpx;
103
+  color: #333;
104
+}
105
+</style>

+ 16 - 19
src/pages/stationProfile/index.vue

@@ -588,7 +588,7 @@ export default {
588
 <style lang="scss" scoped>
588
 <style lang="scss" scoped>
589
 .station-profile-page {
589
 .station-profile-page {
590
     min-height: 100vh;
590
     min-height: 100vh;
591
-    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
591
+    background: #0d0d0d;
592
     padding-bottom: 40rpx;
592
     padding-bottom: 40rpx;
593
 }
593
 }
594
 
594
 
@@ -596,7 +596,7 @@ export default {
596
     position: sticky;
596
     position: sticky;
597
     top: 0;
597
     top: 0;
598
     z-index: 100;
598
     z-index: 100;
599
-    background: rgba(30, 27, 75, 0.9);
599
+    background: rgba(13, 13, 13, 0.9);
600
     backdrop-filter: blur(10px);
600
     backdrop-filter: blur(10px);
601
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
601
     box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
602
 }
602
 }
@@ -610,10 +610,7 @@ export default {
610
     .title-main {
610
     .title-main {
611
         font-size: 36rpx;
611
         font-size: 36rpx;
612
         font-weight: bold;
612
         font-weight: bold;
613
-        background: linear-gradient(90deg, #A78BFA, #60A5FA);
614
-        -webkit-background-clip: text;
615
-        -webkit-text-fill-color: transparent;
616
-        background-clip: text;
613
+        color: #fff;
617
     }
614
     }
618
 }
615
 }
619
 
616
 
@@ -635,7 +632,7 @@ export default {
635
 
632
 
636
 .time-filter {
633
 .time-filter {
637
     padding: 16rpx 32rpx;
634
     padding: 16rpx 32rpx;
638
-    background: rgba(30, 27, 75, 0.8);
635
+    background: #fff;
639
 }
636
 }
640
 
637
 
641
 .time-scroll {
638
 .time-scroll {
@@ -651,14 +648,14 @@ export default {
651
 .time-tag {
648
 .time-tag {
652
     padding: 8rpx 10rpx;
649
     padding: 8rpx 10rpx;
653
     border-radius: 50rpx;
650
     border-radius: 50rpx;
654
-    background: rgba(45, 42, 85, 0.8);
651
+    background: #f0f0f0;
655
     font-size: 24rpx;
652
     font-size: 24rpx;
656
-    color: rgba(255, 255, 255, 0.6);
653
+    color: #666;
657
     transition: all 0.3s;
654
     transition: all 0.3s;
658
 
655
 
659
     &.active {
656
     &.active {
660
-        background: #A78BFA;
661
-        color: #1E1B4B;
657
+        background: #60A5FA;
658
+        color: #fff;
662
         font-weight: 500;
659
         font-weight: 500;
663
     }
660
     }
664
 }
661
 }
@@ -669,26 +666,26 @@ export default {
669
     gap: 16rpx;
666
     gap: 16rpx;
670
     margin-top: 16rpx;
667
     margin-top: 16rpx;
671
     padding-top: 16rpx;
668
     padding-top: 16rpx;
672
-    border-top: 1rpx solid rgba(255, 255, 255, 0.1);
669
+    border-top: 1rpx solid #e0e0e0;
673
 }
670
 }
674
 
671
 
675
 .date-input {
672
 .date-input {
676
     flex: 1;
673
     flex: 1;
677
     padding: 12rpx 24rpx;
674
     padding: 12rpx 24rpx;
678
     border-radius: 12rpx;
675
     border-radius: 12rpx;
679
-    background: rgba(45, 42, 85, 0.8);
676
+    background: #f5f5f5;
680
     font-size: 24rpx;
677
     font-size: 24rpx;
681
-    color: rgba(255, 255, 255, 0.4);
678
+    color: #999;
682
     text-align: center;
679
     text-align: center;
683
 
680
 
684
     &.filled {
681
     &.filled {
685
-        color: rgba(255, 255, 255, 0.9);
682
+        color: #333;
686
     }
683
     }
687
 }
684
 }
688
 
685
 
689
 .date-separator {
686
 .date-separator {
690
     font-size: 24rpx;
687
     font-size: 24rpx;
691
-    color: rgba(255, 255, 255, 0.5);
688
+    color: #999;
692
     flex-shrink: 0;
689
     flex-shrink: 0;
693
 }
690
 }
694
 
691
 
@@ -706,9 +703,9 @@ export default {
706
     border-bottom: 2rpx solid transparent;
703
     border-bottom: 2rpx solid transparent;
707
     transition: all 0.3s;
704
     transition: all 0.3s;
708
 
705
 
709
-    &.active {
710
-        color: #A78BFA;
711
-        border-bottom-color: #A78BFA;
706
+     &.active {
707
+        color: #fff;
708
+        border-bottom-color: #fff;
712
     }
709
     }
713
 }
710
 }
714
 
711
 

+ 22 - 25
src/pages/teamProfile/index.vue

@@ -751,7 +751,7 @@ export default {
751
 <style lang="scss" scoped>
751
 <style lang="scss" scoped>
752
 .dept-selector {
752
 .dept-selector {
753
     padding: 16rpx 32rpx;
753
     padding: 16rpx 32rpx;
754
-    background: rgba(30, 27, 75, 0.8);
754
+    background: #fff;
755
 }
755
 }
756
 
756
 
757
 .dept-select-trigger {
757
 .dept-select-trigger {
@@ -760,8 +760,8 @@ export default {
760
     justify-content: center;
760
     justify-content: center;
761
     gap: 12rpx;
761
     gap: 12rpx;
762
     padding: 16rpx 24rpx;
762
     padding: 16rpx 24rpx;
763
-    background: rgba(45, 42, 85, 0.8);
764
-    border: 1rpx solid rgba(167, 139, 250, 0.3);
763
+    background: #f5f5f5;
764
+    border: 1rpx solid #e0e0e0;
765
     border-radius: 50rpx;
765
     border-radius: 50rpx;
766
 }
766
 }
767
 
767
 
@@ -772,12 +772,12 @@ export default {
772
 
772
 
773
 .dept-name-text {
773
 .dept-name-text {
774
     font-size: 26rpx;
774
     font-size: 26rpx;
775
-    color: rgba(255, 255, 255, 0.9);
775
+    color: #333;
776
 }
776
 }
777
 
777
 
778
 .dept-profile-page {
778
 .dept-profile-page {
779
     min-height: 100vh;
779
     min-height: 100vh;
780
-    background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
780
+    background: #fff;
781
     padding-bottom: 40rpx;
781
     padding-bottom: 40rpx;
782
 }
782
 }
783
 
783
 
@@ -785,9 +785,9 @@ export default {
785
     position: sticky;
785
     position: sticky;
786
     top: 0;
786
     top: 0;
787
     z-index: 100;
787
     z-index: 100;
788
-    background: rgba(30, 27, 75, 0.9);
788
+    background: #fff;
789
     backdrop-filter: blur(10px);
789
     backdrop-filter: blur(10px);
790
-    box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2);
790
+    box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08);
791
 }
791
 }
792
 
792
 
793
 .header-title {
793
 .header-title {
@@ -799,10 +799,7 @@ export default {
799
     .title-main {
799
     .title-main {
800
         font-size: 36rpx;
800
         font-size: 36rpx;
801
         font-weight: bold;
801
         font-weight: bold;
802
-        background: linear-gradient(90deg, #A78BFA, #60A5FA);
803
-        -webkit-background-clip: text;
804
-        -webkit-text-fill-color: transparent;
805
-        background-clip: text;
802
+        color: #333;
806
     }
803
     }
807
 }
804
 }
808
 
805
 
@@ -813,13 +810,13 @@ export default {
813
 
810
 
814
     .current-time {
811
     .current-time {
815
         font-size: 24rpx;
812
         font-size: 24rpx;
816
-        color: rgba(255, 255, 255, 0.6);
813
+        color: #999;
817
     }
814
     }
818
 }
815
 }
819
 
816
 
820
 .time-filter {
817
 .time-filter {
821
     padding: 16rpx 32rpx;
818
     padding: 16rpx 32rpx;
822
-    background: rgba(30, 27, 75, 0.8);
819
+    background: #fff;
823
 }
820
 }
824
 
821
 
825
 .time-scroll {
822
 .time-scroll {
@@ -835,14 +832,14 @@ export default {
835
 .time-tag {
832
 .time-tag {
836
     padding: 8rpx 10rpx;
833
     padding: 8rpx 10rpx;
837
     border-radius: 50rpx;
834
     border-radius: 50rpx;
838
-    background: rgba(45, 42, 85, 0.8);
835
+    background: #f0f0f0;
839
     font-size: 24rpx;
836
     font-size: 24rpx;
840
-    color: rgba(255, 255, 255, 0.6);
837
+    color: #666;
841
     transition: all 0.3s;
838
     transition: all 0.3s;
842
 
839
 
843
     &.active {
840
     &.active {
844
-        background: #A78BFA;
845
-        color: #1E1B4B;
841
+        background: #60A5FA;
842
+        color: #fff;
846
         font-weight: 500;
843
         font-weight: 500;
847
     }
844
     }
848
 }
845
 }
@@ -853,26 +850,26 @@ export default {
853
     gap: 16rpx;
850
     gap: 16rpx;
854
     margin-top: 16rpx;
851
     margin-top: 16rpx;
855
     padding-top: 16rpx;
852
     padding-top: 16rpx;
856
-    border-top: 1rpx solid rgba(255, 255, 255, 0.1);
853
+    border-top: 1rpx solid #e0e0e0;
857
 }
854
 }
858
 
855
 
859
 .date-input {
856
 .date-input {
860
     flex: 1;
857
     flex: 1;
861
     padding: 12rpx 24rpx;
858
     padding: 12rpx 24rpx;
862
     border-radius: 12rpx;
859
     border-radius: 12rpx;
863
-    background: rgba(45, 42, 85, 0.8);
860
+    background: #f5f5f5;
864
     font-size: 24rpx;
861
     font-size: 24rpx;
865
-    color: rgba(255, 255, 255, 0.4);
862
+    color: #999;
866
     text-align: center;
863
     text-align: center;
867
 
864
 
868
     &.filled {
865
     &.filled {
869
-        color: rgba(255, 255, 255, 0.9);
866
+        color: #333;
870
     }
867
     }
871
 }
868
 }
872
 
869
 
873
 .date-separator {
870
 .date-separator {
874
     font-size: 24rpx;
871
     font-size: 24rpx;
875
-    color: rgba(255, 255, 255, 0.5);
872
+    color: #999;
876
     flex-shrink: 0;
873
     flex-shrink: 0;
877
 }
874
 }
878
 
875
 
@@ -885,14 +882,14 @@ export default {
885
 
882
 
886
 .tab-item {
883
 .tab-item {
887
     font-size: 28rpx;
884
     font-size: 28rpx;
888
-    color: rgba(255, 255, 255, 0.5);
885
+    color: #999;
889
     padding-bottom: 8rpx;
886
     padding-bottom: 8rpx;
890
     border-bottom: 2rpx solid transparent;
887
     border-bottom: 2rpx solid transparent;
891
     transition: all 0.3s;
888
     transition: all 0.3s;
892
 
889
 
893
     &.active {
890
     &.active {
894
-        color: #A78BFA;
895
-        border-bottom-color: #A78BFA;
891
+        color: #333;
892
+        border-bottom-color: #333;
896
     }
893
     }
897
 }
894
 }
898
 
895
 

+ 2 - 2
src/pages/work/index.vue

@@ -39,7 +39,7 @@
39
 import HomeContainer from "@/components/HomeContainer.vue";
39
 import HomeContainer from "@/components/HomeContainer.vue";
40
 import { checkRolePermission } from "@/utils/common.js";
40
 import { checkRolePermission } from "@/utils/common.js";
41
 import { getUserProfile, getAppListByRoleId,getAppList } from "@/api/system/user";
41
 import { getUserProfile, getAppListByRoleId,getAppList } from "@/api/system/user";
42
-
42
+const profileAppNames = ['站画像', '部门画像', '班组画像', '小组画像', '员工画像']
43
 export default {
43
 export default {
44
   components: { HomeContainer },
44
   components: { HomeContainer },
45
   data() {
45
   data() {
@@ -53,7 +53,7 @@ export default {
53
       return this.$store?.state?.user?.roles[0]
53
       return this.$store?.state?.user?.roles[0]
54
     },
54
     },
55
     items() {
55
     items() {
56
-      return this.appList
56
+      return this.appList.filter(item => !profileAppNames.includes(item.appName))
57
     }
57
     }
58
   },
58
   },
59
   onShow() {
59
   onShow() {

BIN
src/static/images/tabbar/ai.png


BIN
src/static/images/tabbar/ai_.png