From 4cad8aba646ccc46492e3a7cd47c8cb6fc923f07 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Wed, 13 May 2026 16:25:13 +0700 Subject: [PATCH 1/3] feat: add bank name column --- src/components/pages/master-data/customer/CustomersTable.tsx | 5 +++++ src/components/pages/master-data/supplier/SupplierTable.tsx | 5 +++++ 2 files changed, 10 insertions(+) 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/supplier/SupplierTable.tsx b/src/components/pages/master-data/supplier/SupplierTable.tsx index 763c18bf..0dfd2941 100644 --- a/src/components/pages/master-data/supplier/SupplierTable.tsx +++ b/src/components/pages/master-data/supplier/SupplierTable.tsx @@ -326,6 +326,11 @@ const SuppliersTable = () => { accessorKey: 'email', header: 'Email', }, + { + accessorKey: 'bank_name', + header: 'Nama Bank', + cell: (props) => props.row.original.bank_name || '-', + }, { accessorKey: 'address', header: 'Alamat', From 9bc584249359e0908bcd17b5cfc37a0d9a958659 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Wed, 13 May 2026 16:25:25 +0700 Subject: [PATCH 2/3] feat: add bank name input --- .../customer/form/CustomerForm.schema.ts | 3 +++ .../master-data/customer/form/CustomerForm.tsx | 18 ++++++++++++++++++ .../supplier/form/SupplierForm.schema.ts | 3 +++ .../master-data/supplier/form/SupplierForm.tsx | 18 ++++++++++++++++++ 4 files changed, 42 insertions(+) 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'} + /> + + 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'} + /> Date: Wed, 13 May 2026 16:25:35 +0700 Subject: [PATCH 3/3] feat: add bank_name --- src/types/api/master-data/customer.d.ts | 2 ++ src/types/api/master-data/supplier.d.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/types/api/master-data/customer.d.ts b/src/types/api/master-data/customer.d.ts index bdb45b05..00eb4fb0 100644 --- a/src/types/api/master-data/customer.d.ts +++ b/src/types/api/master-data/customer.d.ts @@ -10,6 +10,7 @@ export type BaseCustomer = { phone: string; email: string; account_number: string; + bank_name: string; }; export type Customer = BaseMetadata & BaseCustomer; @@ -22,6 +23,7 @@ export type CreateCustomerPayload = { phone: string; email: string; account_number: string; + bank_name: string; }; export type UpdateCustomerPayload = CreateCustomerPayload; diff --git a/src/types/api/master-data/supplier.d.ts b/src/types/api/master-data/supplier.d.ts index 81d41771..ad33fa00 100644 --- a/src/types/api/master-data/supplier.d.ts +++ b/src/types/api/master-data/supplier.d.ts @@ -16,6 +16,7 @@ export type BaseSupplier = { account_number: string; due_date: number; balance?: number; + bank_name: string; }; export type Supplier = BaseMetadata & BaseSupplier; @@ -45,6 +46,7 @@ export type CreateSupplierPayload = { account_number: string; due_date: number; balance?: number; + bank_name: string; }; export type UpdateSupplierPayload = CreateSupplierPayload;