diff --git a/templates/tianxuan/auto.html b/templates/tianxuan/auto.html index 1645436..ed5f1dc 100644 --- a/templates/tianxuan/auto.html +++ b/templates/tianxuan/auto.html @@ -428,72 +428,6 @@ async function applyFilter() { } -// ── Dataset table rendering ── -function buildDatasetTable(filter) { - const container = document.getElementById('datasetTable'); - let rows = DATASETS_WITH_STATUS.filter(ds => { - if (filter === 'all') return true; - if (filter === 'ready') return ds.badge_class === 'ready'; - if (filter === 'analyzing') return ds.badge_class === 'analyzing'; - if (filter === 'completed') return ds.badge_class === 'completed'; - if (filter === 'failed') return ds.badge_class === 'failed'; - return true; - }); - - if (!rows.length) { - container.innerHTML = '

无匹配的数据集

'; - return; - } - - let html = ''; - rows.forEach(ds => { - const label = ds.status_label || '待分析'; - const badgeClass = ds.badge_class || 'ready'; - const dispId = ds.display_id || ds.dataset_id; - const rowCount = ds.row_count != null ? ds.row_count.toLocaleString() : '?'; - const fileCount = ds.file_count != null ? ds.file_count : '?'; - const source = ds.sqlite_table ? ('SQLite: ' + ds.sqlite_table) : (ds.csv_glob || '?'); - const checked = (selectedRunId === String(ds.dataset_id)) ? 'checked' : ''; - html += '' + - '' + - '' + - '' + - '' + - '' + - '' + - ''; - }); - html += '
ID状态行数文件数来源
#' + dispId + '' + label + '' + rowCount + '' + fileCount + '' + escapeHtml(source) + '
'; - container.innerHTML = html; -} - -function selectRow(dsId) { - selectedRunId = String(dsId); - // Update radio buttons and row highlight - document.querySelectorAll('#datasetTable input[name="auto_run_id"]').forEach(r => { - r.checked = (r.value === String(dsId)); - }); - document.querySelectorAll('#datasetTable tr').forEach(tr => tr.classList.remove('selected')); - const row = document.querySelector('#datasetTable tr[data-ds-id="' + dsId + '"]'); - if (row) row.classList.add('selected'); -} - -function setDatasetFilter(filter) { - activeFilter = filter; - document.querySelectorAll('#statusFilter .filter-btn').forEach(btn => { - btn.classList.toggle('active', btn.dataset.filter === filter); - }); - buildDatasetTable(filter); -} - -// Init filter tabs -document.querySelectorAll('#statusFilter .filter-btn').forEach(btn => { - btn.addEventListener('click', function() { - setDatasetFilter(this.dataset.filter); - }); -}); -buildDatasetTable('all'); - // ── Timeline rendering ── let statusPoll = null;