diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 5486303..e03dc76 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -161,6 +161,9 @@ "national_number_number": "شناسه ملی شرکت می بایست شامل اعداد باشد", "national_code_max": "کد ملی می بایست 10 رقم باشد", "national_serial_number_max": "سریال پشت کارت ملی می بایست 10 رقم باشد", + "boss_national_serial_number_max": "سریال پشت کارت ملی مدیر عامل می بایست 10 رقم باشد", + "national_tracking_code_max": "کد رهگیری کارت ملی می بایست 10 رقم باشد", + "national_boss_tracking_code_max": "کد رهگیری کارت ملی مدیر عامل می بایست 10 رقم باشد", "boss_national_code_max": "کد ملی مدیر عامل می بایست 10 رقم باشد", "national_number_max": "شناسه ملی شرکت می بایست 11 رقم باشد", "shenasname_serial_max": "سریال پشت کارت ملی می بایست شامل 10 بخش باشد", @@ -196,6 +199,7 @@ "error_message_national_number": "لطفا شناسه ملی شرکت خود را وارد کنید!", "error_message_date_of_birth": "لطفا تاریخ تولد خود را وارد کنید!", "error_message_shenasname_serial": "لطفا سریال پشت کارت ملی خود را وارد کنید!", + "error_message_boss_shenasname_serial": "لطفا سریال پشت کارت ملی مدیر عامل را وارد کنید!", "error_message_boss_national_serial_number": "لطفا سریال پشت کارت ملی مدیر عامل را وارد کنید!", "error_message_tracking_code": "لطفا کد رهگیری کارت ملی خود را وارد کنید!", "error_message_boss_national_card_tracking_code": "لطفا کد رهگیری کارت ملی مدیر عامل را وارد کنید!", diff --git a/src/components/dashboard/navgan/add-request-loan/forms/LegalPersonForm.jsx b/src/components/dashboard/navgan/add-request-loan/forms/LegalPersonForm.jsx index 2c5065d..33368d8 100644 --- a/src/components/dashboard/navgan/add-request-loan/forms/LegalPersonForm.jsx +++ b/src/components/dashboard/navgan/add-request-loan/forms/LegalPersonForm.jsx @@ -8,7 +8,7 @@ import { ToggleButton, ToggleButtonGroup, } from "@mui/material"; -import { useTranslations } from "next-intl"; +import {useTranslations} from "next-intl"; import useCities from "@/lib/app/hooks/useCities"; import UseEducations from "@/lib/app/hooks/useEducations"; import useOccupations from "@/lib/app/hooks/useOccupations"; @@ -16,29 +16,29 @@ import * as React from "react"; import SelectBox from "@/core/components/SelectBox"; import useLimitedProvince from "@/lib/app/hooks/useLimitedProvince"; import PlateNumber from "@/core/components/PlateNumber"; -import { useRouter } from "next/router"; -import { useRequest, useUser } from "@witel/webapp-builder"; +import {useRouter} from "next/router"; +import {useRequest, useUser} from "@witel/webapp-builder"; import * as Yup from "yup"; -import { SEND_LOAN_REQUEST_NAVGAN } from "@/core/data/apiRoutes"; +import {SEND_LOAN_REQUEST_NAVGAN} from "@/core/data/apiRoutes"; import DataSaverOnIcon from "@mui/icons-material/DataSaverOn"; -import { useFormik } from "formik"; +import {useFormik} from "formik"; import LegalPersonDatePicker from "@/components/dashboard/navgan/add-request-loan/forms/LegalPersonDatePicker"; import useProjectTitle from "@/lib/app/hooks/useProjectTitle"; import useActivityType from "@/lib/app/hooks/useActivityType"; import usePriorityLists from "@/lib/app/hooks/usePriorityLists"; -const LegalPersonForm = ({ setFinishLoanRequest }) => { +const LegalPersonForm = ({setFinishLoanRequest}) => { const t = useTranslations(); const router = useRouter(); const requestServer = useRequest(); - const { getUser, changeUser } = useUser(); - const { cityTextField, cityList, setProvinceID, isLoadingCityList } = useCities(); - const { provinceList, isLoadingProvinceList, errorProvinceList } = useLimitedProvince(); - const { educationsList, isLoadingEducationsList, errorEducationsList } = UseEducations(); - const { occupationsList, isLoadingOccupationsList, errorOccupationsList } = useOccupations(); - const { activityType, isLoadingActivityType, errorActivityType } = useActivityType(); - const { priorityLists, isLoadingPriorityLists, errorPriorityLists } = usePriorityLists(); - const { projectTitle, isLoadingProjectTitle, errorProjectTitle } = useProjectTitle(); + const {getUser, changeUser} = useUser(); + const {cityTextField, cityList, setProvinceID, isLoadingCityList} = useCities(); + const {provinceList, isLoadingProvinceList, errorProvinceList} = useLimitedProvince(); + const {educationsList, isLoadingEducationsList, errorEducationsList} = UseEducations(); + const {occupationsList, isLoadingOccupationsList, errorOccupationsList} = useOccupations(); + const {activityType, isLoadingActivityType, errorActivityType} = useActivityType(); + const {priorityLists, isLoadingPriorityLists, errorPriorityLists} = usePriorityLists(); + const {projectTitle, isLoadingProjectTitle, errorProjectTitle} = useProjectTitle(); const initialValues = { person_type: "legal", @@ -120,32 +120,35 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { national_number: Yup.mixed().when("person_type", ([person_type], schema) => { return person_type === "legal" ? schema - .test("is-number", `${t("LoanRequest.national_number_number")}`, (value) => !isNaN(value)) - .test("positive", `${t("LoanRequest.national_number_positive")}`, (value) => value >= 0) - .test( - "max", - `${t("LoanRequest.national_number_max")}`, - (value) => value && value.toString().length === 11 - ) - .required(t("LoanRequest.error_message_national_number")) + .test("is-number", `${t("LoanRequest.national_number_number")}`, (value) => !isNaN(value)) + .test("positive", `${t("LoanRequest.national_number_positive")}`, (value) => value >= 0) + .test( + "max", + `${t("LoanRequest.national_number_max")}`, + (value) => value && value.toString().length === 11 + ) + .required(t("LoanRequest.error_message_national_number")) : schema; }), boss_national_serial_number: Yup.string() - .test( - "max", - `${t("LoanRequest.national_serial_number_max")}`, - (value) => value && value.toString().length === 10 - ) .when("national_serial_number_or_tracking_code", ([national_serial_number_or_tracking_code], schema) => { return national_serial_number_or_tracking_code === "national_serial_number" - ? schema.required(t("LoanRequest.error_message_shenasname_serial")) + ? schema.test( + "max", + `${t("LoanRequest.boss_national_serial_number_max")}`, + (value) => value && value.toString().length === 10 + ).required(t("LoanRequest.error_message_boss_shenasname_serial")) : schema; }), boss_national_card_tracking_code: Yup.string().when( "national_serial_number_or_tracking_code", ([national_serial_number_or_tracking_code], schema) => { return national_serial_number_or_tracking_code === "national_card_tracking_code" - ? schema.required(t("LoanRequest.error_message_boss_national_card_tracking_code")) + ? schema.test( + "max", + `${t("LoanRequest.national_boss_tracking_code_max")}`, + (value) => value && value.toString().length === 10 + ).required(t("LoanRequest.error_message_boss_national_card_tracking_code")) : schema; } ), @@ -156,18 +159,18 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { let _national_number = values.person_type === "legal" ? { - shenase_meli: values.national_number, - } + shenase_meli: values.national_number, + } : {}; const _national_card = values.national_serial_number_or_tracking_code === "national_serial_number" ? { - national_serial_number: values.boss_national_serial_number, - } + national_serial_number: values.boss_national_serial_number, + } : { - national_tracking_code: values.boss_national_card_tracking_code, - }; + national_tracking_code: values.boss_national_card_tracking_code, + }; let _data = { is_legal_person: 1, @@ -194,6 +197,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { plate_part4: values.plate_part4, address: values.address, company_register_date: values.company_date.locale("en").format("YYYY-MM-DD"), + birthday: values.company_date.locale("en").format("YYYY-MM-DD"), education_id: values.education_id, occupation_id: values.occupation_id, ..._national_card, @@ -211,7 +215,8 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { changeUser(data); }); }) - .catch(() => {}) + .catch(() => { + }) .finally(() => { props.setSubmitting(false); }); @@ -224,7 +229,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { }); return ( <> - + { isLoading={isLoadingProjectTitle} errorEcured={errorProjectTitle} selectors={projectTitle} - schema={{ value: "name", name: "name" }} + schema={{value: "name", name: "name"}} select={formik.values.project_title} value={formik.values.project_title} handleChange={(event) => { @@ -255,7 +260,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { isLoading={isLoadingActivityType} errorEcured={errorActivityType} selectors={activityType} - schema={{ value: "value", name: "name" }} + schema={{value: "value", name: "name"}} select={formik.values.activity_type} value={formik.values.activity_type} handleChange={(event) => { @@ -276,7 +281,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { isLoading={isLoadingPriorityLists} errorEcured={errorPriorityLists} selectors={priorityLists} - schema={{ value: "value", name: "name" }} + schema={{value: "value", name: "name"}} select={formik.values.priority_list} value={formik.values.priority_list} handleChange={(event) => { @@ -289,15 +294,15 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { /> - + { const inputValue = event.target.value; @@ -321,7 +326,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { { { const inputValue = event.target.value; @@ -365,14 +370,14 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { /> - + { const inputValue = event.target.value; @@ -397,11 +402,11 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { { @@ -433,7 +438,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { /> - + { isLoading={isLoadingProvinceList} errorEcured={errorProvinceList} selectors={provinceList} - schema={{ value: "value", name: "name" }} + schema={{value: "value", name: "name"}} select={formik.values.province_id} value={formik.values.province_id} handleChange={(event) => { @@ -465,12 +470,12 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { isLoadingCityList ? `${t("LoanRequest.cityList_loading")}` : cityList.length === 0 - ? `${t("LoanRequest.cityList_empty")}` - : cityTextField + ? `${t("LoanRequest.cityList_empty")}` + : cityTextField } size="small" selectType="city_id" - schema={{ value: "value", name: "name" }} + schema={{value: "value", name: "name"}} disabled={cityList.length === 0} selectors={cityList} select={formik.values.city_id} @@ -483,15 +488,15 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { /> - + { const inputValue = event.target.value; @@ -532,7 +537,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { name: "مرد", }, ]} - schema={{ value: "value", name: "name" }} + schema={{value: "value", name: "name"}} select={formik.values.boss_gender} handleChange={(event) => { formik.setFieldValue("boss_gender", event.target.value); @@ -544,10 +549,10 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { /> - + { { /> - + { {formik.values.national_serial_number_or_tracking_code === "national_serial_number" ? ( { ) : ( { )} { /> - + { name: "منطقه آزاد", }, ]} - schema={{ value: "value", name: "name" }} + schema={{value: "value", name: "name"}} select={formik.values.navgan_type} handleChange={(event) => { formik.setFieldValue("navgan_type", event.target.value); @@ -705,10 +710,10 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { { /> - + { /> - + - + { selectors={educationsList} select={formik.values.education_id} value={formik.values.education_id} - schema={{ value: "id", name: "title" }} + schema={{value: "id", name: "title"}} handleChange={(event) => { formik.setFieldValue("education_id", event.target.value); }} @@ -784,7 +789,7 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { isLoading={isLoadingOccupationsList} errorEcured={errorOccupationsList} selectType="occupation_id" - schema={{ value: "id", name: "title" }} + schema={{value: "id", name: "title"}} selectors={occupationsList} select={formik.values.occupation_id} value={formik.values.occupation_id} @@ -798,12 +803,12 @@ const LegalPersonForm = ({ setFinishLoanRequest }) => { /> - + { /> - + {