From a5b30d13feb753ce4831e6a705ab574bf3515f9a Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Wed, 26 Nov 2025 16:24:15 +0330 Subject: [PATCH 1/4] confirm modal of technical deputy --- .../ConfirmRoadSafetyDialog.jsx | 7 +- .../ConfirmRoadSafetyFormContext.jsx | 128 ++++++++---------- .../PrevCartableOpinion.jsx | 17 --- .../ConfirmRoadSafetyDialog.jsx | 9 +- .../ConfirmRoadSafetyFormContext.jsx | 126 +++++++---------- .../ConfirmRoadSafetyDialog.jsx | 5 +- .../ConfirmRoadSafetyFormContext.jsx | 126 +++++++---------- .../PrevCartableOpinion.jsx | 17 --- .../Questions/DescriptionForm.jsx | 29 ---- .../Questions/QuestionVerifyNeedRoadForm.jsx | 29 ---- .../Questions/Refer/Form.jsx | 76 ----------- .../Questions/Refer/index.jsx | 54 -------- .../Questions/index.jsx | 70 ---------- src/core/utils/routes.js | 6 + 14 files changed, 172 insertions(+), 527 deletions(-) delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/PrevCartableOpinion.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/PrevCartableOpinion.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/DescriptionForm.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/QuestionVerifyNeedRoadForm.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/Form.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/index.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/index.jsx diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx index 862fb85..88c69c8 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx @@ -1,7 +1,7 @@ import DialogLoading from "@/core/components/DialogLoading"; import { GET_REQUEST_INQUIRY_PRIVACY } from "@/core/utils/routes"; import useRequest from "@/lib/hooks/useRequest"; -import { DialogContent, Typography } from "@mui/material"; +import { DialogContent, DialogTitle, Typography } from "@mui/material"; import { useEffect, useState } from "react"; import ConfirmRoadSafetyFormContext from "./ConfirmRoadSafetyFormContext"; @@ -23,17 +23,16 @@ const ConfirmRoadSafetyDialog = ({ row, handleClose, rowId, mutate }) => { }; fetchData(); - }, [request, rowId]); + }, [rowId]); return ( <> + تاییدیه ایمنی راه {loading ? ( ) : data ? ( diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx index a3543b8..da232da 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx @@ -1,86 +1,64 @@ -import ApplicantRequestDetail from "@/core/components/ApplicantRequestDetail"; -import { Engineering, ExitToApp, InsertDriveFile, Route } from "@mui/icons-material"; -import { Button, DialogActions, DialogContent, Stack, Tab, Tabs } from "@mui/material"; import { useState } from "react"; -import PrevCartableOpinion from "./PrevCartableOpinion"; -import Questions from "./Questions"; -import TabPanel from "@/core/components/TabPanel"; +import { Box, TextField, Button, CircularProgress, Alert, DialogContent } from "@mui/material"; +import useRequest from "@/lib/hooks/useRequest"; +import { CONFIRM_ROAD_SAFETY_FORM } from "@/core/utils/routes"; -const ConfirmRoadSafetyFormContext = ({ row, data, rowId, mutate, handleClose }) => { - const [tabState, setTabState] = useState(0); - console.log("DATA: ", data); +const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { + const requestServer = useRequest({notificationShow : true, notificationSuccess : true}); + const [description, setDescription] = useState(""); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [success, setSuccess] = useState(false); - const handleChangeTab = (event, newValue) => { - setTabState(newValue); - }; + const handleSubmit = async () => { + if (!description.trim()) { + setError("لطفاً توضیحات را وارد کنید"); + return; + } - const handlePrev = () => { - if (tabState === 0) { - handleClose(); - } else { - setTabState((t) => t - 1); + setLoading(true); + setError(null); + setSuccess(false); + + try { + const res = await requestServer(`${CONFIRM_ROAD_SAFETY_FORM}/${rowId}`, "post", { + data: { + expert_description: description, + }, + }); + + setSuccess(true); + mutate(); + setDescription(""); + handleClose() + } catch (err) { + setError(err.message); + } finally { + setLoading(false); } }; return ( - <> - - } label="اطلاعات طرح متقاضی" /> - } label="جریان فرایند" /> - } label="تاییدیه ایمنی راه" /> - - - - - - - - - - - - - - {data.histories.map((item, index) => ( - - ))} - - - - - - - - - - - + + + {error && {error}} + {success && با موفقیت ثبت شد} + + setDescription(e.target.value)} + fullWidth + /> + + + + ); }; + export default ConfirmRoadSafetyFormContext; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/PrevCartableOpinion.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/PrevCartableOpinion.jsx deleted file mode 100644 index f6ca361..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/PrevCartableOpinion.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import { Card, CardContent, CircularProgress, Stack, Typography } from "@mui/material"; - -const PrevCartableOpinion = ({ item }) => { - return ( - - - - - {item.previous_state_name}: {item.action_name} - - توضیحات: {item.expert_description} - - - - ); -}; -export default PrevCartableOpinion; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx index 862fb85..f1779ad 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx @@ -1,11 +1,11 @@ import DialogLoading from "@/core/components/DialogLoading"; import { GET_REQUEST_INQUIRY_PRIVACY } from "@/core/utils/routes"; import useRequest from "@/lib/hooks/useRequest"; -import { DialogContent, Typography } from "@mui/material"; +import { DialogContent, DialogTitle, Typography } from "@mui/material"; import { useEffect, useState } from "react"; import ConfirmRoadSafetyFormContext from "./ConfirmRoadSafetyFormContext"; -const ConfirmRoadSafetyDialog = ({ row, handleClose, rowId, mutate }) => { +const ConfirmRoadSafetyDialog = ({ handleClose, rowId, mutate }) => { const [loading, setLoading] = useState(true); const [data, setData] = useState(null); const request = useRequest(); @@ -23,17 +23,16 @@ const ConfirmRoadSafetyDialog = ({ row, handleClose, rowId, mutate }) => { }; fetchData(); - }, [request, rowId]); + }, [rowId]); return ( <> + تاییدیه ضمانت نامه ها {loading ? ( ) : data ? ( diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx index fb3834f..bf9c691 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx @@ -1,85 +1,63 @@ -import ApplicantRequestDetail from "@/core/components/ApplicantRequestDetail"; -import TabPanel from "@/core/components/TabPanel"; -import { ExitToApp, InsertDriveFile, Route, ThumbUp } from "@mui/icons-material"; -import { Button, DialogActions, DialogContent, Stack, Tab, Tabs } from "@mui/material"; +import { Alert, Box, Button, CircularProgress, DialogContent, TextField } from "@mui/material"; +import { CONFIRM_VERIFY_LICENSE_FORM } from "@/core/utils/routes"; +import useRequest from "@/lib/hooks/useRequest"; import { useState } from "react"; -import PrevCartableOpinion from "./PrevCartableOpinion"; -import Questions from "./Questions"; -const ConfirmRoadSafetyFormContext = ({ row, data, rowId, mutate, handleClose }) => { - const [tabState, setTabState] = useState(0); +const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { + const requestServer = useRequest({notificationShow : true, notificationSuccess : true}); + const [description, setDescription] = useState(""); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [success, setSuccess] = useState(false); - const handleChangeTab = (event, newValue) => { - setTabState(newValue); - }; + const handleSubmit = async () => { + if (!description.trim()) { + setError("لطفاً توضیحات را وارد کنید"); + return; + } - const handlePrev = () => { - if (tabState === 0) { - handleClose(); - } else { - setTabState((t) => t - 1); + setLoading(true); + setError(null); + setSuccess(false); + + try { + const res = await requestServer(`${CONFIRM_VERIFY_LICENSE_FORM}/${rowId}`, "post", { + data: { + expert_description: description, + }, + }); + + setSuccess(true); + mutate(); + setDescription(""); + handleClose() + } catch (err) { + setError(err.message); + } finally { + setLoading(false); } }; return ( - <> - - } label="اطلاعات طرح متقاضی" /> - } label="جریان فرایند" /> - } label="تاییدیه ضمانت نامه ها" /> - - - - - - - - - - - - - - {data.histories.map((item, index) => ( - - ))} - - - - - - - - - - - + + + {error && {error}} + {success && با موفقیت ثبت شد} + + setDescription(e.target.value)} + fullWidth + /> + + + + ); }; export default ConfirmRoadSafetyFormContext; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx index a9328a0..940982a 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx @@ -1,7 +1,7 @@ import DialogLoading from "@/core/components/DialogLoading"; import { GET_REQUEST_INQUIRY_PRIVACY } from "@/core/utils/routes"; import useRequest from "@/lib/hooks/useRequest"; -import { DialogContent, Typography } from "@mui/material"; +import { DialogContent, DialogTitle, Typography } from "@mui/material"; import { useEffect, useState } from "react"; import ConfirmRoadSafetyFormContext from "./ConfirmRoadSafetyFormContext"; @@ -27,13 +27,12 @@ const ConfirmRoadSafetyDialog = ({ row, handleClose, rowId, mutate }) => { return ( <> + تاییدیه دسترسی راه {loading ? ( ) : data ? ( diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx index 633d2e9..1738b35 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx @@ -1,85 +1,63 @@ -import ApplicantRequestDetail from "@/core/components/ApplicantRequestDetail"; -import TabPanel from "@/core/components/TabPanel"; -import { DoneAll, ExitToApp, InsertDriveFile, Route } from "@mui/icons-material"; -import { Button, DialogActions, DialogContent, Stack, Tab, Tabs } from "@mui/material"; +import useRequest from "@/lib/hooks/useRequest"; import { useState } from "react"; -import PrevCartableOpinion from "./PrevCartableOpinion"; -import Questions from "./Questions"; +import { CONFIRM_VERIFY_ROAD_SAFETY_FORM } from "@/core/utils/routes"; +import { Alert, Box, Button, CircularProgress, DialogContent, TextField } from "@mui/material"; -const ConfirmRoadSafetyFormContext = ({ row, data, rowId, mutate, handleClose }) => { - const [tabState, setTabState] = useState(0); +const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { + const requestServer = useRequest({notificationShow : true, notificationSuccess : true}); + const [description, setDescription] = useState(""); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const [success, setSuccess] = useState(false); - const handleChangeTab = (event, newValue) => { - setTabState(newValue); - }; + const handleSubmit = async () => { + if (!description.trim()) { + setError("لطفاً توضیحات را وارد کنید"); + return; + } - const handlePrev = () => { - if (tabState === 0) { - handleClose(); - } else { - setTabState((t) => t - 1); + setLoading(true); + setError(null); + setSuccess(false); + + try { + const res = await requestServer(`${CONFIRM_VERIFY_ROAD_SAFETY_FORM}/${rowId}`, "post", { + data: { + expert_description: description, + }, + }); + + setSuccess(true); + mutate(); + setDescription(""); + handleClose() + } catch (err) { + setError(err.message); + } finally { + setLoading(false); } }; return ( - <> - - } label="اطلاعات طرح متقاضی" /> - } label="جریان فرایند" /> - } label="تاییدیه دسترسی راه" /> - - - - - - - - - - - - - - {data.histories.map((item, index) => ( - - ))} - - - - - - - - - - - + + + {error && {error}} + {success && با موفقیت ثبت شد} + + setDescription(e.target.value)} + fullWidth + /> + + + + ); }; export default ConfirmRoadSafetyFormContext; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/PrevCartableOpinion.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/PrevCartableOpinion.jsx deleted file mode 100644 index f6ca361..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/PrevCartableOpinion.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import { Card, CardContent, CircularProgress, Stack, Typography } from "@mui/material"; - -const PrevCartableOpinion = ({ item }) => { - return ( - - - - - {item.previous_state_name}: {item.action_name} - - توضیحات: {item.expert_description} - - - - ); -}; -export default PrevCartableOpinion; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/DescriptionForm.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/DescriptionForm.jsx deleted file mode 100644 index a7099e7..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/DescriptionForm.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Stack, TextField } from "@mui/material"; -import { Controller } from "react-hook-form"; - -const DescriptionForm = ({ control }) => { - return ( - - ( - - )} - /> - - ); -}; -export default DescriptionForm; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/QuestionVerifyNeedRoadForm.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/QuestionVerifyNeedRoadForm.jsx deleted file mode 100644 index 18fb601..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/QuestionVerifyNeedRoadForm.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Card, CardContent, Stack, Typography } from "@mui/material"; - -const QuestionVerifyNeedRoadForm = ({ row }) => { - return ( - - - - - آیا دسترسی به راه مورد تایید است؟ - - - دفتر حریم راه : - - {row.original.is_file_good == 1 ? "بله" : "خیر"} - - - - - - ); -}; -export default QuestionVerifyNeedRoadForm; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/Form.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/Form.jsx deleted file mode 100644 index c3a58b1..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/Form.jsx +++ /dev/null @@ -1,76 +0,0 @@ -import { REFER_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT } from "@/core/utils/routes"; -import useRequest from "@/lib/hooks/useRequest"; -import { yupResolver } from "@hookform/resolvers/yup"; -import { Button, DialogActions, DialogContent, Stack, TextField } from "@mui/material"; -import { Controller, useForm } from "react-hook-form"; -import { object, string } from "yup"; -const validationSchema = object({ - description: string().required("وارد کردن توضیحات الزامیست!"), -}); - -const defaultValues = { - description: "", -}; - -const ReferForm = ({ rowId, mutate, handleClose, setOpenReferDialog }) => { - const requestServer = useRequest({ notificationSuccess: true }); - const { - control, - handleSubmit, - formState: { isSubmitting }, - } = useForm({ defaultValues, resolver: yupResolver(validationSchema), mode: "all" }); - - const onSubmit = async (data) => { - await requestServer(`${REFER_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT}/${rowId}`, "post", { - data: { - expert_description: data.description, - }, - }) - .then(() => { - handleClose(); - setOpenReferDialog(false); - mutate(); - }) - .catch(() => {}); - }; - - return ( - <> - - - ( - - )} - /> - - - - - - - ); -}; -export default ReferForm; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/index.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/index.jsx deleted file mode 100644 index e18024f..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/Refer/index.jsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Close } from "@mui/icons-material"; -import { Button, Dialog, DialogTitle, IconButton } from "@mui/material"; -import { useState } from "react"; -import ReferForm from "./Form"; - -const Refer = ({ rowId, mutate, handleClose, isSubmitting }) => { - const [openReferDialog, setOpenReferDialog] = useState(false); - - return ( - <> - - { - setOpenReferDialog(false); - }} - maxWidth="xs" - fullWidth - > - setOpenReferDialog(false)} - sx={{ - position: "absolute", - right: 8, - top: 8, - zIndex: 10, - color: (theme) => theme.palette.grey[500], - }} - > - - - مخالفت و ارجاع به دفتر حریم - {openReferDialog && ( - - )} - - - ); -}; -export default Refer; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/index.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/index.jsx deleted file mode 100644 index d020ad8..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/Questions/index.jsx +++ /dev/null @@ -1,70 +0,0 @@ -import StyledForm from "@/core/components/StyledForm"; -import { CONFIRM_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT } from "@/core/utils/routes"; -import useRequest from "@/lib/hooks/useRequest"; -import { yupResolver } from "@hookform/resolvers/yup"; -import { Button, DialogActions, DialogContent, Stack } from "@mui/material"; -import { useForm } from "react-hook-form"; -import { object, string } from "yup"; -import QuestionVerifyNeedRoadForm from "./QuestionVerifyNeedRoadForm"; -import Refer from "./Refer"; -import DescriptionForm from "./DescriptionForm"; - -const validationSchema = object({ - description: string().required("وارد کردن توضیحات الزامیست!"), -}); - -const defaultValues = { - description: "", -}; - -const Questions = ({ row, rowId, mutate, handleClose, handlePrev }) => { - const requestServer = useRequest({ notificationSuccess: true }); - - const { - control, - handleSubmit, - formState: { isSubmitting }, - } = useForm({ defaultValues, resolver: yupResolver(validationSchema), mode: "all" }); - - const onSubmit = async (data) => { - await requestServer(`${CONFIRM_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT}/${rowId}`, "post", { - data: { - expert_description: data.description, - }, - }) - .then(() => { - handleClose(); - mutate(); - }) - .catch(() => {}); - }; - - return ( - - - - - - - - - - - - - - - - ); -}; -export default Questions; diff --git a/src/core/utils/routes.js b/src/core/utils/routes.js index a42b84c..13cc378 100644 --- a/src/core/utils/routes.js +++ b/src/core/utils/routes.js @@ -244,6 +244,12 @@ export const PRIVACY_ADMIN_ACTION_API = api + "/api/v3/harim/harim_office"; export const GET_INQUIRY_PRIVACY_TABLE_LIST = api + "/api/v3/harim/technical_deputy"; export const GET_GENERAL_MANAGER_LIST = api + "/api/v3/harim/general_manager"; +// technical deputy actions +export const CONFIRM_ROAD_SAFETY_FORM = api + "/api/v3/harim/technical_deputy/confirm_request"; +export const CONFIRM_VERIFY_ROAD_SAFETY_FORM = api + "/api/v3/harim/technical_deputy/confirm_road_access"; +export const CONFIRM_VERIFY_LICENSE_FORM = api + "/api/v3/harim/technical_deputy/confirm_payment"; + + // History export const GET_HISTORY_LIST = api + "/api/v3/harim/detail/histories"; export const GET_REQUEST_INQUIRY_PRIVACY = api + "/api/v3/harim/technical_deputy"; From 9f622baca8ec40dd6675f37c374b17f5bb6ccad7 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Wed, 26 Nov 2025 16:27:27 +0330 Subject: [PATCH 2/4] build and format --- .../PrevCartableOpinion.jsx | 17 ----- .../Questions/DescriptionForm.jsx | 29 ------- .../Questions/QuestionVerifyNeedRoadForm.jsx | 29 ------- .../QuestionVerifyRoadSafetyForm.jsx | 29 ------- .../Questions/Refer/Form.jsx | 76 ------------------- .../Questions/Refer/index.jsx | 54 ------------- .../Questions/index.jsx | 74 ------------------ 7 files changed, 308 deletions(-) delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/PrevCartableOpinion.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/DescriptionForm.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyNeedRoadForm.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyRoadSafetyForm.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/Form.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/index.jsx delete mode 100644 src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/index.jsx diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/PrevCartableOpinion.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/PrevCartableOpinion.jsx deleted file mode 100644 index f6ca361..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/PrevCartableOpinion.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import { Card, CardContent, CircularProgress, Stack, Typography } from "@mui/material"; - -const PrevCartableOpinion = ({ item }) => { - return ( - - - - - {item.previous_state_name}: {item.action_name} - - توضیحات: {item.expert_description} - - - - ); -}; -export default PrevCartableOpinion; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/DescriptionForm.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/DescriptionForm.jsx deleted file mode 100644 index a7099e7..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/DescriptionForm.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Stack, TextField } from "@mui/material"; -import { Controller } from "react-hook-form"; - -const DescriptionForm = ({ control }) => { - return ( - - ( - - )} - /> - - ); -}; -export default DescriptionForm; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyNeedRoadForm.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyNeedRoadForm.jsx deleted file mode 100644 index 927ef9e..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyNeedRoadForm.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Card, CardContent, Stack, Typography } from "@mui/material"; - -const QuestionVerifyNeedRoadForm = () => { - return ( - - - - - آیا ضمانت نامه ها مورد تایید است؟ - - - دفتر حریم راه : - - بله - - - - - - ); -}; -export default QuestionVerifyNeedRoadForm; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyRoadSafetyForm.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyRoadSafetyForm.jsx deleted file mode 100644 index 8c1e4e3..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/QuestionVerifyRoadSafetyForm.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Card, CardContent, Stack, Typography } from "@mui/material"; - -const QuestionVerifyRoadSafetyForm = ({ row }) => { - return ( - - - - - آیا ایمنی راه این طرح مورد تایید است؟ - - - دفتر حریم راه : - - {row.original.isSafety ? "بله" : "خیر"} - - - - - - ); -}; -export default QuestionVerifyRoadSafetyForm; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/Form.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/Form.jsx deleted file mode 100644 index c3a58b1..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/Form.jsx +++ /dev/null @@ -1,76 +0,0 @@ -import { REFER_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT } from "@/core/utils/routes"; -import useRequest from "@/lib/hooks/useRequest"; -import { yupResolver } from "@hookform/resolvers/yup"; -import { Button, DialogActions, DialogContent, Stack, TextField } from "@mui/material"; -import { Controller, useForm } from "react-hook-form"; -import { object, string } from "yup"; -const validationSchema = object({ - description: string().required("وارد کردن توضیحات الزامیست!"), -}); - -const defaultValues = { - description: "", -}; - -const ReferForm = ({ rowId, mutate, handleClose, setOpenReferDialog }) => { - const requestServer = useRequest({ notificationSuccess: true }); - const { - control, - handleSubmit, - formState: { isSubmitting }, - } = useForm({ defaultValues, resolver: yupResolver(validationSchema), mode: "all" }); - - const onSubmit = async (data) => { - await requestServer(`${REFER_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT}/${rowId}`, "post", { - data: { - expert_description: data.description, - }, - }) - .then(() => { - handleClose(); - setOpenReferDialog(false); - mutate(); - }) - .catch(() => {}); - }; - - return ( - <> - - - ( - - )} - /> - - - - - - - ); -}; -export default ReferForm; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/index.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/index.jsx deleted file mode 100644 index e18024f..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/Refer/index.jsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Close } from "@mui/icons-material"; -import { Button, Dialog, DialogTitle, IconButton } from "@mui/material"; -import { useState } from "react"; -import ReferForm from "./Form"; - -const Refer = ({ rowId, mutate, handleClose, isSubmitting }) => { - const [openReferDialog, setOpenReferDialog] = useState(false); - - return ( - <> - - { - setOpenReferDialog(false); - }} - maxWidth="xs" - fullWidth - > - setOpenReferDialog(false)} - sx={{ - position: "absolute", - right: 8, - top: 8, - zIndex: 10, - color: (theme) => theme.palette.grey[500], - }} - > - - - مخالفت و ارجاع به دفتر حریم - {openReferDialog && ( - - )} - - - ); -}; -export default Refer; diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/index.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/index.jsx deleted file mode 100644 index 2f89a8f..0000000 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/Questions/index.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import StyledForm from "@/core/components/StyledForm"; -import { - CONFIRM_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT, - CONFIRM_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT, -} from "@/core/utils/routes"; -import useRequest from "@/lib/hooks/useRequest"; -import { yupResolver } from "@hookform/resolvers/yup"; -import { Button, DialogActions, DialogContent, Stack } from "@mui/material"; -import { useForm } from "react-hook-form"; -import { object, string } from "yup"; -import QuestionVerifyNeedRoadForm from "./QuestionVerifyNeedRoadForm"; -import QuestionVerifyRoadSafetyForm from "./QuestionVerifyRoadSafetyForm"; -import Refer from "./Refer"; -import DescriptionForm from "./DescriptionForm"; - -const validationSchema = object({ - description: string().required("وارد کردن توضیحات الزامیست!"), -}); - -const defaultValues = { - description: "", -}; - -const Questions = ({ row, rowId, mutate, handleClose, handlePrev }) => { - const requestServer = useRequest({ notificationSuccess: true }); - - const { - control, - handleSubmit, - formState: { isSubmitting }, - } = useForm({ defaultValues, resolver: yupResolver(validationSchema), mode: "all" }); - - const onSubmit = async (data) => { - await requestServer(`${CONFIRM_VERIFY_NEADROAD_ROAD_INQUIRY_PRIVACY_ZAMIN_GOV_ASSISTANT}/${rowId}`, "post", { - data: { - expert_description: data.description, - }, - }) - .then(() => { - handleClose(); - mutate(); - }) - .catch(() => {}); - }; - - return ( - - - - - - - - - - - - - - - - ); -}; -export default Questions; From a6d1e7db29b63c95ec97e40d6683c0a3ad68428e Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Wed, 26 Nov 2025 16:27:43 +0330 Subject: [PATCH 3/4] build and format2 --- .../ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx | 6 +----- .../ConfirmRoadSafetyFormContext.jsx | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx index f1779ad..b0beb30 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyDialog.jsx @@ -31,11 +31,7 @@ const ConfirmRoadSafetyDialog = ({ handleClose, rowId, mutate }) => { {loading ? ( ) : data ? ( - + ) : ( اطلاعات درخواست در سامانه یافت نشد diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx index bf9c691..98c2d55 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyLicenseForm/ConfirmRoadSafetyFormContext.jsx @@ -4,7 +4,7 @@ import useRequest from "@/lib/hooks/useRequest"; import { useState } from "react"; const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { - const requestServer = useRequest({notificationShow : true, notificationSuccess : true}); + const requestServer = useRequest({ notificationShow: true, notificationSuccess: true }); const [description, setDescription] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); @@ -30,7 +30,7 @@ const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { setSuccess(true); mutate(); setDescription(""); - handleClose() + handleClose(); } catch (err) { setError(err.message); } finally { From 16c3c505c8e4d49ce8a4b507538a4cf420cde3f2 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Wed, 26 Nov 2025 16:28:09 +0330 Subject: [PATCH 4/4] build and format3 --- .../ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx | 6 +----- .../ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx | 4 ++-- .../ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx | 6 +----- .../ConfirmRoadSafetyFormContext.jsx | 4 ++-- src/core/utils/routes.js | 1 - 5 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx index 88c69c8..512e9a5 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyDialog.jsx @@ -31,11 +31,7 @@ const ConfirmRoadSafetyDialog = ({ row, handleClose, rowId, mutate }) => { {loading ? ( ) : data ? ( - + ) : ( اطلاعات درخواست در سامانه یافت نشد diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx index da232da..5b4dd3d 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx @@ -4,7 +4,7 @@ import useRequest from "@/lib/hooks/useRequest"; import { CONFIRM_ROAD_SAFETY_FORM } from "@/core/utils/routes"; const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { - const requestServer = useRequest({notificationShow : true, notificationSuccess : true}); + const requestServer = useRequest({ notificationShow: true, notificationSuccess: true }); const [description, setDescription] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); @@ -30,7 +30,7 @@ const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { setSuccess(true); mutate(); setDescription(""); - handleClose() + handleClose(); } catch (err) { setError(err.message); } finally { diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx index 940982a..933dda4 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyDialog.jsx @@ -31,11 +31,7 @@ const ConfirmRoadSafetyDialog = ({ row, handleClose, rowId, mutate }) => { {loading ? ( ) : data ? ( - + ) : ( اطلاعات درخواست در سامانه یافت نشد diff --git a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx index 1738b35..79c8e46 100644 --- a/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/technical-deputy/RowActions/ConfirmVerifyRoadSafetyForm/ConfirmRoadSafetyFormContext.jsx @@ -4,7 +4,7 @@ import { CONFIRM_VERIFY_ROAD_SAFETY_FORM } from "@/core/utils/routes"; import { Alert, Box, Button, CircularProgress, DialogContent, TextField } from "@mui/material"; const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { - const requestServer = useRequest({notificationShow : true, notificationSuccess : true}); + const requestServer = useRequest({ notificationShow: true, notificationSuccess: true }); const [description, setDescription] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); @@ -30,7 +30,7 @@ const ConfirmRoadSafetyFormContext = ({ rowId, mutate, handleClose }) => { setSuccess(true); mutate(); setDescription(""); - handleClose() + handleClose(); } catch (err) { setError(err.message); } finally { diff --git a/src/core/utils/routes.js b/src/core/utils/routes.js index 13cc378..7e23042 100644 --- a/src/core/utils/routes.js +++ b/src/core/utils/routes.js @@ -249,7 +249,6 @@ export const CONFIRM_ROAD_SAFETY_FORM = api + "/api/v3/harim/technical_deputy/co export const CONFIRM_VERIFY_ROAD_SAFETY_FORM = api + "/api/v3/harim/technical_deputy/confirm_road_access"; export const CONFIRM_VERIFY_LICENSE_FORM = api + "/api/v3/harim/technical_deputy/confirm_payment"; - // History export const GET_HISTORY_LIST = api + "/api/v3/harim/detail/histories"; export const GET_REQUEST_INQUIRY_PRIVACY = api + "/api/v3/harim/technical_deputy";