fix: 前端继电器显示同步为新格式 + 更新子模块
与后端 decode_relay_info 保持一致:bit 0/1 始终显示 有/无,不再用缩写 MAP
This commit is contained in:
@@ -16,25 +16,25 @@ const VIEWS = {
|
|||||||
{ 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: '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: '继电器', render: r => decodeRelay(r.relay_code) },
|
||||||
{ key: 'ppvalue', title: '峰峰值(V)', render: r => r.data_source === 'B4' ? '-' : (r.ppvalue != null ? r.ppvalue.toFixed(2) : '-') },
|
{ 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 || '-') },
|
{ key: 'idle_freq', title: '开始频率(Hz)', render: r => r.data_source === 'B4' ? '-' : (r.idle_freq || '-') },
|
||||||
{ key: 'enter_freq', title: '进入频率', render: r => r.data_source === 'B4' ? '-' : (r.enter_freq || '-') },
|
{ key: 'enter_freq', title: '进入频率(Hz)', render: r => r.data_source === 'B4' ? '-' : (r.enter_freq || '-') },
|
||||||
{ key: 'exit_freq', title: '离开频率', render: r => r.data_source === 'B4' ? '-' : (r.exit_freq || '-') },
|
{ key: 'exit_freq', title: '离开频率(Hz)', render: r => r.data_source === 'B4' ? '-' : (r.exit_freq || '-') },
|
||||||
{ key: 'enter_dist', title: '进入高度/距离', render: r => {
|
{ key: 'enter_dist', title: '触发距离(mm)', render: r => {
|
||||||
const v = r.data_source === 'B4' ? r.b4_enter_dist : r.enter_dist;
|
const v = r.data_source === 'B4' ? r.b4_enter_dist : r.enter_dist;
|
||||||
return v != null ? v + ' mm' : '-';
|
return v != null ? v + ' ' : '-';
|
||||||
}},
|
}},
|
||||||
{ key: 'exit_dist', title: '离开高度/距离', render: r => {
|
{ key: 'exit_dist', title: '释放距离(mm)', render: r => {
|
||||||
const v = r.data_source === 'B4' ? r.b4_leave_dist : r.exit_dist;
|
const v = r.data_source === 'B4' ? r.b4_leave_dist : r.exit_dist;
|
||||||
return v != null ? v + ' mm' : '-';
|
return v != null ? v + ' ' : '-';
|
||||||
}},
|
}},
|
||||||
{ key: 'enter_speed', title: '进入速度', render: r => r.data_source === 'B4' ? '-' : toSpeed(r.enter_speed) },
|
{ key: 'enter_speed', title: '进入速度(dm/s)', render: r => r.data_source === 'B4' ? '-' : toSpeed(r.enter_speed) },
|
||||||
{ key: 'exit_speed', title: '离开速度', render: r => r.data_source === 'B4' ? '-' : toSpeed(r.exit_speed) },
|
{ key: 'exit_speed', title: '离开速度(dm/s)', render: r => r.data_source === 'B4' ? '-' : toSpeed(r.exit_speed) },
|
||||||
{ key: 'remain_count', title: '剩余次数', render: r => r.data_source === 'B2' ? '-' : (r.remain_count ?? '-') },
|
{ key: 'remain_count', title: '剩余次数', render: r => r.data_source === 'B2' ? '-' : (r.remain_count ?? '-') },
|
||||||
{ key: 'work_freq', title: '工作频率(Hz)', render: r => r.data_source === 'B2' ? '-' : (r.work_freq ?? '-') },
|
{ key: 'work_freq', title: '工作频率(Hz)', render: r => r.data_source === 'B2' ? '-' : (r.work_freq ?? '-') },
|
||||||
{ key: 'curr_dist', title: '当前距离(mm)', render: r => r.data_source === 'B2' ? '-' : (r.curr_dist != null ? r.curr_dist + ' mm' : '-') },
|
{ key: 'curr_dist', title: '当前距离(mm)', render: r => r.data_source === 'B2' ? '-' : (r.curr_dist != null ? r.curr_dist + ' ' : '-') },
|
||||||
{ key: 'speed', title: '速度(dm/s)', render: r => r.data_source === 'B2' ? '-' : (r.speed ?? '-') },
|
{ key: 'speed', title: '速度(dm/s)', render: r => r.data_source === 'B2' ? '-' : (r.speed ?? '-') },
|
||||||
{ key: 'near_dist', title: '最近距离(mm)', render: r => r.data_source === 'B2' ? '-' : (r.near_dist != null ? r.near_dist + ' mm' : '-') },
|
{ key: 'near_dist', title: '最近距离(mm)', render: r => r.data_source === 'B2' ? '-' : (r.near_dist != null ? r.near_dist + ' ' : '-') },
|
||||||
{ key: 'far_dist', title: '最远距离(mm)', render: r => r.data_source === 'B2' ? '-' : (r.far_dist != null ? r.far_dist + ' mm' : '-') },
|
{ key: 'far_dist', title: '最远距离(mm)', render: r => r.data_source === 'B2' ? '-' : (r.far_dist != null ? r.far_dist + ' ' : '-') },
|
||||||
{ key: 'env', title: '测试环境', render: r => envLabel(r) },
|
{ key: 'env', title: '测试环境', render: r => envLabel(r) },
|
||||||
{ key: 'create_time', title: '时间', render: r => fmtTime(r.create_time) },
|
{ key: 'create_time', title: '时间', render: r => fmtTime(r.create_time) },
|
||||||
],
|
],
|
||||||
@@ -51,11 +51,11 @@ const VIEWS = {
|
|||||||
{ 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: '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: '继电器', render: r => decodeRelay(r.relay_code) },
|
||||||
{ key: 'ppvalue', title: '峰峰值(V)', render: r => r.ppvalue?.toFixed(2) || '-' },
|
{ key: 'ppvalue', title: '峰峰值(V)', render: r => r.ppvalue?.toFixed(2) || '-' },
|
||||||
{ key: 'idle_freq', title: '开始频率' },
|
{ key: 'idle_freq', title: '开始频率(Hz)' },
|
||||||
{ key: 'enter_freq', title: '进入频率' },
|
{ key: 'enter_freq', title: '进入频率(Hz)' },
|
||||||
{ key: 'exit_freq', title: '离开频率' },
|
{ key: 'exit_freq', title: '离开频率(Hz)' },
|
||||||
{ key: 'enter_dist', title: '进入距离' },
|
{ key: 'enter_dist', title: '触发距离(mm)' },
|
||||||
{ key: 'exit_dist', title: '离开距离' },
|
{ key: 'exit_dist', title: '释放距离(mm)' },
|
||||||
{ key: 'enter_speed', title: '进入速度', render: r => toSpeed(r.enter_speed) },
|
{ key: 'enter_speed', title: '进入速度', render: r => toSpeed(r.enter_speed) },
|
||||||
{ key: 'exit_speed', title: '离开速度', render: r => toSpeed(r.exit_speed) },
|
{ key: 'exit_speed', title: '离开速度', render: r => toSpeed(r.exit_speed) },
|
||||||
{ key: 'env', title: '测试环境', render: r => envLabel(r) },
|
{ key: 'env', title: '测试环境', render: r => envLabel(r) },
|
||||||
@@ -74,8 +74,8 @@ const VIEWS = {
|
|||||||
{ key: 'speed', title: '速度(dm/s)' },
|
{ key: 'speed', title: '速度(dm/s)' },
|
||||||
{ key: 'near_dist', title: '最近距离(mm)' },
|
{ key: 'near_dist', title: '最近距离(mm)' },
|
||||||
{ key: 'far_dist', title: '最远距离(mm)' },
|
{ key: 'far_dist', title: '最远距离(mm)' },
|
||||||
{ key: 'b4_enter_dist', title: '进入高度(mm)' },
|
{ key: 'b4_enter_dist', title: '触发距离(mm)' },
|
||||||
{ key: 'b4_leave_dist', title: '离开高度(mm)' },
|
{ key: 'b4_leave_dist', title: '释放高度(mm)' },
|
||||||
{ key: 'relay_out', title: '继电器', render: r => decodeRelay(r.relay_code) },
|
{ key: 'relay_out', title: '继电器', render: r => decodeRelay(r.relay_code) },
|
||||||
{ key: 'env', title: '测试环境', render: r => envLabel(r) },
|
{ key: 'env', title: '测试环境', render: r => envLabel(r) },
|
||||||
{ key: 'create_time', title: '时间', render: r => fmtTime(r.create_time) },
|
{ key: 'create_time', title: '时间', render: r => fmtTime(r.create_time) },
|
||||||
@@ -110,15 +110,16 @@ function fmtTime(v) {
|
|||||||
return `${y}-${m}-${d2} ${h}:${min}:${s}`;
|
return `${y}-${m}-${d2} ${h}:${min}:${s}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RELAY_MAP = {
|
|
||||||
0: '无输出',
|
|
||||||
1: '存在信号',
|
|
||||||
2: '脉冲信号',
|
|
||||||
3: '存在信号; 脉冲信号',
|
|
||||||
};
|
|
||||||
function decodeRelay(v) {
|
function decodeRelay(v) {
|
||||||
if (v === null || v === undefined || v === '') return '-';
|
if (v === null || v === undefined || v === '') return '-';
|
||||||
return RELAY_MAP[parseInt(v)] || `0x${parseInt(v).toString(16).toUpperCase().padStart(2, '0')}`;
|
return decodeRelayCode(parseInt(v));
|
||||||
|
}
|
||||||
|
/** 将 relay_code 原始值解码为可读字符串:
|
||||||
|
* bit 0 → 存在继电器,bit 1 → 脉冲继电器 */
|
||||||
|
function decodeRelayCode(code) {
|
||||||
|
const exist = (code & 0x01) ? "存在继电器有输出" : "存在继电器无输出";
|
||||||
|
const pulse = (code & 0x02) ? "脉冲继电器有输出" : "脉冲继电器无输出";
|
||||||
|
return `${exist},${pulse}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function escHtml(s) {
|
function escHtml(s) {
|
||||||
@@ -296,7 +297,7 @@ function buildRelaySeries(records) {
|
|||||||
// tooltip 中显示解码后的文本
|
// tooltip 中显示解码后的文本
|
||||||
tooltip: {
|
tooltip: {
|
||||||
valueFormatter: function (value) {
|
valueFormatter: function (value) {
|
||||||
return RELAY_MAP[value] || `未知(${value})`;
|
return decodeRelayCode(value);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -427,7 +428,7 @@ async function loadChart() {
|
|||||||
offset: 160,
|
offset: 160,
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
formatter: function (v) {
|
formatter: function (v) {
|
||||||
return RELAY_MAP[v] || '';
|
return decodeRelayCode(v);
|
||||||
},
|
},
|
||||||
fontSize: 10,
|
fontSize: 10,
|
||||||
}},
|
}},
|
||||||
|
|||||||
@@ -388,15 +388,12 @@ function fmtTime(v) {
|
|||||||
return `${y}-${m}-${d2} ${h}:${min}:${s}`;
|
return `${y}-${m}-${d2} ${h}:${min}:${s}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RELAY_MAP = {
|
|
||||||
0: '无输出',
|
|
||||||
1: '存在信号',
|
|
||||||
2: '脉冲信号',
|
|
||||||
3: '存在信号; 脉冲信号',
|
|
||||||
};
|
|
||||||
function decodeRelay(v) {
|
function decodeRelay(v) {
|
||||||
if (v === null || v === undefined || v === '') return '-';
|
if (v === null || v === undefined || v === '') return '-';
|
||||||
return RELAY_MAP[parseInt(v)] || `0x${parseInt(v).toString(16).toUpperCase().padStart(2, '0')}`;
|
const code = parseInt(v);
|
||||||
|
const exist = (code & 0x01) ? "存在继电器有输出" : "存在继电器无输出";
|
||||||
|
const pulse = (code & 0x02) ? "脉冲继电器有输出" : "脉冲继电器无输出";
|
||||||
|
return `${exist},${pulse}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ─── 显示最新结果 ──────────────────────────────
|
// ─── 显示最新结果 ──────────────────────────────
|
||||||
|
|||||||
Submodule edc_server updated: c875cf383b...944870496a
Reference in New Issue
Block a user