diff --git a/edc-web/.gitignore b/edc-web/.gitignore index ebd6675..67a4543 100644 --- a/edc-web/.gitignore +++ b/edc-web/.gitignore @@ -1,4 +1,4 @@ -.venv/ -venv/ __pycache__/ *.pyc +*.pyo +.venv/ diff --git a/edc-web/app/static/js/fixture.js b/edc-web/app/static/js/fixture.js index 43bebe0..352cab0 100644 --- a/edc-web/app/static/js/fixture.js +++ b/edc-web/app/static/js/fixture.js @@ -217,9 +217,9 @@ function fillFormFromParam(param) { document.getElementById("param-fre-max").value = rawFreqToHz(param.FreMax || 0); document.getElementById("param-peak-min").value = rawPeakToV(param.PeakMin || 0); document.getElementById("param-peak-max").value = rawPeakToV(param.PeakMax || 0); - document.getElementById("param-far-tol").value = (param.FarTol || 0) * 10; - document.getElementById("param-near-tol").value = (param.NearTol || 0) * 10; - document.getElementById("param-step-tol").value = (param.StepTol || 0) * 10; + document.getElementById("param-far-tol").value = param.FarTol || 0; + document.getElementById("param-near-tol").value = param.NearTol || 0; + document.getElementById("param-step-tol").value = param.StepTol || 0; document.getElementById("param-back-forth").value = param.BackForth || 0; document.getElementById("param-near-stay").value = param.NearStay || 0; document.getElementById("param-far-stay").value = param.FarStay || 0; @@ -314,9 +314,9 @@ function getFormParams() { fre_max: hzToRawFreq(parseFloat(document.getElementById("param-fre-max").value) || 0), peak_min: vToRawPeak(parseFloat(document.getElementById("param-peak-min").value) || 0), peak_max: vToRawPeak(parseFloat(document.getElementById("param-peak-max").value) || 0), - far_tol: Math.round((parseInt(document.getElementById("param-far-tol").value) || 0) / 10), - near_tol: Math.round((parseInt(document.getElementById("param-near-tol").value) || 0) / 10), - step_tol: Math.round((parseInt(document.getElementById("param-step-tol").value) || 0) / 10), + far_tol: parseInt(document.getElementById("param-far-tol").value) || 0, + near_tol: parseInt(document.getElementById("param-near-tol").value) || 0, + step_tol: parseInt(document.getElementById("param-step-tol").value) || 0, back_forth: parseInt(document.getElementById("param-back-forth").value) || 0, near_stay: parseInt(document.getElementById("param-near-stay").value) || 0, far_stay: parseInt(document.getElementById("param-far-stay").value) || 0, diff --git a/edc-web/app/static/js/test_data.js b/edc-web/app/static/js/test_data.js index eb88102..52528f5 100644 --- a/edc-web/app/static/js/test_data.js +++ b/edc-web/app/static/js/test_data.js @@ -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' ? '-' : `${escHtml(r.fault_info || '-')}` }, - { key: 'relay_out', title: '继电器' }, + { key: 'relay_out', title: '继电器', render: r => fmtRelay(r.relay_out) }, { 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 => `${escHtml(r.fault_info || '-')}` }, - { key: 'relay_out', title: '继电器' }, + { key: 'relay_out', title: '继电器', render: r => fmtRelay(r.relay_out) }, { 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: '继电器' }, + { key: 'relay_out', title: '继电器', render: r => fmtRelay(r.relay_out) }, { key: 'env', title: '测试环境', render: r => envLabel(r) }, { key: 'create_time', title: '时间', render: r => fmtTime(r.create_time) }, ], @@ -137,6 +137,13 @@ function envLabel(r) { return parts.join(' ') || '-'; } +function fmtRelay(s) { + if (!s) return '-'; + return s + .replace(/继电器有输出/g, '✅有输出') + .replace(/继电器无输出/g, '❌无输出'); +} + // ─── 视图切换 ──────────────────────────────────── function switchView(view) { @@ -422,7 +429,7 @@ async function loadChart() { { type: 'value', name: '距离(mm)', nameTextStyle: { fontSize: 11 } }, { type: 'value', name: '速度(dm/s)',nameTextStyle: { fontSize: 11 }, offset: 80 }, - { type: 'value', name: '继电器输出', nameTextStyle: { fontSize: 11 }, + { type: 'value', name: '继电器', nameTextStyle: { fontSize: 11 }, min: -0.5, max: 3.5, interval: 1, offset: 160, axisLabel: { diff --git a/edc-web/app/static/js/test_op.js b/edc-web/app/static/js/test_op.js index 1767d8a..e323089 100644 --- a/edc-web/app/static/js/test_op.js +++ b/edc-web/app/static/js/test_op.js @@ -279,6 +279,7 @@ async function loadTestMode() { const param = await resp.json(); if (param && param.dnt_id) { updateTestModeUI(param.TestMode); + renderConfigOverview(param); } else { // 没有工装参数时,尝试从最新测试数据获取 const r2 = await fetch(`/api/automation/${DNT_ID}/progress`); @@ -292,17 +293,81 @@ async function loadTestMode() { function updateTestModeUI(mode) { currentTestMode = mode; - const indicator = document.getElementById("test-mode-indicator"); const waveSection = document.getElementById("wave-section"); if (mode === 1) { - indicator.innerHTML = '当前测试模式:波动测试'; waveSection.style.display = ''; } else { - indicator.innerHTML = '当前测试模式:灵敏度测试'; waveSection.style.display = 'none'; } } +function renderConfigOverview(param) { + const panel = document.getElementById("config-overview"); + if (!panel) return; + panel.style.display = ''; + + // 测试模式 + const modeEl = document.getElementById("cfg-test-mode"); + if (param.TestMode === 1) { + modeEl.innerHTML = '波动测试'; + } else { + modeEl.innerHTML = '灵敏度测试'; + } + + // 型号 + const devTypeMap = {0: '未知', 1: 'PD132', 2: 'DLD110'}; + document.getElementById("cfg-dev-type").textContent = devTypeMap[param.DevType] || `0x${(param.DevType||0).toString(16)}`; + + // 距离 (DB cm → 显示 mm) + document.getElementById("cfg-reset-dis").textContent = param.RestDis != null ? param.RestDis * 10 : '-'; + document.getElementById("cfg-minus-dis").textContent = param.MinusDis != null ? param.MinusDis * 10 : '-'; + + // 触发和释放范围 (SensMin ~ SensMax) + document.getElementById("cfg-sens-range").textContent = + (param.SensMin != null && param.SensMax != null) ? `${param.SensMin} ~ ${param.SensMax}` : '-'; + + // 频率范围 (配置值 ×10 = 实际 Hz) + if (param.FreMin != null && param.FreMax != null) { + document.getElementById("cfg-fre-range").textContent = `${param.FreMin * 10} ~ ${param.FreMax * 10}`; + } else { + document.getElementById("cfg-fre-range").textContent = '-'; + } + + // 线圈信息 + const coil = [param.coil_num, param.coil_name].filter(Boolean).join(' '); + document.getElementById("cfg-coil").textContent = coil || '-'; + + // 模拟车辆信息 + const car = [param.simulate_num, param.car_name].filter(Boolean).join(' '); + document.getElementById("cfg-car").textContent = car || '-'; + + // 波动参数 + const waveParams = document.getElementById("cfg-wave-params"); + if (param.TestMode === 1) { + waveParams.style.display = ''; + document.getElementById("cfg-near-tol").textContent = param.NearTol ?? '-'; + document.getElementById("cfg-far-tol").textContent = param.FarTol ?? '-'; + document.getElementById("cfg-step-tol").textContent = param.StepTol ?? '-'; + document.getElementById("cfg-back-forth").textContent = param.BackForth ?? '-'; + document.getElementById("cfg-near-stay").textContent = param.NearStay ?? '-'; + document.getElementById("cfg-far-stay").textContent = param.FarStay ?? '-'; + } else { + waveParams.style.display = 'none'; + } +} + +function toggleConfig() { + const body = document.getElementById("config-body"); + const toggle = document.getElementById("config-toggle"); + if (body.style.display === 'none') { + body.style.display = ''; + toggle.textContent = '收起 ▲'; + } else { + body.style.display = 'none'; + toggle.textContent = '展开 ▼'; + } +} + async function loadInitialData() { await loadTestMode(); refreshDeviceStatus(); @@ -399,6 +464,13 @@ function decodeRelay(v) { return RELAY_MAP[parseInt(v)] || `0x${parseInt(v).toString(16).toUpperCase().padStart(2, '0')}`; } +function fmtRelay(s) { + if (!s) return '-'; + return s + .replace(/继电器有输出/g, '✅有输出') + .replace(/继电器无输出/g, '❌无输出'); +} + // ─── 显示最新结果 ────────────────────────────── function renderLatest(data) { @@ -416,7 +488,7 @@ function renderLatest(data) {

离开速度:${toSpeed(data.exit_speed)} m/s

是否完成:${data.iffinish === '1' ? '是' : '否'}

故障信息:${data.fault_info || '无'}

-

继电器:${data.relay_out || decodeRelay(data.relay_code)}

+

继电器:${fmtRelay(data.relay_out) || decodeRelay(data.relay_code)}

时间:${fmtTime(data.create_time)}

`; } @@ -457,7 +529,7 @@ function renderLatestWave(data) {

最远距离:${data.far_dist || '-'} mm

进入高度 (B4):${data.b4_enter_dist || '-'} mm

离开高度 (B4):${data.b4_leave_dist || '-'} mm

-

继电器:${data.relay_out || decodeRelay(data.relay_code)}

+

继电器:${fmtRelay(data.relay_out) || decodeRelay(data.relay_code)}

时间:${fmtTime(data.create_time)}

`; } diff --git a/edc-web/app/templates/fixture.html b/edc-web/app/templates/fixture.html index 004911e..b941e24 100644 --- a/edc-web/app/templates/fixture.html +++ b/edc-web/app/templates/fixture.html @@ -31,7 +31,7 @@
- +
@@ -45,11 +45,11 @@
- +
- +
@@ -61,11 +61,11 @@
- +
- +

@@ -133,7 +133,7 @@ - + diff --git a/edc-web/app/templates/test_op.html b/edc-web/app/templates/test_op.html index 3ffcffe..de8605c 100644 --- a/edc-web/app/templates/test_op.html +++ b/edc-web/app/templates/test_op.html @@ -9,7 +9,39 @@
设备状态:加载中…
-
加载中…
+ +
diff --git a/edc-web/app/templates/vehicle_base_test.html b/edc-web/app/templates/vehicle_base_test.html index bd41b44..fa8ba83 100644 --- a/edc-web/app/templates/vehicle_base_test.html +++ b/edc-web/app/templates/vehicle_base_test.html @@ -22,9 +22,9 @@
- + - + @@ -47,11 +47,11 @@
- +
- +
@@ -63,11 +63,11 @@
- +
- +
编码名称灵敏度频率(Hz)峰峰值编码名称触发和释放范围(mm)频率(Hz)峰峰值(V)
类型编码 型号/名称灵敏度范围触发和释放距离范围(mm) 频率范围 (Hz)峰峰值范围峰峰值范围(V) 备注 操作