|
@@ -722,26 +722,26 @@ export default {
|
|
|
const currentKnowledgeId = overrideKnowledgeId !== null ? overrideKnowledgeId : vm.selectedKnowledgeId;
|
|
const currentKnowledgeId = overrideKnowledgeId !== null ? overrideKnowledgeId : vm.selectedKnowledgeId;
|
|
|
|
|
|
|
|
return data.map(item => {
|
|
return data.map(item => {
|
|
|
- // 根据节点是否为最外围节点
|
|
|
|
|
- const isOutermost = !item.children || item.children.length === 0;
|
|
|
|
|
-
|
|
|
|
|
// 检查当前节点是否匹配选中的知识点ID
|
|
// 检查当前节点是否匹配选中的知识点ID
|
|
|
- const isMatched = isOutermost && String(item.knowledgeId) === String(currentKnowledgeId);
|
|
|
|
|
|
|
+ const isMatched = String(item.knowledgeId) === String(currentKnowledgeId);
|
|
|
|
|
|
|
|
- // 设置节点大小:选中状态16px,未选中状态10px,非叶子节点5px
|
|
|
|
|
|
|
+ // 获取节点级别,优先使用对应级别的得分率,若缺失则使用另一级别作为备选
|
|
|
|
|
+ const scoreRate = item.personalScoreRate;
|
|
|
|
|
+ const hasData = scoreRate !== undefined && scoreRate !== null && scoreRate !== '';
|
|
|
|
|
+
|
|
|
|
|
+ // 设置节点大小:有数据的默认10px,选中后15px;无数据的5px
|
|
|
let symbolSize = 5;
|
|
let symbolSize = 5;
|
|
|
- if (isOutermost) {
|
|
|
|
|
|
|
+ if (hasData) {
|
|
|
symbolSize = isMatched ? 15 : 10;
|
|
symbolSize = isMatched ? 15 : 10;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 获取节点级别,优先使用对应级别的得分率,若缺失则使用另一级别作为备选
|
|
|
|
|
- const scoreRate = item.personalScoreRate;
|
|
|
|
|
- const nodeLevel = getNodeLevel(scoreRate);
|
|
|
|
|
|
|
+ // 计算节点样式
|
|
|
|
|
+ const itemColor = hasData ? vm.getNodeColor(scoreRate) : '#BFC1C7';
|
|
|
|
|
|
|
|
- // 计算节点样式,使用与nodeLevel相同的得分率逻辑
|
|
|
|
|
- const itemColor = isOutermost ? vm.getNodeColor(scoreRate) : '#BFC1C7';
|
|
|
|
|
- // 仅对最外层节点应用图例过滤,非外层节点始终显示
|
|
|
|
|
- const shouldShow = !isOutermost || vm.selectedLegend[nodeLevel];
|
|
|
|
|
|
|
+ // 获取节点级别用于图例过滤
|
|
|
|
|
+ const nodeLevel = getNodeLevel(scoreRate);
|
|
|
|
|
+ // 应用图例过滤
|
|
|
|
|
+ const shouldShow = vm.selectedLegend[nodeLevel];
|
|
|
|
|
|
|
|
// 设置节点透明度:显示为1,隐藏为0
|
|
// 设置节点透明度:显示为1,隐藏为0
|
|
|
const opacity = shouldShow ? 1 : 0;
|
|
const opacity = shouldShow ? 1 : 0;
|
|
@@ -755,12 +755,10 @@ export default {
|
|
|
color: itemColor,
|
|
color: itemColor,
|
|
|
opacity: opacity
|
|
opacity: opacity
|
|
|
},
|
|
},
|
|
|
- // 当节点是最外层且被隐藏时,隐藏连接到该节点的线
|
|
|
|
|
|
|
+ // 当节点被隐藏时,隐藏连接到该节点的线
|
|
|
lineStyle: {
|
|
lineStyle: {
|
|
|
opacity: shouldShow ? 1 : 0
|
|
opacity: shouldShow ? 1 : 0
|
|
|
},
|
|
},
|
|
|
- // 添加isOutermost属性用于tooltip判断
|
|
|
|
|
- isOutermost: isOutermost,
|
|
|
|
|
// 保存知识ID用于匹配
|
|
// 保存知识ID用于匹配
|
|
|
knowledgeId: item.knowledgeId
|
|
knowledgeId: item.knowledgeId
|
|
|
};
|
|
};
|
|
@@ -1673,7 +1671,9 @@ export default {
|
|
|
margin-left: 5px;
|
|
margin-left: 5px;
|
|
|
color: #FFFFFF;
|
|
color: #FFFFFF;
|
|
|
font-size: 12px;
|
|
font-size: 12px;
|
|
|
- padding: 4px 6px;
|
|
|
|
|
|
|
+ padding: 4px 0px;
|
|
|
|
|
+ width: 57px;
|
|
|
|
|
+ text-align: center;
|
|
|
border-radius: 4px;
|
|
border-radius: 4px;
|
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
|
}
|
|
}
|