From 06c47f8174f779815946693624538a85ef2e069c Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Wed, 22 Oct 2025 19:22:48 +0900 Subject: [PATCH] bottom sheet --- src/entities/settlement/ui/list-wrap.tsx | 18 +++++++++++++++ src/pages/transaction/billing/list-page.tsx | 23 ++++++++++++++----- .../transaction/cash-receipt/list-page.tsx | 18 ++++++++++++++- src/pages/transaction/escrow/list-page.tsx | 19 ++++++++++++++- 4 files changed, 70 insertions(+), 8 deletions(-) diff --git a/src/entities/settlement/ui/list-wrap.tsx b/src/entities/settlement/ui/list-wrap.tsx index f1021c9..5b22bbf 100644 --- a/src/entities/settlement/ui/list-wrap.tsx +++ b/src/entities/settlement/ui/list-wrap.tsx @@ -30,6 +30,7 @@ import { } from '../model/types'; import { DefaultRequestPagination, SortTypeKeys } from '@/entities/common/model/types'; import { useStore } from '@/shared/model/store'; +import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; export interface ListWrapProps { startDateFromCalendar?: string; @@ -68,6 +69,8 @@ export const ListWrap = ({ const [transactionIds, setTransactionIds] = useState>([]); const [isOpenSummary, setIsOpenSummary] = useState(false); + const [emailBottomSheetOn, setEmailBottomSheetOn] = useState(false); + const { mutateAsync: settlementsHistory } = useSettlementsHistoryMutation(); const { mutateAsync: settlementsHistorySummary} = useSettlementsHistorySummaryMutation(); const { mutateAsync: settlementsTransactionList } = useSettlementsTransactionListMutation(); @@ -287,12 +290,18 @@ export const ListWrap = ({ setFilterOn(!filterOn); }; const onClickToDownloadExcel = () => { + setEmailBottomSheetOn(true); + }; + + const onRequestDownloadExcel = (userEmail?: string) => { // tid??? 확인 필요 + /* downloadExcel({ // tid: tid }).then((rs) => { }); + */ }; return ( @@ -415,6 +424,15 @@ export const ListWrap = ({ setEndDate={ setEndDate } setPaymentMethod={ setPaymentMethod } > + { !!emailBottomSheetOn && + + } ); }; \ No newline at end of file diff --git a/src/pages/transaction/billing/list-page.tsx b/src/pages/transaction/billing/list-page.tsx index 56d6285..73def33 100644 --- a/src/pages/transaction/billing/list-page.tsx +++ b/src/pages/transaction/billing/list-page.tsx @@ -28,6 +28,7 @@ import { useSetHeaderType, useSetFooterMode } from '@/widgets/sub-layout/use-sub-layout'; +import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; export const BillingListPage = () => { const { navigate } = useNavigate(); @@ -50,6 +51,8 @@ export const BillingListPage = () => { const [minAmount, setMinAmount] = useState(); const [maxAmount, setMaxAmount] = useState(); + const [emailBottomSheetOn, setEmailBottomSheetOn] = useState(false); + useSetHeaderTitle('빌링'); useSetHeaderType(HeaderType.LeftArrow); useSetOnBack(() => { @@ -100,12 +103,7 @@ export const BillingListPage = () => { setFilterOn(!filterOn); }; const onClickToDownloadExcel = () => { - // tid??? 확인 필요 - downloadExcel({ - // tid: tid - }).then((rs) => { - - }); + setEmailBottomSheetOn(true); }; const onClickToSort = (sort: SortTypeKeys) => { setSortType(sort); @@ -121,6 +119,10 @@ export const BillingListPage = () => { }); }; + const onRequestDownloadExcel = (userEmail?: string) => { + + }; + useEffect(() => { callList(); }, []); @@ -215,6 +217,15 @@ export const BillingListPage = () => { setMinAmount={ setMinAmount } setMaxAmount={ setMaxAmount } > + { !!emailBottomSheetOn && + + } ); }; \ No newline at end of file diff --git a/src/pages/transaction/cash-receipt/list-page.tsx b/src/pages/transaction/cash-receipt/list-page.tsx index e402796..3fb452a 100644 --- a/src/pages/transaction/cash-receipt/list-page.tsx +++ b/src/pages/transaction/cash-receipt/list-page.tsx @@ -32,6 +32,7 @@ import { import { CashReceiptTransactionTypeBtnGroup } from '@/entities/transaction/model/contant'; import { useStore } from '@/shared/model/store'; import { useCashReceiptSummaryMutation } from '@/entities/transaction/api/use-cash-receipt-summary-mutation'; +import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; export const CashReceiptListPage = () => { const { navigate } = useNavigate(); @@ -55,6 +56,8 @@ export const CashReceiptListPage = () => { const [cancelAmount, setCancelAmount] = useState(0); const [totalCount, setTotalCount] = useState(0); + const [emailBottomSheetOn, setEmailBottomSheetOn] = useState(false); + useSetHeaderTitle('현금영수증'); useSetHeaderType(HeaderType.LeftArrow); useSetOnBack(() => { @@ -104,7 +107,11 @@ export const CashReceiptListPage = () => { setTotalCount(rs.totalCount); }); - }; + } + + const onRequestDownloadExcel = (userEmail?: string) => { + setEmailBottomSheetOn(true); + }; const onClickToOpenFilter = () => { setFilterOn(!filterOn); @@ -262,6 +269,15 @@ export const CashReceiptListPage = () => { setSearchNumberType={ setSearchNumberType } setSearchNumber={ setSearchNumber } > + { !!emailBottomSheetOn && + + } ); }; \ No newline at end of file diff --git a/src/pages/transaction/escrow/list-page.tsx b/src/pages/transaction/escrow/list-page.tsx index 15a0e2d..3c4cca0 100644 --- a/src/pages/transaction/escrow/list-page.tsx +++ b/src/pages/transaction/escrow/list-page.tsx @@ -27,6 +27,7 @@ import { useSetHeaderType, useSetFooterMode } from '@/widgets/sub-layout/use-sub-layout'; +import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; export const EscrowListPage = () => { const { navigate } = useNavigate(); @@ -46,7 +47,9 @@ export const EscrowListPage = () => { const [deliveryStatus, setDeliveryStatus] = useState(EscrowDeliveryStatus.ALL); const [settlementStatus, setSettlementStatus] = useState(EscrowSettlementStatus.ALL); const [minAmount, setMinAmount] = useState(); - const [maxAmount, setMaxAmount] = useState(); + const [maxAmount, setMaxAmount] = useState(); + + const [emailBottomSheetOn, setEmailBottomSheetOn] = useState(false); useSetHeaderTitle('에스크로'); useSetHeaderType(HeaderType.LeftArrow); @@ -97,12 +100,17 @@ export const EscrowListPage = () => { setFilterOn(!filterOn); }; const onClickToDownloadExcel = () => { + setEmailBottomSheetOn(true); + }; + const onRequestDownloadExcel = (userEmail?: string) => { // tid??? 확인 필요 + /* downloadExcel({ // tid: tid }).then((rs) => { }); + */ }; const onClickToSort = (sort: SortTypeKeys) => { setSortType(sort); @@ -210,6 +218,15 @@ export const EscrowListPage = () => { setMinAmount={ setMinAmount } setMaxAmount={ setMaxAmount } > + { !!emailBottomSheetOn && + + } ); }; \ No newline at end of file