import React, { useState, useEffect } from 'react'; import { useParams, Link } from 'react-router-dom'; import { Vehicle, Order, WaybillEntry } from '../types'; import { vehiclesApi, ordersApi, waybillApi } from '../services/api'; import WaybillWidget from '../components/WaybillWidget'; import Loading from '../components/Loading'; import ErrorAlert from '../components/ErrorAlert'; const VehicleDetailPage: React.FC = () => { const { id } = useParams<{ id: string }>(); const [vehicle, setVehicle] = useState(null); const [completedOrders, setCompletedOrders] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [selectedDate, setSelectedDate] = useState( new Date().toISOString().split('T')[0] ); const loadVehicleData = async () => { if (!id) return; try { setLoading(true); setError(null); const vehicleResponse = await vehiclesApi.getVehicle(parseInt(id)); setVehicle(vehicleResponse.data); const ordersResponse = await ordersApi.getOrders(); const completed = ordersResponse.data.filter( order => order.status === 'completed' ); setCompletedOrders(completed); } catch (err) { setError('Не удалось загрузить данные машины'); console.error('Error loading vehicle data:', err); } finally { setLoading(false); } }; useEffect(() => { loadVehicleData(); }, [id]); if (loading) return ; if (error) return ; if (!vehicle) return
Машина не найдена
; return (
Информация о машине

Тип машины: {vehicle.vehicleType}

Водитель: {vehicle.driverName}

Гос. номер: {vehicle.licensePlate}

История выполненных заказов
{completedOrders.length === 0 ? (

Нет выполненных заказов

) : (
{completedOrders.map(order => (
{order.clientName}

{order.address}

{new Date(order.orderDate).toLocaleDateString()} - {' '} {order.orderCost.toLocaleString()} руб.
))}
)}
Путевой лист
setSelectedDate(e.target.value)} />
); }; export default VehicleDetailPage;