- SMS,지급대행 다국어 문자 수정
This commit is contained in:
@@ -13,190 +13,190 @@ import { checkGrant } from '@/shared/lib/check-grant';
|
|||||||
import { snackBar } from '@/shared/lib';
|
import { snackBar } from '@/shared/lib';
|
||||||
|
|
||||||
export interface PayoutDetailProps {
|
export interface PayoutDetailProps {
|
||||||
detailOn: boolean;
|
detailOn: boolean;
|
||||||
setDetailOn: (detailOn: boolean) => void;
|
setDetailOn: (detailOn: boolean) => void;
|
||||||
mid: string;
|
mid: string;
|
||||||
tid: string;
|
tid: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const PayoutDetail = ({
|
export const PayoutDetail = ({
|
||||||
detailOn,
|
detailOn,
|
||||||
setDetailOn,
|
setDetailOn,
|
||||||
mid,
|
mid,
|
||||||
tid
|
tid
|
||||||
}: PayoutDetailProps) => {
|
}: PayoutDetailProps) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const [detail, setDetail] = useState<ExtensionPayoutDetailResponse>();
|
const [detail, setDetail] = useState<ExtensionPayoutDetailResponse>();
|
||||||
|
|
||||||
const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState<boolean>(false);
|
|
||||||
|
|
||||||
const { mutateAsync: extensionPayoutDetail } = useExtensionPayoutDetailMutation();
|
const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState<boolean>(false);
|
||||||
const { mutateAsync: extensionPayoutDetailDownloadCertification } = useExtensionPayoutDetailDownloadCertificateMutation();
|
|
||||||
|
|
||||||
const callDetail = () => {
|
const { mutateAsync: extensionPayoutDetail } = useExtensionPayoutDetailMutation();
|
||||||
let params: ExtensionPayoutDetailParams = {
|
const { mutateAsync: extensionPayoutDetailDownloadCertification } = useExtensionPayoutDetailDownloadCertificateMutation();
|
||||||
tid: tid,
|
|
||||||
mid: mid,
|
|
||||||
};
|
|
||||||
extensionPayoutDetail(params).then((rs: ExtensionPayoutDetailResponse) => {
|
|
||||||
setDetail(rs);
|
|
||||||
}).catch((e: any) => {
|
|
||||||
if(e.response?.data?.error?.message){
|
|
||||||
snackBar(e.response?.data?.error?.message);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const onClickToOpenDownloadBottomSheet = () => {
|
const callDetail = () => {
|
||||||
if(!checkGrant(53, 'D')){
|
let params: ExtensionPayoutDetailParams = {
|
||||||
showAlert(t('common.nopermission'));
|
tid: tid,
|
||||||
return;
|
mid: mid,
|
||||||
}
|
};
|
||||||
setDownloadBottomSheetOn(true);
|
extensionPayoutDetail(params).then((rs: ExtensionPayoutDetailResponse) => {
|
||||||
};
|
setDetail(rs);
|
||||||
|
}).catch((e: any) => {
|
||||||
|
if (e.response?.data?.error?.message) {
|
||||||
|
snackBar(e.response?.data?.error?.message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const onRequestDownload = (
|
const onClickToOpenDownloadBottomSheet = () => {
|
||||||
selectedMode: DownloadSelectedMode,
|
if (!checkGrant(53, 'D')) {
|
||||||
userEmail?: string
|
showAlert(t('common.nopermission'));
|
||||||
) => {
|
return;
|
||||||
if(selectedMode === DownloadSelectedMode.IMAGE){
|
}
|
||||||
const params: ExtensionPayoutDetailDownloadCertificateParams = {
|
setDownloadBottomSheetOn(true);
|
||||||
mid: mid,
|
};
|
||||||
tid: tid,
|
|
||||||
requestType: 'IMAGE',
|
|
||||||
email: ''
|
|
||||||
};
|
|
||||||
extensionPayoutDetailDownloadCertification(params).then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
|
|
||||||
console.log('Certificate Download Status:', rs);
|
|
||||||
}).catch((error) => {
|
|
||||||
console.error('Certificate Download Failed:', error);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else if(selectedMode === DownloadSelectedMode.EMAIL
|
|
||||||
&& userEmail
|
|
||||||
){
|
|
||||||
const params: ExtensionPayoutDetailDownloadCertificateParams = {
|
|
||||||
mid: mid,
|
|
||||||
tid: tid,
|
|
||||||
requestType: 'EMAIL',
|
|
||||||
email: userEmail
|
|
||||||
};
|
|
||||||
extensionPayoutDetailDownloadCertification(params).then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
|
|
||||||
console.log('Certificate Download Status:', rs);
|
|
||||||
}).catch((error) => {
|
|
||||||
console.error('Certificate Download Failed:', error);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const onClickToClose = () => {
|
const onRequestDownload = (
|
||||||
setDetailOn(false);
|
selectedMode: DownloadSelectedMode,
|
||||||
};
|
userEmail?: string
|
||||||
|
) => {
|
||||||
|
if (selectedMode === DownloadSelectedMode.IMAGE) {
|
||||||
|
const params: ExtensionPayoutDetailDownloadCertificateParams = {
|
||||||
|
mid: mid,
|
||||||
|
tid: tid,
|
||||||
|
requestType: selectedMode,
|
||||||
|
email: ''
|
||||||
|
};
|
||||||
|
extensionPayoutDetailDownloadCertification(params).then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
|
||||||
|
console.log('Certificate Download Status:', rs);
|
||||||
|
}).catch((error) => {
|
||||||
|
console.error('Certificate Download Failed:', error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else if (selectedMode === DownloadSelectedMode.EMAIL
|
||||||
|
&& userEmail
|
||||||
|
) {
|
||||||
|
const params: ExtensionPayoutDetailDownloadCertificateParams = {
|
||||||
|
mid: mid,
|
||||||
|
tid: tid,
|
||||||
|
requestType: 'EMAIL',
|
||||||
|
email: userEmail
|
||||||
|
};
|
||||||
|
extensionPayoutDetailDownloadCertification(params).then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
|
||||||
|
console.log('Certificate Download Status:', rs);
|
||||||
|
}).catch((error) => {
|
||||||
|
console.error('Certificate Download Failed:', error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
const onClickToClose = () => {
|
||||||
if (!!mid && !!tid) {
|
setDetailOn(false);
|
||||||
callDetail();
|
};
|
||||||
}
|
|
||||||
}, [mid, tid]);
|
|
||||||
|
|
||||||
return (
|
useEffect(() => {
|
||||||
<>
|
if (!!mid && !!tid) {
|
||||||
<motion.div
|
callDetail();
|
||||||
className="full-menu-modal"
|
}
|
||||||
initial="hidden"
|
}, [mid, tid]);
|
||||||
animate={(detailOn) ? 'visible' : 'hidden'}
|
|
||||||
variants={DetailMotionVariants}
|
return (
|
||||||
transition={DetailMotionDuration}
|
<>
|
||||||
style={DetailMotionStyle}
|
<motion.div
|
||||||
>
|
className="full-menu-modal"
|
||||||
<div className="full-menu-container pdw-16">
|
initial="hidden"
|
||||||
<div className="full-menu-header">
|
animate={(detailOn) ? 'visible' : 'hidden'}
|
||||||
<div className="full-menu-title center">{t('additionalService.payout.detailTitle')}</div>
|
variants={DetailMotionVariants}
|
||||||
<div className="full-menu-actions">
|
transition={DetailMotionDuration}
|
||||||
<FullMenuClose
|
style={DetailMotionStyle}
|
||||||
addClass="full-menu-close"
|
>
|
||||||
onClickToCallback={onClickToClose}
|
<div className="full-menu-container pdw-16">
|
||||||
></FullMenuClose>
|
<div className="full-menu-header">
|
||||||
</div>
|
<div className="full-menu-title center">{t('additionalService.payout.detailTitle')}</div>
|
||||||
</div>
|
<div className="full-menu-actions">
|
||||||
<div className="pay-top">
|
<FullMenuClose
|
||||||
<div className="num-amount">
|
addClass="full-menu-close"
|
||||||
<span className="amount">
|
onClickToCallback={onClickToClose}
|
||||||
{t('home.money', { value: new Intl.NumberFormat('en-US').format(detail?.disbursementAmount || 0) })}
|
></FullMenuClose>
|
||||||
</span>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="num-store">{detail?.companyName}</div>
|
<div className="pay-top">
|
||||||
<div className="num-day">{moment(detail?.settlementDate).format('YYYY.MM.DD')}</div>
|
<div className="num-amount">
|
||||||
<div className="receipt-row">
|
<span className="amount">
|
||||||
<button
|
{t('home.money', { value: new Intl.NumberFormat('en-US').format(detail?.disbursementAmount || 0) })}
|
||||||
className="receipt-btn"
|
</span>
|
||||||
type="button"
|
</div>
|
||||||
onClick={ onClickToOpenDownloadBottomSheet }
|
<div className="num-store">{detail?.companyName}</div>
|
||||||
>
|
<div className="num-day">{moment(detail?.settlementDate).format('YYYY.MM.DD')}</div>
|
||||||
<span className="icon-24 download"></span>
|
<div className="receipt-row">
|
||||||
<span>{t('additionalService.payout.depositCertificate')}</span>
|
<button
|
||||||
</button>
|
className="receipt-btn"
|
||||||
</div>
|
type="button"
|
||||||
</div>
|
onClick={onClickToOpenDownloadBottomSheet}
|
||||||
<div className="detail-divider"></div>
|
>
|
||||||
<div className="pay-detail">
|
<span className="icon-24 download"></span>
|
||||||
<div className="detail-title">{t('additionalService.payout.detailInfo')}</div>
|
<span>{t('additionalService.payout.depositCertificate')}</span>
|
||||||
<ul className="kv-list">
|
</button>
|
||||||
<li className="kv-row">
|
</div>
|
||||||
<span className="k">{t('additionalService.payout.disbursementStatus')}</span>
|
</div>
|
||||||
<span className="v">{detail?.disbursementStatus}</span>
|
<div className="detail-divider"></div>
|
||||||
</li>
|
<div className="pay-detail">
|
||||||
<li className="kv-row">
|
<div className="detail-title">{t('additionalService.payout.detailInfo')}</div>
|
||||||
<span className="k">{t('additionalService.payout.transactionType')}</span>
|
<ul className="kv-list">
|
||||||
<span className="v">{detail?.transTypeName}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.disbursementStatus')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{detail?.disbursementStatus}</span>
|
||||||
<span className="k">{t('common.requestDate')}</span>
|
</li>
|
||||||
<span className="v">{moment(detail?.requestDate).format('YYYY.MM.DD')}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.transactionType')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{detail?.transTypeName}</span>
|
||||||
<span className="k">{t('additionalService.payout.disbursementDateTime')}</span>
|
</li>
|
||||||
<span className="v">{detail?.settlementDateTime ? moment(detail?.settlementDateTime, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : ""}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('common.requestDate')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{moment(detail?.requestDate).format('YYYY.MM.DD')}</span>
|
||||||
<span className="k">{t('additionalService.payout.businessNumber')}</span>
|
</li>
|
||||||
<span className="v">{detail?.companyNo}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.disbursementDateTime')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{detail?.settlementDateTime ? moment(detail?.settlementDateTime, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : ""}</span>
|
||||||
<span className="k">{t('additionalService.payout.accountHolder')}</span>
|
</li>
|
||||||
<span className="v">{detail?.accountName}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.businessNumber')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{detail?.companyNo}</span>
|
||||||
<span className="k">{t('additionalService.payout.bank')}</span>
|
</li>
|
||||||
<span className="v">{detail?.bankName}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.accountHolder')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{detail?.accountName}</span>
|
||||||
<span className="k">{t('additionalService.payout.accountNumber')}</span>
|
</li>
|
||||||
<span className="v">{detail?.accountNo}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.bank')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{detail?.bankName}</span>
|
||||||
<span className="k">{t('additionalService.payout.depositor')}</span>
|
</li>
|
||||||
<span className="v">{detail?.depositName}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.accountNumber')}</span>
|
||||||
<li className="kv-row">
|
<span className="v">{detail?.accountNo}</span>
|
||||||
<span className="k">{t('additionalService.payout.failureReason')}</span>
|
</li>
|
||||||
<span className="v">{detail?.failReason}</span>
|
<li className="kv-row">
|
||||||
</li>
|
<span className="k">{t('additionalService.payout.depositor')}</span>
|
||||||
</ul>
|
<span className="v">{detail?.depositName}</span>
|
||||||
</div>
|
</li>
|
||||||
</div>
|
<li className="kv-row">
|
||||||
{ !!downloadBottomSheetOn &&
|
<span className="k">{t('additionalService.payout.failureReason')}</span>
|
||||||
<DownloadBottomSheet
|
<span className="v">{detail?.failReason}</span>
|
||||||
bottomSheetOn={ downloadBottomSheetOn }
|
</li>
|
||||||
setBottomSheetOn={ setDownloadBottomSheetOn }
|
</ul>
|
||||||
imageMode={ false }
|
</div>
|
||||||
emailMode={ true }
|
</div>
|
||||||
sendRequest={ onRequestDownload }
|
{!!downloadBottomSheetOn &&
|
||||||
/>
|
<DownloadBottomSheet
|
||||||
}
|
bottomSheetOn={downloadBottomSheetOn}
|
||||||
</motion.div>
|
setBottomSheetOn={setDownloadBottomSheetOn}
|
||||||
</>
|
imageMode={true}
|
||||||
);
|
emailMode={true}
|
||||||
|
sendRequest={onRequestDownload}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
</motion.div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
@@ -99,7 +99,7 @@ export const SmsPaymentDetailResend = ({
|
|||||||
onClick={onClickResend}
|
onClick={onClickResend}
|
||||||
disabled={!smsDetailData?.sendMessage}
|
disabled={!smsDetailData?.sendMessage}
|
||||||
>
|
>
|
||||||
{t('common.request')}
|
{t('additionalService.sms.smsResendButton')}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|||||||
@@ -933,6 +933,7 @@
|
|||||||
"virtualAccountRequest": "Virtual Account Request",
|
"virtualAccountRequest": "Virtual Account Request",
|
||||||
"virtualAccountRequestDeposit": "Virtual Account Request + Deposit",
|
"virtualAccountRequestDeposit": "Virtual Account Request + Deposit",
|
||||||
"smsDetailAndResend": "SMS Details & Resend",
|
"smsDetailAndResend": "SMS Details & Resend",
|
||||||
|
"smsResendButton": "Resend",
|
||||||
"sender": "Sender (Number)",
|
"sender": "Sender (Number)",
|
||||||
"receiver": "Receiver (Number)",
|
"receiver": "Receiver (Number)",
|
||||||
"sendSuccess": "SMS sent successfully.",
|
"sendSuccess": "SMS sent successfully.",
|
||||||
@@ -1204,7 +1205,7 @@
|
|||||||
"paymentComplete": "Payment Complete",
|
"paymentComplete": "Payment Complete",
|
||||||
"paymentFailed": "Payment Failed",
|
"paymentFailed": "Payment Failed",
|
||||||
"paymentStopped": "Payment Stopped/Inactive",
|
"paymentStopped": "Payment Stopped/Inactive",
|
||||||
"applyRequest": "Request",
|
"applyRequest": "Payment Request",
|
||||||
"noData": "No data available",
|
"noData": "No data available",
|
||||||
"phoneNumber": "Phone Number",
|
"phoneNumber": "Phone Number",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
|
|||||||
@@ -933,6 +933,7 @@
|
|||||||
"virtualAccountRequest": "가상계좌 요청",
|
"virtualAccountRequest": "가상계좌 요청",
|
||||||
"virtualAccountRequestDeposit": "가상계좌 요청 + 입금",
|
"virtualAccountRequestDeposit": "가상계좌 요청 + 입금",
|
||||||
"smsDetailAndResend": "SMS 상세 & 재발송",
|
"smsDetailAndResend": "SMS 상세 & 재발송",
|
||||||
|
"smsResendButton": "재발송",
|
||||||
"sender": "발신자(번호)",
|
"sender": "발신자(번호)",
|
||||||
"receiver": "수신자(번호)",
|
"receiver": "수신자(번호)",
|
||||||
"sendSuccess": "SMS 발송을 성공하였습니다.",
|
"sendSuccess": "SMS 발송을 성공하였습니다.",
|
||||||
@@ -1040,8 +1041,8 @@
|
|||||||
"processingResult": "처리결과",
|
"processingResult": "처리결과",
|
||||||
"balance": "잔액",
|
"balance": "잔액",
|
||||||
"won": "원",
|
"won": "원",
|
||||||
"transferRegistration": "송금등록",
|
"transferRegistration": "이체 등록",
|
||||||
"transferRegistrationNotice": "송금등록 후 별도의 '이체요청' 처리가 필요하며, 요청하지 않을 경우 이체가 진행되지 않습니다.",
|
"transferRegistrationNotice": "이체 등록 후 별도의 '이체요청' 처리가 필요하며, 요청하지 않을 경우 이체가 진행되지 않습니다.",
|
||||||
"resultInquiry": "결과조회",
|
"resultInquiry": "결과조회",
|
||||||
"tabTransferRequest": "이체요청",
|
"tabTransferRequest": "이체요청",
|
||||||
"tabResultInquiry": "결과조회",
|
"tabResultInquiry": "결과조회",
|
||||||
@@ -1108,7 +1109,7 @@
|
|||||||
"payout": {
|
"payout": {
|
||||||
"title": "지급대행",
|
"title": "지급대행",
|
||||||
"detailTitle": "지급대행 상세",
|
"detailTitle": "지급대행 상세",
|
||||||
"requestTitle": "지급대행 요청",
|
"requestTitle": "지급대행 신청",
|
||||||
"requestDate": "요청일자",
|
"requestDate": "요청일자",
|
||||||
"disbursementDate": "지급일자",
|
"disbursementDate": "지급일자",
|
||||||
"paymentStatus": "지급 상태",
|
"paymentStatus": "지급 상태",
|
||||||
@@ -1204,7 +1205,7 @@
|
|||||||
"paymentComplete": "결제완료",
|
"paymentComplete": "결제완료",
|
||||||
"paymentFailed": "결제실패",
|
"paymentFailed": "결제실패",
|
||||||
"paymentStopped": "결제중단/비활성화",
|
"paymentStopped": "결제중단/비활성화",
|
||||||
"applyRequest": "요청",
|
"applyRequest": "결제 신청",
|
||||||
"noData": "데이터가 없습니다",
|
"noData": "데이터가 없습니다",
|
||||||
"phoneNumber": "휴대폰번호",
|
"phoneNumber": "휴대폰번호",
|
||||||
"email": "이메일",
|
"email": "이메일",
|
||||||
|
|||||||
Reference in New Issue
Block a user