fix: reports page mock data, date display, and severity badge mapping

- apiGetReports: use mock data instead of real API (no backend available)
- reports.html: add mock.js script include
- Fix date display: was concatenating dateStr+timeStr causing duplication
- Fix severity badge: map Chinese mock values to backend enum keys

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
jesxion
2026-04-25 15:34:36 +08:00
parent 2ec5c98759
commit 268d9b0394
2 changed files with 23 additions and 14 deletions

View File

@@ -193,20 +193,28 @@ async function apiSubmitReport(formData) {
}
// 获取随手拍记录
async function apiGetReports(filters = {}) {
const params = new URLSearchParams();
if (filters.status && filters.status !== 'all') {
params.append('status', filters.status);
}
if (filters.category) {
params.append('category', filters.category);
}
if (filters.severity) {
params.append('severity', filters.severity);
}
const url = API_BASE + '/hazards' + (params.toString() ? '?' + params.toString() : '');
return await request(url);
function apiGetReports(filters = {}) {
return new Promise((resolve) => {
setTimeout(() => {
const sevMap = { '较大': 'serious', '一般': 'general', '重大': 'major' };
let items = MOCK_REPORTS.map(r => ({
...r,
reported_at: r.reportedAt ? r.reportedAt.replace(' ', 'T') : r.reported_at,
reporter_id: r.reporter || r.reporter_id,
severity: sevMap[r.severity] || r.severity,
}));
if (filters.status && filters.status !== 'all') {
items = items.filter(r => r.status === filters.status);
}
if (filters.category) {
items = items.filter(r => r.category === filters.category);
}
if (filters.severity) {
items = items.filter(r => r.severity === filters.severity);
}
resolve({ code: 0, data: { total: items.length, items } });
}, 300);
});
}
// 获取随手拍详情

View File

@@ -41,6 +41,7 @@
</div>
<script src="js/ui-model.js"></script>
<script src="js/mock.js"></script>
<script src="js/api.js"></script>
<script src="js/app.js"></script>
<script>