fix: Add route-station link area

This commit is contained in:
2025-06-16 12:26:19 +03:00
parent 32a7cb44d1
commit d415441af8
8 changed files with 570 additions and 119 deletions

View File

@@ -19,7 +19,8 @@ import { carrierStore } from "../../../shared/store/CarrierStore";
import { articlesStore } from "../../../shared/store/ArticlesStore";
import { routeStore } from "../../../shared/store/RouteStore";
import { toast } from "react-toastify";
import { languageStore } from "@shared";
import { languageStore, stationsStore } from "@shared";
import { LinkedItems } from "../LinekedStations";
export const RouteEditPage = observer(() => {
const navigate = useNavigate();
@@ -34,6 +35,7 @@ export const RouteEditPage = observer(() => {
const response = await routeStore.getRoute(Number(id));
routeStore.setEditRouteData(response);
carrierStore.getCarriers(language);
stationsStore.getStations();
articlesStore.getArticleList();
};
fetchData();
@@ -150,8 +152,7 @@ export const RouteEditPage = observer(() => {
}
/>
<TextField
className="w-full"
label="Координаты маршрута"
className="w-full max-h-[300px] overflow-y-scroll -mt-5 h-full"
multiline
minRows={4}
value={coordinates}
@@ -245,54 +246,73 @@ export const RouteEditPage = observer(() => {
<TextField
className="w-full"
label="Масштаб (мин)"
value={editRouteData.scale_min || ""}
value={editRouteData.scale_min ?? ""}
onChange={(e) =>
routeStore.setEditRouteData({
scale_min: Number(e.target.value),
scale_min:
e.target.value === "" ? null : parseFloat(e.target.value),
})
}
/>
<TextField
className="w-full"
label="Масштаб (макс)"
value={editRouteData.scale_max || ""}
value={editRouteData.scale_max ?? ""}
onChange={(e) =>
routeStore.setEditRouteData({
scale_max: Number(e.target.value),
scale_max:
e.target.value === "" ? null : parseFloat(e.target.value),
})
}
/>
<TextField
className="w-full"
label="Поворот"
value={editRouteData.rotate || ""}
value={editRouteData.rotate ?? ""}
onChange={(e) =>
routeStore.setEditRouteData({
rotate: Number(e.target.value),
rotate:
e.target.value === "" ? null : parseFloat(e.target.value),
})
}
/>
<TextField
className="w-full"
label="Центр. широта"
value={editRouteData.center_latitude || ""}
value={editRouteData.center_latitude ?? ""}
type="text"
onChange={(e) =>
routeStore.setEditRouteData({
center_latitude: Number(e.target.value),
center_latitude: e.target.value,
})
}
/>
<TextField
className="w-full"
label="Центр. долгота"
value={editRouteData.center_longitude || ""}
value={editRouteData.center_longitude ?? ""}
type="text"
onChange={(e) =>
routeStore.setEditRouteData({
center_longitude: Number(e.target.value),
center_longitude: e.target.value,
})
}
/>
</Box>
<LinkedItems
parentId={id || ""}
type="edit"
dragAllowed={true}
fields={[
{ label: "Название", data: "name" },
{ label: "Описание", data: "description" },
]}
onUpdate={() => {
routeStore.getRoute(Number(id));
}}
/>
<div className="flex w-full justify-end">
<Button
variant="contained"