diff --git a/src/components/dashboard/roadMissions/control/index.jsx b/src/components/dashboard/roadMissions/control/index.jsx index ac96845..00b0931 100644 --- a/src/components/dashboard/roadMissions/control/index.jsx +++ b/src/components/dashboard/roadMissions/control/index.jsx @@ -5,7 +5,7 @@ import ControlList from "./ControlList"; const ControlPage = () => { return ( - + ); diff --git a/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetItemInfo/index.jsx b/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetItemInfo/index.jsx index b49ede0..f4e66e5 100644 --- a/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetItemInfo/index.jsx +++ b/src/components/dashboard/roadMissions/operator/Actions/Create/Form/GetItemInfo/index.jsx @@ -9,7 +9,6 @@ import { ExitToApp } from "@mui/icons-material"; import { Box, Button, DialogActions, DialogContent, Grid, Stack } from "@mui/material"; import { Controller, useForm } from "react-hook-form"; import { array, object, string } from "yup"; -import FastReactCode from "./FastReactCode"; const validationSchema = object({ explanation: string().required("موضوع را مشخص کنید!"), @@ -106,9 +105,6 @@ const GetItemInfo = ({ allData, setAllData, handlePrev, setTabState }) => { )} /> - - - { rahdaran: [], requested_machines: [], bound: null, - bound_type: "polygon", + bound_type: "polyline", type: "", start_date: "", start_time: null, diff --git a/src/components/dashboard/roadMissions/operator/Actions/CreateWithoutProcess/Form/GetItemInfo/index.jsx b/src/components/dashboard/roadMissions/operator/Actions/CreateWithoutProcess/Form/GetItemInfo/index.jsx index 7610a5b..6e3afa0 100644 --- a/src/components/dashboard/roadMissions/operator/Actions/CreateWithoutProcess/Form/GetItemInfo/index.jsx +++ b/src/components/dashboard/roadMissions/operator/Actions/CreateWithoutProcess/Form/GetItemInfo/index.jsx @@ -8,7 +8,6 @@ import { ExitToApp } from "@mui/icons-material"; import { Box, Button, DialogActions, DialogContent, Grid, Stack } from "@mui/material"; import { Controller, useForm } from "react-hook-form"; import { object, string } from "yup"; -import FastReactCode from "./FastReactCode"; const validationSchema = object({ explanation: string().required("موضوع را مشخص کنید!"), @@ -103,9 +102,6 @@ const GetItemInfo = ({ allData, setAllData, handlePrev, setTabState }) => { )} /> - - - { road_observed_id: "", rahdaran: [], bound: null, - bound_type: "polygon", + bound_type: "polyline", start_date: "", start_time: null, end_date: "", diff --git a/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/Area/index.jsx b/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/Area/index.jsx index d47f840..c8feef7 100644 --- a/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/Area/index.jsx +++ b/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/Area/index.jsx @@ -19,7 +19,6 @@ const Area = ({ allData, setAllData, handlePrev, setTabState, oldBound }) => { setAllData({ bound: bound }); setTabState((s) => s + 1); }, [bound]); - return ( <> diff --git a/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/GetItemInfo/index.jsx b/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/GetItemInfo/index.jsx index 7610a5b..6e3afa0 100644 --- a/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/GetItemInfo/index.jsx +++ b/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/Dialog/Form/GetItemInfo/index.jsx @@ -8,7 +8,6 @@ import { ExitToApp } from "@mui/icons-material"; import { Box, Button, DialogActions, DialogContent, Grid, Stack } from "@mui/material"; import { Controller, useForm } from "react-hook-form"; import { object, string } from "yup"; -import FastReactCode from "./FastReactCode"; const validationSchema = object({ explanation: string().required("موضوع را مشخص کنید!"), @@ -103,9 +102,6 @@ const GetItemInfo = ({ allData, setAllData, handlePrev, setTabState }) => { )} /> - - - { category_id: "", bound: null, rahdaran: rahdaran.filter((r) => !r.is_driver), - bound_type: "polygon", + bound_type: "polyline", type: "", end_date: "", end_time: null, diff --git a/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/index.jsx b/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/index.jsx index 2842239..a2e6ff0 100644 --- a/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/index.jsx +++ b/src/components/dashboard/roadMissions/operator/RowActions/Add/AddController/index.jsx @@ -1,7 +1,6 @@ import DialogLoading from "@/core/components/DialogLoading"; import { GET_MACHINES_BY_ID, GET_RAHDARAN_BY_ID } from "@/core/utils/routes"; import useRequest from "@/lib/hooks/useRequest"; -import L from "leaflet"; import { useEffect, useMemo, useState } from "react"; import DialogAdd from "./Dialog"; @@ -36,13 +35,22 @@ const AddController = ({ row, mutate, setOpenAddDialog }) => { }); }, [row.original.id]); + const convertedArea = useMemo(() => { + if (!row.original.area) return null; + + return { + ...row.original.area, + coordinates: row.original.area.coordinates.map(([lng, lat]) => [lat, lng]), + }; + }, [row.original.area]); + return rahdaranLoading || machineLoading ? ( ) : ( { + const latLngs = useMemo(() => { + return row.original.area.coordinates.map(([lng, lat]) => [lat, lng]); + }, [row.original.area.coordinates]); + const bound = useMemo( - () => - row.original.area.type == "polygon" - ? L.polygon([...row.original.area.coordinates]) - : L.polyline([...row.original.area.coordinates]), - [row.original.area] + () => (row.original.area.type === "polygon" ? L.polygon(latLngs) : L.polyline(latLngs)), + [row.original.area.type, latLngs] ); + const [submitting, setSubmitting] = useState(false); const [rahdaran, setRahdaran] = useState(null); const [rahdaranLoading, setRahdaranLoading] = useState(true); @@ -35,7 +37,6 @@ const EditController = ({ row, mutate, openEditDialog, setOpenEditDialog }) => { setSubmitting(true); const bound = result.bound.getLatLngs(); let area = bound.map((ring) => ring.map((latlng) => [latlng.lat, latlng.lng])); - await requestServer(`${UPDATE_REQUEST_MISSION}/${row.original.id}`, "post", { data: { explanation: result.explanation, diff --git a/src/components/dashboard/roadMissions/operator/index.jsx b/src/components/dashboard/roadMissions/operator/index.jsx index 148167b..20b08f1 100644 --- a/src/components/dashboard/roadMissions/operator/index.jsx +++ b/src/components/dashboard/roadMissions/operator/index.jsx @@ -6,7 +6,7 @@ import OperatorList from "./OperatorList"; const OperatorPage = () => { return ( - + ); diff --git a/src/components/dashboard/roadMissions/reports/ReportLists.jsx b/src/components/dashboard/roadMissions/reports/ReportLists.jsx index 19b5e71..fd7d606 100644 --- a/src/components/dashboard/roadMissions/reports/ReportLists.jsx +++ b/src/components/dashboard/roadMissions/reports/ReportLists.jsx @@ -41,9 +41,9 @@ const ReportLists = ({ data, specialFilter }) => { }, }, { - accessorKey: "out_of_aria_count", + accessorKey: "out_of_area_count", header: "تردد خارج محدوده", - id: "out_of_aria_count", + id: "out_of_area_count", enableColumnFilter: false, enableSorting: false, datatype: "text", diff --git a/src/components/dashboard/roadMissions/reports/index.jsx b/src/components/dashboard/roadMissions/reports/index.jsx index 5dfd3a7..83daf1a 100644 --- a/src/components/dashboard/roadMissions/reports/index.jsx +++ b/src/components/dashboard/roadMissions/reports/index.jsx @@ -46,8 +46,7 @@ const ReportPage = () => { params.set("province_id", `${data.province_id}`); const response = await requestServer(`${GET_CITY_ACTIVITY_REPORT}?${params}`); const result = response.data.data; - console.log(result); - const nationalReportForItem = result.activities.find((report) => report.province_id === -1); + const nationalReportForItem = result.activities.find((report) => report.province_id === "-1"); const nationalReport = { edare_name: "کل کشور", ...nationalReportForItem, @@ -57,7 +56,8 @@ const ReportPage = () => { data: [ nationalReport, ...result.provinces.map((province) => { - const filteredReports = result.activities.find((report) => report.province_id === province.id); + const filteredReports = result.activities.find((report) => report.province_id == province.id); + console.log(filteredReports); return { ...filteredReports, edare_name: province.name_fa, diff --git a/src/components/dashboard/roadMissions/transportation/RowActions/Allocation/Form/index.jsx b/src/components/dashboard/roadMissions/transportation/RowActions/Allocation/Form/index.jsx index eed66c8..099b4aa 100644 --- a/src/components/dashboard/roadMissions/transportation/RowActions/Allocation/Form/index.jsx +++ b/src/components/dashboard/roadMissions/transportation/RowActions/Allocation/Form/index.jsx @@ -13,10 +13,14 @@ import DriversDialog from "./DriversDialog"; import MachinesDialog from "./MachinesDialog"; import Reject from "./Reject"; const AllocationForm = ({ row, mutate, setOpenAllocationDialog }) => { + + const latLngs = useMemo(() => { + return row.area.coordinates.map(([lng, lat]) => [lat, lng]); + }, [row.area.coordinates]); + const bound = useMemo( - () => - row.area.type == "polygon" ? L.polygon([...row.area.coordinates]) : L.polyline([...row.area.coordinates]), - [row.area] + () => (row.area.type === "polygon" ? L.polygon(latLngs) : L.polyline(latLngs)), + [row.area.type, latLngs] ); const requestServer = useRequest({ notificationSuccess: true }); const [machine, setMachine] = useState(); diff --git a/src/components/dashboard/roadMissions/transportation/index.jsx b/src/components/dashboard/roadMissions/transportation/index.jsx index ca0db36..f42676e 100644 --- a/src/components/dashboard/roadMissions/transportation/index.jsx +++ b/src/components/dashboard/roadMissions/transportation/index.jsx @@ -6,7 +6,7 @@ import TransportationList from "./TransportationList"; const TransportationPage = () => { return ( - + ); diff --git a/src/core/utils/pageMenu.js b/src/core/utils/pageMenu.js index 1388709..663de96 100644 --- a/src/core/utils/pageMenu.js +++ b/src/core/utils/pageMenu.js @@ -110,7 +110,7 @@ export const pageMenu = [ Subitems: [ { id: "roadMissionsManagemnetRequests", - label: "کارتابل", + label: "درخواست کننده", icon: , type: "page", route: "/dashboard/road-missions/operator", @@ -123,7 +123,7 @@ export const pageMenu = [ }, { id: "roadMissionsManagemnetNaqlie", - label: "نقلیه", + label: "تایید کننده", type: "page", icon: , route: "/dashboard/road-missions/transportation", @@ -132,7 +132,7 @@ export const pageMenu = [ }, { id: "roadMissionsManagemnetControl", - label: "کنترل", + label: "کنترل تردد", type: "page", icon: , route: "/dashboard/road-missions/control", @@ -148,15 +148,15 @@ export const pageMenu = [ // badges: [{ key: "mission.control" }], // TODO: add badge and permission permissions: ["all"], }, - // { - // id: "roadMissionsReports", - // label: "گزارشات", - // type: "page", - // route: "/dashboard/road-missions/reports", - // icon: , - // // badges: [{ key: "mission.control" }], // TODO: add badge and permission - // permissions: ["all"], - // }, + { + id: "roadMissionsReports", + label: "گزارشات", + type: "page", + route: "/dashboard/road-missions/reports", + icon: , + // badges: [{ key: "mission.control" }], // TODO: add badge and permission + permissions: ["all"], + }, ], }, { diff --git a/src/core/utils/pageMenuDev.js b/src/core/utils/pageMenuDev.js index 27b37c1..f4546fc 100644 --- a/src/core/utils/pageMenuDev.js +++ b/src/core/utils/pageMenuDev.js @@ -109,7 +109,7 @@ export const pageMenuDev = [ Subitems: [ { id: "roadMissionsManagemnetRequests", - label: "کارتابل", + label: "درخواست کننده", icon: , type: "page", route: "/dashboard/road-missions/operator", @@ -122,7 +122,7 @@ export const pageMenuDev = [ }, { id: "roadMissionsManagemnetNaqlie", - label: "نقلیه", + label: "تایید کننده", type: "page", icon: , route: "/dashboard/road-missions/transportation", @@ -131,7 +131,7 @@ export const pageMenuDev = [ }, { id: "roadMissionsManagemnetControl", - label: "کنترل", + label: "کنترل تردد", type: "page", icon: , route: "/dashboard/road-missions/control", @@ -147,15 +147,15 @@ export const pageMenuDev = [ // badges: [{ key: "mission.control" }], // TODO: add badge and permission permissions: ["all"], }, - // { - // id: "roadMissionsReports", - // label: "گزارشات", - // type: "page", - // route: "/dashboard/road-missions/reports", - // icon: , - // // badges: [{ key: "mission.control" }], // TODO: add badge and permission - // permissions: ["all"], - // }, + { + id: "roadMissionsReports", + label: "گزارشات", + type: "page", + route: "/dashboard/road-missions/reports", + icon: , + // badges: [{ key: "mission.control" }], // TODO: add badge and permission + permissions: ["all"], + }, ], }, { diff --git a/src/core/utils/routes.js b/src/core/utils/routes.js index 411ef1b..1c9160d 100644 --- a/src/core/utils/routes.js +++ b/src/core/utils/routes.js @@ -43,7 +43,7 @@ export const GET_FMS_DATA = api + "/api/v3/fms_vehicle/get_activity"; export const GET_OTP_TOKEN = api + "/api/v3/otp/get_token"; export const GET_PROVINCE_ACTIVITY_REPORT = api + "/api/v3/road_patrols/report/country_activity"; -export const GET_CITY_ACTIVITY_REPORT = api + "/api/v3/road_patrols/report/province_activity"; +export const GET_CITY_ACTIVITY_REPORT = api + "/api/v3/missions/report/country_activity"; export const EXPORT_COUNTRY_ROAD_PATROL_REPORTS = api + "/api/v3/road_patrols/report/country_activity_excel"; export const EXPORT_PROVINCE_ROAD_PATROL_REPORTS = api + "/api/v3/road_patrols/report/province_activity_excel";