feat: admin用户支持删除测试数据(按条件/日期范围),含确认框+日志
This commit is contained in:
@@ -364,3 +364,46 @@ async function loadChart() {
|
||||
|
||||
renderHead();
|
||||
searchData(1);
|
||||
|
||||
// ─── 删除(admin)─────────────────────────────────
|
||||
|
||||
function confirmDelete() {
|
||||
const serial = document.getElementById('search-serial').value;
|
||||
const dateFrom = document.getElementById('search-date-from').value;
|
||||
const dateTo = document.getElementById('search-date-to').value;
|
||||
const v = VIEWS[currentView];
|
||||
const ds = v.data_source || '';
|
||||
|
||||
let desc = '';
|
||||
if (serial) desc += `设备: ${serial}\n`;
|
||||
if (dateFrom || dateTo) desc += `日期: ${dateFrom || '不限'} ~ ${dateTo || '不限'}\n`;
|
||||
if (ds) desc += `数据来源: ${ds}\n`;
|
||||
if (!desc) desc = '⚠ 未设置任何筛选条件,不会删除任何数据';
|
||||
|
||||
const msg = `确认删除以下条件的测试数据?\n\n${desc}\n此操作不可撤销!`;
|
||||
if (!confirm(msg)) return;
|
||||
|
||||
doDelete(serial, dateFrom, dateTo, ds);
|
||||
}
|
||||
|
||||
async function doDelete(serial, dateFrom, dateTo, dataSource) {
|
||||
try {
|
||||
const resp = await fetch('/api/test-data/delete', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
serial, date_from: dateFrom,
|
||||
date_to: dateTo, data_source: dataSource,
|
||||
}),
|
||||
});
|
||||
const data = await resp.json();
|
||||
if (data.ok) {
|
||||
alert(`已删除 ${data.deleted} 条记录`);
|
||||
searchData(1);
|
||||
} else {
|
||||
alert('删除失败: ' + (data.error || '未知错误'));
|
||||
}
|
||||
} catch (e) {
|
||||
alert('删除请求失败: ' + e.message);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user