// 渲染单个配置的详细结果
function renderSingleResult(detailResult) {
// 使用后端返回的动态映射表而不是前端的静态映射
const dynamicKeywordSystemMap = detailResult.dynamicKeywordSystemMap || {};
// 获取关键字对应的系统
const getSystemsForKeyword = (keyword) => {
return dynamicKeywordSystemMap[keyword] || ['未知系统'];
};
let html = `
<div class="summary-box">
<div class="summary-item">
<div class="summary-label">相似度</div>
<div class="summary-value summary-matched">${detailResult.similarity}%</div>
</div>
<div class="summary-item">
<div class="summary-label">匹配关键字</div>
<div class="summary-value summary-total">${detailResult.matchedKeywords.length}</div>
</div>
<div class="summary-item">
<div class="summary-label">缺失关键字</div>
<div class="summary-value summary-missing">${detailResult.missingKeywords.length}</div>
</div>
<div class="summary-item">
<div class="summary-label">多余关键字</div>
<div class="summary-value summary-extra">${detailResult.extraKeywords.length}</div>
</div>
<div class="summary-item">
<div class="summary-label">受影响系统</div>
<div class="summary-value summary-errors">${detailResult.affectedSystems.length}</div>
</div>
</div>
<div class="analysis-header">配置差异详情</div>
<div class="result-container">
<div class="result-header">
<div>类型</div>
<div>关键字</div>
<div>涉及功能系统</div>
</div>
`;
// 显示匹配项
detailResult.matchedKeywords.forEach(keyword => {
const systems = getSystemsForKeyword(keyword).join(', ');
html += `
<div class="result-row">
<div><span class="match-status status-match">匹配</span></div>
<div>${keyword}</div>
<div>${systems}</div>
</div>
`;
});
// 显示缺失项
detailResult.missingKeywords.forEach(keyword => {
const systems = getSystemsForKeyword(keyword).join(', ');
html += `
<div class="result-row">
<div><span class="match-status status-missing">缺失</span></div>
<div>${keyword}</div>
<div>${systems}</div>
</div>
`;
});
// 显示多余项
detailResult.extraKeywords.forEach(keyword => {
const systems = getSystemsForKeyword(keyword).join(', ');
html += `
<div class="result-row">
<div><span class="match-status status-extra">多余</span></div>
<div>${keyword}</div>
<div>${systems}</div>
</div>
`;
});
// 显示受影响系统
if (detailResult.affectedSystems.length > 0) {
html += `
<div class="result-row" style="background-color: #f8f9fa;">
<div><span class="match-status status-error">受影响系统</span></div>
<div colspan="2">${detailResult.affectedSystems.join(', ')}</div>
</div>
`;
}
html += `</div>`; // 结束result-container
return html;
}
版权属于:
wehg489
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
评论