fix(FE-337): fix finance input and transaction type

This commit is contained in:
randy-ar
2025-12-30 09:25:54 +07:00
parent 7e73c99074
commit 2712821f4e
2 changed files with 35 additions and 15 deletions
@@ -39,6 +39,12 @@ interface FormFinanceAddProps {
initialValues?: Finance; initialValues?: Finance;
} }
interface PartyCommonProps {
id: number;
name: string;
account_number: string;
}
const FormFinanceAdd = ({ const FormFinanceAdd = ({
type = 'add', type = 'add',
initialValues, initialValues,
@@ -52,10 +58,12 @@ const FormFinanceAdd = ({
FINANCE_PARTY_TYPE_OPTIONS.find( FINANCE_PARTY_TYPE_OPTIONS.find(
(option) => option.value === initialValues?.party.type (option) => option.value === initialValues?.party.type
) || null, ) || null,
party_id_option: { party_id_option: initialValues?.party
label: initialValues?.party.name || '', ? {
value: initialValues?.party.id || 0, label: initialValues?.party.name || '',
}, value: initialValues?.party.id || 0,
}
: null,
payment_date: initialValues?.payment_date || '', payment_date: initialValues?.payment_date || '',
payment_method_option: payment_method_option:
FINANCE_PAYMENT_METHOD_OPTIONS.find( FINANCE_PAYMENT_METHOD_OPTIONS.find(
@@ -97,16 +105,19 @@ const FormFinanceAdd = ({
}); });
// ===== Options ===== // ===== Options =====
const { options: partyOptions, isLoadingOptions: isLoadingPartyOptions } = const {
useSelect( options: partyOptions,
formik.values.party_type_option?.value === 'CUSTOMER' isLoadingOptions: isLoadingPartyOptions,
? CustomerApi.basePath rawData: partyRawData,
: SupplierApi.basePath, } = useSelect<PartyCommonProps>(
'id', formik.values.party_type_option?.value === 'CUSTOMER'
'name', ? CustomerApi.basePath
'', : SupplierApi.basePath,
{ limit: 'limit' } 'id',
); 'name',
'',
{ limit: 'limit' }
);
const { const {
options: bankOptions, options: bankOptions,
rawData: bankRawData, rawData: bankRawData,
@@ -204,6 +215,14 @@ const FormFinanceAdd = ({
value={formik.values.party_id_option} value={formik.values.party_id_option}
onChange={(value) => { onChange={(value) => {
formik.setFieldValue('party_id_option', value); formik.setFieldValue('party_id_option', value);
if (isResponseSuccess(partyRawData) && value) {
formik.setFieldValue(
'party_account_number',
partyRawData.data?.find(
(item) => item.id === (value as OptionType)?.value
)?.account_number || ''
);
}
}} }}
isLoading={isLoadingPartyOptions} isLoading={isLoadingPartyOptions}
isError={Boolean( isError={Boolean(
@@ -312,6 +331,7 @@ const FormFinanceAdd = ({
: '' : ''
} }
required required
readOnly
/> />
<TextInput <TextInput
label='Nomor Referensi' label='Nomor Referensi'
+1 -1
View File
@@ -308,7 +308,7 @@ export const FINANCE_INITIAL_BALANCE_TYPE_OPTIONS = [
{ label: 'Saldo Awal Negatif', value: 'NEGATIVE' }, { label: 'Saldo Awal Negatif', value: 'NEGATIVE' },
]; ];
export const FINANCE_TRANSACTION_STATUS = ['PENJUALAN', 'BIAYA']; export const FINANCE_TRANSACTION_STATUS = ['PENJUALAN', 'PEMBELIAN'];
export const FINANCE_INITIAL_BALANCE_STATUS = ['SALDO_AWAL']; export const FINANCE_INITIAL_BALANCE_STATUS = ['SALDO_AWAL'];