This commit is contained in:
hamid zarghami
2026-02-16 14:40:27 +03:30
parent a2a095836e
commit 6238e3e1a7
5 changed files with 170 additions and 141 deletions
+1 -1
View File
@@ -57,7 +57,7 @@ const DatePickerComponent: FC<Props> = (props: Props) => {
)}> )}>
<DatePicker <DatePicker
placeholder={props.placeholder} placeholder={props.placeholder}
value={value} value={props.defaulValue}
onChange={(date) => setValue(date as DateObject)} onChange={(date) => setValue(date as DateObject)}
calendar={persian} calendar={persian}
locale={persian_fa} locale={persian_fa}
+1
View File
@@ -837,6 +837,7 @@
"establishment_date": "تاریخ تاسیس", "establishment_date": "تاریخ تاسیس",
"address": "آدرس", "address": "آدرس",
"map_link": "لینک نقشه شرکت", "map_link": "لینک نقشه شرکت",
"metrage": "متراژ",
"short_description": "توضیح کوتاه شرکت", "short_description": "توضیح کوتاه شرکت",
"website_url": "آدرس وبسایت", "website_url": "آدرس وبسایت",
"profile_image_url": "تصویر پروفایل", "profile_image_url": "تصویر پروفایل",
+13
View File
@@ -41,6 +41,7 @@ const CreateCompany: FC = () => {
dateOfEstablishment: '', dateOfEstablishment: '',
address: '', address: '',
mapAddressLink: '', mapAddressLink: '',
metrage: undefined,
description: '', description: '',
websiteUrl: '', websiteUrl: '',
profileImageUrl: '', profileImageUrl: '',
@@ -62,6 +63,7 @@ const CreateCompany: FC = () => {
dateOfEstablishment: Yup.string().required(t('errors.required')), dateOfEstablishment: Yup.string().required(t('errors.required')),
address: Yup.string().required(t('errors.required')), address: Yup.string().required(t('errors.required')),
mapAddressLink: Yup.string().url(t('errors.invalid_url')), mapAddressLink: Yup.string().url(t('errors.invalid_url')),
metrage: Yup.number().required(t('errors.invalid_url')),
description: Yup.string().required(t('errors.required')), description: Yup.string().required(t('errors.required')),
websiteUrl: Yup.string().url(t('errors.invalid_url')).required(t('errors.required')), websiteUrl: Yup.string().url(t('errors.invalid_url')).required(t('errors.required')),
isActive: Yup.boolean().required(t('errors.required')), isActive: Yup.boolean().required(t('errors.required')),
@@ -75,6 +77,9 @@ const CreateCompany: FC = () => {
return return
} }
values.metrage = Number(values.metrage)
// آپلود تصاویر خدمات // آپلود تصاویر خدمات
let serviceImages: string[] = [] let serviceImages: string[] = []
if (services.length > 0) { if (services.length > 0) {
@@ -240,6 +245,14 @@ const CreateCompany: FC = () => {
onChange={formik.handleChange} onChange={formik.handleChange}
error_text={formik.touched.mapAddressLink && formik.errors.mapAddressLink ? formik.errors.mapAddressLink : ''} error_text={formik.touched.mapAddressLink && formik.errors.mapAddressLink ? formik.errors.mapAddressLink : ''}
/> />
<Input
label={t('company.metrage')}
name='metrage'
value={formik.values.metrage}
onChange={formik.handleChange}
error_text={formik.touched.metrage && formik.errors.metrage ? formik.errors.metrage : ''}
placeholder='متر مربع'
/>
</div> </div>
<div className='mt-6'> <div className='mt-6'>
+16 -2
View File
@@ -57,6 +57,7 @@ const UpdateCompany: FC = () => {
dateOfEstablishment: '', dateOfEstablishment: '',
address: '', address: '',
mapAddressLink: '', mapAddressLink: '',
metrage: undefined,
description: '', description: '',
websiteUrl: '', websiteUrl: '',
profileImageUrl: '', profileImageUrl: '',
@@ -77,6 +78,7 @@ const UpdateCompany: FC = () => {
dateOfEstablishment: Yup.string().required(t('errors.required')), dateOfEstablishment: Yup.string().required(t('errors.required')),
address: Yup.string().required(t('errors.required')), address: Yup.string().required(t('errors.required')),
mapAddressLink: Yup.string().url(t('errors.invalid_url')), mapAddressLink: Yup.string().url(t('errors.invalid_url')),
metrage: Yup.string(),
description: Yup.string().required(t('errors.required')), description: Yup.string().required(t('errors.required')),
websiteUrl: Yup.string().url(t('errors.invalid_url')).required(t('errors.required')), websiteUrl: Yup.string().url(t('errors.invalid_url')).required(t('errors.required')),
isActive: Yup.boolean().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 // products and services validation can be added if needed
}), }),
onSubmit: async (values) => { onSubmit: async (values) => {
values.metrage = Number(values.metrage)
// آپلود تصاویر خدمات // آپلود تصاویر خدمات
let serviceImages: string[] = [] let serviceImages: string[] = []
const serviceImageIndices: number[] = [] const serviceImageIndices: number[] = []
@@ -200,13 +205,14 @@ const UpdateCompany: FC = () => {
useEffect(() => { useEffect(() => {
if (companyDetail) { if (companyDetail) {
formik.setValues(companyDetail?.data?.company) 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('firstName', companyDetail?.data?.company?.user?.firstName)
formik.setFieldValue('lastName', companyDetail?.data?.company?.user?.lastName) formik.setFieldValue('lastName', companyDetail?.data?.company?.user?.lastName)
formik.setFieldValue('nationalCode', companyDetail?.data?.company?.user?.nationalCode) formik.setFieldValue('nationalCode', companyDetail?.data?.company?.user?.nationalCode)
formik.setFieldValue('phone', companyDetail?.data?.company?.user?.phone) formik.setFieldValue('phone', companyDetail?.data?.company?.user?.phone)
formik.setFieldValue('email', companyDetail?.data?.company?.user?.email) formik.setFieldValue('email', companyDetail?.data?.company?.user?.email)
formik.setFieldValue('address', companyDetail?.data?.company?.address) formik.setFieldValue('address', companyDetail?.data?.company?.address)
formik.setFieldValue('metrage', companyDetail?.data?.company?.metrage ?? '')
formik.setFieldValue("industryId", companyDetail?.data?.company?.industry?.id) formik.setFieldValue("industryId", companyDetail?.data?.company?.industry?.id)
// ذخیره سرویس‌ها با URL تصاویر موجود // ذخیره سرویس‌ها با URL تصاویر موجود
@@ -227,9 +233,9 @@ const UpdateCompany: FC = () => {
const [services, setServices] = useState<{ title: string; image?: File; existingImageUrl?: string }[]>([]) const [services, setServices] = useState<{ title: string; image?: File; existingImageUrl?: string }[]>([])
const [products, setProducts] = useState<{ title: string; image?: File; existingImageUrl?: string }[]>([]) const [products, setProducts] = useState<{ title: string; image?: File; existingImageUrl?: string }[]>([])
console.log(formik.errors);
if (formik.values?.dateOfEstablishment)
return ( return (
<div className='mt-4'> <div className='mt-4'>
<div className='flex justify-between items-center'> <div className='flex justify-between items-center'>
@@ -340,6 +346,14 @@ const UpdateCompany: FC = () => {
onChange={formik.handleChange} onChange={formik.handleChange}
error_text={formik.touched.mapAddressLink && formik.errors.mapAddressLink ? formik.errors.mapAddressLink : ''} error_text={formik.touched.mapAddressLink && formik.errors.mapAddressLink ? formik.errors.mapAddressLink : ''}
/> />
<Input
label={t('company.metrage')}
name='metrage'
value={formik.values.metrage}
onChange={formik.handleChange}
error_text={formik.touched.metrage && formik.errors.metrage ? formik.errors.metrage : ''}
placeholder='متر مربع'
/>
</div> </div>
<div className='mt-6'> <div className='mt-6'>
+1
View File
@@ -24,6 +24,7 @@ export type CreateCompanyType = {
dateOfEstablishment: string; dateOfEstablishment: string;
address: string; address: string;
mapAddressLink: string; mapAddressLink: string;
metrage?: number;
description: string; description: string;
websiteUrl: string; websiteUrl: string;
profileImageUrl: string; profileImageUrl: string;