cardOwner

This commit is contained in:
hamid zarghami
2026-06-15 12:37:44 +03:30
parent 22e443cf7b
commit 20309be061
4 changed files with 64 additions and 18 deletions
+27 -9
View File
@@ -42,6 +42,7 @@ const CreatePaymentMethod: FC = () => {
order: 0,
merchantId: '',
cardNumber: '',
cardOwner: '',
},
validationSchema: Yup.object().shape({
method: Yup.string().required('روش پرداخت الزامی است'),
@@ -63,6 +64,11 @@ const CreatePaymentMethod: FC = () => {
then: (schema) => schema.required('شماره کارت الزامی است'),
otherwise: (schema) => schema.notRequired(),
}),
cardOwner: Yup.string().when('method', {
is: PaymentMethodEnum.CreditCard,
then: (schema) => schema.required('نام صاحب کارت الزامی است'),
otherwise: (schema) => schema.notRequired(),
}),
}),
onSubmit: (values) => {
const submitValues: CreateRestaurantPaymentMethodType = {
@@ -79,6 +85,7 @@ const CreatePaymentMethod: FC = () => {
...(values.method === PaymentMethodEnum.CreditCard
? {
cardNumber: values.cardNumber,
cardOwner: values.cardOwner,
}
: {}),
}
@@ -153,15 +160,26 @@ const CreatePaymentMethod: FC = () => {
</>
)}
{formik.values.method === PaymentMethodEnum.CreditCard && (
<div className='mt-6'>
<Input
label='شماره کارت'
name='cardNumber'
value={formik.values.cardNumber}
onChange={formik.handleChange}
error_text={formik.touched.cardNumber && formik.errors.cardNumber ? formik.errors.cardNumber : ''}
/>
</div>
<>
<div className='mt-6'>
<Input
label='شماره کارت'
name='cardNumber'
value={formik.values.cardNumber}
onChange={formik.handleChange}
error_text={formik.touched.cardNumber && formik.errors.cardNumber ? formik.errors.cardNumber : ''}
/>
</div>
<div className='mt-6'>
<Input
label='نام صاحب کارت'
name='cardOwner'
value={formik.values.cardOwner}
onChange={formik.handleChange}
error_text={formik.touched.cardOwner && formik.errors.cardOwner ? formik.errors.cardOwner : ''}
/>
</div>
</>
)}
<div className='mt-6'>
<Textarea
+28 -9
View File
@@ -46,6 +46,7 @@ const UpdatePaymentMethod: FC = () => {
order: data.order || 0,
merchantId: data.merchantId || '',
cardNumber: data.cardNumber || '',
cardOwner: data.cardOwner || '',
}
}
return {
@@ -56,6 +57,7 @@ const UpdatePaymentMethod: FC = () => {
order: 0,
merchantId: '',
cardNumber: '',
cardOwner: '',
}
}, [paymentMethodData])
@@ -82,6 +84,11 @@ const UpdatePaymentMethod: FC = () => {
then: (schema) => schema.required('شماره کارت الزامی است'),
otherwise: (schema) => schema.notRequired(),
}),
cardOwner: Yup.string().when('method', {
is: PaymentMethodEnum.CreditCard,
then: (schema) => schema.required('نام صاحب کارت الزامی است'),
otherwise: (schema) => schema.notRequired(),
}),
}),
onSubmit: (values) => {
if (!id) return
@@ -100,6 +107,7 @@ const UpdatePaymentMethod: FC = () => {
...(values.method === PaymentMethodEnum.CreditCard
? {
cardNumber: values.cardNumber,
cardOwner: values.cardOwner,
}
: {}),
}
@@ -193,15 +201,26 @@ const UpdatePaymentMethod: FC = () => {
</>
)}
{formik.values.method === PaymentMethodEnum.CreditCard && (
<div className='mt-6'>
<Input
label='شماره کارت'
name='cardNumber'
value={formik.values.cardNumber}
onChange={formik.handleChange}
error_text={formik.touched.cardNumber && formik.errors.cardNumber ? formik.errors.cardNumber : ''}
/>
</div>
<>
<div className='mt-6'>
<Input
label='شماره کارت'
name='cardNumber'
value={formik.values.cardNumber}
onChange={formik.handleChange}
error_text={formik.touched.cardNumber && formik.errors.cardNumber ? formik.errors.cardNumber : ''}
/>
</div>
<div className='mt-6'>
<Input
label='نام صاحب کارت'
name='cardOwner'
value={formik.values.cardOwner}
onChange={formik.handleChange}
error_text={formik.touched.cardOwner && formik.errors.cardOwner ? formik.errors.cardOwner : ''}
/>
</div>
</>
)}
<div className='mt-6'>
<Textarea
@@ -67,6 +67,13 @@ export const getPaymentMethodTableColumns = ({ onDelete, isDeleting }: GetPaymen
return item.cardNumber || '-'
}
},
{
key: 'cardOwner',
title: 'نام صاحب کارت',
render: (item: RestaurantPaymentMethod) => {
return item.cardOwner || '-'
}
},
{
key: 'actions',
title: '',
+2
View File
@@ -68,6 +68,7 @@ export type RestaurantPaymentMethod = {
order: number;
merchantId: string;
cardNumber?: string;
cardOwner?: string;
};
export type RestaurantPaymentMethodResponse = IResponse<
@@ -82,6 +83,7 @@ export type CreateRestaurantPaymentMethodType = {
order: number;
merchantId?: string;
cardNumber?: string;
cardOwner?: string;
};
export type GetRestaurantPaymentMethodsParams = {