diff --git a/index.html b/index.html index cbf860d..800b90c 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + { Number(value), + setValueAs: (value) => { + if (Number(value) < 0) { + return 0; + } + return Number(value); + }, })} error={!!(errors as any)?.scale_min} helperText={(errors as any)?.scale_min?.message} margin="normal" fullWidth slotProps={{ inputLabel: { shrink: true } }} + inputProps={{ min: 0 }} type="number" label={"Масштаб (мин)"} name="scale_min" @@ -295,13 +301,19 @@ export const RouteCreate = () => { Number(value), + setValueAs: (value) => { + if (Number(value) < 0) { + return 0; + } + return Number(value); + }, })} error={!!(errors as any)?.scale_max} helperText={(errors as any)?.scale_max?.message} margin="normal" fullWidth slotProps={{ inputLabel: { shrink: true } }} + inputProps={{ min: 0 }} type="number" label={"Масштаб (макс)"} name="scale_max" diff --git a/src/pages/route/edit.tsx b/src/pages/route/edit.tsx index 68f6a8a..5328e3f 100644 --- a/src/pages/route/edit.tsx +++ b/src/pages/route/edit.tsx @@ -317,7 +317,12 @@ export const RouteEdit = observer(() => { Number(value), + setValueAs: (value) => { + if (Number(value) < 0) { + return 0; + } + return Number(value); + }, })} error={!!(errors as any)?.scale_min} helperText={(errors as any)?.scale_min?.message} @@ -332,7 +337,12 @@ export const RouteEdit = observer(() => { Number(value), + setValueAs: (value) => { + if (Number(value) < 0) { + return 0; + } + return Number(value); + }, })} error={!!(errors as any)?.scale_max} helperText={(errors as any)?.scale_max?.message} diff --git a/src/pages/vehicle/list.tsx b/src/pages/vehicle/list.tsx index 9a7a11c..7319f31 100644 --- a/src/pages/vehicle/list.tsx +++ b/src/pages/vehicle/list.tsx @@ -7,14 +7,41 @@ import { ShowButton, useDataGrid, } from "@refinedev/mui"; -import React, { useEffect } from "react"; +import React, { useEffect, useState } from "react"; import { VEHICLE_TYPES } from "../../lib/constants"; import { localeText } from "../../locales/ru/localeText"; import { observer } from "mobx-react-lite"; import { languageStore } from "../../store/LanguageStore"; +import { axiosInstance } from "@providers"; export const VehicleList = observer(() => { + const [carriers, setCarriers] = useState([]); + + const [cities, setCities] = useState([]); + + useEffect(() => { + axiosInstance + .get("/carrier") + .then((res) => { + setCarriers(res.data); + }) + .catch((err) => { + console.log(err); + }); + }, []); + + useEffect(() => { + axiosInstance + .get("/city") + .then((res) => { + setCities(res.data); + }) + .catch((err) => { + console.log(err); + }); + }, []); + const { language } = languageStore; const { dataGridProps } = useDataGrid({ @@ -71,6 +98,36 @@ export const VehicleList = observer(() => { ); }, }, + { + field: "carrier-name", + headerName: "Перевозчик", + type: "string", + minWidth: 150, + display: "flex", + align: "left", + headerAlign: "left", + renderCell: (params) => { + const value = params.row.carrier_id; + return carriers.find((carrier) => carrier.id === value)?.full_name; + }, + }, + { + field: "city-name", + headerName: "Город", + type: "string", + minWidth: 150, + display: "flex", + align: "left", + headerAlign: "left", + renderCell: (params) => { + const value = params.row.carrier_id; + return cities.find( + (city) => + city.id === + carriers.find((carrier) => carrier.id === value)?.city_id + )?.name; + }, + }, // { // field: "city", // headerName: "Город", @@ -93,7 +150,7 @@ export const VehicleList = observer(() => { return ( <> - + {/* */} { }, }, ], - [] + [carriers, cities] ); return (