From 9c84991e938cecd347646bd8b290a05877c4dd77 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Tue, 23 Sep 2025 14:08:57 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=90=EA=B8=88=EC=9D=B4=EC=B2=B4=20?= =?UTF-8?q?=EC=9D=B4=EC=B2=B4=EC=8B=A0=EC=B2=AD=20=EC=83=81=EC=84=B8=20?= =?UTF-8?q?=EB=B0=8F=20=EC=9D=B4=EC=B2=B4=20=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/fund-account/types.ts | 12 +- .../ui/fund-account/transfer-list-wrap.tsx | 10 +- .../additional-service/ui/list-item.tsx | 8 +- .../additional-service-pages.tsx | 2 + .../fund-account/transfer-detail-page.tsx | 136 +++++++++++++++++- .../fund-account/transfer-request-page.tsx | 124 +++++++++++++++- .../additional-service/payout/detail-page.tsx | 4 +- 7 files changed, 283 insertions(+), 13 deletions(-) diff --git a/src/entities/additional-service/model/fund-account/types.ts b/src/entities/additional-service/model/fund-account/types.ts index 736f839..5bb4c34 100644 --- a/src/entities/additional-service/model/fund-account/types.ts +++ b/src/entities/additional-service/model/fund-account/types.ts @@ -16,12 +16,12 @@ export enum FundAccountReceiveAccountNameNo { export interface ExtensionFundAccountTransferRequestParams { - mid: string; - transferAmount: number; - receiveBankCode: string; - receiveAccountNo: string; - receiveAccountName: string; - transferMemo: string; + mid?: string; + transferAmount?: number; + receiveBankCode?: string; + receiveAccountNo?: string; + receiveAccountName?: string; + transferMemo?: string; }; export interface ExtensionFundAccountTransferRequestResponse { tid: string; diff --git a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx index d8e2ca7..565fe3e 100644 --- a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx @@ -24,6 +24,7 @@ import { FundAccountStatusBtnGroup } from '../../model/fund-account/constant'; import { useExtensionFundAccountBalanceMutation } from '../../api/fund-account/use-extension-fund-account-balance-mutation'; import { NumericFormat } from 'react-number-format'; import { FundAccountTransactionFilter } from '../filter/fund-account-trnasaction-filter'; +import { PATHS } from '@/shared/constants/paths'; export const FundAccountTransferListWrap = () => { const { navigate } = useNavigate(); @@ -148,6 +149,10 @@ export const FundAccountTransferListWrap = () => { callBalance(); }, []); + const onClickToNavigate = () => { + navigate(PATHS.additionalService.fundAccount.transferRequest); + }; + return ( <>
@@ -224,7 +229,10 @@ export const FundAccountTransferListWrap = () => { { getListDateGroup() }
- +
{ } /> + } /> } /> } /> diff --git a/src/pages/additional-service/fund-account/transfer-detail-page.tsx b/src/pages/additional-service/fund-account/transfer-detail-page.tsx index 1a793e1..b167dab 100644 --- a/src/pages/additional-service/fund-account/transfer-detail-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-detail-page.tsx @@ -1,3 +1,137 @@ -export const FundAccountTransferDetail = () => { +import { PATHS } from '@/shared/constants/paths'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; +import { HeaderType } from '@/entities/common/model/types'; +import { + useSetHeaderTitle, + useSetHeaderType, + useSetFooterMode, + useSetOnBack +} from '@/widgets/sub-layout/use-sub-layout'; +import { useLocation } from 'react-router'; +import { useEffect, useState } from 'react'; +import { NumericFormat } from 'react-number-format'; +import { useExtensionFundAccountTransferDetailMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-detail-mutation'; +import { ExtensionFundAccountTransferDetailParams, ExtensionFundAccountTransferDetailResponse, ExtensionFundAccountTransferRequestParams, ExtensionFundAccountTransferRequestResponse } from '@/entities/additional-service/model/fund-account/types'; +import moment from 'moment'; +import { useExtensionFundAccountTransferRequestMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation'; +export const FundAccountTransferDetailPage = () => { + const { navigate } = useNavigate(); + const location = useLocation(); + + const tid = location.state.tid; + const mid = location.state.mid; + + const [detail, setDetail] = useState(); + + const { mutateAsync: extensionFundAccountTransferDetail } = useExtensionFundAccountTransferDetailMutation(); + const { mutateAsync: extensionFundAccountTransferRequest } = useExtensionFundAccountTransferRequestMutation(); + + const callDetail = () => { + let params: ExtensionFundAccountTransferDetailParams = { + tid: tid, + mid: mid, + }; + + extensionFundAccountTransferDetail(params).then((rs: ExtensionFundAccountTransferDetailResponse) => { + setDetail(rs); + }); + }; + + useSetHeaderTitle('자금이체 상세'); + useSetHeaderType(HeaderType.LeftArrow); + useSetFooterMode(false); + useSetOnBack(() => { + navigate(PATHS.additionalService.fundAccount.transferList); + }); + + useEffect(() => { + callDetail(); + }, []); + + const onClickToRequest = () =>{ + let params: ExtensionFundAccountTransferRequestParams = { + mid: mid, + transferAmount: detail?.transferAmount, + receiveBankCode: detail?.receiveBankName, + receiveAccountNo: detail?.receiveAccountNo, + receiveAccountName: detail?.receiveAccountName, + transferMemo: '' + }; + extensionFundAccountTransferRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { + console.log(rs) + alert(rs.message); + navigate(PATHS.additionalService.fundAccount.transferList); + }); + }; + + return ( + <> +
+
+
+
+
+ + + +
+
나이스테스트가맹점
+
2025.08.19
+
+
+
+
상세 정보
+
    +
  • + 등록일시 + { moment(detail?.processDate).format('YYYY.MM.DD') } +
  • +
  • + 처리결과 + { detail?.status } +
  • +
  • + 요청일자 + { moment(detail?.requestDate).format('YYYY.MM.DD') } +
  • +
  • + 이체결과 + { detail?.status } +
  • +
  • + 수취인명 + { detail?.receiveAccountName } +
  • +
  • + 은행 + { detail?.receiveBankName } +
  • +
  • + 계좌번호 + { detail?.receiveAccountNo } +
  • +
  • + MID + { mid } +
  • + +
+
+
+ +
+
+
+
+ + ); }; \ No newline at end of file diff --git a/src/pages/additional-service/fund-account/transfer-request-page.tsx b/src/pages/additional-service/fund-account/transfer-request-page.tsx index 5605b68..82b387c 100644 --- a/src/pages/additional-service/fund-account/transfer-request-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-request-page.tsx @@ -1,6 +1,126 @@ -export const FundAccountTransferRequestPage = () => { +import { PATHS } from '@/shared/constants/paths'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; +import { HeaderType } from '@/entities/common/model/types'; +import { + useSetHeaderTitle, + useSetHeaderType, + useSetFooterMode, + useSetOnBack +} from '@/widgets/sub-layout/use-sub-layout'; +import { useState } from 'react'; +import { useExtensionFundAccountTransferRequestMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation'; +import { ExtensionFundAccountTransferRequestParams, ExtensionFundAccountTransferRequestResponse } from '@/entities/additional-service/model/fund-account/types'; + +export const FundAccountTransferRequestPage = () => { + const { navigate } = useNavigate(); + + const [mid, setMid] = useState('nictest001m') + const [transferAmount, setTransferAmount] = useState(0); + const [receiveBankCode, setReceiveBankCode] = useState(''); + const [receiveAccountNo, setReceiveAccountNo] = useState(''); + const [receiveAccountName, setReceiveAccountName] = useState(''); + const [transferMemo, setTransferMemo] = useState(''); + + const { mutateAsync: extensionFundAccountRequest } = useExtensionFundAccountTransferRequestMutation(); + + useSetHeaderTitle('자금이체 이체등록'); + useSetHeaderType(HeaderType.RightClose); + useSetFooterMode(false); + useSetOnBack(() => { + navigate(PATHS.additionalService.fundAccount.transferList); + }); + + const callExtensionFundAccountTransferRequest = () => { + let params: ExtensionFundAccountTransferRequestParams = { + mid: mid, + transferAmount: transferAmount, + receiveBankCode: receiveBankCode, + receiveAccountNo: receiveAccountNo, + receiveAccountName: receiveAccountName, + transferMemo: transferMemo + }; + extensionFundAccountRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { + navigate(PATHS.additionalService.payout.list); + }); + }; + return ( - <> + <> +
+
+
+
+
+
+
서브ID
+
+ +
+
+
+
은행
+
+ +
+
+
+
계좌번호
+
+ setReceiveAccountNo(e.target.value) } + /> +
+
+
+
예금주명
+
+ setReceiveAccountName(e.target.value) } + /> +
+
+
+
이체금액
+
+ setTransferAmount(parseInt(e.target.value)) } + /> +
+
+
+
주문번호
+
+ +
+
+
+
입금인자
+
+ +
+
+
+
+
+
+
+
+ +
+ ); }; \ No newline at end of file diff --git a/src/pages/additional-service/payout/detail-page.tsx b/src/pages/additional-service/payout/detail-page.tsx index a3a8ce4..b45b48e 100644 --- a/src/pages/additional-service/payout/detail-page.tsx +++ b/src/pages/additional-service/payout/detail-page.tsx @@ -26,7 +26,7 @@ export const PayoutDetailPage = () => { const { mutateAsync: extensionPayoutDetail } = useExtensionPayoutDetailMutation(); const { mutateAsync: extensionPayoutDetailDownloadCertification } = useExtensionPayoutDetailDownloadCertificateMutation(); - const callSettlementDetail = () => { + const callDetail = () => { let params: ExtensionPayoutDetailParams = { tid: tid, mid: mid, @@ -55,7 +55,7 @@ export const PayoutDetailPage = () => { }; useEffect(() => { - callSettlementDetail(); + callDetail(); }, []); return (