- 수정사항 적용

This commit is contained in:
HyeonJongKim
2025-11-17 10:39:38 +09:00
parent 6c94b1d039
commit 67a5d91cdb
7 changed files with 65 additions and 28 deletions

View File

@@ -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){

View File

@@ -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",

View File

@@ -745,9 +745,19 @@
"title": "현금영수증",
"detailTitle": "현금영수증 상세",
"manualIssuance": "수기 발행",
"manualIssuanceComplete": "수기 신청이 완료되었습니다.",
"approval": "승인",
"changePurpose": "용도 변경",
"issue": "발행"
"issue": "발행",
"errors": {
"businessNumberRequired": "사업자 번호는 필수 입력 항목 입니다.",
"productNameRequired": "상품명은 필수 입력 항목 입니다.",
"buyerNameRequired": "구매자는 필수 입력 항목 입니다.",
"issueNumberRequired": "발행번호는 필수 입력 항목 입니다.",
"invalidEmailFormat": "이메일 형식이 맞지 않습니다.",
"phoneNumberRequired": "전화번호는 필수 입력 항목 입니다.",
"supplyAmountMinimum": "공급가액은 1원 이상이어야 합니다."
}
},
"escrow": {
"title": "에스크로",

View File

@@ -357,7 +357,7 @@ export const KeyInPaymentRequestPage = () => {
onChange={(e: ChangeEvent<HTMLSelectElement>) => setInstmnt(e.target.value)}
>
<option value="00">{t('additionalService.keyIn.lumpSum')}</option>
{/* {amount >= 50000 && (
{amount >= 50000 && (
<>
<option value="02">2</option>
<option value="03">3</option>
@@ -370,8 +370,20 @@ export const KeyInPaymentRequestPage = () => {
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
</>
)} */}
)}
</select>
</div>
</div>

View File

@@ -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();

View File

@@ -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();

View File

@@ -21,12 +21,12 @@ export const FilterSelectInput = ({
const getSelectOptions = () => {
let rs = [];
for(let i=0;i<selectOptions.length;i++){
for (let i = 0; i < selectOptions.length; i++) {
rs.push(
<option
key={ `key-filter-select-input-${i}` }
value={ selectOptions[i]?.value }
>{ selectOptions[i]?.name }</option>
key={`key-filter-select-input-${i}`}
value={selectOptions[i]?.value}
>{selectOptions[i]?.name}</option>
);
}
return rs;
@@ -34,14 +34,14 @@ export const FilterSelectInput = ({
const onChangeSelect = (e: ChangeEvent<HTMLSelectElement>) => {
let value = e.target.value;
if(!!selectSetter){
if (!!selectSetter) {
selectSetter(value);
}
};
const onChangeInput = (e: ChangeEvent<HTMLInputElement>) => {
let value = e.target.value;
if(!!inputSetter){
if (!!inputSetter) {
inputSetter(value);
}
};
@@ -49,12 +49,12 @@ export const FilterSelectInput = ({
return (
<>
<div className="opt-field">
<div
<div
className="opt-label"
style={{ fontSize: 'var(--fs-14)' }}
>{ title }</div>
<div className="opt-controls">
<select
<select
className="w-110"
value={ selectValue }
onChange={ onChangeSelect }
@@ -64,9 +64,9 @@ export const FilterSelectInput = ({
<input
className="flex-1"
type="text"
style={{ height: '38px'}}
value={ inputValue }
onChange={ onChangeInput }
style={{ height: '38px' }}
value={inputValue}
onChange={onChangeInput}
/>
</div>
</div>