diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index fe291f9..9473555 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -140,6 +140,7 @@
"text_field_phone_number": "شماره تلفن",
"text_field_enter_your_phone_number": "شماره تلفن خود را وارد کنید",
"text_field_name": "نام",
+ "text_field_city_id": "شهر",
"text_field_enter_your_name": "نام خود را وارد کنید",
"text_field_vehicle_type": "نام وسیله نقلیه",
"text_field_enter_your_vehicle_type": "نام وسیله نقلیه خود را وارد کنید",
@@ -148,6 +149,7 @@
"text_field_error_fetching_provinces": "خطا در دریافت استان ها",
"text_field_enter_your_national_code": "کد ملی خود را وارد کنید",
"text_field_enter_your_province_id": "استان خود را وارد کنید",
+ "text_field_enter_your_city_id": "شهر خود را وارد کنید",
"text_field_navgan_id": "شماره ناوگان",
"text_field_enter_your_navgan_id": "شماره ناوگان خود را وارد کنید",
"text_field_national_code": "کد ملی",
@@ -157,18 +159,7 @@
"text_field_plate_number": "شماره پلاک",
"text_field_enter_your_plate_number": "شماره پلاک خود را وارد کنید",
"button_submit": "ثبت درخواست",
- "file_field_sherkat_naft_doc": "مجوز شرکت نفت",
- "file_field_estate_doc": "سند مالکیت",
- "file_field_agreement_doc": "موافقت نامه اصولی",
- "error_message_sherkat_naft_doc": "مجوز شرکت نفت خود را وارد کنید",
- "error_message_estate_doc": "سند مالکیت خود را وارد کنید",
- "error_message_agreement_doc": "موافقت نامه اصولی خود را وارد کنید",
- "file_field_shenasname_image": "تصویر شناسنامه",
- "file_field_national_card_image": "تصویر کارت ملی",
- "file_field_payan_khedmat_image": "تصویر کارت پایان خدمت",
- "error_message_national_card_image": "تصویر کارت ملی خود را وارد کنید",
- "error_message_shenasname_image": "تصویر شناسنامه خود را وارد کنید",
- "error_message_payan_khedmat_image": "تصویر کارت پایان خدمت خود را وارد کنید",
+ "error_message_city_id": "لطفا شهر خود را وارد کنید!",
"add_loan_request_permission": "اکنون امکان ثبت درخواست جدید برای شما مقدور نیست"
},
"EditLoanRequest": {
diff --git a/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx b/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx
index ee7687d..f5ab007 100644
--- a/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx
+++ b/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx
@@ -1,32 +1,28 @@
import SelectBox from "@/core/components/SelectBox";
import {GET_PROVINCE_LIST, SEND_LOAN_REQUEST_NAVGAN,} from "@/core/data/apiRoutes";
import DataSaverOnIcon from "@mui/icons-material/DataSaverOn";
-import {Box, Button, Stack, TextField} from "@mui/material";
+import {Box, Button, Grid, TextField} from "@mui/material";
import axios from "axios";
import {useFormik} from "formik";
import {useTranslations} from "next-intl";
import {useEffect, useState} from "react";
import * as Yup from "yup";
-import {useUser} from "@witel/webapp-builder";
+import {useRequest, useUser} from "@witel/webapp-builder";
const AddFormComponent = () => {
const t = useTranslations();
const {token} = useUser();
const [provinceList, setProvinceList] = useState([]);
+ const requestServer = useRequest()
useEffect(() => {
- axios
- .get(GET_PROVINCE_LIST, {
- headers: {Authorization: `Bearer ${token}`},
- })
- .then(({data}) => {
- const formattedData = data.map((province, index) => ({
- id: index,
- name: province.name,
- value: province.id,
- }));
- setProvinceList(formattedData);
- })
- .catch((error) => {});
+ requestServer(GET_PROVINCE_LIST, "get", {auth : true, notification : false}).then(({data}) => {
+ const formattedData = data.map((province, index) => ({
+ id: index,
+ name: province.name,
+ value: province.id,
+ }));
+ setProvinceList(formattedData);
+ }).catch(() => {});
}, []);
@@ -35,6 +31,7 @@ const AddFormComponent = () => {
vehicle_type: "",
plate_number: "",
province_id: "",
+ city_id: "",
navgan_id: "",
national_code: "",
shenasname_id: "",
@@ -54,6 +51,7 @@ const AddFormComponent = () => {
),
navgan_id: Yup.string().required(t("LoanRequest.error_message_navgan_id")),
province_id: Yup.string().required(t("LoanRequest.error_message_province_id")),
+ city_id: Yup.string().required(t("LoanRequest.error_message_city_id")),
national_code: Yup.string().required(
t("LoanRequest.error_message_national_code")
),
@@ -67,6 +65,7 @@ const AddFormComponent = () => {
formData.append("vehicle_type", values.vehicle_type);
formData.append("plate_number", values.plate_number);
formData.append("province_id", values.province_id);
+ formData.append("city_id", values.city_id);
formData.append("navgan_id", values.navgan_id);
formData.append("national_code", values.national_code);
formData.append("shenasname_id", values.shenasname_id);
@@ -75,18 +74,9 @@ const AddFormComponent = () => {
if (values.national_card_img != null)
formData.append("national_card_image", values.national_card_img);
- await axios
- .post(SEND_LOAN_REQUEST_NAVGAN, formData, {
- headers: {
- Authorization: `Bearer ${token}`,
- "Content-Type": "multipart/form-data",
- },
- })
- .then(function (response) {
- })
- .catch(function (error) {
- props.setSubmitting(false);
- });
+ requestServer(SEND_LOAN_REQUEST_NAVGAN, "post", {auth : true, notification : true}).then().catch(() => {
+ props.setSubmitting(false)
+ })
};
const formik = useFormik({
@@ -96,21 +86,9 @@ const AddFormComponent = () => {
return (
<>
-
-
{
helperText={formik.touched.national_code && formik.errors.national_code}
fullWidth
/>
-
-
+
{
error={formik.touched.phone_number && Boolean(formik.errors.phone_number)}
helperText={formik.touched.phone_number && formik.errors.phone_number}
/>
-
-
-
-
+
+
+
+
{
error={formik.touched.vehicle_type && Boolean(formik.errors.vehicle_type)}
helperText={formik.touched.vehicle_type && formik.errors.vehicle_type}
/>
-
-
+
+
{
error={formik.touched.plate_number && Boolean(formik.errors.plate_number)}
helperText={formik.touched.plate_number && formik.errors.plate_number}
/>
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
{
error={formik.touched.navgan_id && Boolean(formik.errors.navgan_id)}
helperText={formik.touched.navgan_id && formik.errors.navgan_id}
/>
-
-
+
+
{
error={formik.touched.shenasname_id && Boolean(formik.errors.shenasname_id)}
helperText={formik.touched.shenasname_id && formik.errors.shenasname_id}
/>
-
-
+
+
{
setFieldValue(selectType, event.target.value);
};
- const handleBlur = () => {
- setFieldTouched(select, true);
- };
return (
{label}