diff --git a/src/components/pages/master-data/customer/CustomersTable.tsx b/src/components/pages/master-data/customer/CustomersTable.tsx index b1fb8051..6465d1f7 100644 --- a/src/components/pages/master-data/customer/CustomersTable.tsx +++ b/src/components/pages/master-data/customer/CustomersTable.tsx @@ -189,6 +189,11 @@ const CustomersTable = () => { accessorKey: 'email', header: 'Email', }, + { + accessorKey: 'bank_name', + header: 'Nama Bank', + cell: (props) => props.row.original.bank_name || '-', + }, { header: 'Aksi', cell: (props: CellContext) => { diff --git a/src/components/pages/master-data/customer/form/CustomerForm.schema.ts b/src/components/pages/master-data/customer/form/CustomerForm.schema.ts index 22cd023d..80398d44 100644 --- a/src/components/pages/master-data/customer/form/CustomerForm.schema.ts +++ b/src/components/pages/master-data/customer/form/CustomerForm.schema.ts @@ -27,6 +27,9 @@ export const CustomerFormSchema = Yup.object({ .email('Format email tidak valid!') .required('Email wajib diisi!'), + bank_name: Yup.string() + .min(3, 'Nama bank minimal 3 karakter!') + .required('Nama bank wajib diisi!'), account_number: Yup.string() .matches(/^[0-9]+$/, 'Nomor rekening hanya boleh berisi angka!') .required('Nomor rekening wajib diisi!'), diff --git a/src/components/pages/master-data/customer/form/CustomerForm.tsx b/src/components/pages/master-data/customer/form/CustomerForm.tsx index ca0905f4..0666a402 100644 --- a/src/components/pages/master-data/customer/form/CustomerForm.tsx +++ b/src/components/pages/master-data/customer/form/CustomerForm.tsx @@ -142,6 +142,7 @@ const CustomerForm = ({ }, type: normalizeType(initialValues?.type), address: initialValues?.address ?? '', + bank_name: initialValues?.bank_name ?? '', account_number: initialValues?.account_number ?? '', }; }, [initialValues]); @@ -164,6 +165,7 @@ const CustomerForm = ({ pic_id: values.picId, type: (values.type as OptionType).value as string, address: values.address, + bank_name: values.bank_name, account_number: values.account_number, }; @@ -286,6 +288,22 @@ const CustomerForm = ({ errorMessage={formik.errors.phone} readOnly={formType === 'detail'} /> + + formik.setFieldValue('bank_name', e.target.value.toUpperCase()) + } + onBlur={formik.handleBlur} + isError={ + formik.touched.bank_name && Boolean(formik.errors.bank_name) + } + errorMessage={formik.errors.bank_name} + readOnly={formType === 'detail'} + /> { accessorKey: 'email', header: 'Email', }, + { + accessorKey: 'bank_name', + header: 'Nama Bank', + cell: (props) => props.row.original.bank_name || '-', + }, { accessorKey: 'address', header: 'Alamat', diff --git a/src/components/pages/master-data/supplier/form/SupplierForm.schema.ts b/src/components/pages/master-data/supplier/form/SupplierForm.schema.ts index 9ec3890a..e82f8210 100644 --- a/src/components/pages/master-data/supplier/form/SupplierForm.schema.ts +++ b/src/components/pages/master-data/supplier/form/SupplierForm.schema.ts @@ -31,6 +31,9 @@ export const SupplierFormSchema = Yup.object({ npwp: Yup.string() .matches(/^[0-9]+$/, 'Nomor NPWP hanya boleh berisi angka!') .required('Nomor NPWP wajib diisi!'), + bank_name: Yup.string() + .min(3, 'Nama bank minimal 3 karakter!') + .required('Nama bank wajib diisi!'), account_number: Yup.string() .matches(/^[0-9]+$/, 'Nomor rekening hanya boleh berisi angka!') .required('Nomor rekening wajib diisi!'), diff --git a/src/components/pages/master-data/supplier/form/SupplierForm.tsx b/src/components/pages/master-data/supplier/form/SupplierForm.tsx index 36152956..823dbde4 100644 --- a/src/components/pages/master-data/supplier/form/SupplierForm.tsx +++ b/src/components/pages/master-data/supplier/form/SupplierForm.tsx @@ -122,6 +122,7 @@ const SupplierForm = ({ email: initialValues?.email ?? '', address: initialValues?.address ?? '', npwp: initialValues?.npwp ?? '', + bank_name: initialValues?.bank_name ?? '', account_number: initialValues?.account_number ?? '', due_date: initialValues?.due_date ?? 1, }; @@ -149,6 +150,7 @@ const SupplierForm = ({ email: values.email, address: values.address, npwp: values.npwp, + bank_name: values.bank_name, account_number: values.account_number, due_date: parseInt(values.due_date.toString()), }; @@ -368,6 +370,22 @@ const SupplierForm = ({ errorMessage={formik.errors.npwp} readOnly={formType === 'detail'} /> + + formik.setFieldValue('bank_name', e.target.value.toUpperCase()) + } + onBlur={formik.handleBlur} + isError={ + formik.touched.bank_name && Boolean(formik.errors.bank_name) + } + errorMessage={formik.errors.bank_name} + readOnly={formType === 'detail'} + />