fix: 前端型号显示改为从 API 动态获取,修复新增加型号显示 Unknown(3)
- test_op.js: renderConfigOverview 硬编码 devTypeMap → devTypeNameCache[DevType] - test_op.js: renderLatest 增加 sub_type 回退查找,兼容旧数据 - test_op.js: 每 5 秒刷新型号名称缓存,工装页新增型号后自动同步 - test_data.js: 型号列三元硬编码 → getDevTypeName(sub_type) - 子模块 edc_server: 同步设备型号名称数据库查询
This commit is contained in:
@@ -1,5 +1,26 @@
|
||||
// 测试信息页 — 三视图 (全部 / B2 / B4)
|
||||
|
||||
// ─── 型号名称缓存 ─────────────────────────────────
|
||||
let devTypeNameCache = {};
|
||||
|
||||
async function initDevTypeNames() {
|
||||
try {
|
||||
const resp = await fetch('/api/vehicle-base-test');
|
||||
const tests = await resp.json();
|
||||
devTypeNameCache = {};
|
||||
tests.forEach(t => {
|
||||
if (t.type_num != null && t.dev_name) {
|
||||
devTypeNameCache[t.type_num] = t.dev_name;
|
||||
}
|
||||
});
|
||||
} catch (e) { console.error('加载型号名称失败:', e); }
|
||||
}
|
||||
|
||||
function getDevTypeName(subType) {
|
||||
if (subType == null || subType === 0) return '-';
|
||||
return devTypeNameCache[subType] || `Unknown(${subType})`;
|
||||
}
|
||||
|
||||
// ─── 视图定义 ───────────────────────────────────
|
||||
|
||||
const VIEWS = {
|
||||
@@ -9,7 +30,7 @@ const VIEWS = {
|
||||
cols: [
|
||||
{ key: 'id', title: 'ID' },
|
||||
{ key: 'serial', title: '设备编码' },
|
||||
{ key: 'model', title: '型号', render: r => r.sub_type === 1 ? 'PD132' : r.sub_type === 2 ? 'DLD110' : '-' },
|
||||
{ key: 'model', title: '型号', render: r => getDevTypeName(r.sub_type) },
|
||||
{ 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' ? '是' : '否') },
|
||||
@@ -45,7 +66,7 @@ const VIEWS = {
|
||||
cols: [
|
||||
{ key: 'id', title: 'ID' },
|
||||
{ key: 'serial', title: '设备编码' },
|
||||
{ key: 'model', title: '型号', render: r => r.sub_type === 1 ? 'PD132' : r.sub_type === 2 ? 'DLD110' : '-' },
|
||||
{ key: 'model', title: '型号', render: r => getDevTypeName(r.sub_type) },
|
||||
{ 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>` },
|
||||
@@ -457,7 +478,8 @@ async function loadChart() {
|
||||
// ─── 初始加载 ────────────────────────────────────
|
||||
|
||||
renderHead();
|
||||
searchData(1);
|
||||
// 先加载型号名称再查询数据,确保型号列正确渲染
|
||||
initDevTypeNames().then(() => searchData(1));
|
||||
|
||||
// ─── 删除(admin)─────────────────────────────────
|
||||
|
||||
|
||||
Reference in New Issue
Block a user