|
|
@@ -202,6 +202,11 @@ import {
|
|
202
|
202
|
getFunctionalDeptDistributionPie
|
|
203
|
203
|
} from '@/api/performance/monthlyAssessSum.js'
|
|
204
|
204
|
import { listDept } from '@/api/system/dept.js'
|
|
|
205
|
+import { useDict } from '@/utils/dict'
|
|
|
206
|
+import { selectDictLabel } from '@/utils/ruoyi'
|
|
|
207
|
+
|
|
|
208
|
+// 获取字典数据
|
|
|
209
|
+const { assessment_team } = useDict('assessment_team')
|
|
205
|
210
|
|
|
206
|
211
|
// 响应式数据
|
|
207
|
212
|
const loading = ref(false)
|
|
|
@@ -397,7 +402,7 @@ const initTraversalCharts = () => {
|
|
397
|
402
|
tooltip: { trigger: 'item' },
|
|
398
|
403
|
series: [{
|
|
399
|
404
|
type: 'pie',
|
|
400
|
|
- radius: '70%',
|
|
|
405
|
+ radius: '50%',
|
|
401
|
406
|
data: [
|
|
402
|
407
|
{ value: 120, name: '优秀' },
|
|
403
|
408
|
{ value: 280, name: '合格' },
|
|
|
@@ -415,7 +420,7 @@ const initTraversalCharts = () => {
|
|
415
|
420
|
tooltip: { trigger: 'item' },
|
|
416
|
421
|
series: [{
|
|
417
|
422
|
type: 'pie',
|
|
418
|
|
- radius: '70%',
|
|
|
423
|
+ radius: '50%',
|
|
419
|
424
|
data: [
|
|
420
|
425
|
{ value: 15, name: '已改进' },
|
|
421
|
426
|
{ value: 60, name: '待改进' },
|
|
|
@@ -448,7 +453,7 @@ const initTraversalCharts = () => {
|
|
448
|
453
|
tooltip: { trigger: 'item' },
|
|
449
|
454
|
series: [{
|
|
450
|
455
|
type: 'pie',
|
|
451
|
|
- radius: '70%',
|
|
|
456
|
+ radius: '50%',
|
|
452
|
457
|
data: [
|
|
453
|
458
|
{ value: 150, name: '安检员' },
|
|
454
|
459
|
{ value: 120, name: '设备操作员' },
|
|
|
@@ -531,7 +536,10 @@ const getList = async () => {
|
|
531
|
536
|
// 解析表格数据
|
|
532
|
537
|
let tableData = []
|
|
533
|
538
|
if (statisticsData.length > 0 && statisticsData[0].assessmentTeams) {
|
|
534
|
|
- tableData = statisticsData[0].assessmentTeams
|
|
|
539
|
+ tableData = statisticsData[0].assessmentTeams.map(item => ({
|
|
|
540
|
+ ...item,
|
|
|
541
|
+ assessmentTeam: selectDictLabel(assessment_team.value, item.assessmentTeam)
|
|
|
542
|
+ }))
|
|
535
|
543
|
}
|
|
536
|
544
|
|
|
537
|
545
|
// 计算总计用于标题
|
|
|
@@ -636,7 +644,7 @@ const getList = async () => {
|
|
636
|
644
|
const data = teamImproveRes.value.data
|
|
637
|
645
|
if (positionPieChart1Instance && Array.isArray(data)) {
|
|
638
|
646
|
positionPieChart1Instance.setOption({
|
|
639
|
|
- series: [{ data: data.map(item => ({ name: item.assessmentTeam, value: item.count })) }]
|
|
|
647
|
+ series: [{ data: data.map(item => ({ name: selectDictLabel(assessment_team.value, item.assessmentTeam), value: item.count })) }]
|
|
640
|
648
|
})
|
|
641
|
649
|
}
|
|
642
|
650
|
}
|
|
|
@@ -645,7 +653,7 @@ const getList = async () => {
|
|
645
|
653
|
const data = teamIncompRes.value.data
|
|
646
|
654
|
if (positionPieChart2Instance && Array.isArray(data)) {
|
|
647
|
655
|
positionPieChart2Instance.setOption({
|
|
648
|
|
- series: [{ data: data.map(item => ({ name: item.assessmentTeam, value: item.count })) }]
|
|
|
656
|
+ series: [{ data: data.map(item => ({ name: selectDictLabel(assessment_team.value, item.assessmentTeam), value: item.count })) }]
|
|
649
|
657
|
})
|
|
650
|
658
|
}
|
|
651
|
659
|
}
|
|
|
@@ -662,8 +670,8 @@ const getList = async () => {
|
|
662
|
670
|
tooltip: { trigger: 'item' },
|
|
663
|
671
|
series: [{
|
|
664
|
672
|
type: 'pie',
|
|
665
|
|
- radius: '70%',
|
|
666
|
|
- data: item.improveData.map(d => ({ name: d.assessmentTeam, value: d.count }))
|
|
|
673
|
+ radius: '50%',
|
|
|
674
|
+ data: item.improveData.map(d => ({ name: selectDictLabel(assessment_team.value, d.assessmentTeam), value: d.count }))
|
|
667
|
675
|
}]
|
|
668
|
676
|
})
|
|
669
|
677
|
}
|
|
|
@@ -674,8 +682,8 @@ const getList = async () => {
|
|
674
|
682
|
tooltip: { trigger: 'item' },
|
|
675
|
683
|
series: [{
|
|
676
|
684
|
type: 'pie',
|
|
677
|
|
- radius: '70%',
|
|
678
|
|
- data: item.incompData.map(d => ({ name: d.assessmentTeam, value: d.count }))
|
|
|
685
|
+ radius: '50%',
|
|
|
686
|
+ data: item.incompData.map(d => ({ name: selectDictLabel(assessment_team.value, d.assessmentTeam), value: d.count }))
|
|
679
|
687
|
}]
|
|
680
|
688
|
})
|
|
681
|
689
|
}
|
|
|
@@ -696,13 +704,16 @@ const getList = async () => {
|
|
696
|
704
|
return {
|
|
697
|
705
|
title: item.deptName,
|
|
698
|
706
|
deptId: item.deptId,
|
|
699
|
|
- tableData: item.assessmentTeams || [],
|
|
|
707
|
+ tableData: (item.assessmentTeams || []).map(t => ({
|
|
|
708
|
+ ...t,
|
|
|
709
|
+ assessmentTeam: selectDictLabel(assessment_team.value, t.assessmentTeam)
|
|
|
710
|
+ })),
|
|
700
|
711
|
barData: personnelItem ? [
|
|
701
|
712
|
{ name: '考核组人数', value: personnelItem.assessmentTeamCount || 0 },
|
|
702
|
713
|
{ name: '实际待改进人数', value: personnelItem.actualImprovementCount || 0 },
|
|
703
|
714
|
{ name: '实际不称职人数', value: personnelItem.actualIncompetentCount || 0 }
|
|
704
|
715
|
] : [],
|
|
705
|
|
- pieData: deptPieData.map(p => ({ name: p.assessmentTeam, value: p.count }))
|
|
|
716
|
+ pieData: deptPieData.map(p => ({ name: selectDictLabel(assessment_team.value, p.assessmentTeam), value: p.count }))
|
|
706
|
717
|
}
|
|
707
|
718
|
})
|
|
708
|
719
|
|
|
|
@@ -725,7 +736,7 @@ const getList = async () => {
|
|
725
|
736
|
const pieChart = echarts.init(traversalChartsRefs.value[pieChartKey])
|
|
726
|
737
|
pieChart.setOption({
|
|
727
|
738
|
tooltip: { trigger: 'item' },
|
|
728
|
|
- series: [{ type: 'pie', radius: '70%', data: item.pieData }]
|
|
|
739
|
+ series: [{ type: 'pie', radius: '50%', data: item.pieData }]
|
|
729
|
740
|
})
|
|
730
|
741
|
}
|
|
731
|
742
|
})
|
|
|
@@ -1358,17 +1369,20 @@ onUnmounted(() => {
|
|
1358
|
1369
|
}
|
|
1359
|
1370
|
|
|
1360
|
1371
|
.traversal-content {
|
|
1361
|
|
- display: grid;
|
|
1362
|
|
- grid-template-columns: 1fr 1fr;
|
|
|
1372
|
+ display: flex;
|
|
1363
|
1373
|
gap: 20px;
|
|
1364
|
1374
|
padding: 20px;
|
|
1365
|
1375
|
}
|
|
1366
|
1376
|
|
|
1367
|
1377
|
.table-section {
|
|
|
1378
|
+ flex: 1;
|
|
|
1379
|
+ min-width: 0;
|
|
1368
|
1380
|
min-height: 400px;
|
|
1369
|
1381
|
}
|
|
1370
|
1382
|
|
|
1371
|
1383
|
.chart-section {
|
|
|
1384
|
+ flex: 1;
|
|
|
1385
|
+ min-width: 0;
|
|
1372
|
1386
|
display: grid;
|
|
1373
|
1387
|
grid-template-columns: 1fr 1fr;
|
|
1374
|
1388
|
gap: 15px;
|
|
|
@@ -1411,10 +1425,15 @@ onUnmounted(() => {
|
|
1411
|
1425
|
}
|
|
1412
|
1426
|
|
|
1413
|
1427
|
.traversal-content {
|
|
1414
|
|
- grid-template-columns: 1fr;
|
|
|
1428
|
+ flex-direction: column;
|
|
1415
|
1429
|
gap: 15px;
|
|
1416
|
1430
|
}
|
|
1417
|
1431
|
|
|
|
1432
|
+ .table-section,
|
|
|
1433
|
+ .chart-section {
|
|
|
1434
|
+ min-width: 0;
|
|
|
1435
|
+ }
|
|
|
1436
|
+
|
|
1418
|
1437
|
.chart-section {
|
|
1419
|
1438
|
grid-template-columns: 1fr;
|
|
1420
|
1439
|
height: auto;
|