|
@@ -496,22 +496,17 @@
|
|
}
|
|
}
|
|
|
|
|
|
const getLDTData = () => {
|
|
const getLDTData = () => {
|
|
|
|
+ const { ...rd } = reportData.value;
|
|
|
|
+ const radar = rd?.overall?.reportRadar||[];
|
|
|
|
+ const radarMap = new Map();
|
|
|
|
+ radar.forEach((item) => {
|
|
|
|
+ radarMap.set(item.classify, item);
|
|
|
|
+ });
|
|
|
|
+
|
|
const indicators = [
|
|
const indicators = [
|
|
- // 目的与动机 (5)
|
|
|
|
- { name: '享受', max: 50 }, { name: '对齐', max: 50 }, { name: '清晰度', max: 50 }, { name: '支持与协作', max: 50 }, { name: '热情与贡献', max: 50 },
|
|
|
|
- // 领导力 (5)
|
|
|
|
- { name: '启发性领导力', max: 50 }, { name: '领导勇气', max: 50 }, { name: '人际领导力', max: 50 }, { name: '协作赋能型领导力', max: 50 }, { name: '愿景与背景', max: 50 },
|
|
|
|
- // 学习 (5)
|
|
|
|
- { name: '反思性学习', max: 50 }, { name: '发展导向', max: 50 }, { name: '嵌入式学习', max: 50 }, { name: '学习相关性', max: 50 }, { name: '发展规划', max: 50 },
|
|
|
|
- // 内部流程及系统与架构 (5)
|
|
|
|
- { name: '合理资源配置', max: 50 }, { name: '团队决策', max: 50 }, { name: '问责机制', max: 50 }, { name: '系统效能', max: 50 }, { name: '团队效能', max: 50 },
|
|
|
|
- // 关系 (5)
|
|
|
|
- { name: '技能与专业知识', max: 50 }, { name: '价值观多样性与包容性', max: 50 }, { name: '尊重与信任', max: 50 }, { name: '安全沟通', max: 50 }, { name: '团队精神与凝聚力', max: 50 },
|
|
|
|
- // 外部流程及系统与架构 (5)
|
|
|
|
- { name: '环境意识', max: 50 }, { name: '利益相关者与客户协同', max: 50 }, { name: '人才与资源获取', max: 50 }, { name: '利益相关者与客户沟通', max: 50 }, { name: '关系中的信任与诚信', max: 50 },
|
|
|
|
- ].reverse();
|
|
|
|
|
|
+ { name: '目的和动机', max: 50 }, { name: '领导力', max: 50 }, { name: '学习', max: 50 }, { name: '内部流程及系统与架构', max: 50 }, { name: '关系', max: 50 }, { name: '外部流程及系统与架构', max: 50 }].reverse();
|
|
const categoryData = [
|
|
const categoryData = [
|
|
- { name: '目的与动机', color: '#823479' },
|
|
|
|
|
|
+ { name: '目的和动机', color: '#823479' },
|
|
{ name: '领导力', color: '#898989' },
|
|
{ name: '领导力', color: '#898989' },
|
|
{ name: '学习', color: '#AECDF3' },
|
|
{ name: '学习', color: '#AECDF3' },
|
|
{ name: '内部流程及系统与架构', color: '#FFD64E' },
|
|
{ name: '内部流程及系统与架构', color: '#FFD64E' },
|
|
@@ -519,24 +514,33 @@
|
|
{ name: '外部流程及系统与架构', color: '#009191' },
|
|
{ name: '外部流程及系统与架构', color: '#009191' },
|
|
];
|
|
];
|
|
const reversedCategoryData = [...categoryData].reverse();
|
|
const reversedCategoryData = [...categoryData].reverse();
|
|
|
|
+ const newArr = [];
|
|
|
|
+ categoryData.forEach(c=>{
|
|
|
|
+ let rm = radarMap.get(c.name);
|
|
|
|
+ newArr.push({
|
|
|
|
+ avgMemberScore:rm.avgMemberScore||0,
|
|
|
|
+ avgLeaderScore:rm.avgLeaderScore||0,
|
|
|
|
+ avgStakeholderScore:rm.avgStakeholderScore||0
|
|
|
|
+ })
|
|
|
|
+ })
|
|
const teamData = [
|
|
const teamData = [
|
|
{
|
|
{
|
|
name: '团队成员',
|
|
name: '团队成员',
|
|
- value: [42, 38, 45, 30, 35, 48, 32, 25, 40, 33, 22, 38, 41, 36, 29, 45, 31, 39, 27, 43, 25, 47, 33, 46, 28, 37, 44, 26, 49, 34].reverse(),
|
|
|
|
|
|
+ value: newArr.map(n=>n.avgMemberScore).reverse(),
|
|
lineStyle: { color: '#9F6196' },
|
|
lineStyle: { color: '#9F6196' },
|
|
itemStyle: { color: '#FFD650' },
|
|
itemStyle: { color: '#FFD650' },
|
|
areaStyle: { color: 'rgba(255, 255, 255, 0.6)' },
|
|
areaStyle: { color: 'rgba(255, 255, 255, 0.6)' },
|
|
},
|
|
},
|
|
{
|
|
{
|
|
name: '团队领导',
|
|
name: '团队领导',
|
|
- value: [35, 45, 33, 42, 28, 30, 41, 46, 29, 38, 48, 27, 39, 43, 31, 36, 47, 25, 40, 32, 44, 26, 49, 34, 37, 22, 41, 30, 45, 38].reverse(),
|
|
|
|
|
|
+ value: newArr.map(n=>n.avgLeaderScore).reverse(),
|
|
lineStyle: { color: '#33A7A7' },
|
|
lineStyle: { color: '#33A7A7' },
|
|
itemStyle: { color: '#751E6A' },
|
|
itemStyle: { color: '#751E6A' },
|
|
areaStyle: { color: 'rgba(255, 255, 255, 0.6)' },
|
|
areaStyle: { color: 'rgba(255, 255, 255, 0.6)' },
|
|
},
|
|
},
|
|
{
|
|
{
|
|
name: '利益相关者',
|
|
name: '利益相关者',
|
|
- value: [39, 43, 31, 36, 47, 25, 40, 32, 44, 26, 49, 34, 37, 22, 41, 35, 45, 33, 42, 28, 30, 41, 46, 29, 38, 48, 27, 30, 45, 38].reverse(),
|
|
|
|
|
|
+ value: newArr.map(n=>n.avgStakeholderScore).reverse(),
|
|
lineStyle: { color: '#FFD750' },
|
|
lineStyle: { color: '#FFD750' },
|
|
itemStyle: { color: '#012846' },
|
|
itemStyle: { color: '#012846' },
|
|
areaStyle: { color: 'rgba(255, 255, 255, 0.6)' },
|
|
areaStyle: { color: 'rgba(255, 255, 255, 0.6)' },
|
|
@@ -547,7 +551,7 @@
|
|
let current = 0;
|
|
let current = 0;
|
|
reversedCategoryData.forEach((cat) => {
|
|
reversedCategoryData.forEach((cat) => {
|
|
const data = new Array(indicators.length).fill('-');
|
|
const data = new Array(indicators.length).fill('-');
|
|
- for (let i = 0; i < 5; i++) {
|
|
|
|
|
|
+ for (let i = 0; i < 1; i++) {
|
|
data[current + i] = 50;
|
|
data[current + i] = 50;
|
|
}
|
|
}
|
|
series.push({
|
|
series.push({
|
|
@@ -563,7 +567,7 @@
|
|
borderWidth: 0
|
|
borderWidth: 0
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- current += 5;
|
|
|
|
|
|
+ current += 1;
|
|
});
|
|
});
|
|
return series;
|
|
return series;
|
|
};
|
|
};
|
|
@@ -638,7 +642,7 @@
|
|
const total = reversedCategoryData.length;
|
|
const total = reversedCategoryData.length;
|
|
const anglePerItem = 360 / total;
|
|
const anglePerItem = 360 / total;
|
|
const centerAngle = -anglePerItem * index - anglePerItem / 2;
|
|
const centerAngle = -anglePerItem * index - anglePerItem / 2;
|
|
- let rotation = centerAngle+5;
|
|
|
|
|
|
+ let rotation = centerAngle+30;
|
|
if (centerAngle < -90 && centerAngle > -270) {
|
|
if (centerAngle < -90 && centerAngle > -270) {
|
|
rotation += 180;
|
|
rotation += 180;
|
|
}
|
|
}
|
|
@@ -694,7 +698,7 @@
|
|
return {
|
|
return {
|
|
type: 'text',
|
|
type: 'text',
|
|
style: {
|
|
style: {
|
|
- text: indicator.name,
|
|
|
|
|
|
+ // text: indicator.name,
|
|
font: '8px "Microsoft YaHei"',
|
|
font: '8px "Microsoft YaHei"',
|
|
fill: '#333',
|
|
fill: '#333',
|
|
align: textAlign, // 根据位置动态设置对齐方式
|
|
align: textAlign, // 根据位置动态设置对齐方式
|
|
@@ -768,11 +772,6 @@
|
|
}
|
|
}
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
- Promise.resolve().then(() => {
|
|
|
|
- initZttdznChart();
|
|
|
|
- window.addEventListener('resize', resizeChart);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
reportData.value = props.reportData;
|
|
reportData.value = props.reportData;
|
|
membersPageCount.value = Math.ceil(reportData.value?.nextSteps?.teamInfo?.team_info?.length/4);
|
|
membersPageCount.value = Math.ceil(reportData.value?.nextSteps?.teamInfo?.team_info?.length/4);
|
|
pageNum.value = reportData.value?.dimensionAnalysis?.length*3+4||'-';
|
|
pageNum.value = reportData.value?.dimensionAnalysis?.length*3+4||'-';
|
|
@@ -783,7 +782,10 @@
|
|
tms.scores = [...tms.scores,tms.avgScore,tms.variance]
|
|
tms.scores = [...tms.scores,tms.avgScore,tms.variance]
|
|
})
|
|
})
|
|
})
|
|
})
|
|
- initZttdznChart();
|
|
|
|
|
|
+ Promise.resolve().then(() => {
|
|
|
|
+ initZttdznChart();
|
|
|
|
+ window.addEventListener('resize', resizeChart);
|
|
|
|
+ });
|
|
if(reportData.value?.dimensionAnalysis?.length){
|
|
if(reportData.value?.dimensionAnalysis?.length){
|
|
nextTick(()=>{
|
|
nextTick(()=>{
|
|
reportData.value?.dimensionAnalysis?.forEach((item,index)=>{
|
|
reportData.value?.dimensionAnalysis?.forEach((item,index)=>{
|