- 자금이체 : 이체신청,결과조회 리스트,상세정보 수정

- 부가서비스 엑셀 다운로드 이메일 바텀시트 추가
This commit is contained in:
HyeonJongKim
2025-10-23 13:47:16 +09:00
parent a60b5ba69e
commit fbc910caf9
15 changed files with 293 additions and 181 deletions

View File

@@ -19,6 +19,7 @@ import {
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 { navigate } = useNavigate();
@@ -28,7 +29,7 @@ export const FundAccountResultDetailPage = () => {
const mid = location.state.mid;
const [detail, setDetail] = useState<ExtensionFundAccountResultDetailResponse>();
const [email, setEmail] = useState<string>('');
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
const { mutateAsync: extensionFundAccountResultDetail } = useExtensionFundAccountResultDetailMutation();
const { mutateAsync: extensionFundAccountDownlaodReceipt } = useExtensionFundAccountDownloadReceiptMutation();
@@ -40,19 +41,27 @@ export const FundAccountResultDetailPage = () => {
};
extensionFundAccountResultDetail(params).then((rs: ExtensionFundAccountResultDetailResponse) => {
console.log(rs.requestDate)
setDetail(rs);
});
};
const onClickToDownload = () => {
let params: ExtensionFundAccountDownloadReceiptParams = {
mid: mid,
tid: tid,
email: email
};
extensionFundAccountDownlaodReceipt(params).then((rs: ExtensionFundAccountDownloadReceiptResponse) => {
console.log(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('자금이체 상세');
@@ -64,6 +73,7 @@ export const FundAccountResultDetailPage = () => {
useEffect(() => {
callDetail();
console.log(detail?.requestDate)
}, []);
return (
@@ -83,7 +93,9 @@ export const FundAccountResultDetailPage = () => {
</span>
</div>
<div className="num-store">{detail?.accountName}({detail?.accountNo})</div>
<div className="num-day"> {moment(detail?.applicationDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss')}</div>
{detail?.applicationDate && (
<div className="num-day"> {moment(detail?.applicationDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss')}</div>
)}
</div>
{/* ✅ resultMessage가 "정상"일 때만 표시 */}
{detail?.resultMessage === '정상' && (
@@ -91,7 +103,7 @@ export const FundAccountResultDetailPage = () => {
<button
type="button"
className="receipt-btn"
onClick={ onClickToDownload }
onClick={ onClickToOpenEmailBottomSheet }
>
<span className="icon-24 download"></span>
<span></span>
@@ -104,19 +116,19 @@ export const FundAccountResultDetailPage = () => {
<ul className="kv-list">
<li className="kv-row">
<span className="k"></span>
<span className="v">{moment(detail?.requsetDate).format('YYYY.MM.DD HH:mm:ss')}</span>
<span className="v">{moment(detail?.requestDate,'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss')}</span>
</li>
<li className="kv-row">
<span className="k"></span>
<span className="v">{moment(detail?.applicationDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss')}</span>
<span className="v">{detail?.applicationDate ? moment(detail?.applicationDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : '-'}</span>
</li>
<li className="kv-row">
<span className="k"></span>
<span className="v">{detail?.resultMessage}</span>
<span className="v">{detail?.resultMessage || '-'}</span>
</li>
<li className="kv-row">
<span className="k"></span>
<span className="v">{detail?.failReason}</span>
<span className="v">{detail?.failReason || '-'}</span>
</li>
<li className="kv-row">
<span className="k"></span>
@@ -147,6 +159,13 @@ export const FundAccountResultDetailPage = () => {
</div>
</div>
</main>
<EmailBottomSheet
bottomSheetOn={emailBottomSheetOn}
setBottomSheetOn={setEmailBottomSheetOn}
imageSave={false}
sendEmail={true}
sendRequest={onSendRequest}
></EmailBottomSheet>
</>
);
};