implemented confirm action for privacy office
This commit is contained in:
@@ -1,10 +1,18 @@
|
|||||||
|
import { PRIVACY_ADMIN_ACTION_API } from "@/core/utils/routes";
|
||||||
|
import useRequest from "@/lib/hooks/useRequest";
|
||||||
import { Box, Button, Checkbox, DialogActions, FormControlLabel, TextField } from "@mui/material";
|
import { Box, Button, Checkbox, DialogActions, FormControlLabel, TextField } from "@mui/material";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { Controller, useForm } from "react-hook-form";
|
import { Controller, useForm } from "react-hook-form";
|
||||||
|
|
||||||
export default function ConfirmRequestForm({ mutate, onClose }) {
|
export default function ConfirmRequestForm({ mutate, onClose, rowId }) {
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false);
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
||||||
const { control, handleSubmit } = useForm({
|
const request = useRequest({ notificationSuccess: true, notificationFailed: true });
|
||||||
|
|
||||||
|
const {
|
||||||
|
control,
|
||||||
|
handleSubmit,
|
||||||
|
formState: { errors },
|
||||||
|
} = useForm({
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
expert_description: "",
|
expert_description: "",
|
||||||
need_payment: false,
|
need_payment: false,
|
||||||
@@ -13,10 +21,25 @@ export default function ConfirmRequestForm({ mutate, onClose }) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const onSubmit = (data) => {
|
const onSubmit = (data) => {
|
||||||
console.log(data);
|
const confirmType = data.needsAccessRoad ? "need_road_access" : "without_road_access";
|
||||||
|
const url = `${PRIVACY_ADMIN_ACTION_API}/${confirmType}/${rowId}`;
|
||||||
|
const body = {
|
||||||
|
expert_description: data.expert_description,
|
||||||
|
need_payment: data.need_payment ? 1 : 0,
|
||||||
|
};
|
||||||
|
|
||||||
setIsSubmitting(true);
|
setIsSubmitting(true);
|
||||||
mutate();
|
try {
|
||||||
onClose();
|
request(url, "post", {
|
||||||
|
data: body,
|
||||||
|
}).then(() => {
|
||||||
|
mutate();
|
||||||
|
onClose();
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
} finally {
|
||||||
|
setIsSubmitting(false);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -24,8 +47,20 @@ export default function ConfirmRequestForm({ mutate, onClose }) {
|
|||||||
<Controller
|
<Controller
|
||||||
name="expert_description"
|
name="expert_description"
|
||||||
control={control}
|
control={control}
|
||||||
render={({ field }) => <TextField {...field} fullWidth multiline minRows={3} label="توضیحات" />}
|
rules={{ required: "توضیحات الزامی است" }}
|
||||||
|
render={({ field }) => (
|
||||||
|
<TextField
|
||||||
|
{...field}
|
||||||
|
fullWidth
|
||||||
|
multiline
|
||||||
|
minRows={3}
|
||||||
|
label="توضیحات"
|
||||||
|
error={!!errors.expert_description}
|
||||||
|
helperText={errors.expert_description?.message}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Controller
|
<Controller
|
||||||
name="need_payment"
|
name="need_payment"
|
||||||
control={control}
|
control={control}
|
||||||
@@ -36,13 +71,14 @@ export default function ConfirmRequestForm({ mutate, onClose }) {
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Controller
|
<Controller
|
||||||
name="needsAccessRoad"
|
name="needsAccessRoad"
|
||||||
control={control}
|
control={control}
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
control={<Checkbox {...field} checked={field.value} />}
|
control={<Checkbox {...field} checked={field.value} />}
|
||||||
label="نیاز به پرداخت وجه خزانه"
|
label="نیاز به راه دسترسی"
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export default function RenderActionForm({ type, rowData, mutate, onClose }) {
|
|||||||
case "reject_request_5":
|
case "reject_request_5":
|
||||||
return <RejectFileForm mutate={mutate} onClose={onClose} rowId={rowData.id} />;
|
return <RejectFileForm mutate={mutate} onClose={onClose} rowId={rowData.id} />;
|
||||||
case "confirm_request_2":
|
case "confirm_request_2":
|
||||||
return <ConfirmRequestForm mutate={mutate} onClose={onClose} />;
|
return <ConfirmRequestForm mutate={mutate} onClose={onClose} rowId={rowData.id} />;
|
||||||
case "confirm_request_5":
|
case "confirm_request_5":
|
||||||
return <ConfirmFileForm mutate={mutate} onClose={onClose} />;
|
return <ConfirmFileForm mutate={mutate} onClose={onClose} />;
|
||||||
case "confirm_request_13":
|
case "confirm_request_13":
|
||||||
|
|||||||
Reference in New Issue
Block a user