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);
- }}
- >
-
-
-
-
- >
-
- );
-};
-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}
-
-
-
-
-
+ {title}
+
+
+
+
+
);
};
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"}
>
- کد خودرو
+ خودرو ها
{
data={data.data}
page_name={"roadItemReportByItems"}
table_name={"roadItemReportByItemsList"}
+ enablePagination={false}
/>
);
diff --git a/src/components/dashboard/roadItems/reports/SubItemsReports/SubItemsList.jsx b/src/components/dashboard/roadItems/reports/SubItemsReports/SubItemsList.jsx
index f047491..3ab9fc1 100644
--- a/src/components/dashboard/roadItems/reports/SubItemsReports/SubItemsList.jsx
+++ b/src/components/dashboard/roadItems/reports/SubItemsReports/SubItemsList.jsx
@@ -9,6 +9,7 @@ const SubItemsList = ({ data }) => {
data={data.data}
page_name={"roadItemReportBySubItems"}
table_name={"roadItemReportBySubItemsList"}
+ enablePagination={false}
/>
);
diff --git a/src/components/dashboard/roadItems/reports/SubItemsReports/index.jsx b/src/components/dashboard/roadItems/reports/SubItemsReports/index.jsx
index 57521d7..1601b48 100644
--- a/src/components/dashboard/roadItems/reports/SubItemsReports/index.jsx
+++ b/src/components/dashboard/roadItems/reports/SubItemsReports/index.jsx
@@ -22,7 +22,7 @@ const createColumns = (sub_items) => {
columns: [
{
accessorKey: `sub_item_${sub_item.sub_item}_count`,
- header: "تعداد",
+ header: "تعداد اقدام",
id: `sub_item_${sub_item.sub_item}_count`,
enableColumnFilter: false,
enableSorting: false,
@@ -81,7 +81,7 @@ const createColumns = (sub_items) => {
size: 50,
},
{
- header: "موارد مشاهده شده فعالیت روزانه",
+ header: "موارد اقدام شده فعالیت روزانه",
enableColumnFilter: false,
id: "subItems",
enableSorting: false,
@@ -228,7 +228,7 @@ const SubItemsReports = () => {
});
return (
-
+
{
{...register("description")}
multiline
rows={8}
- label="توضیحات کارشناس"
+ label="توضیحات و دلایل تأیید (اختیاری)"
+ placeholder="لطفاً علت تأیید خود را توضیح دهید"
fullWidth
variant="outlined"
sx={{ mt: 1 }}
+ InputLabelProps={{ shrink: true }}
/>
@@ -59,7 +61,7 @@ const ConfirmContent = ({ rowId, mutate, setOpenConfirmDialog }) => {
بستن
- {isSubmitting ? "درحال ارسال اطلاعات..." : "ثبت"}
+ {isSubmitting ? "درحال ثبت تایید..." : "ثبت تایید"}
>
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 }) => {
خیر !
- {submitting ? "درحال ارسال اطلاعات..." : "بله اطمینان دارم"}
+ {submitting ? "درحال حذف..." : "بله اطمینان دارم"}
>
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}
-
-
-
-
-
+ {title}
+
+
+
+
+
);
};
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"
>
- تصاویر
-
-
+ تصاویر
+
+
+
+
+
+
- setOpenImageDialog(false)} variant="outlined" color="secondary" autoFocus>
+ setOpenImageDialog(false)} variant="outlined" color="secondary">
بستن
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"}
>
- کد خودرو
+ خودرو ها
{
const requestServer = useRequest({ notificationSuccess: true });
const validationSchema = Yup.object().shape({
- description: Yup.string().required("توضیحات الزامیست!!!"),
+ description: Yup.string().required("لطفاً توضیحات را وارد کنید."),
});
const {
@@ -51,12 +51,14 @@ const RejectContent = ({ rowId, mutate, setOpenRejectDialog }) => {
{...register("description")}
multiline
rows={8}
- label="توضیحات کارشناس"
+ label="توضیحات و دلایل عدم تأیید"
+ placeholder="لطفاً علت عدم تأیید خود را توضیح دهید"
error={!!errors.description}
helperText={errors.description?.message}
fullWidth
variant="outlined"
sx={{ mt: 1 }}
+ InputLabelProps={{ shrink: true }}
/>
@@ -72,7 +74,7 @@ const RejectContent = ({ rowId, mutate, setOpenRejectDialog }) => {
بستن
- {isSubmitting ? "درحال ارسال اطلاعات..." : "عدم تایید"}
+ {isSubmitting ? "درحال ثبت عدم تایید..." : "ثبت عدم تایید"}
>
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";