import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { useTranslation } from 'react-i18next'; 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 { ExtensionFundAccountDownloadReceiptParams, ExtensionFundAccountDownloadReceiptResponse, ExtensionFundAccountResultDetailParams, ExtensionFundAccountResultDetailResponse, } from '@/entities/additional-service/model/fund-account/types'; import moment from 'moment'; import { useExtensionFundAccountResultDetailMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-result-detail-mutation'; import { useExtensionFundAccountDownloadReceiptMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-download-certificate-mutation'; import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; export const FundAccountResultDetailPage = () => { const { t, i18n } = useTranslation(); const { navigate } = useNavigate(); const location = useLocation(); const tid = location.state.tid; const mid = location.state.mid; const [detail, setDetail] = useState(); const [emailBottomSheetOn, setEmailBottomSheetOn] = useState(false); const { mutateAsync: extensionFundAccountResultDetail } = useExtensionFundAccountResultDetailMutation(); const { mutateAsync: extensionFundAccountDownlaodReceipt } = useExtensionFundAccountDownloadReceiptMutation(); const callDetail = () => { let params: ExtensionFundAccountResultDetailParams = { mid: mid, tid: tid, }; extensionFundAccountResultDetail(params).then((rs: ExtensionFundAccountResultDetailResponse) => { console.log(rs.requestDate) setDetail(rs); }); }; const onClickToOpenEmailBottomSheet = () => { setEmailBottomSheetOn(true); }; const onSendRequest = (selectedEmail?: string) => { if (selectedEmail) { let params: ExtensionFundAccountDownloadReceiptParams = { mid: mid, tid: tid, email: selectedEmail }; extensionFundAccountDownlaodReceipt(params).then((rs: ExtensionFundAccountDownloadReceiptResponse) => { console.log('Receipt Download Status:', rs); }); } setEmailBottomSheetOn(false); }; useSetHeaderTitle('자금이체 상세'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { navigate(PATHS.additionalService.fundAccount.resultList); }); useEffect(() => { callDetail(); console.log(detail?.requestDate) }, []); return ( <>
{detail?.accountName}({detail?.accountNo})
{detail?.applicationDate && (
{moment(detail?.applicationDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss')}
)}
{/* ✅ resultMessage가 "정상"일 때만 표시 */} {detail?.resultMessage === '정상' && (
)}
상세 정보
  • 요청일시 {moment(detail?.requestDate,'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss')}
  • 이체일시 {detail?.applicationDate ? moment(detail?.applicationDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : '-'}
  • 이체결과 {detail?.resultMessage || '-'}
  • 실패사유 {detail?.failReason || '-'}
  • 수취인명 {detail?.accountName}
  • 은행 {detail?.bankName}
  • 계좌번호 {detail?.accountNo}
  • MID {mid}
  • 주문번호 {detail?.moid}
  • TID {detail?.tid}
); };