Przeglądaj źródła

feat: fix bug处理

lixiangrui 3 tygodni temu
rodzic
commit
4cf19e2f31

+ 8 - 3
src/views/portraitManagement/components/InterceptionDistribution.vue

@@ -21,11 +21,10 @@ const setChartsOptionsBar = computed(() => {
21
     grid: {
21
     grid: {
22
       top: 10,
22
       top: 10,
23
       bottom: 30,
23
       bottom: 30,
24
-      left: 80,
24
+      left: 110,
25
       right: 40
25
       right: 40
26
     },
26
     },
27
     xAxis: {
27
     xAxis: {
28
-      max: 'dataMax',
29
       axisLabel: { color: '#fff', fontSize: 14 },
28
       axisLabel: { color: '#fff', fontSize: 14 },
30
     },
29
     },
31
     dataset: {
30
     dataset: {
@@ -36,7 +35,13 @@ const setChartsOptionsBar = computed(() => {
36
     yAxis: {
35
     yAxis: {
37
       type: 'category',
36
       type: 'category',
38
       position: 'left',
37
       position: 'left',
39
-      axisLabel: { color: '#fff', fontSize: 14 },
38
+      axisLabel: { 
39
+        color: '#fff',
40
+        fontSize: 14, 
41
+        formatter: function(value) {
42
+          return value.length > 5 ? value.substring(0, 6) + '...' : value;
43
+        }
44
+      },
40
       splitLine: { lineStyle: { color: '#344067' } }
45
       splitLine: { lineStyle: { color: '#344067' } }
41
     },
46
     },
42
     series: [
47
     series: [

+ 7 - 1
src/views/portraitManagement/components/ProfileRadar.vue

@@ -72,10 +72,16 @@ const updateRadarChart = () => {
72
   }
72
   }
73
 
73
 
74
   const option = {
74
   const option = {
75
+    grid: {
76
+      top: 40,
77
+      bottom: 40,
78
+      left: 50,
79
+      right: 50
80
+    },
75
     radar: {
81
     radar: {
76
       indicator: computedIndicators.value,
82
       indicator: computedIndicators.value,
77
       center: ['50%', '50%'],
83
       center: ['50%', '50%'],
78
-      radius: '70%',
84
+      radius: '60%',
79
       splitNumber: 4,
85
       splitNumber: 4,
80
       axisLine: {
86
       axisLine: {
81
         lineStyle: {
87
         lineStyle: {

+ 25 - 23
src/views/portraitManagement/components/SearchBar.vue

@@ -9,14 +9,14 @@
9
         <div :class="currentTime === 'custom' ? 'primary' : 'default'" @click="selectTime('custom')">自定义时间范围</div>
9
         <div :class="currentTime === 'custom' ? 'primary' : 'default'" @click="selectTime('custom')">自定义时间范围</div>
10
         <div class="custom-style-date-picker-wrap" v-if="currentTime === 'custom'">
10
         <div class="custom-style-date-picker-wrap" v-if="currentTime === 'custom'">
11
           <el-date-picker class="custom-style-date-picker" v-model="dateRange" type="daterange" range-separator="至"
11
           <el-date-picker class="custom-style-date-picker" v-model="dateRange" type="daterange" range-separator="至"
12
-            start-placeholder="开始" end-placeholder="结束" style="width:320px" @change="() => searchHandler()" />
12
+            start-placeholder="开始" end-placeholder="结束" style="width:320px" @change="() => searchHandler(curQuery)" />
13
         </div>
13
         </div>
14
       </div>
14
       </div>
15
-      <el-popover class="popover" title="" :visible="visible" placement="bottom-start" trigger="click" width="45vw">
15
+      <el-popover v-if=" deptType !== 'STATION' " class="popover" title="" :visible="visible" placement="bottom-start" trigger="click" width="45vw">
16
         <template #reference>
16
         <template #reference>
17
           <div class="primary" style="border-radius: 6px;" @click.stop="visible = !visible">{{ props.deptType === 'user'
17
           <div class="primary" style="border-radius: 6px;" @click.stop="visible = !visible">{{ props.deptType === 'user'
18
             ?
18
             ?
19
-            '组织架构/模糊搜索' : '部门选择' }}</div>
19
+            '组织架构/模糊搜索' : deptType === 'BRIGADE' ?  '部门选择' : deptType === 'MANAGER' ? '班组选择' :   deptType === 'TEAMS' ? '小组选择' : '组织选择' }}</div>
20
         </template>
20
         </template>
21
 
21
 
22
         <div class="custom-el-style">
22
         <div class="custom-el-style">
@@ -68,6 +68,7 @@ const departments = ref([])
68
 const dateRange = ref([])
68
 const dateRange = ref([])
69
 const treeRef = ref(null)
69
 const treeRef = ref(null)
70
 const currentKey = ref(null)
70
 const currentKey = ref(null)
71
+const curQuery = ref({})
71
 
72
 
72
 const defaultIdMap = {
73
 const defaultIdMap = {
73
   user: 13,
74
   user: 13,
@@ -108,20 +109,20 @@ const queryDept = async (query, cb) => {
108
 const handleSelect = (item) => {
109
 const handleSelect = (item) => {
109
   if (props.deptType === 'user') {
110
   if (props.deptType === 'user') {
110
     personName.value = item.nickName
111
     personName.value = item.nickName
111
-    searchHandler({ personName: item.nickName })
112
+    curQuery.value = { personName: item.nickName }
113
+    searchHandler(curQuery.value)
112
   } else {
114
   } else {
113
     personName.value = item.deptName
115
     personName.value = item.deptName
114
-    let obj = {}
115
     if (props.deptType === 'BRIGADE' || props.deptType === 'STATION') {
116
     if (props.deptType === 'BRIGADE' || props.deptType === 'STATION') {
116
-      obj = { deptId: item.deptId || item.id }
117
+      curQuery.value = { deptId: item.deptId || item.id }
117
     }
118
     }
118
     if (props.deptType === 'MANAGER') {
119
     if (props.deptType === 'MANAGER') {
119
-      obj = { teamId: item.deptId || item.id, deptId: item.deptId || item.id }
120
+      curQuery.value = { teamId: item.deptId || item.id, deptId: item.deptId || item.id }
120
     }
121
     }
121
     if (props.deptType === 'TEAMS') {
122
     if (props.deptType === 'TEAMS') {
122
-      obj = { groupId: item.deptId || item.id, deptId: item.deptId || item.id }
123
+      curQuery.value = { groupId: item.deptId || item.id, deptId: item.deptId || item.id }
123
     }
124
     }
124
-    searchHandler(obj)
125
+    searchHandler(curQuery.value)
125
   }
126
   }
126
 }
127
 }
127
 
128
 
@@ -173,7 +174,7 @@ const formatDate = (d) => {
173
 
174
 
174
 const selectTime = (t) => {
175
 const selectTime = (t) => {
175
   currentTime.value = t
176
   currentTime.value = t
176
-  if (t !== 'custom') searchHandler()
177
+  if (t !== 'custom') searchHandler(curQuery.value)
177
 }
178
 }
178
 
179
 
179
 const searchHandler = (query = {}) => {
180
 const searchHandler = (query = {}) => {
@@ -192,23 +193,22 @@ const handleNodeClick = (node) => {
192
   if (props.deptType === 'user') {
193
   if (props.deptType === 'user') {
193
     if (node.nodeType === 'user') {
194
     if (node.nodeType === 'user') {
194
       personName.value = node.label
195
       personName.value = node.label
195
-      searchHandler({ personName: node.label })
196
+      curQuery.value = { personName: node.label }
197
+      searchHandler(curQuery.value)
196
     }
198
     }
197
   } else {
199
   } else {
198
     if (node.deptType === props.deptType) {
200
     if (node.deptType === props.deptType) {
199
       personName.value = node.deptName || node.name || node.label;
201
       personName.value = node.deptName || node.name || node.label;
200
-      let obj = {}
201
-
202
       if (props.deptType === 'BRIGADE' || props.deptType === 'STATION') {
202
       if (props.deptType === 'BRIGADE' || props.deptType === 'STATION') {
203
-        obj = { deptId: node.deptId || node.id }
203
+        curQuery.value = { deptId: node.deptId || node.id }
204
       }
204
       }
205
       if (props.deptType === 'MANAGER') {
205
       if (props.deptType === 'MANAGER') {
206
-        obj = { teamId: node.deptId || node.id, deptId: node.deptId || node.id }
206
+        curQuery.value = { teamId: node.deptId || node.id, deptId: node.deptId || node.id }
207
       }
207
       }
208
       if (props.deptType === 'TEAMS') {
208
       if (props.deptType === 'TEAMS') {
209
-        obj = { groupId: node.deptId || node.id, deptId: node.deptId || node.id }
209
+        curQuery.value = { groupId: node.deptId || node.id, deptId: node.deptId || node.id }
210
       }
210
       }
211
-      searchHandler(obj)
211
+      searchHandler(curQuery.value)
212
     }
212
     }
213
   }
213
   }
214
 }
214
 }
@@ -221,6 +221,7 @@ const setStyle = () => {
221
   root.style.setProperty('--el-popover-padding', '0px')
221
   root.style.setProperty('--el-popover-padding', '0px')
222
   root.style.setProperty('--el-text-color-regular', '#fff')
222
   root.style.setProperty('--el-text-color-regular', '#fff')
223
   root.style.setProperty('--el-fill-color-light', '#5c676d')
223
   root.style.setProperty('--el-fill-color-light', '#5c676d')
224
+  root.style.setProperty('--el-text-color-primary', '#fff')
224
 }
225
 }
225
 
226
 
226
 const resetStyle = () => {
227
 const resetStyle = () => {
@@ -231,6 +232,7 @@ const resetStyle = () => {
231
   root.style.setProperty('--el-popover-padding', '12px')
232
   root.style.setProperty('--el-popover-padding', '12px')
232
   root.style.setProperty('--el-text-color-regular', '#606266')
233
   root.style.setProperty('--el-text-color-regular', '#606266')
233
   root.style.setProperty('--el-fill-color-light', '#f5f7fa')
234
   root.style.setProperty('--el-fill-color-light', '#f5f7fa')
235
+  root.style.setProperty('--el-text-color-primary', '#303133')
234
 
236
 
235
 }
237
 }
236
 
238
 
@@ -252,20 +254,20 @@ onMounted(async () => {
252
       currentKey.value = defaultId
254
       currentKey.value = defaultId
253
       if (props.deptType === 'user') {
255
       if (props.deptType === 'user') {
254
         personName.value = defaultNode.label
256
         personName.value = defaultNode.label
255
-        searchHandler({ personName: defaultNode.label })
257
+        curQuery.value = { personName: defaultNode.label }
258
+        searchHandler(curQuery.value)
256
       } else {
259
       } else {
257
         personName.value = defaultNode.deptName || defaultNode.name || defaultNode.label
260
         personName.value = defaultNode.deptName || defaultNode.name || defaultNode.label
258
-        let obj = {}
259
         if (props.deptType === 'BRIGADE' || props.deptType === 'STATION') {
261
         if (props.deptType === 'BRIGADE' || props.deptType === 'STATION') {
260
-          obj = { deptId: defaultNode.deptId || defaultNode.id }
262
+          curQuery.value = { deptId: defaultNode.deptId || defaultNode.id }
261
         }
263
         }
262
         if (props.deptType === 'MANAGER') {
264
         if (props.deptType === 'MANAGER') {
263
-          obj = { teamId: defaultNode.deptId || defaultNode.id, deptId: defaultNode.deptId || defaultNode.id }
265
+          curQuery.value = { teamId: defaultNode.deptId || defaultNode.id, deptId: defaultNode.deptId || defaultNode.id }
264
         }
266
         }
265
         if (props.deptType === 'TEAMS') {
267
         if (props.deptType === 'TEAMS') {
266
-          obj = { groupId: defaultNode.deptId || defaultNode.id, deptId: defaultNode.deptId || defaultNode.id }
268
+          curQuery.value = { groupId: defaultNode.deptId || defaultNode.id, deptId: defaultNode.deptId || defaultNode.id }
267
         }
269
         }
268
-        searchHandler(obj)
270
+        searchHandler(curQuery.value)
269
       }
271
       }
270
       nextTick(() => {
272
       nextTick(() => {
271
         treeRef.value?.setCurrentKey(defaultId)
273
         treeRef.value?.setCurrentKey(defaultId)

+ 1 - 1
src/views/portraitManagement/components/SeizedInfo.vue

@@ -77,7 +77,7 @@ const setChartsOptionsBar = computed(() => {
77
   return {
77
   return {
78
     grid: {
78
     grid: {
79
       top: 20,
79
       top: 20,
80
-      bottom: 40,
80
+      bottom: 55,
81
       left: 45,
81
       left: 45,
82
       right: 15
82
       right: 15
83
     },
83
     },

+ 1 - 1
src/views/portraitManagement/components/rollingTable.vue

@@ -40,7 +40,7 @@ let pendingStart = false
40
 
40
 
41
 const scrollData = computed(() => {
41
 const scrollData = computed(() => {
42
   if (!props.data || props.data.length === 0) return []
42
   if (!props.data || props.data.length === 0) return []
43
-  return [...props.data, ...props.data]
43
+  return [...props.data]
44
 })
44
 })
45
 
45
 
46
 const startScroll = () => {
46
 const startScroll = () => {

+ 27 - 34
src/views/portraitManagement/deptProfile/component/profile.vue

@@ -3,7 +3,7 @@
3
     <div class="main-content">
3
     <div class="main-content">
4
       <div class="content-row">
4
       <div class="content-row">
5
         <ProfileRadar :chartData="radarData" />
5
         <ProfileRadar :chartData="radarData" />
6
-        <ProfileMembers :columns="memberColumns" :data="teamMembers" />
6
+        <ProfileMembers :columns="teamColumns" :data="teamMembers" />
7
       </div>
7
       </div>
8
 
8
 
9
       <div class="content-row">
9
       <div class="content-row">
@@ -20,7 +20,7 @@ import ProfileRadar from '../../components/ProfileRadar.vue'
20
 import ProfileMembers from '../../components/ProfileMembers.vue'
20
 import ProfileMembers from '../../components/ProfileMembers.vue'
21
 import ProfileBasicDistribution from '../../components/ProfileBasicDistribution.vue'
21
 import ProfileBasicDistribution from '../../components/ProfileBasicDistribution.vue'
22
 import ProfilePositionDistribution from '../../components/ProfilePositionDistribution.vue'
22
 import ProfilePositionDistribution from '../../components/ProfilePositionDistribution.vue'
23
-import { getDeptMembers, getDeptMemberDistribution, getDeptPositionDistribution, getDimensionScoreOverview } from '@/api/portraitManagement/portraitManagement'
23
+import { countDeptTeamStats, getDeptMemberDistribution, getDeptPositionDistribution, getDimensionScoreOverview } from '@/api/portraitManagement/portraitManagement'
24
 const props = defineProps({
24
 const props = defineProps({
25
   queryParams: {
25
   queryParams: {
26
     type: Object,
26
     type: Object,
@@ -33,29 +33,32 @@ const radarData = ref([
33
 ])
33
 ])
34
 
34
 
35
 
35
 
36
+const teamMembers = ref([])
36
 
37
 
37
-const teamMembers = ref([
38
-  // { name: '孙晓波', age: 25, seniority: 3, gender: '男', nation: '汉', political: '群众', position: '安检员', qualification: '前传、特检、人身', skillLevel: '三级', operateYears: 5, avgYears: 6, totalScore: 88 },
39
-  // { name: '孙晓波', age: 28, seniority: 6, gender: '男', nation: '汉', political: '群众', position: '组长', qualification: '前传、特检、人身', skillLevel: '三级', operateYears: 5, avgYears: 5, totalScore: 85 },
40
-  // { name: '孙晓波', age: 31, seniority: 2, gender: '女', nation: '汉', political: '党员', position: '组长', qualification: '前传、特检、人身', skillLevel: '四级', operateYears: 5, avgYears: 76, totalScore: 76 },
41
-  // { name: '马力', age: 26, seniority: 3, gender: '男', nation: '汉', political: '群众', position: '组长', qualification: '前传、特检、人身', skillLevel: '五级', operateYears: 5, avgYears: 81, totalScore: 81 },
42
-  // { name: '马建国', age: 24, seniority: 5, gender: '男', nation: '汉', political: '党员', position: '安检员', qualification: '前传、特检、人身', skillLevel: '三级', operateYears: 6, avgYears: 78, totalScore: 78 }
43
-])
44
-
45
-const memberColumns = ref([
46
-  { label: '姓名', prop: 'personName' },
47
-  { label: '年龄', prop: 'age' },
48
-  { label: '司龄', prop: 'workYears' },
49
-  { label: '性别', prop: 'sex' },
50
-  { label: '民族', prop: 'nation' },
51
-  { label: '政治面貌', prop: 'politicalStatus' },
52
-  { label: '职务', prop: 'roleNames' },
53
-  { label: '岗位资质', prop: 'qualificationLevel' },
54
-  { label: '职业技能等级', prop: 'skillLevel' },
55
-  { label: '开机年限', prop: 'xrayOperatorYears' },
56
-  { label: '平均年限', prop: 'avgYears' },
38
+const teamColumns = [
39
+  { label: '班组', prop: 'deptName' },
40
+  { label: '员工数量', prop: 'employeeCount' },
41
+  { label: '党员数量', prop: 'partyMemberCount' },
42
+  { label: '平均年龄', prop: 'avgAge' },
43
+  { label: '平均工龄', prop: 'avgWorkYears' },
44
+  { label: '职业资格等级证书数量', prop: 'qualificationLevel' },
45
+  { label: '平均开机年龄', prop: 'avgXrayOperatorYears' },
57
   { label: '综合得分', prop: 'totalScore' }
46
   { label: '综合得分', prop: 'totalScore' }
58
-])
47
+]
48
+
49
+const fetchTeamData = async (params) => {
50
+  try {
51
+    const res = await countDeptTeamStats(params)
52
+    if (res.code === 200 && res.data) {
53
+      console.log(res.data);
54
+      
55
+      teamData.value = res.data
56
+    }
57
+  } catch (error) {
58
+    console.error('获取部门成员列表失败', error)
59
+  }
60
+}
61
+
59
 
62
 
60
 const genderData = ref([
63
 const genderData = ref([
61
 
64
 
@@ -80,16 +83,6 @@ const operateData = ref([
80
 const postData = ref([
83
 const postData = ref([
81
 
84
 
82
 ])
85
 ])
83
-const fetchTeamMembers = async (params) => {
84
-  try {
85
-    const res = await getDeptMembers(params)
86
-    if (res.code === 200 && res.data) {
87
-      teamMembers.value = res.data
88
-    }
89
-  } catch (error) {
90
-    console.error('获取部门成员列表失败', error)
91
-  }
92
-}
93
 
86
 
94
 const fetchMemberDistribution = async (params) => {
87
 const fetchMemberDistribution = async (params) => {
95
   try {
88
   try {
@@ -138,7 +131,7 @@ const fetchData = (params) => {
138
   }
131
   }
139
   //  console.log('params', params)
132
   //  console.log('params', params)
140
   // debugger
133
   // debugger
141
-  fetchTeamMembers(params)
134
+  fetchTeamData(params)
142
   fetchMemberDistribution(params)
135
   fetchMemberDistribution(params)
143
   fetchPositionDistribution(params)
136
   fetchPositionDistribution(params)
144
   fetchRadarData(params)
137
   fetchRadarData(params)

+ 14 - 13
src/views/portraitManagement/stationProfile/component/profile.vue

@@ -49,9 +49,20 @@ const teamColumns = [
49
   { label: '综合得分', prop: 'totalScore' }
49
   { label: '综合得分', prop: 'totalScore' }
50
 ]
50
 ]
51
 
51
 
52
-const teamData = ref([
53
-  
54
-])
52
+const teamData = ref([])
53
+
54
+const fetchTeamData = async (params) => {
55
+  try {
56
+    const res = await countStationTeamStats(params)
57
+    if (res.code === 200 && res.data) {
58
+      teamData.value = res.data
59
+      console.log(teamData.value);
60
+      
61
+    }
62
+  } catch (error) {
63
+    console.error('获取部门成员列表失败', error)
64
+  }
65
+}
55
 
66
 
56
 const genderData = ref([])
67
 const genderData = ref([])
57
 const nationData = ref([])
68
 const nationData = ref([])
@@ -68,16 +79,6 @@ const operateData = ref([
68
 const postData = ref([
79
 const postData = ref([
69
   
80
   
70
 ])
81
 ])
71
-const fetchTeamData = async (params) => {
72
-  try {
73
-    const res = await countStationTeamStats(params)
74
-    if (res.code === 200 && res.data) {
75
-      teamData.value = res.data
76
-    }
77
-  } catch (error) {
78
-    console.error('获取部门成员列表失败', error)
79
-  }
80
-}
81
 
82
 
82
 const fetchMemberDistribution = async (params) => {
83
 const fetchMemberDistribution = async (params) => {
83
   try {
84
   try {

+ 1 - 0
src/views/portraitManagement/stationProfile/component/runData.vue

@@ -272,6 +272,7 @@ const fetchData = () => {
272
       params[key] = val
272
       params[key] = val
273
     }
273
     }
274
   })
274
   })
275
+  delete params.deptId
275
 
276
 
276
   invokerCountStationHourlyThroughput(params)
277
   invokerCountStationHourlyThroughput(params)
277
   invokerCountSeizureInfoItem(params)
278
   invokerCountSeizureInfoItem(params)

+ 26 - 33
src/views/portraitManagement/teamProfile/component/profile.vue

@@ -3,7 +3,7 @@
3
     <div class="main-content">
3
     <div class="main-content">
4
       <div class="content-row">
4
       <div class="content-row">
5
         <ProfileRadar :chartData="radarData" />
5
         <ProfileRadar :chartData="radarData" />
6
-        <ProfileMembers :columns="memberColumns" :data="teamMembers" />
6
+        <ProfileMembers :columns="teamColumns" :data="teamMembers" />
7
       </div>
7
       </div>
8
 
8
 
9
       <div class="content-row">
9
       <div class="content-row">
@@ -20,7 +20,7 @@ import ProfileRadar from '../../components/ProfileRadar.vue'
20
 import ProfileMembers from '../../components/ProfileMembers.vue'
20
 import ProfileMembers from '../../components/ProfileMembers.vue'
21
 import ProfileBasicDistribution from '../../components/ProfileBasicDistribution.vue'
21
 import ProfileBasicDistribution from '../../components/ProfileBasicDistribution.vue'
22
 import ProfilePositionDistribution from '../../components/ProfilePositionDistribution.vue'
22
 import ProfilePositionDistribution from '../../components/ProfilePositionDistribution.vue'
23
-import { getDeptMembers, getDeptMemberDistribution, getDeptPositionDistribution, getDimensionScoreOverview } from '@/api/portraitManagement/portraitManagement'
23
+import { countDeptTeamStats, getDeptMemberDistribution, getDeptPositionDistribution, getDimensionScoreOverview } from '@/api/portraitManagement/portraitManagement'
24
 const props = defineProps({
24
 const props = defineProps({
25
   queryParams: {
25
   queryParams: {
26
     type: Object,
26
     type: Object,
@@ -34,28 +34,30 @@ const radarData = ref([
34
 
34
 
35
 
35
 
36
 
36
 
37
-const teamMembers = ref([
38
-  // { name: '孙晓波', age: 25, seniority: 3, gender: '男', nation: '汉', political: '群众', position: '安检员', qualification: '前传、特检、人身', skillLevel: '三级', operateYears: 5, avgYears: 6, totalScore: 88 },
39
-  // { name: '孙晓波', age: 28, seniority: 6, gender: '男', nation: '汉', political: '群众', position: '组长', qualification: '前传、特检、人身', skillLevel: '三级', operateYears: 5, avgYears: 5, totalScore: 85 },
40
-  // { name: '孙晓波', age: 31, seniority: 2, gender: '女', nation: '汉', political: '党员', position: '组长', qualification: '前传、特检、人身', skillLevel: '四级', operateYears: 5, avgYears: 76, totalScore: 76 },
41
-  // { name: '马力', age: 26, seniority: 3, gender: '男', nation: '汉', political: '群众', position: '组长', qualification: '前传、特检、人身', skillLevel: '五级', operateYears: 5, avgYears: 81, totalScore: 81 },
42
-  // { name: '马建国', age: 24, seniority: 5, gender: '男', nation: '汉', political: '党员', position: '安检员', qualification: '前传、特检、人身', skillLevel: '三级', operateYears: 6, avgYears: 78, totalScore: 78 }
43
-])
37
+const teamMembers = ref([])
44
 
38
 
45
-const memberColumns = ref([
46
-  { label: '姓名', prop: 'personName' },
47
-  { label: '年龄', prop: 'age' },
48
-  { label: '司龄', prop: 'workYears' },
49
-  { label: '性别', prop: 'sex' },
50
-  { label: '民族', prop: 'nation' },
51
-  { label: '政治面貌', prop: 'politicalStatus' },
52
-  { label: '职务', prop: 'roleNames' },
53
-  { label: '岗位资质', prop: 'qualificationLevel' },
54
-  { label: '职业技能等级', prop: 'skillLevel' },
55
-  { label: '开机年限', prop: 'xrayOperatorYears' },
56
-  { label: '平均年限', prop: 'avgYears' },
39
+const teamColumns = [
40
+  { label: '小组', prop: 'deptName' },
41
+  { label: '员工数量', prop: 'employeeCount' },
42
+  { label: '党员数量', prop: 'partyMemberCount' },
43
+  { label: '平均年龄', prop: 'avgAge' },
44
+  { label: '平均工龄', prop: 'avgWorkYears' },
45
+  { label: '职业资格等级证书数量', prop: 'qualificationLevel' },
46
+  { label: '平均开机年龄', prop: 'avgXrayOperatorYears' },
57
   { label: '综合得分', prop: 'totalScore' }
47
   { label: '综合得分', prop: 'totalScore' }
58
-])
48
+]
49
+
50
+const fetchTeamData = async (params) => {
51
+  try {
52
+    const res = await countDeptTeamStats(params)
53
+    if (res.code === 200 && res.data) {
54
+      teamData.value = res.data
55
+    }
56
+  } catch (error) {
57
+    console.error('获取部门成员列表失败', error)
58
+  }
59
+}
60
+
59
 
61
 
60
 const genderData = ref([
62
 const genderData = ref([
61
   
63
   
@@ -80,16 +82,7 @@ const operateData = ref([
80
 const postData = ref([
82
 const postData = ref([
81
   
83
   
82
 ])
84
 ])
83
-const fetchTeamMembers = async (params) => {
84
-  try {
85
-    const res = await getDeptMembers(params)
86
-    if (res.code === 200 && res.data) {
87
-      teamMembers.value = res.data
88
-    }
89
-  } catch (error) {
90
-    console.error('获取部门成员列表失败', error)
91
-  }
92
-}
85
+
93
 
86
 
94
 const fetchMemberDistribution = async (params) => {
87
 const fetchMemberDistribution = async (params) => {
95
   try {
88
   try {
@@ -138,7 +131,7 @@ const fetchData = (params) => {
138
   }
131
   }
139
   //  console.log('params', params)
132
   //  console.log('params', params)
140
   // debugger
133
   // debugger
141
-  fetchTeamMembers(params)
134
+  fetchTeamData(params)
142
   fetchMemberDistribution(params)
135
   fetchMemberDistribution(params)
143
   fetchPositionDistribution(params)
136
   fetchPositionDistribution(params)
144
   fetchRadarData(params)
137
   fetchRadarData(params)

+ 1 - 1
src/views/score/dimension/index.vue

@@ -286,7 +286,7 @@ async function loadTree() {
286
 }
286
 }
287
 
287
 
288
 function handleAddIndicator(parentRow) {
288
 function handleAddIndicator(parentRow) {
289
-  Object.assign(indForm, { id: null, dimensionId: selectedDim.value.id, parentId: parentRow ? parentRow.id : 0, level: parentRow ? parentRow.level + 1 : 2, name: '', type: '2', scoreValue: 0, cascadeRule: '', sortOrder: 0, status: '0', remark: '' })
289
+  Object.assign(indForm, { id: null, org: selectedDim.value.org, dimensionId: selectedDim.value.id, parentId: parentRow ? parentRow.id : 0, level: parentRow ? parentRow.level + 1 : 2, name: '', type: '2', scoreValue: 0, cascadeRule: '', sortOrder: 0, status: '0', remark: '' })
290
   parentIndicatorName.value = parentRow ? parentRow.name : ''
290
   parentIndicatorName.value = parentRow ? parentRow.name : ''
291
   indDialogTitle.value = '新增' + (parentRow ? parentRow.level + 1 : 2) + '级指标'
291
   indDialogTitle.value = '新增' + (parentRow ? parentRow.level + 1 : 2) + '级指标'
292
   indDialogVisible.value = true
292
   indDialogVisible.value = true