Feature/user info request

This commit is contained in:
2024-11-11 11:41:59 +00:00
committed by AmirHossein Mahmoodi
parent 987ac1d316
commit a71458ce20
328 changed files with 11965 additions and 8254 deletions

View File

@@ -1,4 +1,4 @@
import {UPDATE_LOAN_MANAGEMENT_NAVGAN} from "@/core/data/apiRoutes";
import { UPDATE_LOAN_MANAGEMENT_NAVGAN } from "@/core/data/apiRoutes";
import useNotification from "@/lib/app/hooks/useNotification";
import useRequest from "@/lib/app/hooks/useRequest";
import useLoanStateNavgan from "@/lib/prefetchDataTable/hooks/useLoanStateNavgan";
@@ -12,52 +12,54 @@ import {
MenuItem,
Select,
Stack,
TextField
} from "@mui/material"
import {useFormik} from "formik";
import {useTranslations} from "next-intl";
TextField,
} from "@mui/material";
import { useFormik } from "formik";
import { useTranslations } from "next-intl";
import * as Yup from "yup";
const UpdateContent = ({rowId, mutate, setOpenConfirmDialog}) => {
const UpdateContent = ({ rowId, mutate, setOpenConfirmDialog }) => {
const t = useTranslations();
const {loan_state_navgan} = useLoanStateNavgan()
const requestServer = useRequest({auth: true})
const {update_notification} = useNotification()
const { loan_state_navgan } = useLoanStateNavgan();
const requestServer = useRequest({ auth: true });
const { update_notification } = useNotification();
const validationSchema = Yup.object().shape({
description: Yup.string().required(t("UpdateDialog.description_error")),
next_state_id: Yup.number().required(t("UpdateDialog.next-state-id-error"))
next_state_id: Yup.number().required(t("UpdateDialog.next-state-id-error")),
});
const formik = useFormik({
initialValues: {
description: "",
next_state_id: ""
next_state_id: "",
},
validationSchema,
onSubmit: (values, {setSubmitting}) => {
onSubmit: (values, { setSubmitting }) => {
const formData = new FormData();
formData.append("expert_description", values.description);
formData.append("next_state_id", values.next_state_id);
requestServer(`${UPDATE_LOAN_MANAGEMENT_NAVGAN}/${rowId}`, 'post', {
requestServer(`${UPDATE_LOAN_MANAGEMENT_NAVGAN}/${rowId}`, "post", {
data: formData,
}).then((response) => {
setOpenConfirmDialog(false)
mutate()
update_notification()
}).catch(() => {
}).finally(() => {
setSubmitting(false);
});
})
.then((response) => {
setOpenConfirmDialog(false);
mutate();
update_notification();
})
.catch(() => {})
.finally(() => {
setSubmitting(false);
});
},
});
const handleDescriptionChange = (event) => {
formik.setFieldValue("description", event.target.value)
formik.setFieldValue("description", event.target.value);
};
const handleNextStateIDChange = (event) => {
formik.setFieldValue("next_state_id", event.target.value)
formik.setFieldValue("next_state_id", event.target.value);
};
return (
<>
@@ -73,20 +75,17 @@ const UpdateContent = ({rowId, mutate, setOpenConfirmDialog}) => {
onChange={handleDescriptionChange}
fullWidth
variant="outlined"
sx={{mt: 1}}
sx={{ mt: 1 }}
onBlur={formik.handleBlur("description")}
error={
formik.touched.description && Boolean(formik.errors.description)
}
error={formik.touched.description && Boolean(formik.errors.description)}
helperText={formik.touched.description && formik.errors.description}
/>
</Stack>
<Stack>
<FormControl
error={
formik.touched.next_state_id &&
Boolean(formik.errors.next_state_id)
} fullWidth>
error={formik.touched.next_state_id && Boolean(formik.errors.next_state_id)}
fullWidth
>
<InputLabel>{t("UpdateDialog.next-state-id")}</InputLabel>
<Select
labelId="next_state_id"
@@ -96,11 +95,15 @@ const UpdateContent = ({rowId, mutate, setOpenConfirmDialog}) => {
onChange={handleNextStateIDChange}
onBlur={formik.handleBlur("next_state_id")}
>
{loan_state_navgan ? (loan_state_navgan.map((item) => {
return (
<MenuItem key={item.id} value={item.id}>{item.name}</MenuItem>
)
})) : null}
{loan_state_navgan
? loan_state_navgan.map((item) => {
return (
<MenuItem key={item.id} value={item.id}>
{item.name}
</MenuItem>
);
})
: null}
</Select>
<FormHelperText>
{formik.touched.next_state_id && formik.errors.next_state_id}
@@ -110,16 +113,25 @@ const UpdateContent = ({rowId, mutate, setOpenConfirmDialog}) => {
</Stack>
</DialogContent>
<DialogActions>
<Button onClick={() => setOpenConfirmDialog(false)} variant="outlined" color="secondary"
disabled={formik.isSubmitting} autoFocus>
<Button
onClick={() => setOpenConfirmDialog(false)}
variant="outlined"
color="secondary"
disabled={formik.isSubmitting}
autoFocus
>
{t("UpdateDialog.button-cancel")}
</Button>
<Button onClick={formik.handleSubmit} variant="contained" color="primary"
disabled={formik.isSubmitting || !formik.dirty || !formik.isValid}>
<Button
onClick={formik.handleSubmit}
variant="contained"
color="primary"
disabled={formik.isSubmitting || !formik.dirty || !formik.isValid}
>
{t("UpdateDialog.button-update")}
</Button>
</DialogActions>
</>
)
}
export default UpdateContent
);
};
export default UpdateContent;