import { useState, useEffect } from 'react' import { useParams, useNavigate, Link } from 'react-router-dom' import api from '../../api' import toast from 'react-hot-toast' import { ArrowLeft, FileText } from 'lucide-react' export default function AccidentDetail() { const { id } = useParams() const navigate = useNavigate() const [record, setRecord] = useState(null) const [headers, setHeaders] = useState([]) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { fetchRecord() }, [id]) const fetchRecord = async () => { setLoading(true) setError(null) try { // Get all records to find the one with this row id const { data } = await api.get(`/api/accident?page=1&page_size=1000`) if (data.data && data.data.length > 0) { // Extract headers from first record const keys = Object.keys(data.data[0]).filter(k => k !== '_row') setHeaders(keys) // Find the record with matching _row const found = data.data.find(r => r._row === parseInt(id)) if (found) { setRecord(found) } else { setError('Record not found') } } else { setError('No data available') } } catch (err) { console.error('Error fetching record:', err) setError('Failed to load record') } finally { setLoading(false) } } if (loading) { return (
載入中...
) } if (error) { return (
返回列表
{error}
) } return (
{/* Header */}
返回

意外記錄 #{id}

{/* Record Details */}
記錄詳情
Excel 原始數據
{headers.map(key => (
{key}
{record[key] !== null && record[key] !== undefined ? String(record[key]) : '-'}
))}
) }