From 6238e3e1a700db91f925e0eb024417154c0e099d Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Mon, 16 Feb 2026 14:40:27 +0330 Subject: [PATCH] metrage --- src/components/DatePicker.tsx | 2 +- src/langs/fa.json | 1 + src/pages/company/Create.tsx | 13 ++ src/pages/company/Update.tsx | 294 +++++++++++++----------- src/pages/company/types/CompanyTypes.ts | 1 + 5 files changed, 170 insertions(+), 141 deletions(-) diff --git a/src/components/DatePicker.tsx b/src/components/DatePicker.tsx index 362a028..c5e6b06 100644 --- a/src/components/DatePicker.tsx +++ b/src/components/DatePicker.tsx @@ -57,7 +57,7 @@ const DatePickerComponent: FC = (props: Props) => { )}> setValue(date as DateObject)} calendar={persian} locale={persian_fa} diff --git a/src/langs/fa.json b/src/langs/fa.json index a3ee9de..1c2837e 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -837,6 +837,7 @@ "establishment_date": "تاریخ تاسیس", "address": "آدرس", "map_link": "لینک نقشه شرکت", + "metrage": "متراژ", "short_description": "توضیح کوتاه شرکت", "website_url": "آدرس وبسایت", "profile_image_url": "تصویر پروفایل", diff --git a/src/pages/company/Create.tsx b/src/pages/company/Create.tsx index fad1cad..d93af84 100644 --- a/src/pages/company/Create.tsx +++ b/src/pages/company/Create.tsx @@ -41,6 +41,7 @@ const CreateCompany: FC = () => { dateOfEstablishment: '', address: '', mapAddressLink: '', + metrage: undefined, description: '', websiteUrl: '', profileImageUrl: '', @@ -62,6 +63,7 @@ const CreateCompany: FC = () => { dateOfEstablishment: Yup.string().required(t('errors.required')), address: Yup.string().required(t('errors.required')), mapAddressLink: Yup.string().url(t('errors.invalid_url')), + metrage: Yup.number().required(t('errors.invalid_url')), description: Yup.string().required(t('errors.required')), websiteUrl: Yup.string().url(t('errors.invalid_url')).required(t('errors.required')), isActive: Yup.boolean().required(t('errors.required')), @@ -75,6 +77,9 @@ const CreateCompany: FC = () => { return } + values.metrage = Number(values.metrage) + + // آپلود تصاویر خدمات let serviceImages: string[] = [] if (services.length > 0) { @@ -240,6 +245,14 @@ const CreateCompany: FC = () => { onChange={formik.handleChange} error_text={formik.touched.mapAddressLink && formik.errors.mapAddressLink ? formik.errors.mapAddressLink : ''} /> +
diff --git a/src/pages/company/Update.tsx b/src/pages/company/Update.tsx index d86837b..c999fba 100644 --- a/src/pages/company/Update.tsx +++ b/src/pages/company/Update.tsx @@ -57,6 +57,7 @@ const UpdateCompany: FC = () => { dateOfEstablishment: '', address: '', mapAddressLink: '', + metrage: undefined, description: '', websiteUrl: '', profileImageUrl: '', @@ -77,6 +78,7 @@ const UpdateCompany: FC = () => { dateOfEstablishment: Yup.string().required(t('errors.required')), address: Yup.string().required(t('errors.required')), mapAddressLink: Yup.string().url(t('errors.invalid_url')), + metrage: Yup.string(), description: Yup.string().required(t('errors.required')), websiteUrl: Yup.string().url(t('errors.invalid_url')).required(t('errors.required')), isActive: Yup.boolean().required(t('errors.required')), @@ -84,6 +86,9 @@ const UpdateCompany: FC = () => { // products and services validation can be added if needed }), onSubmit: async (values) => { + + values.metrage = Number(values.metrage) + // آپلود تصاویر خدمات let serviceImages: string[] = [] const serviceImageIndices: number[] = [] @@ -200,13 +205,14 @@ const UpdateCompany: FC = () => { useEffect(() => { if (companyDetail) { formik.setValues(companyDetail?.data?.company) - formik.setFieldValue('dateOfEstablishment', moment(companyDetail?.data?.company?.dateOfEstablishment).format('YYYY-MM-DD')) + formik.setFieldValue('dateOfEstablishment', moment(companyDetail?.data?.company?.dateOfEstablishment, 'jYYYY-jMM-jDD').format('jYYYY-jMM-jDD')) formik.setFieldValue('firstName', companyDetail?.data?.company?.user?.firstName) formik.setFieldValue('lastName', companyDetail?.data?.company?.user?.lastName) formik.setFieldValue('nationalCode', companyDetail?.data?.company?.user?.nationalCode) formik.setFieldValue('phone', companyDetail?.data?.company?.user?.phone) formik.setFieldValue('email', companyDetail?.data?.company?.user?.email) formik.setFieldValue('address', companyDetail?.data?.company?.address) + formik.setFieldValue('metrage', companyDetail?.data?.company?.metrage ?? '') formik.setFieldValue("industryId", companyDetail?.data?.company?.industry?.id) // ذخیره سرویس‌ها با URL تصاویر موجود @@ -227,152 +233,160 @@ const UpdateCompany: FC = () => { const [services, setServices] = useState<{ title: string; image?: File; existingImageUrl?: string }[]>([]) const [products, setProducts] = useState<{ title: string; image?: File; existingImageUrl?: string }[]>([]) - console.log(formik.errors); - return ( -
-
-
- ویرایش شرکت -
- - -
- -
-
-
-
اطلاعات شرکت
- -
- -
- -
- - -
-
- - -
-
- - -
- -
- - - formik.setFieldValue('dateOfEstablishment', moment(date).format('YYYY-MM-DD'))} - error_text={formik.touched.dateOfEstablishment && formik.errors.dateOfEstablishment ? formik.errors.dateOfEstablishment : ''} - defaulValue={formik.values.dateOfEstablishment} - /> -
- -
- -
- -
- -
- -
- -
- - - + if (formik.values?.dateOfEstablishment) + return ( +
+
+
+ ویرایش شرکت
- +
- +
+
+
+
اطلاعات شرکت
+ +
+ +
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ + + formik.setFieldValue('dateOfEstablishment', moment(date).format('YYYY-MM-DD'))} + error_text={formik.touched.dateOfEstablishment && formik.errors.dateOfEstablishment ? formik.errors.dateOfEstablishment : ''} + defaulValue={formik.values.dateOfEstablishment} + /> +
+ +
+ + +
+ +
+ +
+ +
+ +
+ + + +
+ + +
+ + +
-
- ) + ) } export default UpdateCompany \ No newline at end of file diff --git a/src/pages/company/types/CompanyTypes.ts b/src/pages/company/types/CompanyTypes.ts index 673f854..f138382 100644 --- a/src/pages/company/types/CompanyTypes.ts +++ b/src/pages/company/types/CompanyTypes.ts @@ -24,6 +24,7 @@ export type CreateCompanyType = { dateOfEstablishment: string; address: string; mapAddressLink: string; + metrage?: number; description: string; websiteUrl: string; profileImageUrl: string;