diff --git a/src/entities/transaction/ui/all-transaction-cancel.tsx b/src/entities/transaction/ui/all-transaction-cancel.tsx index 540108a..effd92b 100644 --- a/src/entities/transaction/ui/all-transaction-cancel.tsx +++ b/src/entities/transaction/ui/all-transaction-cancel.tsx @@ -4,7 +4,7 @@ import { FullMenuClose } from '@/entities/common/ui/full-menu-close'; import { useTranslation } from 'react-i18next'; import { AllTransactionAllCancel } from './all-transaction-all-cancel'; import { AllTransactionPartCancel } from './all-transaction-part-cancel'; -import { AllTransactionCancelInfoParams, AllTransactionCancelInfoResponse, AllTransactionCancelParams, AllTransactionCancelResponse, CancelTabKeys, DebtPreventionCancelDisplayInfo, DebtPreventionCancelRequestInfo } from '../model/types'; +import { AllTransactionCancelInfoParams, AllTransactionCancelInfoResponse, AllTransactionCancelParams, CancelTabKeys, DebtPreventionCancelDisplayInfo, DebtPreventionCancelRequestInfo } from '../model/types'; import { useEffect, useState } from 'react'; import { useAllTransactioCancleMutation } from '../api/use-all-transaction-cancel-mutation'; import { useAllTransactioCancleInfoMutation } from '../api/use-all-transaction-cancel-info-mutation'; @@ -132,9 +132,14 @@ export const AllTransactionCancel = ({ isNpg: isNpg, serviceCode: serviceCode }; - transactionCancel(transactionCancelParams).then((rs: AllTransactionCancelResponse) => { + transactionCancel(transactionCancelParams).then((rs: any) => { console.log(rs); - setRequestSuccess(true); + if(rs.resultCode === "2024") { + snackBar(rs.resultMessage); + setRequestSuccess(false); + } else { + setRequestSuccess(true); + } }).catch((e: any) => { setRequestSuccess(false); if(e.response?.data?.error?.message){ diff --git a/src/locales/en.json b/src/locales/en.json index 7a03f45..90385ce 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -745,9 +745,19 @@ "title": "Cash Receipt", "detailTitle": "Cash Receipt Details", "manualIssuance": "Manual Issuance", + "manualIssuanceComplete": "Manual issuance has been completed.", "approval": "Approved", "changePurpose": "Change Purpose", - "issue": "Issue" + "issue": "Issue", + "errors": { + "businessNumberRequired": "Business number is required.", + "productNameRequired": "Product name is required.", + "buyerNameRequired": "Buyer name is required.", + "issueNumberRequired": "Issue number is required.", + "invalidEmailFormat": "Invalid email format.", + "phoneNumberRequired": "Phone number is required.", + "supplyAmountMinimum": "Supply amount must be at least 1 KRW." + } }, "escrow": { "title": "Escrow", diff --git a/src/locales/ko.json b/src/locales/ko.json index c355e79..58a75df 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -745,9 +745,19 @@ "title": "현금영수증", "detailTitle": "현금영수증 상세", "manualIssuance": "수기 발행", + "manualIssuanceComplete": "수기 신청이 완료되었습니다.", "approval": "승인", "changePurpose": "용도 변경", - "issue": "발행" + "issue": "발행", + "errors": { + "businessNumberRequired": "사업자 번호는 필수 입력 항목 입니다.", + "productNameRequired": "상품명은 필수 입력 항목 입니다.", + "buyerNameRequired": "구매자는 필수 입력 항목 입니다.", + "issueNumberRequired": "발행번호는 필수 입력 항목 입니다.", + "invalidEmailFormat": "이메일 형식이 맞지 않습니다.", + "phoneNumberRequired": "전화번호는 필수 입력 항목 입니다.", + "supplyAmountMinimum": "공급가액은 1원 이상이어야 합니다." + } }, "escrow": { "title": "에스크로", diff --git a/src/pages/additional-service/key-in-payment/requeset-page.tsx b/src/pages/additional-service/key-in-payment/requeset-page.tsx index acc4ade..857d64d 100644 --- a/src/pages/additional-service/key-in-payment/requeset-page.tsx +++ b/src/pages/additional-service/key-in-payment/requeset-page.tsx @@ -357,7 +357,7 @@ export const KeyInPaymentRequestPage = () => { onChange={(e: ChangeEvent) => setInstmnt(e.target.value)} > - {/* {amount >= 50000 && ( + {amount >= 50000 && ( <> @@ -370,8 +370,20 @@ export const KeyInPaymentRequestPage = () => { + + + + + + + + + + + + - )} */} + )} diff --git a/src/pages/support/qna/register-page.tsx b/src/pages/support/qna/register-page.tsx index a8b37fe..4c29c00 100644 --- a/src/pages/support/qna/register-page.tsx +++ b/src/pages/support/qna/register-page.tsx @@ -151,8 +151,8 @@ export const QnaRegisterPage = () => { }; const onClickToRegisterQna = () => { - if (!checkGrant(64, 'X')) { - showAlert(t('common.noPermission')); + if (!checkGrant(64, 'W')) { + showAlert(t('common.nopermission')); return; } callRegister(); diff --git a/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx b/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx index 237e715..3284240 100644 --- a/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx +++ b/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx @@ -64,7 +64,7 @@ export const CashReceitHandWrittenIssuancePage = () => { serviceCharge: serviceCharge }; cashReceiptManualIssue(params).then((rs: CashReceiptManualIssueResponse) => { - snackBar('수기 신청이 완료되었습니다.', function(){ + snackBar(t('cashReceipt.manualIssuanceComplete'), function(){ navigate(PATHS.transaction.cashReceipt.list); }, 3000); }).catch((e: any) => { @@ -85,34 +85,34 @@ export const CashReceitHandWrittenIssuancePage = () => { const onClickToChangeTab = () => { if(processStep === ProcessStep.One){ if(!businessNumber){ - showAlert('사업자 번호는 필수 입력 항목 입니다.'); + showAlert(t('cashReceipt.errors.businessNumberRequired')); return; } else if(!productName){ - showAlert('상품명은 필수 입력 항목 입니다.'); + showAlert(t('cashReceipt.errors.productNameRequired')); return; } else if(!buyerName){ - showAlert('구매자는 필수 입력 항목 입니다.'); + showAlert(t('cashReceipt.errors.buyerNameRequired')); return; } else if(!issueNumber){ - showAlert('발행번호는 필수 입력 항목 입니다.'); + showAlert(t('cashReceipt.errors.issueNumberRequired')); return; } else if(email && !checkEmail(email)){ - showAlert('이메일 형식이 맞지 않습니다.'); + showAlert(t('cashReceipt.errors.invalidEmailFormat')); return; } else if(!phoneNumber){ - showAlert('전화번호는 필수 입력 항목 입니다.'); + showAlert(t('cashReceipt.errors.phoneNumberRequired')); return; } setProcessStep(ProcessStep.Two); } else if(processStep === ProcessStep.Two){ if(supplyAmount <= 0){ - showAlert('공급가액은 1원 이상이어야 합니다.'); + showAlert(t('cashReceipt.errors.supplyAmountMinimum')); return; } callManualIssue(); diff --git a/src/shared/ui/filter/select-input.tsx b/src/shared/ui/filter/select-input.tsx index 41313f7..3acd5f8 100644 --- a/src/shared/ui/filter/select-input.tsx +++ b/src/shared/ui/filter/select-input.tsx @@ -21,12 +21,12 @@ export const FilterSelectInput = ({ const getSelectOptions = () => { let rs = []; - for(let i=0;i{ selectOptions[i]?.name } + key={`key-filter-select-input-${i}`} + value={selectOptions[i]?.value} + >{selectOptions[i]?.name} ); } return rs; @@ -34,14 +34,14 @@ export const FilterSelectInput = ({ const onChangeSelect = (e: ChangeEvent) => { let value = e.target.value; - if(!!selectSetter){ + if (!!selectSetter) { selectSetter(value); } }; const onChangeInput = (e: ChangeEvent) => { let value = e.target.value; - if(!!inputSetter){ + if (!!inputSetter) { inputSetter(value); } }; @@ -49,12 +49,12 @@ export const FilterSelectInput = ({ return ( <>
-
{ title }
-