From 5fd52bdd28f85687f72ba46b536b43d41d542d22 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Mon, 15 Sep 2025 14:48:02 +0900 Subject: [PATCH] =?UTF-8?q?=ED=95=84=ED=84=B0=204=EA=B0=9C=20=EC=9D=B4?= =?UTF-8?q?=EC=83=81=20=EB=8B=A4=EC=A4=91=20=EB=B2=84=ED=8A=BC=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../additional-service/model/contant.ts | 12 ------ src/entities/transaction/model/contant.ts | 41 +++++++++++++++++++ src/entities/transaction/model/types.ts | 4 +- .../transaction/ui/filter/billing-filter.tsx | 23 +++-------- .../transaction/ui/filter/escrow-filter.tsx | 21 ++-------- src/pages/transaction/escrow/list-page.tsx | 28 ++++++++++--- src/shared/ui/filter/button-groups.tsx | 37 +++++++++++------ 7 files changed, 100 insertions(+), 66 deletions(-) delete mode 100644 src/entities/additional-service/model/contant.ts create mode 100644 src/entities/transaction/model/contant.ts diff --git a/src/entities/additional-service/model/contant.ts b/src/entities/additional-service/model/contant.ts deleted file mode 100644 index 9aab8d6..0000000 --- a/src/entities/additional-service/model/contant.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { EscrowDeliveryStatus } from '@/entities/transaction/model/types'; - -export const deliveryStatusBtnGroup = [ - {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}, -]; \ No newline at end of file diff --git a/src/entities/transaction/model/contant.ts b/src/entities/transaction/model/contant.ts new file mode 100644 index 0000000..bd69c7f --- /dev/null +++ b/src/entities/transaction/model/contant.ts @@ -0,0 +1,41 @@ +import { + BillingPaymentMethod, + BillingProcessResult, + BillingRequestStatus, + EscrowDeliveryStatus, + EscrowSettlementStatus +} from '@/entities/transaction/model/types'; + +export const deliveryStatusBtnGroup = [ + {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 let settlementStatusBtnGroup = [ + {name: '전체', value: EscrowSettlementStatus.ALL}, + {name: '신용카드', value: EscrowSettlementStatus.CREDIT_CARD}, + {name: '가상계좌', value: EscrowSettlementStatus.REAL_ACCOUNT}, + {name: '계좌이체', value: EscrowSettlementStatus.ACCOUNT_TRANSFER}, +]; +export const requestStatusBtnGroup = [ + {name: '전체', value: BillingRequestStatus.ALL}, + {name: '진행중', value: BillingRequestStatus.IN_PROGRESS}, + {name: '성공', value: BillingRequestStatus.SUCCESS}, + {name: '요청취소', value: BillingRequestStatus.REQUEST_CANCEL}, +]; +export const processResultBtnGroup = [ + {name: '전체', value: BillingProcessResult.ALL}, + {name: '성공', value: BillingProcessResult.SUCCESS}, + {name: '실패', value: BillingProcessResult.FAILURE}, +]; +export const paymentMethodBtnGroup = [ + {name: '전체', value: BillingPaymentMethod.ALL}, + {name: '신용카드', value: BillingPaymentMethod.CREDIT_CARD}, + {name: '가상계좌', value: BillingPaymentMethod.VIRTUAL_ACCOUNT}, + {name: '휴대폰', value: BillingPaymentMethod.MOBILE_PAYMENT}, +]; diff --git a/src/entities/transaction/model/types.ts b/src/entities/transaction/model/types.ts index cf2a6e9..dc4ceca 100644 --- a/src/entities/transaction/model/types.ts +++ b/src/entities/transaction/model/types.ts @@ -481,8 +481,8 @@ export interface EscrowFilterProps extends FilterProps { endDate: string; deliveryStatus: EscrowDeliveryStatus; settlementStatus: EscrowSettlementStatus; - minAmount: number; - maxAmount: number; + minAmount?: number | string; + maxAmount?: number | string; setMid: (mid: string) => void; setSearchType: (searchType: EscrowSearchType) => void; setSearchKeyword: (searchKeyword: string) => void; diff --git a/src/entities/transaction/ui/filter/billing-filter.tsx b/src/entities/transaction/ui/filter/billing-filter.tsx index 4d51338..3d7c917 100644 --- a/src/entities/transaction/ui/filter/billing-filter.tsx +++ b/src/entities/transaction/ui/filter/billing-filter.tsx @@ -7,6 +7,11 @@ import { FilterSelectInput } from '@/shared/ui/filter/select-input'; import { FilterCalendar } from '@/shared/ui/filter/calendar'; import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; import { FilterRangeAmount } from '@/shared/ui/filter/range-amount'; +import { + requestStatusBtnGroup, + processResultBtnGroup, + paymentMethodBtnGroup +} from '@/entities/transaction/model/contant'; import { BillingFilterProps, BillingPaymentMethod, @@ -85,24 +90,6 @@ export const BillingFilter = ({ {name: 'TID', value: BillingSearchType.TID } ]; - let requestStatusBtnGroup = [ - {name: '전체', value: BillingRequestStatus.ALL}, - {name: '진행중', value: BillingRequestStatus.IN_PROGRESS}, - {name: '성공', value: BillingRequestStatus.SUCCESS}, - {name: '요청취소', value: BillingRequestStatus.REQUEST_CANCEL}, - ]; - let processResultBtnGroup = [ - {name: '전체', value: BillingProcessResult.ALL}, - {name: '성공', value: BillingProcessResult.SUCCESS}, - {name: '실패', value: BillingProcessResult.FAILURE}, - ]; - let paymentMethodBtnGroup = [ - {name: '전체', value: BillingPaymentMethod.ALL}, - {name: '신용카드', value: BillingPaymentMethod.CREDIT_CARD}, - {name: '가상계좌', value: BillingPaymentMethod.VIRTUAL_ACCOUNT}, - {name: '휴대폰', value: BillingPaymentMethod.MOBILE_PAYMENT}, - ]; - useEffect(() => { setFilterRequestStatus(requestStatus); }, [requestStatus]); diff --git a/src/entities/transaction/ui/filter/escrow-filter.tsx b/src/entities/transaction/ui/filter/escrow-filter.tsx index 85505de..f10315a 100644 --- a/src/entities/transaction/ui/filter/escrow-filter.tsx +++ b/src/entities/transaction/ui/filter/escrow-filter.tsx @@ -7,6 +7,10 @@ import { FilterSelectInput } from '@/shared/ui/filter/select-input'; import { FilterCalendar } from '@/shared/ui/filter/calendar'; import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; import { FilterRangeAmount } from '@/shared/ui/filter/range-amount'; +import { + deliveryStatusBtnGroup, + settlementStatusBtnGroup +} from '@/entities/transaction/model/contant'; import { EscrowFilterProps, EscrowSearchType, @@ -80,23 +84,6 @@ export const EscrowFilter = ({ {name: 'TID', value: EscrowSearchType.TID } ]; - let deliveryStatusBtnGroup = [ - {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}, - ]; - let settlementStatusBtnGroup = [ - {name: '전체', value: EscrowSettlementStatus.ALL}, - {name: '신용카드', value: EscrowSettlementStatus.CREDIT_CARD}, - {name: '가상계좌', value: EscrowSettlementStatus.REAL_ACCOUNT}, - {name: '계좌이체', value: EscrowSettlementStatus.ACCOUNT_TRANSFER}, - ]; - useEffect(() => { setFilterDeliveryStatus(deliveryStatus); }, [deliveryStatus]); diff --git a/src/pages/transaction/escrow/list-page.tsx b/src/pages/transaction/escrow/list-page.tsx index 8e9ea21..97c3390 100644 --- a/src/pages/transaction/escrow/list-page.tsx +++ b/src/pages/transaction/escrow/list-page.tsx @@ -9,8 +9,8 @@ import { EscrowListItem, TransactionCategory, SortByKeys, EscrowDeliveryStatus, import { useEscrowListMutation } from '@/entities/transaction/api/use-escrow-list-mutation'; import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation'; import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constants'; -import { Filter } from '@/entities/transaction/ui/filter'; -import { deliveryStatusBtnGroup } from '@/entities/additional-service/model/contant'; +import { EscrowFilter } from '@/entities/transaction/ui/filter/escrow-filter'; +import { deliveryStatusBtnGroup } from '@/entities/transaction/model/contant'; import { SortOptionsBox } from '@/entities/transaction/ui/sort-options-box'; import { HeaderType } from '@/entities/common/model/types'; import { @@ -65,7 +65,7 @@ export const EscrowListPage = () => { } let listParams = { mid: mid, - searchType: searchType, + searchType: 'ORDER_NUMBER', searchKeyword: searchKeyword, startDate: startDate, endDate: endDate, @@ -180,10 +180,28 @@ export const EscrowListPage = () => { - + mid={ mid } + searchType={ searchType } + searchKeyword={searchKeyword } + startDate={ startDate } + endDate={ endDate } + deliveryStatus={ deliveryStatus } + settlementStatus={ settlementStatus } + minAmount={ minAmount } + maxAmount={ maxAmount } + setMid={ setMid } + setSearchType={ setSearchType } + setSearchKeyword={ setSearchKeyword } + setStartDate={ setStartDate } + setEndDate={ setEndDate } + setDeliveryStatus={ setDeliveryStatus } + setSettlementStatus={ setSettlementStatus } + setMinAmount={ setMinAmount } + setMaxAmount={ setMaxAmount } + > ); }; \ No newline at end of file diff --git a/src/shared/ui/filter/button-groups.tsx b/src/shared/ui/filter/button-groups.tsx index f829ebd..02674db 100644 --- a/src/shared/ui/filter/button-groups.tsx +++ b/src/shared/ui/filter/button-groups.tsx @@ -9,24 +9,39 @@ export const FilterButtonGroups = ({ const getBtns = () => { let rs = []; + if(!!btnGroups && btnGroups.length > 0){ - let emptySpanCnt = 4 % btnGroups.length; + console.log(' btnGroups.length : ', btnGroups.length) + let emptySpanCnt = 4 - (btnGroups.length % 4); + let innerList = []; + for(let i=0;i setter(btnGroups[i]?.value || '') } >{ btnGroups[i]?.name } - ) + ); + if((i % 4) === 3 ){ + rs.push( +
{ innerList }
+ ); + innerList = []; + } } - for(let i=0;i 0 && emptySpanCnt < 4){ + for(let i=0;i + ); + } rs.push( - +
{ innerList }
); } } @@ -37,9 +52,7 @@ export const FilterButtonGroups = ({
{ title }
-
- { getBtns() } -
+ { getBtns() }