diff --git a/.env.local.example b/.env.local.example index b1ff64a..15d8d86 100644 --- a/.env.local.example +++ b/.env.local.example @@ -1,3 +1,4 @@ +HOST="rms.witel.ir" NEXT_PUBLIC_VERSION="0.14.0" 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/next.config.mjs b/next.config.mjs index 7b0b855..e33199c 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -5,7 +5,7 @@ const nextConfig = { remotePatterns: [ { protocol: 'https', - hostname: 'rms.witel.ir', + hostname: process.env.HOST, }, ], }, diff --git a/src/app/(withAuth)/dashboard/car-details/page.js b/src/app/(withAuth)/dashboard/car-details/page.js deleted file mode 100644 index 4392b1a..0000000 --- a/src/app/(withAuth)/dashboard/car-details/page.js +++ /dev/null @@ -1,12 +0,0 @@ -import TestPage from "@/components/dashboard/carDetails"; -import WithPermission from "@/core/middlewares/withPermission"; - -const Page = () => { - return ( - - - - ); -}; - -export default Page; diff --git a/src/components/dashboard/carDetails/CarDetailsContent.jsx b/src/components/dashboard/carDetails/CarDetailsContent.jsx deleted file mode 100644 index 4d71d02..0000000 --- a/src/components/dashboard/carDetails/CarDetailsContent.jsx +++ /dev/null @@ -1,180 +0,0 @@ -import { Button, Collapse, DialogActions, DialogContent, Grid, Stack, TextField } from "@mui/material"; -import MuiDatePicker from "@/core/components/MuiDatePicker"; -import { useFormik } from "formik"; -import moment from "jalali-moment"; -import * as Yup from "yup"; -import { useState } from "react"; -import ApplicantRequestDetail from "@/core/components/ApplicantRequestDetail"; -import DetailMap from "@/core/components/ApplicantRequestDetail/DetailMap"; -import FlyToPolyline from "@/core/components/ApplicantRequestDetail/FlyToPolyline"; -import { MapContainer } from "react-leaflet"; -import dynamic from "next/dynamic"; -import MapLoading from "@/core/components/MapLayer/Loading"; -const MapLayer = dynamic(() => import("@/core/components/MapLayer"), { - loading: () => , - ssr: false, -}); - -const fakeData = { - id: 1, - shomareh_darkhast: "2124", - ostan: "ostan", - shahr: "shahr", - shahrestan: "shahrestan", - bakhsh: "bakhsh", - roosta: "roosta", - tarikh_darkhast: "tarikh_darkhast", - sazman: "sazman", - masahat_zamin: "masahat_zamin", - masahat_tarh: "masahat_tarh", - gorooh_tarh: "gorooh_tarh", - onvane_tarh: "onvane_tarh", - address: "کرج - فلان جا - جنب پاساژ - نزدیک اونجا - اونور خیابون - زیر رو گذر - روی زیر گذر", - file_mosavab: "file", - polyline: [ - [35.6892, 51.389], - [35.7074, 51.3929], - ], -}; - -const CarDetailsContent = ({ setOpenCarDialog }) => { - const [openCarDetailContent, setOpenCarDetailContent] = useState(false); - const initialValues = { - start_date: "", - end_date: "", - vehicle_code: "", - }; - - const validationSchema = Yup.object().shape({ - start_date: Yup.string().required("تاریخ شروع الزامیست!!!"), - end_date: Yup.string() - .test("is-greater", "تاریخ اتمام نمی‌تواند کمتر از تاریخ شروع باشد", function (value) { - const { start_date } = this.parent; // Access other field values - if (!value || !start_date) return true; // Skip validation if either field is empty - return moment(value, "YYYY/MM/DD").isSameOrAfter(moment(start_date, "YYYY/MM/DD")); - }) - .required("تاریخ اتمام الزامیست!!!"), - vehicle_code: Yup.mixed() - .test("is-number", "کد خودرو باید عدد باشد!!!", (value) => !isNaN(value)) - .test("positive", "کد خودرو باید مثبت باشد!!!", (value) => value >= 0) - .required("کد خودرو الزامیست!!!"), - }); - - const handleSubmit = async (values, props) => { - props.setSubmitting(true); - setOpenCarDetailContent(true); - }; - - const formik = useFormik({ - initialValues, - validationSchema, - onSubmit: handleSubmit, - }); - - return ( - <> - - - - - - { - if (!isNaN(event.target.value)) { - formik.setFieldValue("vehicle_code", event.target.value); - } else { - formik.setFieldValue("vehicle_code", formik.values.vehicle_code); - } - }} - size={"small"} - error={formik.touched.vehicle_code && Boolean(formik.errors.vehicle_code)} - helperText={formik.touched.vehicle_code && formik.errors.vehicle_code} - onBlur={formik.handleBlur("vehicle_code")} - fullWidth - /> - - - - - - - - - - - - - - - - {/**/} - - - - - - - - - ); -}; -export default CarDetailsContent; diff --git a/src/components/dashboard/carDetails/index.jsx b/src/components/dashboard/carDetails/index.jsx deleted file mode 100644 index 745736d..0000000 --- a/src/components/dashboard/carDetails/index.jsx +++ /dev/null @@ -1,44 +0,0 @@ -"use client"; -import PageTitle from "@/core/components/PageTitle"; -import { Dialog, DialogTitle, IconButton, Stack, Tooltip } from "@mui/material"; -import { useState } from "react"; -import DriveEtaIcon from "@mui/icons-material/DriveEta"; -import CarDetailsContent from "@/components/dashboard/carDetails/CarDetailsContent"; - -const TestPage = () => { - const [openCarDialog, setOpenCarDialog] = useState(false); - return ( - - - <> - - { - setOpenCarDialog(true); - }} - > - - - - setOpenCarDialog(false)} - fullWidth - open={openCarDialog} - PaperProps={{ - sx: { - transition: "all .3s", - boxShadow: - "rgba(60, 64, 67, 0.3) 0px 1px 16px 0px, rgba(60, 64, 67, 0.15) 0px 1px 10px 0px", - }, - }} - maxWidth={"lg"} - > - نمایش اطلاعات خودرو - - - - - ); -}; -export default TestPage; diff --git a/src/components/dashboard/roadItems/operator/Actions/Create/Forms/CreateFormContent.jsx b/src/components/dashboard/roadItems/operator/Actions/Create/Forms/CreateFormContent.jsx index 7b9b9a5..1781457 100644 --- a/src/components/dashboard/roadItems/operator/Actions/Create/Forms/CreateFormContent.jsx +++ b/src/components/dashboard/roadItems/operator/Actions/Create/Forms/CreateFormContent.jsx @@ -27,7 +27,7 @@ function TabPanel(props) { const validationSchema = object({ item_id: number().required("نوع آیتم را مشخص کنید!"), - sub_item_id: number().required("موضوع مشاهده شده را مشخص کنید!"), + sub_item_id: number().required("اقدام انجام شده را مشخص کنید!"), amount: string().required("وارد کردن مقدار الزامیست!"), cmms_machines: array().required("وارد کردن کد خودرو الزامیست!").min(1, "حداقل یک کد خودرو باید وارد شود!"), rahdaran_id: array().required("وارد کردن کد راهداران الزامیست!").min(1, "حداقل یک کد راهدار باید وارد شود!"), // بررسی حداقل یک آیتم, @@ -214,7 +214,7 @@ const CreateFormContent = ({ setOpen, onSubmit, is_gasht = false }) => { }} > } label="انتخاب آیتم" /> - } label="انتخاب موضوع مشاهده شده" /> + } label="انتخاب اقدام انجام شده" /> } label="اطلاعات فعالیت" /> diff --git a/src/components/dashboard/roadItems/operator/Actions/Create/Forms/GetSubItemsForm.jsx b/src/components/dashboard/roadItems/operator/Actions/Create/Forms/GetSubItemsForm.jsx index 8d9098a..9b6bc8e 100644 --- a/src/components/dashboard/roadItems/operator/Actions/Create/Forms/GetSubItemsForm.jsx +++ b/src/components/dashboard/roadItems/operator/Actions/Create/Forms/GetSubItemsForm.jsx @@ -9,7 +9,7 @@ const GetSubItemsForm = ({ setValue, watch, setSubItemsList, tabState, setTabSta <> {errorSubItemsList ? ( - خطا در دریافت موضوع مشاهده شده + خطا در دریافت اقدام انجام شده ) : loadingSubItemsList ? ( diff --git a/src/components/dashboard/roadItems/operator/Actions/Create/Forms/PreviousStatesInfo.jsx b/src/components/dashboard/roadItems/operator/Actions/Create/Forms/PreviousStatesInfo.jsx index 9e7b7db..51fac42 100644 --- a/src/components/dashboard/roadItems/operator/Actions/Create/Forms/PreviousStatesInfo.jsx +++ b/src/components/dashboard/roadItems/operator/Actions/Create/Forms/PreviousStatesInfo.jsx @@ -27,14 +27,14 @@ const PreviousStatesInfo = ({ itemsList, subItemsList }) => { icon={} label={ - موضوع مشاهده‌شده + اقدام انجام شده } /> - {subItemsList?.name || "هیچ موضوعی انتخاب نشده است"} + {subItemsList?.name || "هیچ اقدامی انتخاب نشده است"} diff --git a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/GashtCreateContent.jsx b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/GashtCreateContent.jsx index 70884e7..80408d3 100644 --- a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/GashtCreateContent.jsx +++ b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/GashtCreateContent.jsx @@ -104,7 +104,7 @@ const GashtCreateContent = ({ mutate, setOpen, tabState, setTabState }) => { }} > } label="انتخاب مورد مشاهده شده" /> - } label="اطلاعات مورد مشاهده شده" /> + } label="اطلاعات مورد اقدام شده" /> diff --git a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/CompleteItem.jsx b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/CompleteItem.jsx index 1270a2c..3ef226d 100644 --- a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/CompleteItem.jsx +++ b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/CompleteItem.jsx @@ -36,7 +36,7 @@ const CompleteItem = ({ subItem, itemInfo, setSubmitCompleteForm, mutate, setOpe const validationSchema = object({ item_id: number().required("نوع آیتم را مشخص کنید!"), - sub_item_id: number().required("موضوع مشاهده شده را مشخص کنید!"), + sub_item_id: number().required("اقدام انجام شده را مشخص کنید!"), amount: string().required("وارد کردن مقدار الزامیست!"), cmms_machines: array().required("وارد کردن کد خودرو الزامیست!").min(1, "حداقل یک کد خودرو باید وارد شود!"), rahdaran_id: array().required("وارد کردن کد راهداران الزامیست!").min(1, "حداقل یک کد راهدار باید وارد شود!"), // بررسی حداقل یک آیتم, diff --git a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/PreviousStatesInfo.jsx b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/PreviousStatesInfo.jsx index 57c8839..6603df4 100644 --- a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/PreviousStatesInfo.jsx +++ b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/RowActions/PreviousStatesInfo.jsx @@ -27,14 +27,14 @@ const PreviousStatesInfo = ({ itemInfo }) => { icon={} label={ - موضوع مشاهده‌شده + اقدام انجام شده } /> - {itemInfo?.sub_item_name || "هیچ موضوعی انتخاب نشده است"} + {itemInfo?.sub_item_name || "هیچ اقدامی انتخاب نشده است"} diff --git a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/TableInfo.jsx b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/TableInfo.jsx index c16dba4..73f9cdd 100644 --- a/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/TableInfo.jsx +++ b/src/components/dashboard/roadItems/operator/Actions/ObservedGashtCreate/TableInfo.jsx @@ -54,7 +54,7 @@ const TableInfo = ({ specialFilter, setTabState, setItemInfo }) => { }, { accessorKey: "sub_item_name", - header: "موضوع مشاهده شده", + header: "مشاهده انجام شده", id: "sub_item_name", enableColumnFilter: false, datatype: "text", diff --git a/src/components/dashboard/roadItems/operator/OperatorList.jsx b/src/components/dashboard/roadItems/operator/OperatorList.jsx index 5fcc7e4..b6cf401 100644 --- a/src/components/dashboard/roadItems/operator/OperatorList.jsx +++ b/src/components/dashboard/roadItems/operator/OperatorList.jsx @@ -76,7 +76,7 @@ const OperatorList = () => { }, { accessorKey: "sub_item", - header: "موضوع مشاهده شده", + header: "اقدام انجام شده", id: "sub_item", enableColumnFilter: true, datatype: "numeric", @@ -246,7 +246,7 @@ const OperatorList = () => { ); } - return کد خودرویی وجود ندارد; + return خودرویی وجود ندارد; }, }, { diff --git a/src/components/dashboard/roadItems/operator/RowActions/ImageForm/ImageFormContent.jsx b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/ImageFormContent.jsx index c9f4e2e..9aaa92e 100644 --- a/src/components/dashboard/roadItems/operator/RowActions/ImageForm/ImageFormContent.jsx +++ b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/ImageFormContent.jsx @@ -1,41 +1,44 @@ -import { DialogContent, Paper, Stack, Typography, useTheme } from "@mui/material"; +import { Box, DialogContent, Paper, Stack, Typography, useTheme } from "@mui/material"; +import Image from "next/image"; const ImageFormContent = ({ image, title }) => { const theme = useTheme(); return ( - - + - - - {title} - - Image - - - + {title} + + + Image + + ); }; export default ImageFormContent; diff --git a/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx index 8bdb7e9..130f443 100644 --- a/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx +++ b/src/components/dashboard/roadItems/operator/RowActions/ImageForm/index.jsx @@ -1,4 +1,4 @@ -import { Button, Dialog, DialogActions, DialogTitle, IconButton, Tooltip } from "@mui/material"; +import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, Paper, Tooltip } from "@mui/material"; import { useState } from "react"; import PhotoLibraryIcon from "@mui/icons-material/PhotoLibrary"; import ImageFormContent from "./ImageFormContent"; @@ -22,14 +22,18 @@ const ImageDialog = ({ images }) => { boxShadow: "rgba(60, 64, 67, 0.3) 0px 1px 16px 0px, rgba(60, 64, 67, 0.15) 0px 1px 10px 0px", }, }} - dir="rtl" - maxWidth={"md"} + maxWidth={"sm"} + scroll="paper" > تصاویر - - + + + + + + - diff --git a/src/components/dashboard/roadItems/operator/RowActions/MachinesCodeForm/index.jsx b/src/components/dashboard/roadItems/operator/RowActions/MachinesCodeForm/index.jsx index d8e8754..ec6ad3e 100644 --- a/src/components/dashboard/roadItems/operator/RowActions/MachinesCodeForm/index.jsx +++ b/src/components/dashboard/roadItems/operator/RowActions/MachinesCodeForm/index.jsx @@ -7,7 +7,7 @@ const MachinesCodeDialog = ({ machinesLists }) => { const [openMachinesCodeDialog, setOpenMachinesCodeDialog] = useState(false); return ( <> - + setOpenMachinesCodeDialog(true)}> @@ -24,7 +24,7 @@ const MachinesCodeDialog = ({ machinesLists }) => { dir="rtl" maxWidth={"md"} > - کد خودرو + خودرو ها diff --git a/src/components/dashboard/roadItems/supervisor/RowActions/ConfirmForm/index.jsx b/src/components/dashboard/roadItems/supervisor/RowActions/ConfirmForm/index.jsx index a542a30..d9aafa0 100644 --- a/src/components/dashboard/roadItems/supervisor/RowActions/ConfirmForm/index.jsx +++ b/src/components/dashboard/roadItems/supervisor/RowActions/ConfirmForm/index.jsx @@ -6,7 +6,7 @@ const ConfirmForm = ({ rowId, mutate }) => { const [openConfirmDialog, setOpenConfirmDialog] = useState(false); return ( <> - + setOpenConfirmDialog(true)}> @@ -20,7 +20,7 @@ const ConfirmForm = ({ rowId, mutate }) => { }, }} > - تایید + تایید فعالیت diff --git a/src/components/dashboard/roadItems/supervisor/RowActions/DeleteForm/DeleteContent.jsx b/src/components/dashboard/roadItems/supervisor/RowActions/DeleteForm/DeleteContent.jsx index 485ac40..2d03dc7 100644 --- a/src/components/dashboard/roadItems/supervisor/RowActions/DeleteForm/DeleteContent.jsx +++ b/src/components/dashboard/roadItems/supervisor/RowActions/DeleteForm/DeleteContent.jsx @@ -22,9 +22,7 @@ const DeleteContent = ({ rowId, mutate, setOpenDeleteDialog }) => { <> - - آیا از حذف فعالیت اطمینان دارید؟ - + آیا از حذف فعالیت اطمینان دارید؟ @@ -32,7 +30,7 @@ const DeleteContent = ({ rowId, mutate, setOpenDeleteDialog }) => { خیر ! diff --git a/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/ImageFormContent.jsx b/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/ImageFormContent.jsx index c9f4e2e..9aaa92e 100644 --- a/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/ImageFormContent.jsx +++ b/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/ImageFormContent.jsx @@ -1,41 +1,44 @@ -import { DialogContent, Paper, Stack, Typography, useTheme } from "@mui/material"; +import { Box, DialogContent, Paper, Stack, Typography, useTheme } from "@mui/material"; +import Image from "next/image"; const ImageFormContent = ({ image, title }) => { const theme = useTheme(); return ( - - + - - - {title} - - Image - - - + {title} + + + Image + + ); }; export default ImageFormContent; diff --git a/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/index.jsx b/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/index.jsx index 0e70c1d..130f443 100644 --- a/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/index.jsx +++ b/src/components/dashboard/roadItems/supervisor/RowActions/ImageForm/index.jsx @@ -1,4 +1,4 @@ -import { Button, Dialog, DialogActions, DialogTitle, IconButton, Tooltip } from "@mui/material"; +import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, Paper, Tooltip } from "@mui/material"; import { useState } from "react"; import PhotoLibraryIcon from "@mui/icons-material/PhotoLibrary"; import ImageFormContent from "./ImageFormContent"; @@ -22,14 +22,18 @@ const ImageDialog = ({ images }) => { boxShadow: "rgba(60, 64, 67, 0.3) 0px 1px 16px 0px, rgba(60, 64, 67, 0.15) 0px 1px 10px 0px", }, }} - dir="rtl" - maxWidth={"md"} + maxWidth={"sm"} + scroll="paper" > - تصاویر - - + تصاویر + + + + + + - diff --git a/src/components/dashboard/roadItems/supervisor/RowActions/MachinesCodeForm/index.jsx b/src/components/dashboard/roadItems/supervisor/RowActions/MachinesCodeForm/index.jsx index d8e8754..ec6ad3e 100644 --- a/src/components/dashboard/roadItems/supervisor/RowActions/MachinesCodeForm/index.jsx +++ b/src/components/dashboard/roadItems/supervisor/RowActions/MachinesCodeForm/index.jsx @@ -7,7 +7,7 @@ const MachinesCodeDialog = ({ machinesLists }) => { const [openMachinesCodeDialog, setOpenMachinesCodeDialog] = useState(false); return ( <> - + setOpenMachinesCodeDialog(true)}> @@ -24,7 +24,7 @@ const MachinesCodeDialog = ({ machinesLists }) => { dir="rtl" maxWidth={"md"} > - کد خودرو + خودرو ها diff --git a/src/components/dashboard/roadItems/supervisor/RowActions/RejectForm/index.jsx b/src/components/dashboard/roadItems/supervisor/RowActions/RejectForm/index.jsx index e05288c..2f08152 100644 --- a/src/components/dashboard/roadItems/supervisor/RowActions/RejectForm/index.jsx +++ b/src/components/dashboard/roadItems/supervisor/RowActions/RejectForm/index.jsx @@ -6,7 +6,7 @@ const RejectForm = ({ rowId, mutate }) => { const [openRejectDialog, setOpenRejectDialog] = useState(false); return ( <> - + setOpenRejectDialog(true)}> @@ -20,7 +20,7 @@ const RejectForm = ({ rowId, mutate }) => { }, }} > - عدم تایید + عدم تایید فعالیت diff --git a/src/components/dashboard/roadItems/supervisor/SupervisorList.jsx b/src/components/dashboard/roadItems/supervisor/SupervisorList.jsx index 1dfae7c..321f9d1 100644 --- a/src/components/dashboard/roadItems/supervisor/SupervisorList.jsx +++ b/src/components/dashboard/roadItems/supervisor/SupervisorList.jsx @@ -177,7 +177,7 @@ const SupervisorList = () => { }, { accessorKey: "sub_item", - header: "موضوع مشاهده شده", + header: "اقدام انجام شده", id: "sub_item", enableColumnFilter: true, datatype: "numeric", @@ -347,7 +347,7 @@ const SupervisorList = () => { ); } - return کد خودرویی وجود ندارد; + return خودرویی وجود ندارد; }, }, { diff --git a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/ActionsDurigPatrol.jsx b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/ActionsDurigPatrol.jsx index 698346f..cffacb4 100644 --- a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/ActionsDurigPatrol.jsx +++ b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/ActionsDurigPatrol.jsx @@ -21,7 +21,6 @@ const ActionsDuringPatrol = ({ setValue, tabState, setTabState }) => { const SubmitActionDuringPatrol = () => { setTabState(tabState + 1); const resultItems = ActionsList.map((item) => item.result); - console.log("resultItems", resultItems); setValue("observed_items", resultItems); }; diff --git a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx index bbbd8a0..51816c8 100644 --- a/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx +++ b/src/components/dashboard/roadPatrols/operator/Forms/CreatePatrol/CompeleteRequest.jsx @@ -69,7 +69,7 @@ const CompeleteRequest = ({ watch, isSubmitting, setValue, register }) => { setOtpSended(true); setDelayPerRequest(true); }) - .catch(() => { }); + .catch(() => {}); }; return ( diff --git a/src/components/dashboard/roadPatrols/operator/RowActions/ReportForm/index.jsx b/src/components/dashboard/roadPatrols/operator/RowActions/ReportForm/index.jsx index 0319aaf..4c834ca 100644 --- a/src/components/dashboard/roadPatrols/operator/RowActions/ReportForm/index.jsx +++ b/src/components/dashboard/roadPatrols/operator/RowActions/ReportForm/index.jsx @@ -1,14 +1,14 @@ -import { Tooltip, IconButton } from "@mui/material"; +import { GET_ROAD_PATROL_OPERATOR_REPORT } from "@/core/utils/routes"; import PrintIcon from "@mui/icons-material/Print"; +import { IconButton, Tooltip } from "@mui/material"; const ReportForm = ({ rowId }) => { - const reportUrl = `https://rms.rmto.ir/v2/road_patrols/operator/report/${rowId}`; return ( { - const reportUrl = `https://rms.rmto.ir/v2/road_patrols/operator/report/${rowId}`; return ( { - const debouncer = debounce((query) => { - if (!query || query?.length < 3) { - setOptions([]); - return; - } - setLoading(true); - requestServer(`${GET_CAR_LIST_SEARCH}?machine_code=${query}`, "get", { - requestOptions: { signal: controller.signal }, - }) - .then((response) => { - const combinedArray = carCode ? [...carCode, ...response.data.data] : [...response.data.data]; - const uniqueArray = Array.from(new Map(combinedArray.map((item) => [item.id, item])).values()); - setOptions(uniqueArray || []); - }) - .catch(() => { - setOptions([]); - }) - .finally(() => { - setLoading(false); - }); - }, 500); - debouncer(inputValue); - }; - useEffect(() => { + const fetchCarCodes = (inputValue, controller) => { + const debouncer = debounce((query) => { + if (!query || query?.length < 3) { + setOptions([]); + return; + } + setLoading(true); + requestServer(`${GET_CAR_LIST_SEARCH}?machine_code=${query}`, "get", { + requestOptions: { signal: controller.signal }, + }) + .then((response) => { + const combinedArray = carCode ? [...carCode, ...response.data.data] : [...response.data.data]; + const uniqueArray = Array.from(new Map(combinedArray.map((item) => [item.id, item])).values()); + setOptions(uniqueArray || []); + }) + .catch(() => { + setOptions([]); + }) + .finally(() => { + setLoading(false); + }); + }, 500); + debouncer(inputValue); + }; + const controller = new AbortController(); fetchCarCodes(inputValue, controller); return () => controller.abort(); }, [inputValue]); + return ( { - setInputValue(newInputValue || ""); // Prevent inputValue from being null or undefined + setInputValue(newInputValue || ""); }} options={options} getOptionLabel={(option) => { diff --git a/src/core/components/DataTable/Main.js b/src/core/components/DataTable/Main.js index cd07da5..eb11e54 100644 --- a/src/core/components/DataTable/Main.js +++ b/src/core/components/DataTable/Main.js @@ -61,7 +61,8 @@ const DataTable_Main = (props) => { } params.set("sorting", JSON.stringify(sortData)); return `${table_url}?${params}`; - }, [table_url, filterData, pagination, columns, sortData, specialFilter]); + }, [table_url, filterData, pagination, sortData, specialFilter]); + const fetcher = async (url) => { try { const response = await request(url); diff --git a/src/core/components/MapInfoOneMarker.jsx b/src/core/components/MapInfoOneMarker.jsx index a0817bf..b42ced9 100644 --- a/src/core/components/MapInfoOneMarker.jsx +++ b/src/core/components/MapInfoOneMarker.jsx @@ -122,8 +122,8 @@ const MapInteraction = ({ setValue, startLat, startLng }) => { zIndex: 1000, }} > - )} diff --git a/src/core/components/MapInfoTwoMarker.jsx b/src/core/components/MapInfoTwoMarker.jsx index 2ddae72..44745b1 100644 --- a/src/core/components/MapInfoTwoMarker.jsx +++ b/src/core/components/MapInfoTwoMarker.jsx @@ -73,7 +73,7 @@ const MapInteraction = ({ setValue, startLat, startLng, endLat, endLng }) => { { lat: startLat, lng: startLng }, { lat: endLat, lng: endLng }, ], - { paddingTopLeft: [16, 16], paddingBottomRight: [16, 130] } + { paddingTopLeft: [64, 64], paddingBottomRight: [64, 64] } ); } }, [startLat, map, endLng]); @@ -142,7 +142,7 @@ const MapInteraction = ({ setValue, startLat, startLng, endLat, endLng }) => { zIndex: 1000, }} > - @@ -184,8 +184,8 @@ const MapInteraction = ({ setValue, startLat, startLng, endLat, endLng }) => { setIsEndLocked(true); setEndIconColor("#D13131"); map.fitBounds([startPosition, map.getCenter()], { - paddingTopLeft: [16, 16], - paddingBottomRight: [16, 16], + paddingTopLeft: [64, 64], + paddingBottomRight: [64, 64], }); } }, @@ -202,7 +202,7 @@ const MapInteraction = ({ setValue, startLat, startLng, endLat, endLng }) => { zIndex: 1000, }} > - diff --git a/src/core/components/Profile/ChangePass/index.jsx b/src/core/components/Profile/ChangePass/index.jsx index 4b388da..0a507db 100644 --- a/src/core/components/Profile/ChangePass/index.jsx +++ b/src/core/components/Profile/ChangePass/index.jsx @@ -22,7 +22,7 @@ const ChangePass = ({ open, setOpen }) => { @@ -38,7 +38,7 @@ const ChangePass = ({ open, setOpen }) => { loadingPosition="end" endIcon={} > - ثبت + تغییر diff --git a/src/core/components/Profile/Update/index.jsx b/src/core/components/Profile/Update/index.jsx index d72b5a0..4cec971 100644 --- a/src/core/components/Profile/Update/index.jsx +++ b/src/core/components/Profile/Update/index.jsx @@ -22,7 +22,7 @@ const Update = ({ open, setOpen }) => {
- { loadingPosition="end" endIcon={} > - ثبت + ویرایش diff --git a/src/core/components/RahdarCode.jsx b/src/core/components/RahdarCode.jsx index c1f6c48..7ebf1d2 100644 --- a/src/core/components/RahdarCode.jsx +++ b/src/core/components/RahdarCode.jsx @@ -11,34 +11,34 @@ const RahdarCode = ({ rahdarsCode, setRahdarsCode, error, multiple = true }) => const [loading, setLoading] = useState(false); const requestServer = useRequest(); - const fetchRahdarCodes = (inputValue, controller) => { - const debouncer = debounce((query) => { - if ((query || "").length < 3) { - setOptions([]); - return; - } - setLoading(true); - requestServer(`${GET_RAHDARANS_LIST_SEARCH}?code=${query}`, "get", { - requestOptions: { signal: controller.signal }, - }) - .then((response) => { - const combinedArray = rahdarsCode - ? [...rahdarsCode, ...response.data.data] - : [...response.data.data]; - const uniqueArray = Array.from(new Map(combinedArray.map((item) => [item.id, item])).values()); - setOptions(uniqueArray || []); - }) - .catch(() => { - setOptions([]); - }) - .finally(() => { - setLoading(false); - }); - }, 500); - debouncer(inputValue); - }; - useEffect(() => { + const fetchRahdarCodes = (inputValue, controller) => { + const debouncer = debounce((query) => { + if ((query || "").length < 3) { + setOptions([]); + return; + } + setLoading(true); + requestServer(`${GET_RAHDARANS_LIST_SEARCH}?code=${query}`, "get", { + requestOptions: { signal: controller.signal }, + }) + .then((response) => { + const combinedArray = rahdarsCode + ? [...rahdarsCode, ...response.data.data] + : [...response.data.data]; + const uniqueArray = Array.from(new Map(combinedArray.map((item) => [item.id, item])).values()); + setOptions(uniqueArray || []); + }) + .catch(() => { + setOptions([]); + }) + .finally(() => { + setLoading(false); + }); + }, 500); + debouncer(inputValue); + }; + const controller = new AbortController(); fetchRahdarCodes(inputValue, controller); return () => controller.abort(); diff --git a/src/core/utils/headerMenu.js b/src/core/utils/headerMenu.js index 32438bb..a3ac3c9 100644 --- a/src/core/utils/headerMenu.js +++ b/src/core/utils/headerMenu.js @@ -1,3 +1,5 @@ +const api = process.env.NEXT_PUBLIC_API_URL; + export const headerMenu = [ { title: "تصادفات", @@ -5,7 +7,7 @@ export const headerMenu = [ [ { title: "تصادفات روزانه", - href: "https://rms.witel.ir/v2/daily_accidents/create", + href: api + "/v2/daily_accidents/create", }, ], ], @@ -16,11 +18,11 @@ export const headerMenu = [ [ { title: "گزارش محوری", - href: "https://rms.witel.ir/v2/axis_reports", + href: api + "/v2/axis_reports", }, { title: "هوش تجاری (‌BI)", - href: "https://rms.witel.ir/v2/axis_reports", + href: api + "/v2/axis_reports", }, ], ], @@ -31,17 +33,17 @@ export const headerMenu = [ [ { title: "پراکندگی بر روی نقشه راهدارخانه ها", - href: "https://rms.witel.ir/v2/map?type=rahdar", + href: api + "/v2/map?type=rahdar", }, { title: "راهدارخانه ها", - href: "https://rms.witel.ir/v2/rahdari_points", + href: api + "/v2/rahdari_points", }, ], [ { title: "ممیزی ماشین آلات راهداری کشور", - href: "https://rms.witel.ir/cmms-audit", + href: api + "/cmms-audit", }, ], ], @@ -52,7 +54,7 @@ export const headerMenu = [ [ { title: "تحقیق و توسعه", - href: "https://rms.witel.ir/RandD", + href: api + "/RandD", }, { title: "سامانه مدیریت یکپارچه زیرساخت های راه (PMS,BMS,SMS)", diff --git a/src/core/utils/pageMenu.js b/src/core/utils/pageMenu.js index d93692d..f312523 100644 --- a/src/core/utils/pageMenu.js +++ b/src/core/utils/pageMenu.js @@ -165,7 +165,7 @@ export const pageMenu = [ }, { id: "roadItemManagmentReportItems", - label: "تعداد و حجم فعالیت ها به تفکیک موارد مشاهده شده", + label: "تعداد و حجم فعالیت ها به تفکیک موارد اقدام شده", type: "page", route: "/dashboard/road-items/reports/sub-items-report", permissions: [ diff --git a/src/core/utils/routes.js b/src/core/utils/routes.js index b13b921..a217a6e 100644 --- a/src/core/utils/routes.js +++ b/src/core/utils/routes.js @@ -30,10 +30,12 @@ export const UPDATE_AZMAYESH_TYPE = api + "/api/v3/azmayesh_types/update"; //road patrol export const GET_ROAD_PATROL_OPERATOR_LIST = api + "/api/v3/road_patrols/operator_index"; -export const EXPORT_ROAD_PATROL_OPERATOR_LIST = "https://rms.witel.ir/v2/road_patrols/operator/cartable/report"; +export const EXPORT_ROAD_PATROL_OPERATOR_LIST = api + "/v2/road_patrols/operator/cartable/report"; export const GET_ROAD_PATROL_SUPERVISOR_LIST = api + "/api/v3/road_patrols/supervisor_index"; -export const EXPORT_ROAD_PATROL_SUPERVISOR_LIST = "https://rms.witel.ir/v2/road_patrols/supervisor/cartable/report"; +export const EXPORT_ROAD_PATROL_SUPERVISOR_LIST = api + "/v2/road_patrols/supervisor/cartable/report"; export const DELETE_ROAD_PATROL_SUPERVISOR = api + "/api/v3/road_patrols/delete"; +export const GET_ROAD_PATROL_OPERATOR_REPORT = api + "/v2/road_patrols/operator/report"; +export const GET_ROAD_PATROL_SUPERVISOR_REPORT = api + "/v2/road_patrols/supervisor/report"; export const CREATE_PATROL = api + "/api/v3/road_patrols/store"; export const GET_FMS_DATA = api + "/api/v3/fms_vehicle/get_activity"; export const GET_OTP_TOKEN = api + "/v2/get_otp_token"; @@ -45,9 +47,9 @@ export const GET_ROAD_ITEMS_SUPERVISOR_LIST = api + "/api/v3/road_items/supervis export const EXPORT_ROAD_ITEMS_SUPERVISOR_LIST = api + "/api/v3/road_items/supervisor_report"; export const GET_ROAD_ITEMS_OPERATOR_LIST = api + "/api/v3/road_items/operator_index"; export const EXPORT_ROAD_ITEMS_OPERATOR_LIST = api + "/api/v3/road_items/operator_report"; -export const GET_ROAD_ITEMS_ITEM = "https://rms.witel.ir/v2/items"; -export const GET_ROAD_ITEMS_SUB_ITEM = "https://rms.witel.ir/v2/sub_items"; -export const GET_EDARAT_LISTS = "https://rms.witel.ir/public/contents/edarate_shahri_by_province"; +export const GET_ROAD_ITEMS_ITEM = api + "/v2/items"; +export const GET_ROAD_ITEMS_SUB_ITEM = api + "/v2/sub_items"; +export const GET_EDARAT_LISTS = api + "/public/contents/edarate_shahri_by_province"; export const CREATE_ROAD_ITEMS = api + "/api/v3/road_items/store"; export const UPDATE_ROAD_ITEMS = api + "/api/v3/road_items/update"; export const VERIFY_BY_SUPERVISOR = api + "/api/v3/road_items/verify_by_supervisor";