Explorar o código

feat(organProfile): 添加排名列表及前三名头像组件

- 创建 RankList 组件展示排名数据
- 实现前三名头像顺序调整及样式区分
- 支持自定义分数字段标签显示
- 使用 scoped 样式美化排名列表和头像显示
- 优化前三名展示布局,突出第一名样式
huoyi hai 1 día
pai
achega
fa7a6d67c1

+ 9 - 0
src/api/system/user.js

@@ -125,4 +125,13 @@ export function getPostAllList() {
125 125
     url: '/system/post/listAllTree',
126 126
     method: 'get',
127 127
   })
128
+}
129
+
130
+//树状组织架构带职务
131
+export function getDeptUserTreePosition(params) {
132
+  return request({
133
+    url: '/system/user/deptAndUserTree',
134
+    method: 'get',
135
+    params: params
136
+  })
128 137
 }

+ 84 - 0
src/pages/organProfile/components/rankList.vue

@@ -0,0 +1,84 @@
1
+<template>
2
+    <view class="rank-section">
3
+        <!-- 前三名头像:顺序为 第2名(左) 第1名(中) 第3名(右) -->
4
+        <view class="rank-avatars">
5
+            <view class="rank-avatar-item" v-for="(item, idx) in reorderedTop3" :key="idx"
6
+                :class="{ 'rank-first': item._rank === 1 }">
7
+                <view class="rank-avatar-wrapper" :class="'rank-pos-' + item._rank">
8
+                    <view class="rank-avatar-circle" :style="{ background: item.color }">
9
+                        <text>{{ item.name.slice(-2) }}</text>
10
+                    </view>
11
+                    <text class="rank-badge">{{ item._rank }}</text>
12
+                </view>
13
+                <text class="rank-name">{{ item.name }}</text>
14
+                <text class="rank-num">{{ item.num }}</text>
15
+            </view>
16
+        </view>
17
+        <!-- 排行列表 -->
18
+        <view class="rank-table">
19
+            <view class="rank-tr rank-th">
20
+                <text>排名</text><text>姓名</text><text>{{ scoreLabel }}</text>
21
+            </view>
22
+            <view class="rank-tr" v-for="(item, idx) in list" :key="idx">
23
+                <text>{{ idx + 1 }}</text><text>{{ item.name }}</text><text>{{ item.num }}</text>
24
+            </view>
25
+        </view>
26
+    </view>
27
+</template>
28
+
29
+<script>
30
+export default {
31
+    name: 'RankList',
32
+    props: {
33
+        top3: { type: Array, default: () => [] },
34
+        list: { type: Array, default: () => [] },
35
+        scoreLabel: { type: String, default: '问题数' }
36
+    },
37
+    computed: {
38
+        // 原始 top3: [0]=第1名, [1]=第2名, [2]=第3名
39
+        // 显示顺序: 第2名(左) 第1名(中) 第3名(右)
40
+        reorderedTop3() {
41
+            if (!this.top3 || this.top3.length < 3) return []
42
+            return [
43
+                { ...this.top3[1], _rank: 2 },
44
+                { ...this.top3[0], _rank: 1 },
45
+                { ...this.top3[2], _rank: 3 }
46
+            ]
47
+        }
48
+    }
49
+}
50
+</script>
51
+
52
+<style lang="scss" scoped>
53
+.rank-section { padding: 0 8rpx; }
54
+.rank-avatars { display: flex; justify-content: center; align-items: flex-end; gap: 40rpx; margin-bottom: 24rpx; }
55
+.rank-avatar-item { display: flex; flex-direction: column; align-items: center; gap: 8rpx; }
56
+.rank-avatar-item.rank-first { transform: translateY(-16rpx); }
57
+.rank-avatar-wrapper { position: relative; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
58
+.rank-avatar-wrapper.rank-pos-1 { border: 4rpx solid #fbbf24; }
59
+.rank-avatar-wrapper.rank-pos-2 { border: 4rpx solid #94a3b8; }
60
+.rank-avatar-wrapper.rank-pos-3 { border: 4rpx solid #fb923c; }
61
+.rank-avatar-circle {
62
+    width: 80rpx; height: 80rpx; border-radius: 50%;
63
+    display: flex; align-items: center; justify-content: center;
64
+}
65
+.rank-avatar-circle text { color: #fff; font-size: 26rpx; font-weight: bold; }
66
+.rank-badge {
67
+    position: absolute; bottom: -12rpx; left: 50%; transform: translateX(-50%);
68
+    width: 28rpx; height: 28rpx; border-radius: 50%;
69
+    display: flex; align-items: center; justify-content: center;
70
+    font-size: 20rpx; font-weight: bold; color: #fff;
71
+}
72
+.rank-pos-1 .rank-badge { background: #fbbf24; }
73
+.rank-pos-2 .rank-badge { background: #94a3b8; }
74
+.rank-pos-3 .rank-badge { background: #fb923c; }
75
+.rank-name { font-size: 24rpx; color: #475569; }
76
+.rank-num { font-size: 32rpx; color: #1e293b; font-weight: bold; }
77
+.rank-table { display: flex; flex-direction: column; }
78
+.rank-tr {
79
+    display: flex; padding: 12rpx 0; font-size: 24rpx; color: #64748b;
80
+    border-bottom: 1rpx solid #e2e8f0;
81
+}
82
+.rank-tr text { flex: 1; text-align: center; }
83
+.rank-th { color: #1e293b; font-weight: bold; border-bottom: 2rpx solid #cbd5e1; }
84
+</style>

+ 34 - 145
src/pages/organProfile/index.vue

@@ -4,7 +4,7 @@
4 4
             <!-- ====== 顶部统计卡片 ====== -->
5 5
             <view class="metric-row">
6 6
                 <view class="metric-card" v-for="(m, i) in metricCards" :key="i" :style="{ background: m.bg }">
7
-                    <text class="metric-title">{{ m.title }}</text>
7
+                    <text class="metric-title" :style="{ color: m.color }">{{ m.title }}</text>
8 8
                     <text class="metric-value" :style="{ color: m.color }">{{ m.value }}</text>
9 9
                     <view class="metric-change-row" v-if="!m.side">
10 10
                         <view class="metric-change-info">
@@ -19,97 +19,97 @@
19 19
             </view>
20 20
 
21 21
             <!-- ====== 监察问题统计 ====== -->
22
-            <view class="chart-card">
22
+            <view class="chart-card" :style="{ backgroundColor: '#FFF4E4' }">
23 23
                 <view class="chart-title">监察问题统计</view>
24 24
                 <view class="chart-box"><div ref="chartSuperviseTrend" class="chart-inner"></div></view>
25 25
             </view>
26 26
 
27 27
             <!-- ====== 问题类型分布 ====== -->
28
-            <view class="chart-card">
28
+            <view class="chart-card" :style="{ backgroundColor: '#FFF4E4' }">
29 29
                 <view class="chart-title">问题类型分布</view>
30 30
                 <view class="chart-box"><div ref="chartIssueType" class="chart-inner"></div></view>
31 31
             </view>
32 32
 
33 33
             <!-- ====== 班组问题统计(监察) ====== -->
34
-            <view class="chart-card">
34
+            <view class="chart-card" :style="{ backgroundColor: '#FFF4E4' }">
35 35
                 <view class="chart-title">班组问题统计(监察)</view>
36 36
                 <view class="chart-box"><div ref="chartTeamSupervise" class="chart-inner"></div></view>
37 37
             </view>
38 38
 
39 39
             <!-- ====== 区域问题占比(监察) ====== -->
40
-            <view class="chart-card">
40
+            <view class="chart-card" :style="{ backgroundColor: '#FFF4E4' }">
41 41
                 <view class="chart-title">区域问题占比(监察)</view>
42 42
                 <view class="chart-box"><div ref="chartRegionPie" class="chart-inner chart-pie"></div></view>
43 43
             </view>
44 44
 
45 45
             <!-- ====== 班组问题统计(实时) ====== -->
46
-            <view class="chart-card">
46
+            <view class="chart-card" :style="{ backgroundColor: '#E4F0E5' }">
47 47
                 <view class="chart-title">班组问题统计(实时)</view>
48 48
                 <view class="chart-box"><div ref="chartTeamQuality" class="chart-inner"></div></view>
49 49
             </view>
50 50
 
51 51
             <!-- ====== 实时质控拦截情况 ====== -->
52
-            <view class="chart-card">
52
+            <view class="chart-card" :style="{ backgroundColor: '#E4F0E5' }">
53 53
                 <view class="chart-title">实时质控拦截情况</view>
54 54
                 <view class="chart-box"><div ref="chartIntercept" class="chart-inner"></div></view>
55 55
             </view>
56 56
 
57 57
             <!-- ====== 实时质控开机年龄分布 ====== -->
58
-            <view class="chart-card">
58
+            <view class="chart-card" :style="{ backgroundColor: '#E4F0E5' }">
59 59
                 <view class="chart-title">实时质控开机年龄分布</view>
60 60
                 <view class="chart-box"><div ref="chartAgeDist" class="chart-inner"></div></view>
61 61
             </view>
62 62
 
63 63
             <!-- ====== 实时质控围栏难易度 ====== -->
64
-            <view class="chart-card">
65
-                <view class="chart-title">实时质控围栏难易度</view>
64
+            <view class="chart-card" :style="{ backgroundColor: '#E4F0E5' }">
65
+                <view class="chart-title">实时质控图像难易度</view>
66 66
                 <view class="chart-box"><div ref="chartFence" class="chart-inner"></div></view>
67 67
             </view>
68 68
 
69 69
             <!-- ====== 实时质控开机年限分布 ====== -->
70
-            <view class="chart-card">
70
+            <view class="chart-card" :style="{ backgroundColor: '#E4F0E5' }">
71 71
                 <view class="chart-title">实时质控开机年限分布</view>
72 72
                 <view class="chart-box"><div ref="chartYearLimit" class="chart-inner"></div></view>
73 73
             </view>
74 74
 
75 75
             <!-- ====== 实时拦截物品汇总 ====== -->
76
-            <view class="chart-card">
76
+            <view class="chart-card" :style="{ backgroundColor: '#E4F0E5' }">
77 77
                 <view class="chart-title">实时拦截物品汇总</view>
78 78
                 <view class="chart-box"><div ref="chartItems" class="chart-inner"></div></view>
79 79
             </view>
80 80
 
81 81
             <!-- ====== 服务巡查 ====== -->
82
-            <view class="chart-card">
82
+            <view class="chart-card" :style="{ backgroundColor: '#E4EBFF' }">
83 83
                 <view class="chart-title">服务巡查</view>
84 84
                 <view class="chart-box"><div ref="chartServiceInspect" class="chart-inner"></div></view>
85 85
             </view>
86 86
 
87 87
             <!-- ====== 服务巡查趋势 ====== -->
88
-            <view class="chart-card">
88
+            <view class="chart-card" :style="{ backgroundColor: '#E4EBFF' }">
89 89
                 <view class="chart-title">服务巡查</view>
90 90
                 <view class="chart-box"><div ref="chartServiceLine" class="chart-inner"></div></view>
91 91
             </view>
92 92
 
93 93
             <!-- ====== 投诉涉及班组情况 ====== -->
94
-            <view class="chart-card">
94
+            <view class="chart-card" :style="{ backgroundColor: '#F0ACA1' }">
95 95
                 <view class="chart-title">投诉涉及班组情况</view>
96 96
                 <view class="chart-box"><div ref="chartComplaint" class="chart-inner"></div></view>
97 97
             </view>
98 98
 
99 99
             <!-- ====== 不安全事件发生对比 ====== -->
100
-            <view class="chart-card">
100
+            <view class="chart-card" :style="{ backgroundColor: '#DCDCDF' }">
101 101
                 <view class="chart-title">不安全事件发生对比</view>
102 102
                 <view class="chart-box"><div ref="chartUnsafe" class="chart-inner"></div></view>
103 103
             </view>
104 104
 
105 105
             <!-- ====== 亚健康人数占比 ====== -->
106
-            <view class="chart-card">
106
+            <view class="chart-card" :style="{ backgroundColor: '#FFDBA1' }">
107 107
                 <view class="chart-title">亚健康人数占比</view>
108 108
                 <view class="chart-box"><div ref="chartSubHealthPie" class="chart-inner chart-pie"></div></view>
109 109
             </view>
110 110
 
111 111
             <!-- ====== 各班组健康与亚健康比例 ====== -->
112
-            <view class="chart-card">
112
+            <view class="chart-card" :style="{ backgroundColor: '#FFDBA1' }">
113 113
                 <view class="chart-title">各班组健康与亚健康比例</view>
114 114
                 <view class="chart-box"><div ref="chartHealthStack" class="chart-inner"></div></view>
115 115
             </view>
@@ -121,129 +121,47 @@
121 121
             </view>
122 122
 
123 123
             <!-- ====== 监察问题(总)排行 ====== -->
124
-            <view class="chart-card">
124
+            <view class="chart-card" :style="{ backgroundColor: '#FFF4E4' }">
125 125
                 <view class="chart-title">监察问题(总)</view>
126
-                <view class="rank-section">
127
-                    <view class="rank-avatars">
128
-                        <view class="rank-avatar-item" v-for="(item, idx) in superVisionTop3" :key="idx">
129
-                            <view class="rank-avatar-wrapper" :class="'rank-pos-' + (idx + 1)">
130
-                                <view class="rank-avatar-circle" :style="{ background: item.color }">
131
-                                    <text>{{ item.name.slice(-2) }}</text>
132
-                                </view>
133
-                                <text class="rank-badge">{{ idx + 1 }}</text>
134
-                            </view>
135
-                            <text class="rank-name">{{ item.name }}</text>
136
-                            <text class="rank-num">{{ item.num }}</text>
137
-                        </view>
138
-                    </view>
139
-                    <view class="rank-table">
140
-                        <view class="rank-tr rank-th">
141
-                            <text>排名</text><text>姓名</text><text>问题数</text>
142
-                        </view>
143
-                        <view class="rank-tr" v-for="(item, idx) in superVisionList" :key="idx">
144
-                            <text>{{ idx + 1 }}</text><text>{{ item.name }}</text><text>{{ item.num }}</text>
145
-                        </view>
146
-                    </view>
147
-                </view>
126
+                <RankList :top3="superVisionTop3" :list="superVisionList" scoreLabel="问题数" />
148 127
             </view>
149 128
 
150 129
             <!-- ====== 实时漏洞检情况(总)排行 ====== -->
151
-            <view class="chart-card">
130
+            <view class="chart-card" :style="{ backgroundColor: '#E4F0E5' }">
152 131
                 <view class="chart-title">实时漏洞检情况(总)</view>
153
-                <view class="rank-section">
154
-                    <view class="rank-avatars">
155
-                        <view class="rank-avatar-item" v-for="(item, idx) in vulnTop3" :key="idx">
156
-                            <view class="rank-avatar-wrapper" :class="'rank-pos-' + (idx + 1)">
157
-                                <view class="rank-avatar-circle" :style="{ background: item.color }">
158
-                                    <text>{{ item.name.slice(-2) }}</text>
159
-                                </view>
160
-                                <text class="rank-badge">{{ idx + 1 }}</text>
161
-                            </view>
162
-                            <text class="rank-name">{{ item.name }}</text>
163
-                            <text class="rank-num">{{ item.num }}</text>
164
-                        </view>
165
-                    </view>
166
-                    <view class="rank-table">
167
-                        <view class="rank-tr rank-th">
168
-                            <text>排名</text><text>姓名</text><text>问题数</text>
169
-                        </view>
170
-                        <view class="rank-tr" v-for="(item, idx) in vulnList" :key="idx">
171
-                            <text>{{ idx + 1 }}</text><text>{{ item.name }}</text><text>{{ item.num }}</text>
172
-                        </view>
173
-                    </view>
174
-                </view>
132
+                <RankList :top3="vulnTop3" :list="vulnList" scoreLabel="问题数" />
175 133
             </view>
176 134
 
177 135
             <!-- ====== 航站楼加分排行 ====== -->
178
-            <view class="chart-card">
136
+            <view class="chart-card" :style="{ backgroundColor: '#E4EBFF' }">
179 137
                 <view class="chart-title">航站楼加分</view>
180
-                <view class="rank-section">
181
-                    <view class="rank-avatars">
182
-                        <view class="rank-avatar-item" v-for="(item, idx) in bonusTop3" :key="idx">
183
-                            <view class="rank-avatar-wrapper" :class="'rank-pos-' + (idx + 1)">
184
-                                <view class="rank-avatar-circle" :style="{ background: item.color }">
185
-                                    <text>{{ item.name.slice(-2) }}</text>
186
-                                </view>
187
-                                <text class="rank-badge">{{ idx + 1 }}</text>
188
-                            </view>
189
-                            <text class="rank-name">{{ item.name }}</text>
190
-                            <text class="rank-num">{{ item.num }}</text>
191
-                        </view>
192
-                    </view>
193
-                    <view class="rank-table">
194
-                        <view class="rank-tr rank-th">
195
-                            <text>排名</text><text>姓名</text><text>加分</text>
196
-                        </view>
197
-                        <view class="rank-tr" v-for="(item, idx) in bonusList" :key="idx">
198
-                            <text>{{ idx + 1 }}</text><text>{{ item.name }}</text><text>{{ item.num }}</text>
199
-                        </view>
200
-                    </view>
201
-                </view>
138
+                <RankList :top3="bonusTop3" :list="bonusList" scoreLabel="加分" />
202 139
             </view>
203 140
 
204 141
             <!-- ====== 查获数量排行 ====== -->
205 142
             <view class="chart-card">
206 143
                 <view class="chart-title">查获数量</view>
207
-                <view class="rank-section">
208
-                    <view class="rank-avatars">
209
-                        <view class="rank-avatar-item" v-for="(item, idx) in seizeTop3" :key="idx">
210
-                            <view class="rank-avatar-wrapper" :class="'rank-pos-' + (idx + 1)">
211
-                                <view class="rank-avatar-circle" :style="{ background: item.color }">
212
-                                    <text>{{ item.name.slice(-2) }}</text>
213
-                                </view>
214
-                                <text class="rank-badge">{{ idx + 1 }}</text>
215
-                            </view>
216
-                            <text class="rank-name">{{ item.name }}</text>
217
-                            <text class="rank-num">{{ item.num }}</text>
218
-                        </view>
219
-                    </view>
220
-                    <view class="rank-table">
221
-                        <view class="rank-tr rank-th">
222
-                            <text>排名</text><text>姓名</text><text>查获数</text>
223
-                        </view>
224
-                        <view class="rank-tr" v-for="(item, idx) in seizeList" :key="idx">
225
-                            <text>{{ idx + 1 }}</text><text>{{ item.name }}</text><text>{{ item.num }}</text>
226
-                        </view>
227
-                    </view>
228
-                </view>
144
+                <RankList :top3="seizeTop3" :list="seizeList" scoreLabel="查获数" />
229 145
             </view>
230 146
         </scroll-view>
231 147
     </view>
232 148
 </template>
233 149
 <script>
234 150
 import * as echarts from 'echarts'
151
+import RankList from './components/rankList.vue'
235 152
 export default {
236 153
     name: 'OrganProfile',
154
+    components: { RankList },
237 155
     data() {
238 156
         return {
239 157
             metricCards: [
240
-                { title: '监察问题数(本月)', value: '11', change: '57.69%', changeType: 'down', changeColor: '#ef4444', color: '#f59e0b', bg: '#dbeafe', sparkColor: '#3b82f6', _sparkRef: null },
241
-                { title: '实时质控数(本月)', value: '21', change: '56.25%', changeType: 'down', changeColor: '#ef4444', color: '#22c55e', bg: '#dcfce7', sparkColor: '#22c55e', _sparkRef: null },
242
-                { title: '服务巡查(本月)', value: '4', change: '0%', changeType: 'flat', changeColor: '#6b7280', color: '#3b82f6', bg: '#dbeafe', sparkColor: '#3b82f6', _sparkRef: null },
243
-                { title: '投诉情况(本月)', value: '1', change: '88.89%', changeType: 'down', changeColor: '#ef4444', color: '#ef4444', bg: '#fce4ec', sparkColor: '#ef4444', _sparkRef: null },
158
+                { title: '监察问题数(本月)', value: '11', change: '57.69%', changeType: 'down', changeColor: '#ef4444', color: '#f59e0b', bg: '#FFF4E4', sparkColor: '#3b82f6', _sparkRef: null },
159
+                { title: '实时质控数(本月)', value: '21', change: '56.25%', changeType: 'down', changeColor: '#ef4444', color: '#22c55e', bg: '#E4F0E5', sparkColor: '#22c55e', _sparkRef: null },
160
+                { title: '服务巡查(本月)', value: '4', change: '0%', changeType: 'flat', changeColor: '#6b7280', color: '#3b82f6', bg: '#E6E8FF', sparkColor: '#3b82f6', _sparkRef: null },
161
+                { title: '投诉情况(本月)', value: '1', change: '88.89%', changeType: 'down', changeColor: '#ef4444', color: '#ef4444', bg: '#F0ACA1', sparkColor: '#ef4444', _sparkRef: null },
244 162
                 { title: '不安全事件发生次数(今年)', value: '3', change: '57.14%', changeType: 'down', changeColor: '#ef4444', color: '#ffffff', bg: '#6b7280', sparkColor: '#9ca3af', _sparkRef: null },
245
-                { title: '锐甲安语—自愿报告系统', value: '3', color: '#fff', bg: 'linear-gradient(135deg, #f59e0b, #d97706)', side: true },
246
-                { title: '部门亚健康人员', value: '147', color: '#fff', bg: 'linear-gradient(135deg, #fbbf24, #f59e0b)', side: true }
163
+                { title: '锐甲安语—自愿报告系统', value: '3', color: '#507AFC', bg: '#F2E5FF', side: true },
164
+                { title: '部门亚健康人员', value: '147', color: '#E41754', bg: '#FFDBA1', side: true }
247 165
             ],
248 166
             superVisionTop3: [
249 167
                 { name: '徐皓迪', num: 7, color: '#3b82f6' },
@@ -657,34 +575,5 @@ export default {
657 575
 .chart-box { width: 100%; }
658 576
 .chart-inner { width: 100%; height: 380rpx; }
659 577
 .chart-pie { height: 420rpx; }
660
-.rank-section { padding: 0 8rpx; }
661
-.rank-avatars { display: flex; justify-content: center; gap: 40rpx; margin-bottom: 24rpx; }
662
-.rank-avatar-item { display: flex; flex-direction: column; align-items: center; gap: 8rpx; }
663
-.rank-avatar-wrapper { position: relative; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
664
-.rank-avatar-wrapper.rank-pos-1 { border: 4rpx solid #94a3b8; }
665
-.rank-avatar-wrapper.rank-pos-2 { border: 4rpx solid #fbbf24; }
666
-.rank-avatar-wrapper.rank-pos-3 { border: 4rpx solid #fb923c; }
667
-.rank-avatar-circle {
668
-    width: 80rpx; height: 80rpx; border-radius: 50%;
669
-    display: flex; align-items: center; justify-content: center;
670
-}
671
-.rank-avatar-circle text { color: #fff; font-size: 26rpx; font-weight: bold; }
672
-.rank-badge {
673
-    position: absolute; bottom: -12rpx; left: 50%; transform: translateX(-50%);
674
-    width: 28rpx; height: 28rpx; border-radius: 50%;
675
-    display: flex; align-items: center; justify-content: center;
676
-    font-size: 20rpx; font-weight: bold; color: #fff;
677
-}
678
-.rank-pos-1 .rank-badge { background: #94a3b8; }
679
-.rank-pos-2 .rank-badge { background: #fbbf24; }
680
-.rank-pos-3 .rank-badge { background: #fb923c; }
681
-.rank-name { font-size: 24rpx; color: #475569; }
682
-.rank-num { font-size: 32rpx; color: #1e293b; font-weight: bold; }
683
-.rank-table { display: flex; flex-direction: column; }
684
-.rank-tr {
685
-    display: flex; padding: 12rpx 0; font-size: 24rpx; color: #64748b;
686
-    border-bottom: 1rpx solid #e2e8f0;
687
-}
688
-.rank-tr text { flex: 1; text-align: center; }
689
-.rank-th { color: #1e293b; font-weight: bold; border-bottom: 2rpx solid #cbd5e1; }
578
+
690 579
 </style>

+ 4 - 4
src/pages/organizationStruct/index.vue

@@ -91,8 +91,8 @@
91 91
                         </view>
92 92
                     </view>
93 93
                     <view class="user-info">
94
-                        <text class="user-name">{{ item.label  }}</text>
95
-                        <text v-if="item.postNames" class="user-post">{{ item.postNames }}</text>
94
+                        <text class="user-name">{{ item.label }}</text>
95
+                        <text v-if="item.roles" class="user-post">{{ item.roles }}</text>
96 96
                     </view>
97 97
                 </view>
98 98
 
@@ -111,7 +111,7 @@
111 111
 </template>
112 112
 
113 113
 <script>
114
-import { getDeptUserTree } from '@/api/system/user'
114
+import { getDeptUserTreePosition } from '@/api/system/user'
115 115
 
116 116
 export default {
117 117
     name: 'OrganizationStruct',
@@ -146,7 +146,7 @@ export default {
146 146
         async fetchTreeData() {
147 147
             this.loading = true
148 148
             try {
149
-                const res = await getDeptUserTree()
149
+                const res = await getDeptUserTreePosition()
150 150
                 this.treeData = res.data || []
151 151
                 this.currentNode = null
152 152
                 this.breadcrumbs = []

+ 1 - 1
src/pages/profileManage/index.vue

@@ -20,7 +20,7 @@
20 20
 import HomeContainer from '@/components/HomeContainer.vue'
21 21
 import { getAppList } from '@/api/system/user'
22 22
 
23
-const profileAppNames = ['综合信息画像', '部门画像', '班组画像', '小组画像', '员工画像']
23
+const profileAppNames = ['全站综合信息', '部门画像', '班组画像', '小组画像', '员工画像']
24 24
 
25 25
 export default {
26 26
   components: { HomeContainer },

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

@@ -41,7 +41,7 @@
41 41
 import HomeContainer from "@/components/HomeContainer.vue";
42 42
 import { checkRolePermission } from "@/utils/common.js";
43 43
 import { getUserProfile, getAppListByRoleId,getAppList } from "@/api/system/user";
44
-const profileAppNames = ['综合信息画像', '部门画像', '班组画像', '小组画像', '员工画像']
44
+const profileAppNames = ['全站综合信息', '部门画像', '班组画像', '小组画像', '员工画像']
45 45
 export default {
46 46
   components: { HomeContainer },
47 47
   data() {