feat: 波动测试模式前端适配 — tb_state_tst扩展+0xB4存库+页面更新

- edc_server/models.py: tb_state_tst DDL增加test_mode/data_source + B4字段
  + ALTER TABLE自动迁移 + insert_test_result扩展 + insert_wave_data
- edc_server/handlers.py: 0xB2处理传test_mode、0xB4处理调用insert_wave_data存库
- edc-web/models.py: 新增get_latest_wave_data/get_wave_records + test_mode筛选
- edc-web/routes: test_op返回wave数据、test_data支持test_mode筛选
- 前端: test_op页面增加波动数据显示区+测试模式列
  test_data页面增加test_mode下拉筛选+B4字段列+CSV导出适配
This commit is contained in:
wangfq
2026-06-03 14:14:52 +08:00
parent cf0b308e22
commit a69d7ab1d0
8 changed files with 368 additions and 8 deletions

View File

@@ -13,11 +13,13 @@ async function searchData(page = 1) {
const serial = document.getElementById("search-serial").value;
const dateFrom = document.getElementById("search-date-from").value;
const dateTo = document.getElementById("search-date-to").value;
const testMode = document.getElementById("search-test-mode").value;
const params = new URLSearchParams({ page, per_page: 20 });
if (serial) params.set("serial", serial);
if (dateFrom) params.set("date_from", dateFrom);
if (dateTo) params.set("date_to", dateTo);
if (testMode) params.set("test_mode", testMode);
try {
const resp = await fetch(`/api/test-data?${params}`);
@@ -33,7 +35,7 @@ async function searchData(page = 1) {
function renderTable(records) {
const tbody = document.querySelector("#test-data-table tbody");
if (!records.length) {
tbody.innerHTML = '<tr><td colspan="17" style="text-align:center;color:#999;">暂无数据</td></tr>';
tbody.innerHTML = '<tr><td colspan="24" style="text-align:center;color:#999;">暂无数据</td></tr>';
return;
}
tbody.innerHTML = records.map(r => `
@@ -43,6 +45,8 @@ function renderTable(records) {
<td>${r.dpg430_addr}</td>
<td>${r.sub_type === 1 ? 'PD132' : r.sub_type === 2 ? 'DLD110' : '-'}</td>
<td>${r.str_type || '-'}</td>
<td>${r.test_mode === 1 ? '波动测试' : '灵敏度测试'}</td>
<td>${r.data_source || '-'}</td>
<td>${r.iffinish === '1' ? '是' : '否'}</td>
<td>${r.fault_info || '无'}</td>
<td>${r.relay_out || '无'}</td>
@@ -54,6 +58,11 @@ function renderTable(records) {
<td>${r.exit_dist || '-'}</td>
<td>${toSpeed(r.enter_speed)}</td>
<td>${toSpeed(r.exit_speed)}</td>
<td>${r.remain_count || '-'}</td>
<td>${r.curr_dist || '-'}</td>
<td>${r.speed || '-'}</td>
<td>${r.near_dist || '-'}</td>
<td>${r.far_dist || '-'}</td>
<td>${r.create_time || '-'}</td>
</tr>
`).join("");
@@ -78,11 +87,13 @@ function exportCSV() {
const serial = document.getElementById("search-serial").value;
const dateFrom = document.getElementById("search-date-from").value;
const dateTo = document.getElementById("search-date-to").value;
const testMode = document.getElementById("search-test-mode").value;
const params = new URLSearchParams();
if (serial) params.set("serial", serial);
if (dateFrom) params.set("date_from", dateFrom);
if (dateTo) params.set("date_to", dateTo);
if (testMode) params.set("test_mode", testMode);
window.location.href = `/api/test-data/export?${params}`;
}