Convert transaction constants to i18n-compatible getter functions

- Convert all hardcoded constant arrays to functions accepting TFunction
- Add transaction.constants namespace with 40+ translation keys
- Update contant.ts: All exports now use get* prefix (e.g., getCashReceiptPurposeTypeBtnGroup)
- Replace ko/en properties with single name property using t() function

Updated constants:
- getAllTransactionMoidTidOptionsGroup(t)
- getAllTransactionStatusCodeBtnGroup(t)
- getAllTransactionServiceCodeOptionsGroup(t)
- getAllTransactionStatusCode(t)
- getCashReceiptPurposeTypeBtnGroup(t)
- getCashReceiptTransactionTypeBtnGroup(t)
- getCashReceiptProcessResultBtnGroup(t)
- getEscrowSearchTypeOptionsGroup(t)
- getEscrowDeliveryStatusBtnGroup(t)
- getEscrowSettlementStatusBtnGroup(t)
- getBillingSearchTypeOptionsGroup(t)
- getBillingRequestStatusBtnGroup(t)
- getBillingProcessResultBtnGroup(t)
- getBillingPaymentMethodBtnGroup(t)

Updated components (9 files):
- Filter components: all-transaction, cash-receipt, billing, escrow
- List pages: billing, cash-receipt, escrow
- UI components: list-item, important-info-section

All constants now properly support Korean/English language switching.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-10-30 16:36:30 +09:00
parent e067fc8d4f
commit 29f69c248c
12 changed files with 271 additions and 163 deletions

View File

@@ -1,4 +1,5 @@
import {
import { TFunction } from 'i18next';
import {
AllTransactionMoidTid,
AllTransactionSearchCl,
AllTransactionServiceCode,
@@ -6,7 +7,7 @@ import {
CashReceiptPurposeType,
CashReceiptTransactionType,
CashReceiptProcessResult,
BillingPaymentMethod,
BillingPaymentMethod,
BillingProcessResult,
BillingRequestStatus,
BillingSearchType,
@@ -15,121 +16,121 @@ import {
EscrowSettlementStatus
} from '@/entities/transaction/model/types';
export const AllTransactionMoidTidOptionsGroup = [
{name: '주문번호', value: AllTransactionMoidTid.MOID},
{name: 'TID', value: AllTransactionMoidTid.TID},
export const getAllTransactionMoidTidOptionsGroup = (t: TFunction) => [
{name: t('transaction.constants.orderNumber'), value: AllTransactionMoidTid.MOID},
{name: t('transaction.constants.tid'), value: AllTransactionMoidTid.TID},
];
export const AllTransactionStatusCodeBtnGroup = [
{name: '전체', value: AllTransactionStatusCode.ALL},
{name: '승인/입금완료', value: AllTransactionStatusCode.APPROVAL},
{name: '전취소/취소', value: AllTransactionStatusCode.CANCEL},
{name: '후취소/환불', value: AllTransactionStatusCode.REFUND}
];
export const AllTransactionServiceCodeOptionsGroup = [
{name: '전체', value: AllTransactionServiceCode.ALL},
{name: '신용카드', value: AllTransactionServiceCode.CREDIT_CARD},
{name: '가상계좌', value: AllTransactionServiceCode.VIRTUAL_ACCOUNT},
{name: '계좌이체', value: AllTransactionServiceCode.ACCOUNT_TRANSFER},
{name: '계좌간편결제', value: AllTransactionServiceCode.ACCOUNT_SIMPLE_TRANSFER},
{name: '휴대폰', value: AllTransactionServiceCode.MOBILE_PAYMENT},
{name: 'SSG 머니', value: AllTransactionServiceCode.SSGMONEY},
{name: 'SSG 은행계좌', value: AllTransactionServiceCode.SSGBANK},
{name: '문화상품권', value: AllTransactionServiceCode.CULT},
{name: '티머니페이', value: AllTransactionServiceCode.TMONEY},
export const getAllTransactionStatusCodeBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: AllTransactionStatusCode.ALL},
{name: t('transaction.constants.approvalComplete'), value: AllTransactionStatusCode.APPROVAL},
{name: t('transaction.constants.totalCancel'), value: AllTransactionStatusCode.CANCEL},
{name: t('transaction.constants.refund'), value: AllTransactionStatusCode.REFUND}
];
export const AllTracsactionStatusCode = [
export const getAllTransactionServiceCodeOptionsGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: AllTransactionServiceCode.ALL},
{name: t('transaction.constants.creditCard'), value: AllTransactionServiceCode.CREDIT_CARD},
{name: t('transaction.constants.virtualAccount'), value: AllTransactionServiceCode.VIRTUAL_ACCOUNT},
{name: t('transaction.constants.accountTransfer'), value: AllTransactionServiceCode.ACCOUNT_TRANSFER},
{name: t('transaction.constants.accountSimpleTransfer'), value: AllTransactionServiceCode.ACCOUNT_SIMPLE_TRANSFER},
{name: t('transaction.constants.mobilePayment'), value: AllTransactionServiceCode.MOBILE_PAYMENT},
{name: t('transaction.constants.ssgMoney'), value: AllTransactionServiceCode.SSGMONEY},
{name: t('transaction.constants.ssgBank'), value: AllTransactionServiceCode.SSGBANK},
{name: t('transaction.constants.cultureLand'), value: AllTransactionServiceCode.CULT},
{name: t('transaction.constants.tmoneyPay'), value: AllTransactionServiceCode.TMONEY},
];
export const getAllTransactionStatusCode = (t: TFunction) => [
{
serviceCode: '',
serviceCode: '',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인/입금완료', en: 'Approval'},
{code: '1', ko: '전취소/취소', en: 'Total Cancellation'},
{code: '2', ko: '후취소/환불', en: 'Cancellation'}
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approvalComplete')},
{code: '1', name: t('transaction.constants.totalCancel')},
{code: '2', name: t('transaction.constants.refund')}
]
},
{
serviceCode: '01',
serviceCode: '01',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '전취소', en: 'Total Cancellation'},
{code: '2', ko: '후취소', en: 'Cancellation'}
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.totalCancelShort')},
{code: '2', name: t('transaction.constants.cancelShort')}
]
},
{
serviceCode: '02',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '취소', en: 'Cancellation'},
{code: '2', ko: '환불', en: 'Refund'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.cancel')},
{code: '2', name: t('transaction.constants.refund')},
]
},
{
serviceCode: '03',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '입금', en: 'Payment Complete'},
{code: '2', ko: '환불', en: 'Refund'},
{code: '3', ko: '입금대기', en: 'Waiting Payment'},
{code: '4', ko: '채번취소', en: 'Cancellation Issue'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.deposit')},
{code: '2', name: t('transaction.constants.refund')},
{code: '3', name: t('transaction.constants.waitingDeposit')},
{code: '4', name: t('transaction.constants.issueCancel')},
]
},
{
serviceCode: '05',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '취소', en: 'Cancellation'},
{code: '2', ko: '환불', en: 'Refund'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.cancel')},
{code: '2', name: t('transaction.constants.refund')},
]
},
{
serviceCode: '14',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '취소', en: 'Cancellation'},
{code: '2', ko: '환불', en: 'Refund'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.cancel')},
{code: '2', name: t('transaction.constants.refund')},
]
},
{
serviceCode: '21',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '취소', en: 'Cancellation'},
{code: '2', ko: '환불', en: 'Refund'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.cancel')},
{code: '2', name: t('transaction.constants.refund')},
]
},
{
serviceCode: '24',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '취소', en: 'Cancellation'},
{code: '2', ko: '환불', en: 'Refund'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.cancel')},
{code: '2', name: t('transaction.constants.refund')},
]
},
{
serviceCode: '26',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '취소', en: 'Cancellation'},
{code: '2', ko: '환불', en: 'Refund'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.cancel')},
{code: '2', name: t('transaction.constants.refund')},
]
},
{
serviceCode: '31',
list: [
{code: '', ko: '전체', en: 'All'},
{code: '0', ko: '승인', en: 'Approval'},
{code: '1', ko: '전취소', en: 'Total Cancellation'},
{code: '2', ko: '후취소', en: 'Cancellation'},
{code: '', name: t('transaction.constants.all')},
{code: '0', name: t('transaction.constants.approval')},
{code: '1', name: t('transaction.constants.totalCancelShort')},
{code: '2', name: t('transaction.constants.cancelShort')},
]
},
];
@@ -140,63 +141,72 @@ export const AllTransactionCardBankCodeOptionsGroup = {
export const CashReceiptPurposeTypeBtnGroup = [
{name: '전체', value: CashReceiptPurposeType.ALL},
{name: '소득공제', value: CashReceiptPurposeType.INCOME_DEDUCTION},
{name: '지출증빙', value: CashReceiptPurposeType.EXPENSE_PROOF},
export const getCashReceiptPurposeTypeBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: CashReceiptPurposeType.ALL},
{name: t('transaction.handWrittenIssuance.incomeDeduction'), value: CashReceiptPurposeType.INCOME_DEDUCTION},
{name: t('transaction.handWrittenIssuance.expenseProof'), value: CashReceiptPurposeType.EXPENSE_PROOF},
];
export const CashReceiptTransactionTypeBtnGroup = [
{name: '전체', value: CashReceiptTransactionType.ALL},
{name: '승인', value: CashReceiptTransactionType.APPROVAL},
{name: '취소', value: CashReceiptTransactionType.CANCEL},
export const getCashReceiptTransactionTypeBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: CashReceiptTransactionType.ALL},
{name: t('transaction.constants.approval'), value: CashReceiptTransactionType.APPROVAL},
{name: t('transaction.constants.cancel'), value: CashReceiptTransactionType.CANCEL},
];
export const CashReceiptProcessResultBtnGroup = [
{name: '전체', value: CashReceiptProcessResult.ALL},
{name: '요청', value: CashReceiptProcessResult.REQUEST},
{name: '요청취소', value: CashReceiptProcessResult.REQUEST_CANCEL},
{name: '요청완료', value: CashReceiptProcessResult.REQUEST_COMPLETE},
{name: '발급완료', value: CashReceiptProcessResult.ISSUE_COMPLETE},
{name: '요청실패', value: CashReceiptProcessResult.REQUEST_FAIL},
{name: '발급실패', value: CashReceiptProcessResult.ISSUE_FAIL},
export const getCashReceiptProcessResultBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: CashReceiptProcessResult.ALL},
{name: t('transaction.constants.request'), value: CashReceiptProcessResult.REQUEST},
{name: t('transaction.constants.requestCancel'), value: CashReceiptProcessResult.REQUEST_CANCEL},
{name: t('transaction.constants.requestComplete'), value: CashReceiptProcessResult.REQUEST_COMPLETE},
{name: t('transaction.constants.issueComplete'), value: CashReceiptProcessResult.ISSUE_COMPLETE},
{name: t('transaction.constants.requestFail'), value: CashReceiptProcessResult.REQUEST_FAIL},
{name: t('transaction.constants.issueFail'), value: CashReceiptProcessResult.ISSUE_FAIL},
];
export const EscrowSearchTypeOptionsGroup = [
{name: '주문번호', value: EscrowSearchType.ORDER_NUMBER },
{name: 'TID', value: EscrowSearchType.TID }
export const getEscrowSearchTypeOptionsGroup = (t: TFunction) => [
{name: t('transaction.constants.orderNumber'), value: EscrowSearchType.ORDER_NUMBER },
{name: t('transaction.constants.tid'), value: EscrowSearchType.TID }
];
export const EscrowDeliveryStatusBtnGroup = [
{name: '전체', value: EscrowDeliveryStatus.ALL},
{name: '결제완료', value: EscrowDeliveryStatus.PAY_COMPLETE},
{name: '배송등록', value: EscrowDeliveryStatus.DELIVERY_INSERT},
{name: '배송완료', value: EscrowDeliveryStatus.DELIVERY_COMPLETE},
{name: '구매확인', value: EscrowDeliveryStatus.PURCHASE_CONFIRM},
{name: '구매거절', value: EscrowDeliveryStatus.PURCHASE_REJECT},
{name: '환불처리', value: EscrowDeliveryStatus.RETURN_PROCESSING},
{name: '지급완료', value: EscrowDeliveryStatus.DEPOSIT_COMPLETE},
export const getEscrowDeliveryStatusBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: EscrowDeliveryStatus.ALL},
{name: t('transaction.constants.paymentComplete'), value: EscrowDeliveryStatus.PAY_COMPLETE},
{name: t('transaction.constants.deliveryRegistration'), value: EscrowDeliveryStatus.DELIVERY_INSERT},
{name: t('transaction.constants.deliveryComplete'), value: EscrowDeliveryStatus.DELIVERY_COMPLETE},
{name: t('transaction.constants.purchaseConfirm'), value: EscrowDeliveryStatus.PURCHASE_CONFIRM},
{name: t('transaction.constants.purchaseReject'), value: EscrowDeliveryStatus.PURCHASE_REJECT},
{name: t('transaction.constants.refundProcessing'), value: EscrowDeliveryStatus.RETURN_PROCESSING},
{name: t('transaction.constants.depositComplete'), value: EscrowDeliveryStatus.DEPOSIT_COMPLETE},
];
export const EscrowSettlementStatusBtnGroup = [
{name: '전체', value: EscrowSettlementStatus.ALL},
{name: '신용카드', value: EscrowSettlementStatus.CREDIT_CARD},
{name: '가상계좌', value: EscrowSettlementStatus.REAL_ACCOUNT},
{name: '계좌이체', value: EscrowSettlementStatus.ACCOUNT_TRANSFER},
export const getEscrowSettlementStatusBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: EscrowSettlementStatus.ALL},
{name: t('transaction.constants.creditCard'), value: EscrowSettlementStatus.CREDIT_CARD},
{name: t('transaction.constants.virtualAccount'), value: EscrowSettlementStatus.REAL_ACCOUNT},
{name: t('transaction.constants.accountTransfer'), value: EscrowSettlementStatus.ACCOUNT_TRANSFER},
];
export const BillingSearchTypeOptionsGroup = [
{name: '주문번호', value: BillingSearchType.ORDER_NUMBER },
{name: 'TID', value: BillingSearchType.TID }
export const getBillingSearchTypeOptionsGroup = (t: TFunction) => [
{name: t('transaction.constants.orderNumber'), value: BillingSearchType.ORDER_NUMBER },
{name: t('transaction.constants.tid'), value: BillingSearchType.TID }
];
export const BillingRequestStatusBtnGroup = [
{name: '전체', value: BillingRequestStatus.ALL},
{name: '진행중', value: BillingRequestStatus.IN_PROGRESS},
{name: '성공', value: BillingRequestStatus.SUCCESS},
{name: '요청취소', value: BillingRequestStatus.REQUEST_CANCEL},
export const getBillingRequestStatusBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: BillingRequestStatus.ALL},
{name: t('transaction.constants.inProgress'), value: BillingRequestStatus.IN_PROGRESS},
{name: t('transaction.constants.success'), value: BillingRequestStatus.SUCCESS},
{name: t('transaction.constants.requestCancel'), value: BillingRequestStatus.REQUEST_CANCEL},
];
export const BillingProcessResultBtnGroup = [
{name: '전체', value: BillingProcessResult.ALL},
{name: '성공', value: BillingProcessResult.SUCCESS},
{name: '실패', value: BillingProcessResult.FAILURE},
export const getBillingProcessResultBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: BillingProcessResult.ALL},
{name: t('transaction.constants.success'), value: BillingProcessResult.SUCCESS},
{name: t('transaction.constants.failure'), value: BillingProcessResult.FAILURE},
];
export const BillingPaymentMethodBtnGroup = [
{name: '전체', value: BillingPaymentMethod.ALL},
{name: '신용카드', value: BillingPaymentMethod.CREDIT_CARD},
{name: '가상계좌', value: BillingPaymentMethod.VIRTUAL_ACCOUNT},
{name: '휴대폰', value: BillingPaymentMethod.MOBILE_PAYMENT},
export const getBillingPaymentMethodBtnGroup = (t: TFunction) => [
{name: t('transaction.constants.all'), value: BillingPaymentMethod.ALL},
{name: t('transaction.constants.creditCard'), value: BillingPaymentMethod.CREDIT_CARD},
{name: t('transaction.constants.virtualAccount'), value: BillingPaymentMethod.VIRTUAL_ACCOUNT},
{name: t('transaction.constants.mobilePayment'), value: BillingPaymentMethod.MOBILE_PAYMENT},
];

View File

@@ -9,8 +9,8 @@ import { FilterCalendar } from '@/shared/ui/filter/calendar';
import { FilterButtonGroups } from '@/shared/ui/filter/button-groups';
import { FilterRangeAmount } from '@/shared/ui/filter/range-amount';
import {
AllTransactionMoidTidOptionsGroup,
AllTracsactionStatusCode,
getAllTransactionMoidTidOptionsGroup,
getAllTransactionStatusCode,
} from '@/entities/transaction/model/contant';
import {
AllTransactionFilterProps,
@@ -80,6 +80,9 @@ export const AllTransactionFilter = ({
const [statusCodeBtns, setStatusCodeBtns] = useState<Array<Record<string, string>>>();
const moidTidOptionsGroup = getAllTransactionMoidTidOptionsGroup(t);
const allTransactionStatusCode = getAllTransactionStatusCode(t);
const onClickToClose = () => {
setFilterOn(false);
};
@@ -155,12 +158,12 @@ export const AllTransactionFilter = ({
};
const onChangeServiceCode = (val: string) => {
let list = AllTracsactionStatusCode.filter((value, index) => {
let list = allTransactionStatusCode.filter((value, index) => {
return val === value.serviceCode;
})[0]?.list;
let btns = list?.map((value, index) => {
return {
name: value.ko,
name: value.name,
value: value.code
}
});
@@ -211,7 +214,7 @@ export const AllTransactionFilter = ({
title={t('filter.orderNumberTid')}
selectValue={ filterMoidTidType }
selectSetter={ setFilterMoidTidType }
selectOptions={ AllTransactionMoidTidOptionsGroup }
selectOptions={ moidTidOptionsGroup }
inputValue={ filterMoidTidValue }
inputSetter={ setFilterMoidTidValue }
></FilterSelectInput>

View File

@@ -9,10 +9,10 @@ import { FilterCalendar } from '@/shared/ui/filter/calendar';
import { FilterButtonGroups } from '@/shared/ui/filter/button-groups';
import { FilterRangeAmount } from '@/shared/ui/filter/range-amount';
import {
BillingSearchTypeOptionsGroup,
BillingRequestStatusBtnGroup,
BillingProcessResultBtnGroup,
BillingPaymentMethodBtnGroup
getBillingSearchTypeOptionsGroup,
getBillingRequestStatusBtnGroup,
getBillingProcessResultBtnGroup,
getBillingPaymentMethodBtnGroup
} from '@/entities/transaction/model/contant';
import {
BillingFilterProps,
@@ -68,6 +68,11 @@ export const BillingFilter = ({
const midOptions = useStore.getState().UserStore.selectOptionsMids;
const searchTypeOptionsGroup = getBillingSearchTypeOptionsGroup(t);
const requestStatusBtnGroup = getBillingRequestStatusBtnGroup(t);
const processResultBtnGroup = getBillingProcessResultBtnGroup(t);
const paymentMethodBtnGroup = getBillingPaymentMethodBtnGroup(t);
const onClickToClose = () => {
setFilterOn(false);
};
@@ -131,7 +136,7 @@ export const BillingFilter = ({
title={t('filter.orderNumberTid')}
selectValue={ filterSearchType }
selectSetter={ setFilterSearchType }
selectOptions={ BillingSearchTypeOptionsGroup }
selectOptions={ searchTypeOptionsGroup }
inputValue={ searchKeyword }
inputSetter={ setFilterSearchKeyword }
></FilterSelectInput>
@@ -146,19 +151,19 @@ export const BillingFilter = ({
<FilterButtonGroups
title={t('filter.requestStatus')}
activeValue={ filterRequestStatus }
btnGroups={ BillingRequestStatusBtnGroup }
btnGroups={ requestStatusBtnGroup }
setter={ setFilterRequestStatus }
></FilterButtonGroups>
<FilterButtonGroups
title={t('filter.processingResult')}
activeValue={ filterProcessResult }
btnGroups={ BillingProcessResultBtnGroup }
btnGroups={ processResultBtnGroup }
setter={ setFilterProcessResult }
></FilterButtonGroups>
<FilterButtonGroups
title={t('filter.paymentMethod')}
activeValue={ filterPaymentMethod }
btnGroups={ BillingPaymentMethodBtnGroup }
btnGroups={ paymentMethodBtnGroup }
setter={ setFilterPaymentMethod }
></FilterButtonGroups>

View File

@@ -8,9 +8,9 @@ import { FilterSelectInput } from '@/shared/ui/filter/select-input';
import { FilterCalendar } from '@/shared/ui/filter/calendar';
import { FilterButtonGroups } from '@/shared/ui/filter/button-groups';
import {
CashReceiptPurposeTypeBtnGroup,
CashReceiptTransactionTypeBtnGroup,
CashReceiptProcessResultBtnGroup
getCashReceiptPurposeTypeBtnGroup,
getCashReceiptTransactionTypeBtnGroup,
getCashReceiptProcessResultBtnGroup
} from '@/entities/transaction/model/contant';
import {
CashReceiptFilterProps,
@@ -64,6 +64,10 @@ export const CashReceiptFilter = ({
const midOptions = useStore.getState().UserStore.selectOptionsMids;
const purposeTypeBtnGroup = getCashReceiptPurposeTypeBtnGroup(t);
const transactionTypeBtnGroup = getCashReceiptTransactionTypeBtnGroup(t);
const processResultBtnGroup = getCashReceiptProcessResultBtnGroup(t);
const onClickToClose = () => {
setFilterOn(false);
};
@@ -130,19 +134,19 @@ export const CashReceiptFilter = ({
<FilterButtonGroups
title={t('filter.purpose')}
activeValue={ filterPurposeType }
btnGroups={ CashReceiptPurposeTypeBtnGroup }
btnGroups={ purposeTypeBtnGroup }
setter={ setFilterPurposeType }
></FilterButtonGroups>
<FilterButtonGroups
title={t('filter.transactionCategory')}
activeValue={ filterTransactionType }
btnGroups={ CashReceiptTransactionTypeBtnGroup }
btnGroups={ transactionTypeBtnGroup }
setter={ setFilterTransactionType }
></FilterButtonGroups>
<FilterButtonGroups
title={t('filter.progressStatus')}
activeValue={ filterProcessResult }
btnGroups={ CashReceiptProcessResultBtnGroup }
btnGroups={ processResultBtnGroup }
setter={ setFilterProcessResult }
></FilterButtonGroups>
<FilterSelectInput

View File

@@ -9,9 +9,9 @@ import { FilterCalendar } from '@/shared/ui/filter/calendar';
import { FilterButtonGroups } from '@/shared/ui/filter/button-groups';
import { FilterRangeAmount } from '@/shared/ui/filter/range-amount';
import {
EscrowDeliveryStatusBtnGroup,
EscrowSettlementStatusBtnGroup,
EscrowSearchTypeOptionsGroup
getEscrowDeliveryStatusBtnGroup,
getEscrowSettlementStatusBtnGroup,
getEscrowSearchTypeOptionsGroup
} from '@/entities/transaction/model/contant';
import {
EscrowFilterProps,
@@ -62,7 +62,11 @@ export const EscrowFilter = ({
const [filterMaxAmount, setFilterMaxAmount] = useState<number | undefined>(maxAmount);
const midOptions = useStore.getState().UserStore.selectOptionsMids;
const searchTypeOptionsGroup = getEscrowSearchTypeOptionsGroup(t);
const deliveryStatusBtnGroup = getEscrowDeliveryStatusBtnGroup(t);
const settlementStatusBtnGroup = getEscrowSettlementStatusBtnGroup(t);
const onClickToClose = () => {
setFilterOn(false);
};
@@ -125,7 +129,7 @@ export const EscrowFilter = ({
title={t('filter.orderNumberTid')}
selectValue={ filterSearchType }
selectSetter={ setSearchType }
selectOptions={ EscrowSearchTypeOptionsGroup }
selectOptions={ searchTypeOptionsGroup }
inputValue={ searchKeyword }
inputSetter={ setSearchKeyword }
></FilterSelectInput>
@@ -140,13 +144,13 @@ export const EscrowFilter = ({
<FilterButtonGroups
title={t('filter.deliveryStatus')}
activeValue={ filterDeliveryStatus }
btnGroups={ EscrowDeliveryStatusBtnGroup }
btnGroups={ deliveryStatusBtnGroup }
setter={ setFilterDeliveryStatus }
></FilterButtonGroups>
<FilterButtonGroups
title={t('filter.paymentMethod')}
activeValue={ filterSettlementStatus }
btnGroups={ EscrowSettlementStatusBtnGroup }
btnGroups={ settlementStatusBtnGroup }
setter={ setFilterSettlementStatus }
></FilterButtonGroups>

View File

@@ -4,7 +4,7 @@ import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { ListItemProps, TransactionCategory } from '../model/types';
import moment from 'moment';
import { useStore } from '@/shared/model/store';
import { AllTracsactionStatusCode } from '../model/contant';
import { getAllTransactionStatusCode } from '../model/contant';
import { useTranslation } from 'react-i18next';
export const ListItem = ({
@@ -129,15 +129,16 @@ export const ListItem = ({
const getStatusName = () => {
let str;
if(transactionCategory === TransactionCategory.AllTransaction){
Loop1:
for(let i=0;i<AllTracsactionStatusCode.length;i++){
if(serviceCode === AllTracsactionStatusCode[i]?.serviceCode){
let list = AllTracsactionStatusCode[i]?.list;
const allTransactionStatusCode = getAllTransactionStatusCode(t);
Loop1:
for(let i=0;i<allTransactionStatusCode.length;i++){
if(serviceCode === allTransactionStatusCode[i]?.serviceCode){
let list = allTransactionStatusCode[i]?.list;
if(!!list){
Loop2:
for(let j=0;j<list.length;j++){
if(list[j]?.code === statusCode){
str = list[j]?.ko;
str = list[j]?.name;
break Loop1;
}
}

View File

@@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next';
import { NumericFormat } from 'react-number-format';
import { InfoSectionProps, TransactionCategory } from '../../model/types';
import { useStore } from '@/shared/model/store';
import { AllTracsactionStatusCode } from '../../model/contant';
import { getAllTransactionStatusCode } from '../../model/contant';
export const ImportantInfoSection = ({
transactionCategory,
@@ -29,15 +29,16 @@ export const ImportantInfoSection = ({
const getStatusName = (serviceCode: string, statusCode: string) => {
let str;
if(transactionCategory === TransactionCategory.AllTransaction){
Loop1:
for(let i=0;i<AllTracsactionStatusCode.length;i++){
if(serviceCode === AllTracsactionStatusCode[i]?.serviceCode){
let list = AllTracsactionStatusCode[i]?.list;
const allTransactionStatusCode = getAllTransactionStatusCode(t);
Loop1:
for(let i=0;i<allTransactionStatusCode.length;i++){
if(serviceCode === allTransactionStatusCode[i]?.serviceCode){
let list = allTransactionStatusCode[i]?.list;
if(!!list){
Loop2:
for(let j=0;j<list.length;j++){
if(list[j]?.code === statusCode){
str = list[j]?.ko;
str = list[j]?.name;
break Loop1;
}
}