diff --git a/.env.local.example b/.env.local.example index c218e28..7ea3878 100644 --- a/.env.local.example +++ b/.env.local.example @@ -1,4 +1,4 @@ HOST="rms.witel.ir" -NEXT_PUBLIC_VERSION="0.15.0" +NEXT_PUBLIC_VERSION="0.15.2" NEXT_PUBLIC_API_URL="https://rms.witel.ir" NEXT_PUBLIC_MAPTILE_ENDPOINT="https://rmsmap.rmto.ir/141map" \ No newline at end of file diff --git a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx index 78a9496..cca5a8b 100644 --- a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx +++ b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx @@ -92,7 +92,7 @@ const CompeleteRequest = ({ allData, handlePrev, mutate, setOpen }) => { setOtpSended(true); setDelayPerRequest(true); setValueSend("phoneNumber", data.phoneNumber); - } catch (error) {} + } catch (error) { } }; const sendData = useCallback( @@ -158,7 +158,7 @@ const CompeleteRequest = ({ allData, handlePrev, mutate, setOpen }) => { {allData.start_time !== "" && - moment(allData.start_time).locale("fa").format("YYYY/MM/DD | HH:mm")} + moment(allData.start_time).locale("fa").format("HH:mm | YYYY/MM/DD")} @@ -166,11 +166,10 @@ const CompeleteRequest = ({ allData, handlePrev, mutate, setOpen }) => { {allData.start_time !== "" && - moment(allData.start_time).locale("fa").format("YYYY/MM/DD | HH:mm")} + moment(allData.start_time).locale("fa").format("HH:mm | YYYY/MM/DD")} - - + @@ -188,7 +187,7 @@ const CompeleteRequest = ({ allData, handlePrev, mutate, setOpen }) => { - {allData.stopPoints && allData.stopPoints.length} + {allData.stopPoints && allData.stopPoints.length} نقطه @@ -200,7 +199,7 @@ const CompeleteRequest = ({ allData, handlePrev, mutate, setOpen }) => { - {allData.observed_items && allData.observed_items.length} + {allData.observed_items && allData.observed_items.length} مورد @@ -288,8 +287,8 @@ const CompeleteRequest = ({ allData, handlePrev, mutate, setOpen }) => { {delayPerRequest ? formatCounter(counter) : isSubmittingOtp - ? "درحال دریافت کد ..." - : "دریافت کد"} + ? "درحال دریافت کد ..." + : "دریافت کد"} diff --git a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolDetailInfo.jsx b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolDetailInfo.jsx index f67f322..91cc822 100644 --- a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolDetailInfo.jsx +++ b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolDetailInfo.jsx @@ -1,35 +1,32 @@ "use client"; +import MapLoading from "@/core/components/MapLayer/Loading"; +import ShowPlak from "@/core/components/ShowPlak"; +import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; +import AddRoadIcon from "@mui/icons-material/AddRoad"; +import BadgeIcon from '@mui/icons-material/Badge'; +import DirectionsCarFilledIcon from "@mui/icons-material/DirectionsCarFilled"; +import ElectricCarIcon from "@mui/icons-material/ElectricCar"; +import LocalGasStationIcon from "@mui/icons-material/LocalGasStation"; +import QrCode2Icon from "@mui/icons-material/QrCode2"; +import QueryBuilderIcon from "@mui/icons-material/QueryBuilder"; +import ShareLocationIcon from "@mui/icons-material/ShareLocation"; +import WatchLaterIcon from "@mui/icons-material/WatchLater"; import { Box, - Button, Card, - CardActions, CardContent, Chip, Divider, Fade, - Slide, Stack, - Typography, + Typography } from "@mui/material"; -import React, { useEffect } from "react"; -import dynamic from "next/dynamic"; -import MapLoading from "@/core/components/MapLayer/Loading"; -import LocalGasStationIcon from "@mui/icons-material/LocalGasStation"; -import DirectionsCarFilledIcon from "@mui/icons-material/DirectionsCarFilled"; -import WatchLaterIcon from "@mui/icons-material/WatchLater"; -import QueryBuilderIcon from "@mui/icons-material/QueryBuilder"; -import AddRoadIcon from "@mui/icons-material/AddRoad"; -import ShareLocationIcon from "@mui/icons-material/ShareLocation"; -import ElectricCarIcon from "@mui/icons-material/ElectricCar"; -import KeyboardDoubleArrowLeftIcon from "@mui/icons-material/KeyboardDoubleArrowLeft"; -import QrCode2Icon from "@mui/icons-material/QrCode2"; import moment from "jalali-moment"; -import PatrolMapFeatures from "./PatrolMapFeatures"; +import dynamic from "next/dynamic"; +import React, { useEffect } from "react"; import { useMap } from "react-leaflet"; -import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; -import ShowPlak from "@/core/components/ShowPlak"; +import PatrolMapFeatures from "./PatrolMapFeatures"; const MapLayer = dynamic(() => import("@/core/components/MapLayer"), { loading: () => , @@ -75,35 +72,6 @@ const PatrolDetailInfo = ({ patrolData }) => { }} > - - } /> - - - {formatSecondsToHHMMSS(patrolData?.accOnDuration)} - - - - } /> - - - {patrolData?.roadPatrolMachinesId?.car_name} - - - - } /> - - - {patrolData?.roadPatrolMachinesId?.machine_code} - - - - } /> - - - {patrolData?.roadPatrolMachinesId?.plak_number && - ShowPlak({ plak_number: patrolData?.roadPatrolMachinesId?.plak_number })} - - } /> @@ -120,6 +88,35 @@ const PatrolDetailInfo = ({ patrolData }) => { moment(patrolData?.end_time).locale("fa").format("HH:mm | YYYY/MM/DD")} + + } /> + + + {patrolData?.roadPatrolMachinesId?.machine_code} + + + + } /> + + + {patrolData?.roadPatrolMachinesId?.car_name} + + + + } /> + + + {patrolData?.roadPatrolMachinesId?.plak_number && + ShowPlak({ plak_number: patrolData?.roadPatrolMachinesId?.plak_number })} + + + + } /> + + + {formatSecondsToHHMMSS(patrolData?.accOnDuration)} + + } /> @@ -138,7 +135,7 @@ const PatrolDetailInfo = ({ patrolData }) => { } /> - {patrolData?.stopPoints?.length} مورد + {patrolData?.stopPoints?.length} نقطه diff --git a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolMapFeatures.jsx b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolMapFeatures.jsx index 1a8b785..8779132 100644 --- a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolMapFeatures.jsx +++ b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/PatrolMapFeatures.jsx @@ -4,6 +4,7 @@ import { Typography } from "@mui/material"; import React, { useRef } from "react"; import { Marker, Popup } from "react-leaflet"; import AzmayeshIcon from "@/assets/images/examine_marker.png"; +import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; const PatrolMapFeatures = ({ stopPoint }) => { const position = [stopPoint.latitude, stopPoint.longitude]; @@ -29,7 +30,7 @@ const PatrolMapFeatures = ({ stopPoint }) => { position={position} > - مدت زمان توقف: {stopPoint.duration} ثانیه + مدت زمان توقف: {formatSecondsToHHMMSS(stopPoint.duration)} ); diff --git a/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx b/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx index a38a935..c16b10d 100644 --- a/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx +++ b/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx @@ -1,9 +1,12 @@ -import { Box, DialogContent, Stack } from "@mui/material"; +import { Box, Chip, DialogContent, Divider, Grid, Stack, Typography } from "@mui/material"; import React, { useEffect, useState, useRef } from "react"; import { Marker, useMap } from "react-leaflet"; import AzmayeshActiveIcon from "@/assets/images/examine_marker_active.png"; import StopsInfo from "@/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/StopsInfo"; import MapLayer from "@/core/components/MapLayer"; +import PinDropIcon from "@mui/icons-material/PinDrop"; +import AccessAlarmsIcon from "@mui/icons-material/AccessAlarms"; +import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; const defaultIconSize = [35, 35]; const MachinePerformanceContent = ({ machinesLists }) => { const [selectedPoint, setSelectedPoint] = useState(null); @@ -41,9 +44,8 @@ const MachinePerformanceContent = ({ machinesLists }) => { return ( <> - + { accOnDuration: machinesLists.accOnDuration, }} /> - - - - - {machinesLists.stopPoints.map((point, index) => ( - handleMarkerClick(point), - }} - > - ))} - - + + + + + + + + {machinesLists.stopPoints.map((point, index) => ( + handleMarkerClick(point), + }} + > + ))} + + + + + + + + } + label={ + + طول جغرافیایی + + } + /> + + + + {selectedPoint ? selectedPoint.longitude : "نقطه مورد نظر را انتخاب کنید"} + + + + + } + label={ + + عرض جغرافیایی + + } + /> + + + + {selectedPoint ? selectedPoint.latitude : "نقطه مورد نظر را انتخاب کنید"} + + + + + } + label={ + + مدت زمان توقف + + } + /> + + + + {selectedPoint + ? `${formatSecondsToHHMMSS(selectedPoint.duration)}` + : "نقطه مورد نظر را انتخاب کنید"} + + + diff --git a/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/StopsInfo.jsx b/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/StopsInfo.jsx index 8319890..115a79d 100644 --- a/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/StopsInfo.jsx +++ b/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/StopsInfo.jsx @@ -1,17 +1,21 @@ import { Box, Chip, Divider, Grid, Typography } from "@mui/material"; import AccessAlarmsIcon from "@mui/icons-material/AccessAlarms"; -import PinDropIcon from "@mui/icons-material/PinDrop"; -import LocalGasStationIcon from "@mui/icons-material/LocalGasStation"; -import DirectionsCarIcon from "@mui/icons-material/DirectionsCar"; -import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; -const StopsInfo = ({ selectedPoint, staticData }) => { +import LocalGasStationIcon from "@mui/icons-material/LocalGasStation"; +import QrCode2Icon from "@mui/icons-material/QrCode2"; +import AddRoadIcon from "@mui/icons-material/AddRoad"; +import DirectionsCarFilledIcon from "@mui/icons-material/DirectionsCarFilled"; +import BadgeIcon from '@mui/icons-material/Badge'; +import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; +import ShowPlak from "@/core/components/ShowPlak"; + +const StopsInfo = ({ staticData }) => { return ( - + } + icon={} label={ کد خودرو @@ -21,9 +25,42 @@ const StopsInfo = ({ selectedPoint, staticData }) => { - {staticData.cmmsMachineCode || ""} + {staticData.cmmsMachineCode.machine_code || ""} + + + } + label={ + + نام خودرو + + } + /> + + + + {staticData.cmmsMachineCode.car_name || ""} + + + + + } + label={ + + پلاک خودرو + + } + /> + + + + {staticData.cmmsMachineCode.plak_number && + ShowPlak({ plak_number: staticData.cmmsMachineCode.plak_number })} + + { } + icon={} label={ مسافت پیموده شده @@ -72,56 +109,6 @@ const StopsInfo = ({ selectedPoint, staticData }) => { {formatSecondsToHHMMSS(staticData?.accOnDuration)} - - - } - label={ - - طول جغرافیایی - - } - /> - - - - {selectedPoint ? selectedPoint.longitude : "نقطه مورد نظر را انتخاب کنید"} - - - - - } - label={ - - عرض جغرافیایی - - } - /> - - - - {selectedPoint ? selectedPoint.latitude : "نقطه مورد نظر را انتخاب کنید"} - - - - - } - label={ - - مدت زمان توقف - - } - /> - - - - {selectedPoint - ? `${formatSecondsToHHMMSS(selectedPoint.duration)} ثانیه` - : "نقطه مورد نظر را انتخاب کنید"} - - ); }; diff --git a/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/index.jsx b/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/index.jsx index 8f35d4f..7e2902f 100644 --- a/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/index.jsx +++ b/src/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/index.jsx @@ -6,7 +6,7 @@ import { useState } from "react"; const MachinePerformanceForm = ({ row }) => { const [openMachinesCodeDialog, setOpenMachinesCodeDialog] = useState(false); const machineData = { - cmms_machine_code: row.original?.cmms_machines[0]?.machine_code, + cmms_machine_code: row.original?.cmms_machines[0], resultCode: 0, mileage: row.original?.distance, accOnDuration: row.original?.vehicle_runtime, diff --git a/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx b/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx index 09e5af6..93c0874 100644 --- a/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx +++ b/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/MachinePerformanceContent.jsx @@ -1,9 +1,12 @@ -import { Box, DialogContent, Stack } from "@mui/material"; +import { Box, Chip, DialogContent, Divider, Grid, Stack, Typography } from "@mui/material"; import React, { useEffect, useState, useRef } from "react"; import { Marker, useMap } from "react-leaflet"; import AzmayeshActiveIcon from "@/assets/images/examine_marker_active.png"; -import StopsInfo from "./StopsInfo"; +import StopsInfo from "@/components/dashboard/roadPatrols/operator/RowActions/MachinePerformanceForm/StopsInfo"; import MapLayer from "@/core/components/MapLayer"; +import PinDropIcon from "@mui/icons-material/PinDrop"; +import AccessAlarmsIcon from "@mui/icons-material/AccessAlarms"; +import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; const defaultIconSize = [35, 35]; const MachinePerformanceContent = ({ machinesLists }) => { const [selectedPoint, setSelectedPoint] = useState(null); @@ -41,9 +44,8 @@ const MachinePerformanceContent = ({ machinesLists }) => { return ( <> - + { accOnDuration: machinesLists.accOnDuration, }} /> - - - - - {machinesLists.stopPoints.map((point, index) => ( - handleMarkerClick(point), - }} - > - ))} - - + + + + + + + + {machinesLists.stopPoints.map((point, index) => ( + handleMarkerClick(point), + }} + > + ))} + + + + + + + + } + label={ + + طول جغرافیایی + + } + /> + + + + {selectedPoint ? selectedPoint.longitude : "نقطه مورد نظر را انتخاب کنید"} + + + + + } + label={ + + عرض جغرافیایی + + } + /> + + + + {selectedPoint ? selectedPoint.latitude : "نقطه مورد نظر را انتخاب کنید"} + + + + + } + label={ + + مدت زمان توقف + + } + /> + + + + {selectedPoint + ? `${formatSecondsToHHMMSS(selectedPoint.duration)}` + : "نقطه مورد نظر را انتخاب کنید"} + + + ); }; -export default MachinePerformanceContent; +export default MachinePerformanceContent; \ No newline at end of file diff --git a/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/StopsInfo.jsx b/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/StopsInfo.jsx index 8319890..0415b7c 100644 --- a/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/StopsInfo.jsx +++ b/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/StopsInfo.jsx @@ -2,8 +2,12 @@ import { Box, Chip, Divider, Grid, Typography } from "@mui/material"; import AccessAlarmsIcon from "@mui/icons-material/AccessAlarms"; import PinDropIcon from "@mui/icons-material/PinDrop"; import LocalGasStationIcon from "@mui/icons-material/LocalGasStation"; -import DirectionsCarIcon from "@mui/icons-material/DirectionsCar"; +import QrCode2Icon from "@mui/icons-material/QrCode2"; +import AddRoadIcon from "@mui/icons-material/AddRoad"; +import DirectionsCarFilledIcon from "@mui/icons-material/DirectionsCarFilled"; +import BadgeIcon from '@mui/icons-material/Badge'; import { formatSecondsToHHMMSS } from "@/core/utils/formatSecondsToHHMMSS"; +import ShowPlak from "@/core/components/ShowPlak"; const StopsInfo = ({ selectedPoint, staticData }) => { return ( @@ -11,7 +15,7 @@ const StopsInfo = ({ selectedPoint, staticData }) => { } + icon={} label={ کد خودرو @@ -21,9 +25,42 @@ const StopsInfo = ({ selectedPoint, staticData }) => { - {staticData.cmmsMachineCode || ""} + {staticData.cmmsMachineCode.machine_code || ""} + + + } + label={ + + نام خودرو + + } + /> + + + + {staticData.cmmsMachineCode.car_name || ""} + + + + + } + label={ + + پلاک خودرو + + } + /> + + + + {staticData.cmmsMachineCode.plak_number && + ShowPlak({ plak_number: staticData.cmmsMachineCode.plak_number })} + + { } + icon={} label={ مسافت پیموده شده @@ -125,4 +162,4 @@ const StopsInfo = ({ selectedPoint, staticData }) => { ); }; -export default StopsInfo; +export default StopsInfo; \ No newline at end of file diff --git a/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/index.jsx b/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/index.jsx index 8f35d4f..3eb7b87 100644 --- a/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/index.jsx +++ b/src/components/dashboard/roadPatrols/supervisor/RowActions/MachinePerformanceForm/index.jsx @@ -6,7 +6,7 @@ import { useState } from "react"; const MachinePerformanceForm = ({ row }) => { const [openMachinesCodeDialog, setOpenMachinesCodeDialog] = useState(false); const machineData = { - cmms_machine_code: row.original?.cmms_machines[0]?.machine_code, + cmms_machine_code: row.original?.cmms_machines[0], resultCode: 0, mileage: row.original?.distance, accOnDuration: row.original?.vehicle_runtime, @@ -48,4 +48,4 @@ const MachinePerformanceForm = ({ row }) => { ); }; -export default MachinePerformanceForm; +export default MachinePerformanceForm; \ No newline at end of file