diff --git a/src/entities/common/model/types.ts b/src/entities/common/model/types.ts index 8e1395a..4d1529c 100644 --- a/src/entities/common/model/types.ts +++ b/src/entities/common/model/types.ts @@ -1,3 +1,7 @@ +export enum SuccessResult { + SUCCESS = 'SUCCESS', + FAIL = 'FAIL' +}; export interface DefaultRequestPagination { cursor: string; size: number; diff --git a/src/entities/transaction/api/use-cash-receipt-manual-issue.ts b/src/entities/transaction/api/use-cash-receipt-manual-issue.ts new file mode 100644 index 0000000..e530cdb --- /dev/null +++ b/src/entities/transaction/api/use-cash-receipt-manual-issue.ts @@ -0,0 +1,29 @@ +import axios from 'axios'; +import { API_URL } from '@/shared/api/urls'; +import { resultify } from '@/shared/lib/resultify'; +import { CBDCAxiosError } from '@/shared/@types/error'; +import { + CashReceiptManualIssueParams, + CashReceiptManualIssueResponse +} from '../model/types'; +import { + useMutation, + UseMutationOptions +} from '@tanstack/react-query'; + +export const cashReceiptManualIssue = (params: CashReceiptManualIssueParams) => { + return resultify( + axios.post(API_URL.cashReceiptManualIssue(), params), + ); +}; + +export const useCashReceiptManualIssueMutation = (options?: UseMutationOptions) => { + const mutation = useMutation({ + ...options, + mutationFn: (params: CashReceiptManualIssueParams) => cashReceiptManualIssue(params), + }); + + return { + ...mutation, + }; +}; diff --git a/src/entities/transaction/api/use-cash-receipt-purpose-update.ts b/src/entities/transaction/api/use-cash-receipt-purpose-update.ts new file mode 100644 index 0000000..1b0843c --- /dev/null +++ b/src/entities/transaction/api/use-cash-receipt-purpose-update.ts @@ -0,0 +1,29 @@ +import axios from 'axios'; +import { API_URL } from '@/shared/api/urls'; +import { resultify } from '@/shared/lib/resultify'; +import { CBDCAxiosError } from '@/shared/@types/error'; +import { + CashReceiptPurposeUpdateParams, + CashReceiptPurposeUpdateResponse +} from '../model/types'; +import { + useMutation, + UseMutationOptions +} from '@tanstack/react-query'; + +export const cashReceiptPurposeUpdate = (params: CashReceiptPurposeUpdateParams) => { + return resultify( + axios.post(API_URL.cashReceiptPurposeUpdate(), params), + ); +}; + +export const useCashReceiptPurposeUpdateMutation = (options?: UseMutationOptions) => { + const mutation = useMutation({ + ...options, + mutationFn: (params: CashReceiptPurposeUpdateParams) => cashReceiptPurposeUpdate(params), + }); + + return { + ...mutation, + }; +}; diff --git a/src/entities/transaction/model/types.ts b/src/entities/transaction/model/types.ts index bc6edb5..01736f6 100644 --- a/src/entities/transaction/model/types.ts +++ b/src/entities/transaction/model/types.ts @@ -1,4 +1,4 @@ -import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types'; +import { DefaulResponsePagination, DefaultRequestPagination, SuccessResult } from '@/entities/common/model/types'; export enum CancelTabKeys { All = 'All', @@ -33,6 +33,11 @@ export enum ProcessStep { One = 'One', Two = 'Two', }; +export enum CashReceiptPurpose { + ALL = 'ALL', + INCOME_DEDUCTION = 'INCOME_DEDUCTION', + EXPENSE_PROOF = 'EXPENSE_PROOF', +}; export interface SortOptionsBoxProps { sortBy: SortByKeys; onCliCkToSort: (sortBy: SortByKeys) => void; @@ -301,7 +306,7 @@ export interface IssueInfo { approvalNumber?: number; issueNumber?: number; issueDateTime?: string; - purpose?: string; + purpose?: CashReceiptPurpose; paymentMethod?: string; productName?: string; transmissionStatus?: string; @@ -361,11 +366,11 @@ export interface BillingDetailResponse extends BillingInfo { } export interface DetailInfoProps extends DetailResponse { - transactionCategory: TransactionCategory; + transactionCategory?: TransactionCategory; show?: boolean; tid?: string; serviceCode?: string; - issueNumber?: number; + purpose?: CashReceiptPurpose; onClickToShowInfo?: (info: InfoWrapKeys) => void; } export interface DetailArrowProps { @@ -415,4 +420,34 @@ export interface AllTransactionCancelInfoResponse { export interface FilterProps { filterOn: boolean; setFilterOn: (filterOn: boolean) => void; -} +}; + +export interface CashReceiptPurposeUpdateParams { + issueNumber: number; + newPurpose: string; +}; +export interface CashReceiptPurposeUpdateResponse { + issueNumber: number; + beforePurposeType: CashReceiptPurpose; + afterPurposeType: CashReceiptPurpose; + updateDateTime: string; +}; +export interface CashReceiptManualIssueParams { + businessNumber: string, + purpose: CashReceiptPurpose + productName: string, + buyerName: string, + issueNumber: string, + email: string, + phoneNumber: string, + supplyAmount: number, + vatAmount: number, + taxFreeAmount: number, + serviceCharge: number +}; +export interface CashReceiptManualIssueResponse { + approvalNumber: number, + totalAmount: number, + issueDateTime: string, + issueResult: SuccessResult +}; diff --git a/src/entities/transaction/ui/bottom-sheet-changes-cash-receit-uses.tsx b/src/entities/transaction/ui/bottom-sheet-cash-receit-purpose-update.tsx similarity index 51% rename from src/entities/transaction/ui/bottom-sheet-changes-cash-receit-uses.tsx rename to src/entities/transaction/ui/bottom-sheet-cash-receit-purpose-update.tsx index 7ea779e..71d5f83 100644 --- a/src/entities/transaction/ui/bottom-sheet-changes-cash-receit-uses.tsx +++ b/src/entities/transaction/ui/bottom-sheet-cash-receit-purpose-update.tsx @@ -1,11 +1,42 @@ import { IMAGE_ROOT } from '@/shared/constants/common'; +import { motion } from 'framer-motion'; -export const BottomSheetChangesCashReceitUses = () => { +export interface BottomSheetCashReceitPurposeUpdateProps { + setBottomSheetOn: (bottomSheetOn: boolean) => void; + bottomSheetOn: boolean; + callPurposeUpdate: () => void; +}; + +export const BottomSheetCashReceitPurposeUpdate = ({ + setBottomSheetOn, + bottomSheetOn, + callPurposeUpdate +}: BottomSheetCashReceitPurposeUpdateProps) => { + + const onClickToClose = () => { + setBottomSheetOn(false); + }; + const onCliickToPurposeUpdate = () => { + callPurposeUpdate(); + }; + + const variants = { + hidden: { y: '100%' }, + visible: { y: '0%' }, + }; return ( <> -
-
+ { (bottomSheetOn) && +
+ } +

신청 방법을 선택하세요

@@ -13,9 +44,10 @@ export const BottomSheetChangesCashReceitUses = () => { className="close-btn" type="button" > - 닫기 onClickToClose() } />
@@ -35,9 +67,10 @@ export const BottomSheetChangesCashReceitUses = () => {
-
+ ); }; \ No newline at end of file diff --git a/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step1.tsx b/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step1.tsx index 73720cd..4833550 100644 --- a/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step1.tsx +++ b/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step1.tsx @@ -1,10 +1,44 @@ +import { ChangeEvent } from 'react'; import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; +import { CashReceiptPurpose } from '../model/types'; -export const CashReceiptHandWrittenIssuanceStep1 = () => { +export interface CashReceiptHandWrittenIssuanceStep1Props { + businessNumber?: string; + purpose?: CashReceiptPurpose; + productName?: string; + buyerName?: string; + issueNumber?: string; + email?: string; + phoneNumber?: string; + setBusinessNumber: (businessNumber: string) => void; + setPurpose: (purpose: CashReceiptPurpose) => void; + setProductName: (productName: string) => void; + setBuyerName: (buyerName: string) => void; + setIssueNumber: (issueNumber: string) => void; + setEmail: (email: string) => void; + setPhoneNumber: (phoneNumber: string) => void; +}; + +export const CashReceiptHandWrittenIssuanceStep1 = ({ + businessNumber, + purpose, + productName, + buyerName, + issueNumber, + email, + phoneNumber, + setBusinessNumber, + setPurpose, + setProductName, + setBuyerName, + setIssueNumber, + setEmail, + setPhoneNumber +}: CashReceiptHandWrittenIssuanceStep1Props) => { const { navigate } = useNavigate(); - + useSetOnBack(() => { navigate(PATHS.transaction.cashReceipt.list); }); @@ -18,7 +52,7 @@ export const CashReceiptHandWrittenIssuanceStep1 = () => { @@ -29,12 +63,14 @@ export const CashReceiptHandWrittenIssuanceStep1 = () => {
@@ -45,6 +81,8 @@ export const CashReceiptHandWrittenIssuanceStep1 = () => { ) => setProductName(e.target.value) } /> @@ -54,6 +92,8 @@ export const CashReceiptHandWrittenIssuanceStep1 = () => { ) => setBuyerName(e.target.value) } /> @@ -63,6 +103,8 @@ export const CashReceiptHandWrittenIssuanceStep1 = () => { ) => setIssueNumber(e.target.value) } /> @@ -72,6 +114,8 @@ export const CashReceiptHandWrittenIssuanceStep1 = () => { ) => setEmail(e.target.value) } /> @@ -81,6 +125,8 @@ export const CashReceiptHandWrittenIssuanceStep1 = () => { ) => setPhoneNumber(e.target.value) } /> diff --git a/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step2.tsx b/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step2.tsx index 6a90aeb..1c00e93 100644 --- a/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step2.tsx +++ b/src/entities/transaction/ui/cash-receipt-hand-written-issuance-step2.tsx @@ -1,15 +1,37 @@ +import { ChangeEvent } from 'react'; import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; import { ProcessStep } from '../model/types'; export interface CashReceiptHandWrittenIssuanceStep2Props { - setProcessStep: ((processStep: ProcessStep) => void); + setProcessStep: (processStep: ProcessStep) => void; + supplyAmount: number | string; + vatAmount: number | string; + taxFreeAmount: number | string; + serviceCharge: number | string; + setSupplyAmount: (supplyAmount: number | string) => void; + setVatAmount: (vatAmount: number | string) => void; + setTaxFreeAmount: (taxFreeAmount: number | string) => void; + setServiceCharge: (serviceCharge: number | string) => void; }; export const CashReceiptHandWrittenIssuanceStep2 = ({ - setProcessStep + setProcessStep, + supplyAmount, + vatAmount, + taxFreeAmount, + serviceCharge, + setSupplyAmount, + setVatAmount, + setTaxFreeAmount, + setServiceCharge }: CashReceiptHandWrittenIssuanceStep2Props) => { useSetOnBack(() => { setProcessStep(ProcessStep.One); }); + + const onClickToVatCalculate = () => { + + }; + return ( <>

발행 금액 입력

@@ -27,6 +49,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({ @@ -39,6 +62,8 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({ className="error" type="text" placeholder="" + value={ supplyAmount } + onChange={ (e: ChangeEvent) => setSupplyAmount(e.target.value) } /> @@ -49,26 +74,32 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({ className="error" type="text" placeholder="" + value={ vatAmount } + onChange={ (e: ChangeEvent) => setVatAmount(e.target.value) } />
-
발행번호
+
면세금액
) => setTaxFreeAmount(e.target.value) } />
-
이메일 주소
+
봉사료
) => setServiceCharge(e.target.value) } />
diff --git a/src/entities/transaction/ui/info-wrap/billing-info-wrap.tsx b/src/entities/transaction/ui/info-wrap/billing-info-wrap.tsx index 0c2a979..f84c5a1 100644 --- a/src/entities/transaction/ui/info-wrap/billing-info-wrap.tsx +++ b/src/entities/transaction/ui/info-wrap/billing-info-wrap.tsx @@ -2,20 +2,35 @@ import moment from 'moment'; import { InfoWrapKeys, DetailInfoProps } from '../../model/types'; export const BillingInfoWrap = ({ - transactionCategory, billingInfo, - show, - onClickToShowInfo }: DetailInfoProps) => { - const onClickToSetShowInfo = () => { - if(!!onClickToShowInfo){ - onClickToShowInfo(InfoWrapKeys.Important); + const getInstallmentMonth = () => { + let rs = []; + if((!!billingInfo?.installmentMonth && parseInt(billingInfo?.installmentMonth) > 1)){ + rs.push( +
  • + 할부개월 + { billingInfo?.installmentMonth }개월 할부 +
  • + ); } + else{ + rs.push( +
  • + 할부개월 + 일시불 +
  • + ); + } + return rs; }; - - - return ( <>
    @@ -49,12 +64,7 @@ export const BillingInfoWrap = ({ 처리결과 { billingInfo?.processResult } - { (!!billingInfo?.installmentMonth && parseInt(billingInfo?.installmentMonth) > 1) && -
  • - 할부개월 - { billingInfo?.installmentMonth }개월 할부 -
  • - } + { getInstallmentMonth() }
  • 상품명 { billingInfo?.productName } diff --git a/src/entities/transaction/ui/info-wrap/issue-info-wrap.tsx b/src/entities/transaction/ui/info-wrap/issue-info-wrap.tsx index 3ec6e5b..448f654 100644 --- a/src/entities/transaction/ui/info-wrap/issue-info-wrap.tsx +++ b/src/entities/transaction/ui/info-wrap/issue-info-wrap.tsx @@ -5,26 +5,13 @@ import moment from 'moment'; export const IssueInfoWrap = ({ transactionCategory, issueInfo, - show, - onClickToShowInfo + purpose, }: DetailInfoProps) => { - - - const onClickToSetShowInfo = () => { - if(!!onClickToShowInfo){ - onClickToShowInfo(InfoWrapKeys.Issue); - } - }; - + return ( <>
    -
    onClickToSetShowInfo() } - > - 발급 정보 -
    +
    발급 정보
    • 승인번호 @@ -40,7 +27,7 @@ export const IssueInfoWrap = ({
    • 용도 - { issueInfo?.purpose } + { purpose }
    • 결제수단 diff --git a/src/pages/transaction/billing/detail-page.tsx b/src/pages/transaction/billing/detail-page.tsx index 9185944..9f59fec 100644 --- a/src/pages/transaction/billing/detail-page.tsx +++ b/src/pages/transaction/billing/detail-page.tsx @@ -17,6 +17,7 @@ import { useSetHeaderType, useSetFooterMode } from '@/widgets/sub-layout/use-sub-layout'; +import { NumericFormat } from 'react-number-format'; export const BillingDetailPage = () => { const { navigate } = useNavigate(); @@ -52,8 +53,24 @@ export const BillingDetailPage = () => {
      +
      +
      +
      + + +
      +
      + { 'nitnitni' } +
      +
      + +
      +
      diff --git a/src/pages/transaction/billing/list-page.tsx b/src/pages/transaction/billing/list-page.tsx index 8d2bc89..d7de029 100644 --- a/src/pages/transaction/billing/list-page.tsx +++ b/src/pages/transaction/billing/list-page.tsx @@ -35,8 +35,8 @@ export const BillingListPage = () => { const [listItems, setListItems] = useState({}); const [filterOn, setFilterOn] = useState(false); const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); - const [startDate, setStartDate] = useState(moment().subtract(1, 'month').format('YYYYMMDD')); - const [endDate, setEndDate] = useState(moment().format('YYYYMMDD')); + const [startDate, setStartDate] = useState(moment().subtract(1, 'month').format('YYYY-MM-DD')); + const [endDate, setEndDate] = useState(moment().format('YYYY-MM-DD')); useSetHeaderTitle('빌링'); useSetHeaderType(HeaderType.LeftArrow); @@ -57,7 +57,7 @@ export const BillingListPage = () => { let listParams = { mid: 'nictest001m', searchType: 'ALL', - searchKeyword: 'P14633723', + searchKeyword: '', startDate: startDate, endDate: endDate, requestStatus: 'ALL', diff --git a/src/pages/transaction/cash-receipt/detail-page.tsx b/src/pages/transaction/cash-receipt/detail-page.tsx index 22d8307..b3e369b 100644 --- a/src/pages/transaction/cash-receipt/detail-page.tsx +++ b/src/pages/transaction/cash-receipt/detail-page.tsx @@ -12,7 +12,8 @@ import { DetailResponse, IssueInfo, DetailInfo, - InfoWrapKeys + InfoWrapKeys, + CashReceiptPurpose } from '@/entities/transaction/model/types'; import { useSetOnBack, @@ -20,6 +21,8 @@ import { useSetHeaderType, useSetFooterMode } from '@/widgets/sub-layout/use-sub-layout'; +import { BottomSheetCashReceitPurposeUpdate } from '@/entities/transaction/ui/bottom-sheet-cash-receit-purpose-update'; +import { useCashReceiptPurposeUpdateMutation } from '@/entities/transaction/api/use-cash-receipt-purpose-update'; export const CashReceiptDetailPage = () => { const { navigate } = useNavigate(); @@ -28,6 +31,8 @@ export const CashReceiptDetailPage = () => { const [issueInfo, setIssueInfo] = useState(); const [detailInfo, setDetailInfo] = useState(); const [showDetailInfo, setShowDetailInfo] = useState(false); + const [bottomSheetOn, setBottomSheetOn] = useState(false); + const [purpose, setPurpose] = useState(); useSetHeaderTitle('현금영수증 상세'); useSetHeaderType(HeaderType.RightClose); @@ -36,15 +41,35 @@ export const CashReceiptDetailPage = () => { }); useSetFooterMode(false); - const { mutateAsync: escroDetail } = useCashReceiptDetailMutation(); - + const issueNumber = location?.state.issueNumber + + const { mutateAsync: cashReceiptDetail } = useCashReceiptDetailMutation(); + const { mutateAsync: cashReceiptPurposeUpdate } = useCashReceiptPurposeUpdateMutation(); + + const callPurposeUpdate = () => { + let newPurpose = (purpose === CashReceiptPurpose.EXPENSE_PROOF) + ? CashReceiptPurpose.INCOME_DEDUCTION: CashReceiptPurpose.EXPENSE_PROOF; + let params = { + issueNumber: issueNumber, + newPurpose: newPurpose + }; + cashReceiptPurposeUpdate(params).then((rs) => { + setPurpose(rs.afterPurposeType); + setBottomSheetOn(false); + alert('toast : 용도 변경을 성공하였습니다.') + }); + }; + const callDetail = () => { let cashReceitDetailParams: CashReceiptDetailParams = { - issueNumber: location?.state.issueNumber + issueNumber: issueNumber }; - escroDetail(cashReceitDetailParams).then((rs: DetailResponse) => { + cashReceiptDetail(cashReceitDetailParams).then((rs: DetailResponse) => { setIssueInfo(rs.issueInfo); setDetailInfo(rs.detailInfo); + if(rs.issueInfo){ + setPurpose(rs.issueInfo.purpose); + } }); }; useEffect(() => { @@ -57,6 +82,10 @@ export const CashReceiptDetailPage = () => { } }; + const onClickToPurposeUpdate = () => { + setBottomSheetOn(true); + }; + return ( <>
      @@ -67,6 +96,7 @@ export const CashReceiptDetailPage = () => {
      { >
      +
      + +
  • + ); }; \ No newline at end of file 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 db32de1..03d0968 100644 --- a/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx +++ b/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx @@ -1,30 +1,66 @@ -import {useState} from 'react'; -import {PATHS} from '@/shared/constants/paths'; -import {useNavigate} from '@/shared/lib/hooks/use-navigate'; -import {CashReceiptHandWrittenIssuanceStep1} from '@/entities/transaction/ui/cash-receipt-hand-written-issuance-step1'; -import {CashReceiptHandWrittenIssuanceStep2} from '@/entities/transaction/ui/cash-receipt-hand-written-issuance-step2'; -import {ProcessStep} from '@/entities/transaction/model/types'; -import {HeaderType} from '@/entities/common/model/types'; -import {useSetFooterMode, useSetHeaderTitle, useSetHeaderType} from '@/widgets/sub-layout/use-sub-layout'; +import { useState } from 'react'; +import { PATHS } from '@/shared/constants/paths'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; +import { CashReceiptHandWrittenIssuanceStep1 } from '@/entities/transaction/ui/cash-receipt-hand-written-issuance-step1'; +import { CashReceiptHandWrittenIssuanceStep2 } from '@/entities/transaction/ui/cash-receipt-hand-written-issuance-step2'; +import { CashReceiptPurpose, ProcessStep } from '@/entities/transaction/model/types'; +import { HeaderType} from '@/entities/common/model/types'; +import { useSetFooterMode, useSetHeaderTitle, useSetHeaderType } from '@/widgets/sub-layout/use-sub-layout'; +import { useCashReceiptManualIssueMutation } from '@/entities/transaction/api/use-cash-receipt-manual-issue'; export const CashReceitHandWrittenIssuancePage = () => { const { navigate } = useNavigate(); // 1 or 2 const [processStep, setProcessStep] = useState(ProcessStep.One); + const [businessNumber, setBusinessNumber] = useState('5459577852'); + const [purpose, setPurpose] = useState(CashReceiptPurpose.INCOME_DEDUCTION); + const [productName, setProductName] = useState('상품명'); + const [buyerName, setBuyerName] = useState('구매자명'); + const [issueNumber, setIssueNumber] = useState('01012341234'); + const [email, setEmail] = useState('test123@nicepay.com'); + const [phoneNumber, setPhoneNumber] = useState('01012341234'); + const [supplyAmount, setSupplyAmount] = useState(9091); + const [vatAmount, setVatAmount] = useState(909); + const [taxFreeAmount, setTaxFreeAmount] = useState(0); + const [serviceCharge, setServiceCharge] = useState(0); useSetHeaderTitle('수기 발행'); useSetHeaderType(HeaderType.RightClose); useSetFooterMode(false); + + const { mutateAsync: cashReceiptManualIssue } = useCashReceiptManualIssueMutation(); + const callManualIssue = () => { + let params = { + businessNumber: businessNumber, + purpose: purpose, + productName: productName, + buyerName: buyerName, + issueNumber: issueNumber, + email: email, + phoneNumber: phoneNumber, + supplyAmount: 9091, + vatAmount: 909, + taxFreeAmount: 0, + serviceCharge: 0 + }; + cashReceiptManualIssue(params).then((rs) => { + console.log(rs); + alert('완료'); + navigate(PATHS.transaction.cashReceipt.list); + }); + }; + const onClickToChangeTab = () => { if(processStep === ProcessStep.One){ setProcessStep(ProcessStep.Two); } else if(processStep === ProcessStep.Two){ + callManualIssue(); // 완료시? - alert('완료'); - navigate(PATHS.transaction.cashReceipt.list); + //alert('완료'); + // navigate(PATHS.transaction.cashReceipt.list); } }; @@ -36,34 +72,60 @@ export const CashReceitHandWrittenIssuancePage = () => {
    - {(processStep === ProcessStep.One) && -
    - } - {(processStep === ProcessStep.Two) && -
    - } + {(processStep === ProcessStep.One) && +
    + } + {(processStep === ProcessStep.Two) && +
    + }
    - { (processStep === ProcessStep.One) && - - } - { (processStep === ProcessStep.Two) && - - }
    + { (processStep === ProcessStep.One) && + + } + { (processStep === ProcessStep.Two) && + + }
    + > + { (processStep === ProcessStep.One) && '다음' } + { (processStep === ProcessStep.Two) && '발행' } +
    diff --git a/src/pages/transaction/escrow/detail-page.tsx b/src/pages/transaction/escrow/detail-page.tsx index 54768a7..cf658f6 100644 --- a/src/pages/transaction/escrow/detail-page.tsx +++ b/src/pages/transaction/escrow/detail-page.tsx @@ -33,11 +33,13 @@ export const EscrowDetailPage = () => { const { navigate } = useNavigate(); const location = useLocation(); + const [amountInfo, setAmountInfo] = useState(); const [importantInfo, setImportantInfo] = useState(); const [escrowInfo, setEscrowInfo] = useState(); const [paymentInfo, setPaymentInfo] = useState(); const [transactionInfo, setTransactionInfo] = useState(); const [settlementInfo, setSettlementInfo] = useState(); + const [showAmountInfo, setShowAmountInfo] = useState(false); const [showImportantInfo, setShowImportantInfo] = useState(false); const [showEscroInfo, setShowEscroInfo] = useState(false); const [showPaymentInfo, setShowPaymentInfo] = useState(false); @@ -71,7 +73,10 @@ export const EscrowDetailPage = () => { }, []); const onClickToShowInfo = (infoWrapKey: InfoWrapKeys) => { - if(infoWrapKey === InfoWrapKeys.Important){ + if(infoWrapKey === InfoWrapKeys.Amount){ + setShowAmountInfo(!showAmountInfo); + } + else if(infoWrapKey === InfoWrapKeys.Important){ setShowImportantInfo(!showImportantInfo); } else if(infoWrapKey === InfoWrapKeys.Escrow){ @@ -98,8 +103,7 @@ export const EscrowDetailPage = () => { onClickToShowInfo(infoWrapKey) } + >
    +
    { headerTitle }