fix: relay_out 调整仅改后端格式化,前端直接显示 DB relay_out 字段
- relay_code 保持原始 int 值不变 - decode_relay_info 输出新格式: '存在继电器有输出,脉冲继电器无输出' - 前端不再 JS 端重新解码 relay_code,直接显示 DB 中的 relay_out 字段 - 保留 RELAY_MAP/decodeRelay 作为降级方案(relay_out 为空时用)
This commit is contained in:
@@ -14,7 +14,7 @@ const VIEWS = {
|
||||
{ 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' ? '-' : `<span style="display:inline-block;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;" title="${escHtml(r.fault_info || '')}">${escHtml(r.fault_info || '-')}</span>` },
|
||||
{ key: 'relay_out', title: '继电器', render: r => decodeRelay(r.relay_code) },
|
||||
{ key: 'relay_out', title: '继电器' },
|
||||
{ key: 'ppvalue', title: '峰峰值(V)', render: r => r.data_source === 'B4' ? '-' : (r.ppvalue != null ? r.ppvalue.toFixed(2) : '-') },
|
||||
{ key: 'idle_freq', title: '开始频率(Hz)', render: r => r.data_source === 'B4' ? '-' : (r.idle_freq || '-') },
|
||||
{ key: 'enter_freq', title: '进入频率(Hz)', render: r => r.data_source === 'B4' ? '-' : (r.enter_freq || '-') },
|
||||
@@ -49,7 +49,7 @@ const VIEWS = {
|
||||
{ key: 'test_mode', title: '测试模式', render: r => r.test_mode === 1 ? '波动' : '灵敏度' },
|
||||
{ key: 'iffinish', title: '完成', render: r => r.iffinish === '1' ? '是' : '否' },
|
||||
{ key: 'fault_info', title: '故障信息', render: r => `<span style="display:inline-block;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;" title="${escHtml(r.fault_info || '')}">${escHtml(r.fault_info || '-')}</span>` },
|
||||
{ key: 'relay_out', title: '继电器', render: r => decodeRelay(r.relay_code) },
|
||||
{ key: 'relay_out', title: '继电器' },
|
||||
{ key: 'ppvalue', title: '峰峰值(V)', render: r => r.ppvalue?.toFixed(2) || '-' },
|
||||
{ key: 'idle_freq', title: '开始频率(Hz)' },
|
||||
{ key: 'enter_freq', title: '进入频率(Hz)' },
|
||||
@@ -76,7 +76,7 @@ const VIEWS = {
|
||||
{ key: 'far_dist', title: '最远距离(mm)' },
|
||||
{ key: 'b4_enter_dist', title: '触发距离(mm)' },
|
||||
{ key: 'b4_leave_dist', title: '释放高度(mm)' },
|
||||
{ key: 'relay_out', title: '继电器', render: r => decodeRelay(r.relay_code) },
|
||||
{ key: 'relay_out', title: '继电器' },
|
||||
{ key: 'env', title: '测试环境', render: r => envLabel(r) },
|
||||
{ key: 'create_time', title: '时间', render: r => fmtTime(r.create_time) },
|
||||
],
|
||||
@@ -110,16 +110,15 @@ function fmtTime(v) {
|
||||
return `${y}-${m}-${d2} ${h}:${min}:${s}`;
|
||||
}
|
||||
|
||||
const RELAY_MAP = {
|
||||
0: '无输出',
|
||||
1: '存在信号',
|
||||
2: '脉冲信号',
|
||||
3: '存在信号; 脉冲信号',
|
||||
};
|
||||
function decodeRelay(v) {
|
||||
if (v === null || v === undefined || v === '') return '-';
|
||||
return decodeRelayCode(parseInt(v));
|
||||
}
|
||||
/** 将 relay_code 原始值解码为可读字符串:
|
||||
* bit 0 → 存在继电器,bit 1 → 脉冲继电器 */
|
||||
function decodeRelayCode(code) {
|
||||
const exist = (code & 0x01) ? "存在继电器有输出" : "存在继电器无输出";
|
||||
const pulse = (code & 0x02) ? "脉冲继电器有输出" : "脉冲继电器无输出";
|
||||
return `${exist},${pulse}`;
|
||||
return RELAY_MAP[parseInt(v)] || `0x${parseInt(v).toString(16).toUpperCase().padStart(2, '0')}`;
|
||||
}
|
||||
|
||||
function escHtml(s) {
|
||||
@@ -297,7 +296,7 @@ function buildRelaySeries(records) {
|
||||
// tooltip 中显示解码后的文本
|
||||
tooltip: {
|
||||
valueFormatter: function (value) {
|
||||
return decodeRelayCode(value);
|
||||
return RELAY_MAP[value] || `未知(${value})`;
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -428,7 +427,7 @@ async function loadChart() {
|
||||
offset: 160,
|
||||
axisLabel: {
|
||||
formatter: function (v) {
|
||||
return decodeRelayCode(v);
|
||||
return RELAY_MAP[v] || '';
|
||||
},
|
||||
fontSize: 10,
|
||||
}},
|
||||
|
||||
@@ -388,12 +388,15 @@ function fmtTime(v) {
|
||||
return `${y}-${m}-${d2} ${h}:${min}:${s}`;
|
||||
}
|
||||
|
||||
const RELAY_MAP = {
|
||||
0: '无输出',
|
||||
1: '存在信号',
|
||||
2: '脉冲信号',
|
||||
3: '存在信号; 脉冲信号',
|
||||
};
|
||||
function decodeRelay(v) {
|
||||
if (v === null || v === undefined || v === '') return '-';
|
||||
const code = parseInt(v);
|
||||
const exist = (code & 0x01) ? "存在继电器有输出" : "存在继电器无输出";
|
||||
const pulse = (code & 0x02) ? "脉冲继电器有输出" : "脉冲继电器无输出";
|
||||
return `${exist},${pulse}`;
|
||||
return RELAY_MAP[parseInt(v)] || `0x${parseInt(v).toString(16).toUpperCase().padStart(2, '0')}`;
|
||||
}
|
||||
|
||||
// ─── 显示最新结果 ──────────────────────────────
|
||||
@@ -413,7 +416,7 @@ function renderLatest(data) {
|
||||
<p>离开速度:${toSpeed(data.exit_speed)} m/s</p>
|
||||
<p>是否完成:${data.iffinish === '1' ? '是' : '否'}</p>
|
||||
<p>故障信息:${data.fault_info || '无'}</p>
|
||||
<p>继电器:${decodeRelay(data.relay_code)}</p>
|
||||
<p>继电器:${data.relay_out || decodeRelay(data.relay_code)}</p>
|
||||
<p>时间:${fmtTime(data.create_time)}</p>
|
||||
`;
|
||||
}
|
||||
@@ -454,7 +457,7 @@ function renderLatestWave(data) {
|
||||
<p>最远距离:${data.far_dist || '-'} mm</p>
|
||||
<p>进入高度 (B4):${data.b4_enter_dist || '-'} mm</p>
|
||||
<p>离开高度 (B4):${data.b4_leave_dist || '-'} mm</p>
|
||||
<p>继电器:${decodeRelay(data.relay_code)}</p>
|
||||
<p>继电器:${data.relay_out || decodeRelay(data.relay_code)}</p>
|
||||
<p>时间:${fmtTime(data.create_time)}</p>
|
||||
`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user