Pārlūkot izejas kodu

refactor(数据大屏): 将科室相关术语统一改为大队

更新前端组件和逻辑,将原“科室”相关术语统一修改为“大队”,包括界面显示、变量命名和数据处理逻辑
huoyi 1 mēnesi atpakaļ
vecāks
revīzija
adb1538826

+ 10 - 7
src/store/modules/user.js

@@ -15,7 +15,8 @@ const useUserStore = defineStore(
15
       nickName: '',
15
       nickName: '',
16
       avatar: '',
16
       avatar: '',
17
       roles: [],
17
       roles: [],
18
-      permissions: []
18
+      permissions: [],
19
+      userInfo: {},
19
     }),
20
     }),
20
     actions: {
21
     actions: {
21
       // 登录
22
       // 登录
@@ -53,17 +54,18 @@ const useUserStore = defineStore(
53
             this.name = user.userName
54
             this.name = user.userName
54
             this.nickName = user.nickName
55
             this.nickName = user.nickName
55
             this.avatar = avatar
56
             this.avatar = avatar
57
+            this.userInfo = res.userInfo
56
             /* 初始密码提示 */
58
             /* 初始密码提示 */
57
-            if(res.isDefaultModifyPwd) {
58
-              ElMessageBox.confirm('您的密码还是初始密码,请修改密码!',  '安全提示', {  confirmButtonText: '确定',  cancelButtonText: '取消',  type: 'warning' }).then(() => {
59
+            if (res.isDefaultModifyPwd) {
60
+              ElMessageBox.confirm('您的密码还是初始密码,请修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
59
                 router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } })
61
                 router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } })
60
-              }).catch(() => {})
62
+              }).catch(() => { })
61
             }
63
             }
62
             /* 过期密码提示 */
64
             /* 过期密码提示 */
63
-            if(!res.isDefaultModifyPwd && res.isPasswordExpired) {
64
-              ElMessageBox.confirm('您的密码已过期,请尽快修改密码!',  '安全提示', {  confirmButtonText: '确定',  cancelButtonText: '取消',  type: 'warning' }).then(() => {
65
+            if (!res.isDefaultModifyPwd && res.isPasswordExpired) {
66
+              ElMessageBox.confirm('您的密码已过期,请尽快修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
65
                 router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } })
67
                 router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } })
66
-              }).catch(() => {})
68
+              }).catch(() => { })
67
             }
69
             }
68
             resolve(res)
70
             resolve(res)
69
           }).catch(error => {
71
           }).catch(error => {
@@ -78,6 +80,7 @@ const useUserStore = defineStore(
78
             this.token = ''
80
             this.token = ''
79
             this.roles = []
81
             this.roles = []
80
             this.permissions = []
82
             this.permissions = []
83
+            this.userInfo = {}
81
             removeToken()
84
             removeToken()
82
             resolve()
85
             resolve()
83
           }).catch(error => {
86
           }).catch(error => {

+ 1 - 1
src/views/dataBigScreen/dashboard/SeizedRanking.vue

@@ -3,7 +3,7 @@
3
     <template #right-menu>
3
     <template #right-menu>
4
       <div class="dashboard-right-menu">
4
       <div class="dashboard-right-menu">
5
         <span :class="{ active: currentType === 1 }" @click="handleClick(1)">
5
         <span :class="{ active: currentType === 1 }" @click="handleClick(1)">
6
-          按科室
6
+          按大队
7
         </span>
7
         </span>
8
         <span :class="{ active: currentType === 2 }" @click="handleClick(2)">
8
         <span :class="{ active: currentType === 2 }" @click="handleClick(2)">
9
           按班组
9
           按班组

+ 2 - 2
src/views/dataBigScreen/dashboard/components/pageItems/DepartmentInfo.vue

@@ -4,7 +4,7 @@
4
       <el-table v-auto-scroll :data="tableData" border style="width: 100%" height="100%">
4
       <el-table v-auto-scroll :data="tableData" border style="width: 100%" height="100%">
5
         <el-table-column v-if="type === 'team'" prop="name" label="姓名" min-width="80" />
5
         <el-table-column v-if="type === 'team'" prop="name" label="姓名" min-width="80" />
6
         <el-table-column v-if="type === 'department'" prop="name" label="班组" min-width="80" />
6
         <el-table-column v-if="type === 'department'" prop="name" label="班组" min-width="80" />
7
-        <el-table-column v-if="type === 'station'" label="科室" prop="name"  min-width="80" />
7
+        <el-table-column v-if="type === 'station'" label="大队" prop="name"  min-width="80" />
8
         <el-table-column prop="qualificationLevel" label="资质等级" v-if="type === 'team'">
8
         <el-table-column prop="qualificationLevel" label="资质等级" v-if="type === 'team'">
9
           <template #default="scope">
9
           <template #default="scope">
10
             {{ getLabel(scope.row.qualificationLevel) }}
10
             {{ getLabel(scope.row.qualificationLevel) }}
@@ -39,7 +39,7 @@ const title = computed(() => {
39
   } else if (props.type === 'department') {
39
   } else if (props.type === 'department') {
40
     return '班组明细'
40
     return '班组明细'
41
   } else {
41
   } else {
42
-    return '科室明细'
42
+    return '大队明细'
43
   }
43
   }
44
 })
44
 })
45
 
45
 

+ 20 - 34
src/views/dataBigScreen/dashboard/components/pageItems/HomePageOverview.vue

@@ -292,48 +292,34 @@ const fetchDepartments = async () => {
292
   try {
292
   try {
293
     const res = await getDeptUserTree()
293
     const res = await getDeptUserTree()
294
     departments.value = res.data
294
     departments.value = res.data
295
-
296
-    // 数据加载完成后,设置第一个选择项的默认值为100
295
+     
296
+    // 数据加载完成后,查找deptType为BRIGADE的对象
297
     if (res.data && res.data.length > 0) {
297
     if (res.data && res.data.length > 0) {
298
-      // 检查ID为100的选项是否存在
299
-      const findItemById = (items, targetId) => {
298
+      // 查找deptType为BRIGADE的对象
299
+      const findBrigadeItems = (items) => {
300
+        const brigadeItems = []
300
         for (const item of items) {
301
         for (const item of items) {
301
-          if (item.id === targetId) {
302
-            return item
302
+          if (item.deptType === 'BRIGADE') {
303
+            brigadeItems.push(item)
303
           }
304
           }
304
           if (item.children && item.children.length > 0) {
305
           if (item.children && item.children.length > 0) {
305
-            const found = findItemById(item.children, targetId)
306
-            if (found) return found
306
+            const childBrigadeItems = findBrigadeItems(item.children)
307
+            brigadeItems.push(...childBrigadeItems)
307
           }
308
           }
308
         }
309
         }
309
-        return null
310
+        return brigadeItems
310
       }
311
       }
311
 
312
 
312
-      const defaultItem1 = findItemById(res.data, 100);
313
-      const defaultItem2 = findItemById(res.data, 220);
314
-      const defaultItem3 = findItemById(res.data, 221);
315
-      const defaultItem4 = findItemById(res.data, 222);
316
-
317
-      if (defaultItem1) {
318
-        selectionItems.value[0] = {
319
-          ...defaultItem1,
320
-          selectedId: defaultItem1.id,
321
-          selectedName: defaultItem1.label || defaultItem1.name
322
-        }
323
-        selectionItems.value[1] = {
324
-          ...defaultItem2,
325
-          selectedId: defaultItem2.id,
326
-          selectedName: defaultItem2.label || defaultItem2.name
327
-        }
328
-        selectionItems.value[2] = {
329
-          ...defaultItem3,
330
-          selectedId: defaultItem3.id,
331
-          selectedName: defaultItem3.label || defaultItem3.name
332
-        }
333
-        selectionItems.value[3] = {
334
-          ...defaultItem4,
335
-          selectedId: defaultItem4.id,
336
-          selectedName: defaultItem4.label || defaultItem4.name
313
+      const brigadeItems = findBrigadeItems(res.data)
314
+      
315
+      // 设置前4个BRIGADE对象作为默认选项
316
+      if (brigadeItems.length > 0) {
317
+        for (let i = 0; i < Math.min(brigadeItems.length, 4); i++) {
318
+          selectionItems.value[i] = {
319
+            ...brigadeItems[i],
320
+            selectedId: brigadeItems[i].id,
321
+            selectedName: brigadeItems[i].label || brigadeItems[i].name
322
+          }
337
         }
323
         }
338
         // 触发数据请求
324
         // 触发数据请求
339
         fetchHomePageDetailData()
325
         fetchHomePageDetailData()

+ 4 - 4
src/views/dataBigScreen/dashboard/components/pageItems/HomePageStats.vue

@@ -59,13 +59,13 @@
59
             </div>
59
             </div>
60
           </div>
60
           </div>
61
 
61
 
62
-          <!-- 科室和班组合格率排行 -->
62
+          <!-- 大队和班组合格率排行 -->
63
           <div class="rank-section">
63
           <div class="rank-section">
64
-            <!-- 科室排名区域 -->
64
+            <!-- 大队排名区域 -->
65
             <div class="department-rank-container">
65
             <div class="department-rank-container">
66
               <div class="custom-title">
66
               <div class="custom-title">
67
                 <div class="arrow-icon"></div>
67
                 <div class="arrow-icon"></div>
68
-                <span>{{ item.title === '查获上报' ? '科室查获总数排名' : item.title == '抽问抽答' ? '科室正确率排名' : '科室合格率排名' }}</span>
68
+                <span>{{ item.title === '查获上报' ? '大队查获总数排名' : item.title == '抽问抽答' ? '大队正确率排名' : '大队合格率排名' }}</span>
69
               </div>
69
               </div>
70
               <div v-for="(dept, index) in item.departmentRank" :key="'dept-' + index" class="rank-item">
70
               <div v-for="(dept, index) in item.departmentRank" :key="'dept-' + index" class="rank-item">
71
                 <div class="rank-label">{{ dept.name }}</div>
71
                 <div class="rank-label">{{ dept.name }}</div>
@@ -448,7 +448,7 @@ const getPercentage = (value, array) => {
448
     margin-bottom: 0;
448
     margin-bottom: 0;
449
   }
449
   }
450
 
450
 
451
-  /* 科室排名容器样式 */
451
+  /* 大队排名容器样式 */
452
   .department-rank-container {
452
   .department-rank-container {
453
 
453
 
454
     overflow-y: auto;
454
     overflow-y: auto;

+ 1 - 1
src/views/dataBigScreen/dashboard/components/pageItems/HomePageSystemStatus.vue

@@ -120,7 +120,7 @@ const attendanceItems = computed(() => {
120
   if (role.value.includes('kezhang') || role.value.includes('test') || role.value.includes('zhijianke') || role.value.includes('admin')) {
120
   if (role.value.includes('kezhang') || role.value.includes('test') || role.value.includes('zhijianke') || role.value.includes('admin')) {
121
     res = attendanceStats.value.stationLeaderStats || {}
121
     res = attendanceStats.value.stationLeaderStats || {}
122
     return [
122
     return [
123
-      { id: 1, label: `在岗科室`, value: res?.dutyDeptName, unit: '' },
123
+      { id: 1, label: `在岗大队`, value: res?.dutyDeptName, unit: '' },
124
       { id: 2, label: '在岗班组', value: res?.onDutyTeamCount, unit: '' },
124
       { id: 2, label: '在岗班组', value: res?.onDutyTeamCount, unit: '' },
125
       { id: 3, label: '在岗人员', value: res?.onDutyPersonnelCount, unit: '' },
125
       { id: 3, label: '在岗人员', value: res?.onDutyPersonnelCount, unit: '' },
126
       { id: 4, label: '今日查获上报', value: res?.todaySeizureReportCount, unit: '' },
126
       { id: 4, label: '今日查获上报', value: res?.todaySeizureReportCount, unit: '' },

+ 1 - 1
src/views/dataBigScreen/dashboard/components/pageItems/index.js

@@ -55,7 +55,7 @@ export {
55
   Attendance, // 出勤投入
55
   Attendance, // 出勤投入
56
   WorkOutput, // 工作产出
56
   WorkOutput, // 工作产出
57
   LearningGrowth, // 学习成长
57
   LearningGrowth, // 学习成长
58
-  DepartmentInfo, // 科室明细
58
+  DepartmentInfo, // 大队明细
59
   // components
59
   // components
60
   CustomStyleSelect
60
   CustomStyleSelect
61
 }
61
 }

+ 14 - 13
src/views/dataBigScreen/dashboard/components/pageView/HomePage.vue

@@ -107,12 +107,12 @@ const typeDetailData = computed(() => {
107
       dividerIndex: 0,
107
       dividerIndex: 0,
108
       dataItems: getSeizeDataItems(),
108
       dataItems: getSeizeDataItems(),
109
       // rankList: getSeizeRankList(),
109
       // rankList: getSeizeRankList(),
110
-      departmentRank: seizeData.value.stationMasterData && seizeData.value.stationMasterData.departmentRankings?.map(item => ({ ...item, passRate: item.seizureCount?.toFixed(2), name: item.departmentName })) || [],
111
-      teamRank: seizeData.value.stationMasterData && seizeData.value.stationMasterData.topFiveTeamRankings?.map(item => ({ ...item, passRate: item.seizureCount?.toFixed(2), name: item.teamName })) || [],
110
+      departmentRank: seizeData.value.stationMasterData && seizeData.value.stationMasterData.brigadeRankings?.map(item => ({ ...item,passRate: item.seizureCount?.toFixed(2), name: item.brigadeName })) || [],
111
+      teamRank: seizeData.value.stationMasterData && seizeData.value.stationMasterData.topThreeTeamRankings?.map(item => ({ ...item, passRate: item.seizureCount?.toFixed(2), name: item.teamName })) || [],
112
       bottomTeamRank: [{ passRate: 0, name: '无' }],
112
       bottomTeamRank: [{ passRate: 0, name: '无' }],
113
       teamSortType: sortStates.value['查获上报'].teamSortType,
113
       teamSortType: sortStates.value['查获上报'].teamSortType,
114
       deptSortType: sortStates.value['查获上报'].deptSortType,
114
       deptSortType: sortStates.value['查获上报'].deptSortType,
115
-      bottomTeamRank: seizeData.value.stationMasterData && seizeData.value.stationMasterData.botomFiveTeamRankings.map(item => ({ ...item, passRate: item.seizureCount.toFixed(2), name: item.teamName })),
115
+      bottomTeamRank: seizeData.value.stationMasterData && seizeData.value.stationMasterData.botomThreeTeamRankings.map(item => ({ ...item, passRate: item.seizureCount.toFixed(2), name: item.teamName })),
116
     },
116
     },
117
     {
117
     {
118
       title: '抽问抽答',
118
       title: '抽问抽答',
@@ -138,7 +138,7 @@ const typeDetailData = computed(() => {
138
       completed: inspectionData.value.doneNumber,
138
       completed: inspectionData.value.doneNumber,
139
       pending: inspectionData.value.doingNumber,
139
       pending: inspectionData.value.doingNumber,
140
       // rankList: getRankList(),
140
       // rankList: getRankList(),
141
-      departmentRank: inspectionData.value.departmentRankingList && inspectionData.value.departmentRankingList?.map(item => ({ ...item, passRate: (item.passRate * 100)?.toFixed(2) })) || [],
141
+      departmentRank: inspectionData.value.brigadeRankingList && inspectionData.value.brigadeRankingList?.map(item => ({ ...item, passRate: (item.passRate * 100)?.toFixed(2) })) || [],
142
       teamRank: inspectionData.value.teamRankingList && inspectionData.value.teamRankingList?.map(item => ({ ...item, passRate: (item.passRate * 100)?.toFixed(2) })) || [],
142
       teamRank: inspectionData.value.teamRankingList && inspectionData.value.teamRankingList?.map(item => ({ ...item, passRate: (item.passRate * 100)?.toFixed(2) })) || [],
143
       bottomTeamRank: [{ passRate: 0, name: '无' }],
143
       bottomTeamRank: [{ passRate: 0, name: '无' }],
144
       teamSortType: sortStates.value['巡检'].teamSortType,
144
       teamSortType: sortStates.value['巡检'].teamSortType,
@@ -390,7 +390,7 @@ const getInspectionDataItems = () => {
390
     //   ];
390
     //   ];
391
     // } else
391
     // } else
392
     if (isTestRole.value) {
392
     if (isTestRole.value) {
393
-      // test/zhijianke角色:全站、前三名的科室(isImage: true)
393
+      // test/zhijianke角色:全站、前三名的大队(isImage: true)
394
       return [
394
       return [
395
         { label: '全站', value: ((stationPassRate || 0) * 100).toFixed(2) + '%', isImage: false },
395
         { label: '全站', value: ((stationPassRate || 0) * 100).toFixed(2) + '%', isImage: false },
396
         { label: getObjByRank(departmentRankingList, 1).name, value: oneIcon, isImage: true },
396
         { label: getObjByRank(departmentRankingList, 1).name, value: oneIcon, isImage: true },
@@ -436,7 +436,7 @@ const getQuestionDataItems = () => {
436
     //   ];
436
     //   ];
437
     // } else 
437
     // } else 
438
     if (isTestRole.value) {
438
     if (isTestRole.value) {
439
-      // test/zhijianke角色:全站、前三名的科室(isImage: true)
439
+      // test/zhijianke角色:全站、前三名的大队(isImage: true)
440
       return [
440
       return [
441
         { label: '全站', value: (siteAvgAccuracy || 0) + '%', isImage: false },
441
         { label: '全站', value: (siteAvgAccuracy || 0) + '%', isImage: false },
442
         { label: getObjByRank(topDepts, 1).deptName, value: oneIcon, isImage: true },
442
         { label: getObjByRank(topDepts, 1).deptName, value: oneIcon, isImage: true },
@@ -453,6 +453,7 @@ const getQuestionDataItems = () => {
453
 
453
 
454
 //根据角色获取查获数据项目组
454
 //根据角色获取查获数据项目组
455
 const getSeizeDataItems = () => {
455
 const getSeizeDataItems = () => {
456
+  
456
   if (isIndividualView.value) {
457
   if (isIndividualView.value) {
457
     // SecurityCheck角色:从securityCheckerData解构
458
     // SecurityCheck角色:从securityCheckerData解构
458
     const { securityCheckerData } = seizeData.value;
459
     const { securityCheckerData } = seizeData.value;
@@ -493,22 +494,22 @@ const getSeizeDataItems = () => {
493
     if (isTestRole.value) {
494
     if (isTestRole.value) {
494
       // test/zhijianke角色:从securityCheckerData解构
495
       // test/zhijianke角色:从securityCheckerData解构
495
       const { stationMasterData } = seizeData.value;
496
       const { stationMasterData } = seizeData.value;
496
-      const { totalStationSeizure, departmentRankings } = stationMasterData || {}
497
+      const { totalStationSeizure, brigadeRankings } = stationMasterData || {}
497
 
498
 
498
       // 对departmentRankings数组按照seizureCount由大到小排序
499
       // 对departmentRankings数组按照seizureCount由大到小排序
499
-      const sortedDepartmentRankings = Array.isArray(departmentRankings)
500
-        ? [...departmentRankings].sort((a, b) => (b.seizureCount || 0) - (a.seizureCount || 0))
500
+      const sortedDepartmentRankings = Array.isArray(brigadeRankings)
501
+        ? [...brigadeRankings].sort((a, b) => (b.seizureCount || 0) - (a.seizureCount || 0))
501
         : [];
502
         : [];
502
 
503
 
503
       if (sortedDepartmentRankings.length == 0) {
504
       if (sortedDepartmentRankings.length == 0) {
504
         return []
505
         return []
505
       }
506
       }
506
-      // test/zhijianke角色:全站、前三名的科室(isImage: true)
507
+      // test/zhijianke角色:全站、前三名的大队(isImage: true)
507
       return [
508
       return [
508
         { label: '全站', value: totalStationSeizure || 0, isImage: false },
509
         { label: '全站', value: totalStationSeizure || 0, isImage: false },
509
-        { label: sortedDepartmentRankings[0].departmentName, value: oneIcon, isImage: true },
510
-        { label: sortedDepartmentRankings[1].departmentName, value: twoIcon, isImage: true },
511
-        { label: sortedDepartmentRankings[2].departmentName, value: threeIcon, isImage: true }
510
+        { label: sortedDepartmentRankings[0].brigadeName, value: oneIcon, isImage: true },
511
+        { label: sortedDepartmentRankings[1].brigadeName, value: twoIcon, isImage: true },
512
+        { label: sortedDepartmentRankings[2].brigadeName, value: threeIcon, isImage: true }
512
       ];
513
       ];
513
     } else {
514
     } else {
514
       // 默认角色:检查项、完成率
515
       // 默认角色:检查项、完成率

+ 7 - 7
src/views/dataBigScreen/dashboard/components/pageView/QualityControl.vue

@@ -6,7 +6,7 @@
6
       </div>
6
       </div>
7
       <div class="content-center">
7
       <div class="content-center">
8
         <div class="userSelectParams">
8
         <div class="userSelectParams">
9
-          <CustomStyleSelect v-if="type === 'department'" v-model="params.inspectDepartmentId" :options="departments" />
9
+          <CustomStyleSelect v-if="type === 'brigade'" v-model="params.inspectDepartmentId" :options="departments" />
10
           <el-date-picker
10
           <el-date-picker
11
             v-model="params.time"
11
             v-model="params.time"
12
             type="daterange"
12
             type="daterange"
@@ -64,7 +64,7 @@ const props = defineProps({
64
 
64
 
65
 const params = ref({
65
 const params = ref({
66
   time: [moment().subtract(91, 'days').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')],
66
   time: [moment().subtract(91, 'days').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')],
67
-  inspectDepartmentId: props.type === 'department' ? '' : 'ALL'
67
+  inspectDepartmentId: props.type === 'brigade' ? '' : 'ALL'
68
 })
68
 })
69
 
69
 
70
 const provideParams = computed(() => {
70
 const provideParams = computed(() => {
@@ -89,15 +89,15 @@ useTimeOut(() => {
89
     infoNumber.value = res.data
89
     infoNumber.value = res.data
90
   })
90
   })
91
 }, [provideParams])
91
 }, [provideParams])
92
-const departments = ref(props.type === 'department' ? [] : [
92
+const departments = ref(props.type === 'brigade' ? [] : [
93
   { value: 'ALL', label: '全站' },
93
   { value: 'ALL', label: '全站' },
94
 ])
94
 ])
95
-function buildDepartmentOptions (tree = []) {
95
+function buildBrigadeOptions (tree = []) {
96
   const result = [];
96
   const result = [];
97
   function dfs (node, path = []) {
97
   function dfs (node, path = []) {
98
     const currentPath = [ ...path, node.label ];
98
     const currentPath = [ ...path, node.label ];
99
     // 如果是 DEPARTMENT 节点
99
     // 如果是 DEPARTMENT 节点
100
-    if (node.deptType === 'DEPARTMENT') {
100
+    if (node.deptType === "BRIGADE") {
101
       result.push({
101
       result.push({
102
         text: currentPath.join(' / '),
102
         text: currentPath.join(' / '),
103
         value: node.id
103
         value: node.id
@@ -113,8 +113,8 @@ function buildDepartmentOptions (tree = []) {
113
 }
113
 }
114
 const defaultIndex = ref(0)
114
 const defaultIndex = ref(0)
115
 onMounted(() => {
115
 onMounted(() => {
116
-  props.type === 'department' && getDeptList().then(res => {
117
-    departments.value = [ ...departments.value, ...buildDepartmentOptions(res.data || []).map(item => ({
116
+  props.type === 'brigade' && getDeptList().then(res => {
117
+    departments.value = [ ...departments.value, ...buildBrigadeOptions(res.data || []).map(item => ({
118
       ...item,
118
       ...item,
119
       label: item.text?.split('/')[ 1 ],
119
       label: item.text?.split('/')[ 1 ],
120
       value: item.value.toString()
120
       value: item.value.toString()

+ 3 - 3
src/views/dataBigScreen/dashboard/index.vue

@@ -9,13 +9,13 @@
9
         </div>
9
         </div>
10
         <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 2 }" @click="setActiveItem(2)">站级质控
10
         <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 2 }" @click="setActiveItem(2)">站级质控
11
         </div>
11
         </div>
12
-        <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 3 }" @click="setActiveItem(3)">级质控
12
+        <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 3 }" @click="setActiveItem(3)">级质控
13
         </div>
13
         </div>
14
       </div>
14
       </div>
15
       <div class="right">
15
       <div class="right">
16
         <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 4 }" @click="setActiveItem(4)">站级画像
16
         <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 4 }" @click="setActiveItem(4)">站级画像
17
         </div>
17
         </div>
18
-        <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 5 }" @click="setActiveItem(5)">级画像
18
+        <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 5 }" @click="setActiveItem(5)">级画像
19
         </div>
19
         </div>
20
         <!-- <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 6 || activeIndex === 7  }" @click="setActiveItem( 6 )">班组画像
20
         <!-- <div :class="{ carouselItemBtn: true, carouselItemActive: activeIndex === 6 || activeIndex === 7  }" @click="setActiveItem( 6 )">班组画像
21
         </div> -->
21
         </div> -->
@@ -35,7 +35,7 @@
35
             <QualityControl v-if="activeIndex === 2" />
35
             <QualityControl v-if="activeIndex === 2" />
36
           </el-carousel-item>
36
           </el-carousel-item>
37
           <el-carousel-item>
37
           <el-carousel-item>
38
-            <QualityControl type="department" v-if="activeIndex === 3" ref="departmentQualityControl" />
38
+            <QualityControl type="brigade" v-if="activeIndex === 3" ref="departmentQualityControl" />
39
           </el-carousel-item>
39
           </el-carousel-item>
40
           <el-carousel-item>
40
           <el-carousel-item>
41
             <OrganizationalPortrait v-if="activeIndex === 4" />
41
             <OrganizationalPortrait v-if="activeIndex === 4" />