feat: Route list page

This commit is contained in:
2025-06-09 09:17:56 +03:00
parent 02a1d2ea74
commit f4544c1888
37 changed files with 1539 additions and 400 deletions

View File

@@ -32,7 +32,7 @@ export const VehicleCreatePage = observer(() => {
await vehicleStore.createVehicle(
Number(tailNumber),
type,
carrierStore.carriers.find((c) => c.id === carrierId)?.full_name!,
carrierStore.carriers.data.find((c) => c.id === carrierId)?.full_name!,
carrierId!
);
toast.success("Транспорт успешно создан");
@@ -48,7 +48,7 @@ export const VehicleCreatePage = observer(() => {
<div className="flex items-center gap-4">
<button
className="flex items-center gap-2"
onClick={() => navigate("/vehicle")}
onClick={() => navigate(-1)}
>
<ArrowLeft size={20} />
Назад
@@ -88,7 +88,7 @@ export const VehicleCreatePage = observer(() => {
required
onChange={(e) => setCarrierId(e.target.value as number)}
>
{carrierStore.carriers.map((carrier) => (
{carrierStore.carriers.data.map((carrier) => (
<MenuItem key={carrier.id} value={carrier.id}>
{carrier.full_name}
</MenuItem>

View File

@@ -56,7 +56,7 @@ export const VehicleEditPage = observer(() => {
<div className="flex items-center gap-4">
<button
className="flex items-center gap-2"
onClick={() => navigate("/vehicle")}
onClick={() => navigate(-1)}
>
<ArrowLeft size={20} />
Назад

View File

@@ -25,18 +25,15 @@ export const VehicleListPage = observer(() => {
field: "tail_number",
headerName: "Бортовой номер",
flex: 1,
align: "center",
headerAlign: "center",
},
{
field: "type",
headerName: "Тип",
flex: 1,
align: "center",
headerAlign: "center",
renderCell: (params: GridRenderCellParams) => {
return (
<div className="flex h-full gap-7 justify-center items-center">
<div className="flex h-full gap-7 items-center">
{VEHICLE_TYPES.find((type) => type.value === params.row.type)
?.label || params.row.type}
</div>
@@ -47,21 +44,17 @@ export const VehicleListPage = observer(() => {
field: "carrier",
headerName: "Перевозчик",
flex: 1,
align: "center",
headerAlign: "center",
},
{
field: "city",
headerName: "Город",
flex: 1,
align: "center",
headerAlign: "center",
},
{
field: "actions",
headerName: "Действия",
flex: 1,
width: 200,
align: "center",
headerAlign: "center",
@@ -88,13 +81,14 @@ export const VehicleListPage = observer(() => {
},
];
const rows = vehicles.map((vehicle) => ({
const rows = vehicles.data?.map((vehicle) => ({
id: vehicle.vehicle.id,
tail_number: vehicle.vehicle.tail_number,
type: vehicle.vehicle.type,
carrier: vehicle.vehicle.carrier,
city: carriers.find((carrier) => carrier.id === vehicle.vehicle.carrier_id)
?.city,
city: carriers.data?.find(
(carrier) => carrier.id === vehicle.vehicle.carrier_id
)?.city,
}));
return (