diff --git a/edc-web/app/static/js/test_data.js b/edc-web/app/static/js/test_data.js
index 37d76bb..432d8b1 100644
--- a/edc-web/app/static/js/test_data.js
+++ b/edc-web/app/static/js/test_data.js
@@ -13,7 +13,7 @@ const VIEWS = {
{ key: 'data_source', title: '来源' },
{ key: 'test_mode', title: '测试模式', render: r => r.test_mode === 1 ? '波动' : '灵敏度' },
{ key: 'iffinish', title: '完成', render: r => r.data_source === 'B4' ? '-' : (r.iffinish === '1' ? '是' : '否') },
- { key: 'fault_info', title: '故障信息', render: r => r.data_source === 'B4' ? '-' : (r.fault_info || '-') },
+ { key: 'fault_info', title: '故障信息', render: r => r.data_source === 'B4' ? '-' : `${escHtml(r.fault_info || '-')}` },
{ key: 'relay_out', title: '继电器', render: r => decodeRelay(r.relay_code) },
{ key: 'ppvalue', title: '峰峰值(V)', render: r => r.data_source === 'B4' ? '-' : (r.ppvalue != null ? r.ppvalue.toFixed(2) : '-') },
{ key: 'idle_freq', title: '开始频率', render: r => r.data_source === 'B4' ? '-' : (r.idle_freq || '-') },
@@ -48,7 +48,7 @@ const VIEWS = {
{ key: 'model', title: '型号', render: r => r.sub_type === 1 ? 'PD132' : r.sub_type === 2 ? 'DLD110' : '-' },
{ key: 'test_mode', title: '测试模式', render: r => r.test_mode === 1 ? '波动' : '灵敏度' },
{ key: 'iffinish', title: '完成', render: r => r.iffinish === '1' ? '是' : '否' },
- { key: 'fault_info', title: '故障信息' },
+ { key: 'fault_info', title: '故障信息', render: r => `${escHtml(r.fault_info || '-')}` },
{ key: 'relay_out', title: '继电器', render: r => decodeRelay(r.relay_code) },
{ key: 'ppvalue', title: '峰峰值(V)', render: r => r.ppvalue?.toFixed(2) || '-' },
{ key: 'idle_freq', title: '开始频率' },
@@ -121,6 +121,10 @@ function decodeRelay(v) {
return RELAY_MAP[parseInt(v)] || `0x${parseInt(v).toString(16).toUpperCase().padStart(2, '0')}`;
}
+function escHtml(s) {
+ return (s || '').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
+}
+
/** 构建测试环境标签 (线圈 + 模拟车辆) */
function envLabel(r) {
const parts = [];