Compare commits

1 Commits

Author SHA1 Message Date
jesxion
71fc0edd7a 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>
2026-04-25 15:34:41 +08:00
2 changed files with 24 additions and 15 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

@@ -230,6 +230,7 @@
</div>
</div>
<script src="js/mock.js"></script>
<script src="js/api.js"></script>
<script src="js/app.js"></script>
<script>
@@ -313,7 +314,7 @@
'</div>' +
'<div class="report-footer-item">' +
'<i class="ri-time-line"></i>' +
'<span>' + dateStr + ' ' + timeStr + '</span>' +
'<span>' + item.reported_at.slice(0, 16).replace('T', ' ') + '</span>' +
'</div>' +
'</div>' +
'<i class="ri-arrow-right-s-line" style="font-size:18px;color:var(--color-text-secondary);"></i>' +