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, FundAccountStatus } from '@/entities/additional-service/model/fund-account/types'; import { getFundAccountStatusName } from '@/entities/additional-service/model/fund-account/constant'; 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) => { console.log("FundAccountTransferDetail : " + rs.registDate) setDetail(rs); }); }; useSetHeaderTitle('자금이체 상세'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { navigate(PATHS.additionalService.fundAccount.transferList); }); useEffect(() => { callDetail(); }, []); const onClickToRequest = () => { if (!detail) { alert('상세 정보를 불러오는 중입니다.'); return; } let params: ExtensionFundAccountTransferRequestParams = { mid: mid, bankCode: detail.bankCode || '', accountNo: detail.accountNo || '', accountName: detail.accountName || '', amount: detail.amount || 0, moid: detail.moid || '' }; extensionFundAccountTransferRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { console.log(rs) alert(rs.status ? '이체 요청이 완료되었습니다.' : '이체 요청에 실패했습니다.'); navigate(PATHS.additionalService.fundAccount.transferList); }); }; return ( <>
{detail?.amount}({detail?.accountName})
{detail?.registDate ? moment(detail.registDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD') : '-'}
상세 정보
  • 등록일시 {detail?.registDate ? moment(detail.registDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : '-'}
  • 처리결과 {getFundAccountStatusName(detail?.resultStatus) || '-'}
  • 요청일자 {detail?.requestDate ? moment(detail.requestDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : '-'}
  • 이체결과 {detail?.resultMessage || '-'}
  • 수취인명 {detail?.accountName}
  • 은행 {detail?.bankCode}
  • 계좌번호 {detail?.accountNo}
  • MID {detail?.mid}
); };