From e2516951fccc83be6ed4628e91d2b421acc28aa0 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Tue, 23 Sep 2025 16:12:43 +0900 Subject: [PATCH 1/6] =?UTF-8?q?=EC=9E=90=EA=B8=88=EC=9D=B4=EC=B2=B4=20?= =?UTF-8?q?=EA=B2=B0=EA=B3=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/fund-account/constant.ts | 13 +- .../model/fund-account/types.ts | 19 +- .../ui/filter/fund-account-result-filter.tsx | 179 +++++++++ .../ui/fund-account/result-list-wrap.tsx | 363 +++++++++++++----- .../ui/fund-account/transfer-list-wrap.tsx | 4 +- .../additional-service-pages.tsx | 2 + .../fund-account/result-detail-page.tsx | 137 +++++++ 7 files changed, 609 insertions(+), 108 deletions(-) create mode 100644 src/entities/additional-service/ui/filter/fund-account-result-filter.tsx diff --git a/src/entities/additional-service/model/fund-account/constant.ts b/src/entities/additional-service/model/fund-account/constant.ts index 539410c..f48370b 100644 --- a/src/entities/additional-service/model/fund-account/constant.ts +++ b/src/entities/additional-service/model/fund-account/constant.ts @@ -1,4 +1,8 @@ -import { FundAccountReceiveAccountNameNo, FundAccountStatus } from './types'; +import { + FundAccountReceiveAccountNameNo, + FundAccountResultType, + FundAccountStatus +} from './types'; export const FundAccountStatusBtnGroup = [ {name: '전체', value: FundAccountStatus.ALL}, @@ -7,6 +11,11 @@ export const FundAccountStatusBtnGroup = [ {name: '중지', value: FundAccountStatus.PENDING}, ]; +export const FundAccountResultTypeBtnGroup = [ + {name: '요청일자', value: FundAccountResultType.RequestDate}, + {name: '이체일자', value: FundAccountResultType.ProcessDate} +]; + export const FundAccountReceiveAccountNameNoOptionsGroup = [ {name: '수취인', value: FundAccountReceiveAccountNameNo.ReceiveAccountName }, {name: '계좌번호', value: FundAccountReceiveAccountNameNo.ReceiveAccountNo }, @@ -14,4 +23,4 @@ export const FundAccountReceiveAccountNameNoOptionsGroup = [ export const FundAccountReceiveBankCodeOptionsGroup = [ {name: 'KB', value: 'KB'} -] \ No newline at end of file +]; \ No newline at end of file diff --git a/src/entities/additional-service/model/fund-account/types.ts b/src/entities/additional-service/model/fund-account/types.ts index 5bb4c34..20e7c49 100644 --- a/src/entities/additional-service/model/fund-account/types.ts +++ b/src/entities/additional-service/model/fund-account/types.ts @@ -3,11 +3,14 @@ import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/c export enum FundAccountTabKeys { TransferList = 'TransferList', ResultList = 'ResultList' -} - +}; +export enum FundAccountResultType { + RequestDate = 'RequestDate', + ProcessDate = 'ProcessDate', +}; export interface FundAccountTabProps { activeTab: FundAccountTabKeys; -} +}; export enum FundAccountReceiveAccountNameNo { ReceiveAccountNo = 'ReceiveAccountNo', @@ -98,11 +101,11 @@ export interface ExtensionFundAccountResultSummaryResponse { pendingAmount: number; }; export interface ExtensionFundAccountResultListParams { - mid: string; - fromDate: string; - toDate: string; - status: FundAccountStatus; - pagination: FundAccountStatus; + mid?: string; + fromDate?: string; + toDate?: string; + status?: FundAccountStatus; + pagination?: DefaultRequestPagination; }; export interface ExtensionFundAccountResultListResponse extends DefaulResponsePagination { content: Array; diff --git a/src/entities/additional-service/ui/filter/fund-account-result-filter.tsx b/src/entities/additional-service/ui/filter/fund-account-result-filter.tsx new file mode 100644 index 0000000..da46664 --- /dev/null +++ b/src/entities/additional-service/ui/filter/fund-account-result-filter.tsx @@ -0,0 +1,179 @@ +import { useEffect, useState } from 'react'; +import { FundAccountReceiveAccountNameNo, FundAccountResultType, FundAccountStatus } from '../../model/fund-account/types'; +import moment from 'moment'; +import { motion } from 'framer-motion'; +import { FilterMotionDuration, FilterMotionStyle, FilterMotionVariants } from '@/entities/common/model/constant'; +import { IMAGE_ROOT } from '@/shared/constants/common'; +import { FilterSelect } from '@/shared/ui/filter/select'; +import { FilterCalendar } from '@/shared/ui/filter/calendar'; +import { FundAccountReceiveAccountNameNoOptionsGroup, FundAccountReceiveBankCodeOptionsGroup, FundAccountResultTypeBtnGroup, FundAccountStatusBtnGroup } from '../../model/fund-account/constant'; +import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; +import { FilterSelectInput } from '@/shared/ui/filter/select-input'; + +export interface FundAccountResultFilterProps { + filterOn: boolean; + setFilterOn: (filterOn: boolean) => void; + mid: string; + receiveAccountName: string; + receiveAccountNo: string; + resultType: FundAccountResultType; + fromDate: string; + toDate: string; + receiveBankCode: string; + status: FundAccountStatus; + setMid: (mid: string) => void; + setReceiveAccountName: (receiveAccountName: string) => void; + setReceiveAccountNo: (receiveAccountNo: string) => void; + setResultType: (resultType: FundAccountResultType) => void; + setFromDate: (fromDate: string) => void; + setToDate: (toDate: string) => void; + setReceiveBankCode: (receiveBankCode: string) => void; + setStatus: (status: FundAccountStatus) => void; +}; +export const FundAccountResultFilter = ({ + filterOn, + setFilterOn, + mid, + receiveAccountName, + receiveAccountNo, + resultType, + fromDate, + toDate, + receiveBankCode, + status, + setMid, + setReceiveAccountName, + setReceiveAccountNo, + setResultType, + setFromDate, + setToDate, + setReceiveBankCode, + setStatus +}: FundAccountResultFilterProps) => { + + const [filterMid, setFilterMid] = useState(mid); + const [filterReceiveAccountName, setFilterReceiveAccountName] = useState(receiveAccountName); + const [filterReceiveAccountNo, setFilterReceiveAccountNo] = useState(receiveAccountNo); + const [filterFromDate, setFilterFromDate] = useState(moment(fromDate).format('YYYY.MM.DD')); + const [filterToDate, setFilterToDate] = useState(moment(toDate).format('YYYY.MM.DD')); + const [filterReceiveBankCode, setFilterReceiveBankCode] = useState(receiveBankCode); + const [filterStatus, setFilterStatus] = useState(status); + const [filterResultType, setFilterResultType] = useState(resultType); + const [ + filterReceiveAccountNameNoSelectValue, + setFilterReceiveAccountNameNoSelectValue + ] = useState(FundAccountReceiveAccountNameNo.ReceiveAccountName); + const [ + filterReceiveAccountNameNoInputValue, + setFilterReceiveAccountNameNoInputValue + ] = useState(''); + + const onClickToClose = () => { + setFilterOn(false); + }; + + const onClickToSetFilter = () => { + setMid(filterMid); + if(filterReceiveAccountNameNoSelectValue === FundAccountReceiveAccountNameNo.ReceiveAccountName){ + setReceiveAccountName(filterReceiveAccountNameNoInputValue); + setReceiveAccountNo(''); + } + else if(filterReceiveAccountNameNoSelectValue === FundAccountReceiveAccountNameNo.ReceiveAccountNo){ + setReceiveAccountName(''); + setReceiveAccountNo(filterReceiveAccountNameNoInputValue); + } + setResultType(filterResultType); + setFromDate(filterFromDate); + setToDate(filterToDate); + setReceiveBankCode(filterReceiveBankCode); + setStatus(filterStatus); + onClickToClose(); + }; + + let MidOptions = [ + {name: 'nictest001m', value: 'nictest001m'} + ]; + + useEffect(() => { + setFilterStatus(status); + }, [status]); + + return ( + <> + +
+
+
필터
+
+ +
+
+
+ + + + + + +
+
+ +
+
+
+ + ); +}; \ No newline at end of file diff --git a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx index ebbfd2a..af4be2f 100644 --- a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx @@ -1,6 +1,163 @@ -import { IMAGE_ROOT } from "@/shared/constants/common"; +import moment from 'moment'; +import { SortByKeys } from '@/entities/common/model/types'; +import { IMAGE_ROOT } from '@/shared/constants/common'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; +import { useEffect, useState } from 'react'; +import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; +import { ListDateGroup } from '../list-date-group'; +import { AdditionalServiceCategory } from '../../model/types'; +import { ExtensionFundAccountResultExcelParams, ExtensionFundAccountResultExcelResponse, ExtensionFundAccountResultListParams, ExtensionFundAccountResultListResponse, ExtensionFundAccountResultSummaryParams, ExtensionFundAccountResultSummaryResponse, FundAccountResultContent, FundAccountResultContentItem, FundAccountResultType, FundAccountStatus } from '../../model/fund-account/types'; +import { useExtensionFundAccountResultSummaryMutation } from '../../api/fund-account/use-extension-fund-account-result-summary-mutation'; +import { useExtensionFundAccountResultExcelMutation } from '../../api/fund-account/use-extension-fund-account-result-excel-mutation'; +import { useExtensionFundAccountResultListMutation } from '../../api/fund-account/use-extension-fund-account-result-list-mutation'; +import { PATHS } from '@/shared/constants/paths'; +import { NumericFormat } from 'react-number-format'; +import { SortOptionsBox } from '@/entities/common/ui/sort-options-box'; +import { FundAccountStatusBtnGroup } from '../../model/fund-account/constant'; +import { FundAccountResultFilter } from '../filter/fund-account-result-filter'; export const FundAccountResultListWrap = () => { + const { navigate } = useNavigate(); + + const [sortBy, setSortBy] = useState(SortByKeys.New); + const [listItems, setListItems] = useState>>({}); + const [filterOn, setFilterOn] = useState(false); + const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); + const [mid, setMid] = useState('nictest001m'); + const [receiveAccountName, setReceiveAccountName] = useState(''); + const [receiveAccountNo, setReceiveAccountNo] = useState(''); + const [resultType, setResultType] = useState(FundAccountResultType.RequestDate); + const [fromDate, setFromDate] = useState(moment().format('YYYYMMDD')); + const [toDate, setToDate] = useState(moment().format('YYYYMMDD')); + const [status, setStatus] = useState(FundAccountStatus.ALL); + const [receiveBankCode, setReceiveBankCode] = useState(''); + + const [totalCount, setTotalCount] = useState(0); + const [totalAmount, setTotalAmount] = useState(0); + const [successCount, setSuccessCount] = useState(0); + const [successAmount, setSuccessAmount] = useState(0); + const [failCount, setFailCount] = useState(0); + const [failAmount, setFailAmount] = useState(0); + const [pendingCount, setPendingCount] = useState(0); + const [pendingAmount, setPendingAmount] = useState(0); + + const { mutateAsync: extensionFundAccountResultList } = useExtensionFundAccountResultListMutation(); + const { mutateAsync: extensionFundAccountResultExcel } = useExtensionFundAccountResultExcelMutation(); + const { mutateAsync: extensionFundAccountResultSummary } = useExtensionFundAccountResultSummaryMutation(); + + const callList = (option?: { + sortBy?: string, + val?: string + }) => { + + pageParam.sortBy = (option?.sortBy)? option.sortBy: sortBy; + setPageParam(pageParam); + + let params: ExtensionFundAccountResultListParams = { + mid: mid, + fromDate: fromDate, + toDate: toDate, + status: status, + pagination: pageParam + }; + + extensionFundAccountResultList(params).then((rs: ExtensionFundAccountResultListResponse) => { + console.log(rs); + setListItems(assembleData(rs.content)); + }); + + }; + const callDownloadExcel = () => { + let params: ExtensionFundAccountResultExcelParams = { + mid: mid, + fromDate: fromDate, + toDate: toDate, + status: status, + }; + extensionFundAccountResultExcel(params).then((rs: ExtensionFundAccountResultExcelResponse) => { + + }); + }; + const callSummary = () => { + let params: ExtensionFundAccountResultSummaryParams = { + mid: mid, + fromDate: fromDate, + toDate: toDate + }; + extensionFundAccountResultSummary(params).then((rs: ExtensionFundAccountResultSummaryResponse) => { + console.log(rs); + setTotalCount(rs.totalCount); + setTotalAmount(rs.totalAmount); + setSuccessCount(rs.successCount); + setSuccessAmount(rs.successAmount); + setFailCount(rs.failCount); + setFailAmount(rs.failAmount); + setPendingCount(rs.pendingCount); + setPendingAmount(rs.pendingAmount); + }); + }; + + const assembleData = (content: Array) => { + let data: any = {}; + if(content && !!content[0] && content.length > 0){ + let items: Array = content[0].items; + for(let i=0;i { + callDownloadExcel(); + }; + + const onClickToOpenFilter = () => { + setFilterOn(!filterOn); + }; + + const onClickToSort = (sort: SortByKeys) => { + setSortBy(sort); + callList({sortBy: sort}); + }; + const onClickToStatus = (val: FundAccountStatus) => { + setStatus(val); + callList({val: val}); + }; + + const getListDateGroup = () => { + let rs = []; + if(Object.keys(listItems).length > 0){ + for (const [key, value] of Object.entries(listItems)) { + rs.push( + + ); + } + } + return rs; + }; + + useEffect(() => { + callList(); + callSummary(); + }, []); + + const onClickToNavigate = () => { + navigate(PATHS.additionalService.fundAccount.transferRequest); + }; + return ( <> @@ -8,14 +165,15 @@ export const FundAccountResultListWrap = () => {
-
-
-
- 잔액 - 2,000,000,000 -
-
-
  • - · 요청 - 0 원 (0건) + 요청 + + + + + 원 ( + + + + 건) +
  • - · 성공 - 50,000,000 원 (2,587건) + 성공 + + + + + 원 ( + + + + 건) +
  • - · 실패 - 534,407 원 (21건) + 실패 + + + + + 원 ( + + + + 건) +
- + -
-
- - | - -
-
-
- 전체 - 성공 - 실패 +
+ +
+
+ { + FundAccountStatusBtnGroup.map((value, index) => ( + onClickToStatus(value.value) } + >{ value.name } + )) + } +
-
-
- -
- -
25.06.08(일)
-
-
-
-
-
-
김*환(7000)
-
- 20:00 - - 등록완료 -
-
-
5,254,000원
-
-
-
-
-
-
-
김*환(7000)
-
- 20:00 - - 등록완료 -
-
-
5,254,000원
-
+
-
25.06.08(일)
-
-
-
-
-
-
김*환(7000)
-
- 20:00 - - 등록완료 -
-
-
5,254,000원
+
+ { getListDateGroup() } +
+
+
-
-
-
-
-
-
김*환(7000)
-
- 20:00 - - 등록완료 -
-
-
5,254,000원
-
- -
- -
+ ); }; \ No newline at end of file diff --git a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx index 565fe3e..3ebd9e3 100644 --- a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx @@ -1,6 +1,6 @@ import { SortByKeys } from '@/entities/common/model/types'; import { IMAGE_ROOT } from '@/shared/constants/common'; -import { useNavigate } from '@/shared/lib/hooks'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { useEffect, useState } from 'react'; import { ExtensionFundAccountBalanceParams, @@ -210,7 +210,7 @@ export const FundAccountTransferListWrap = () => { sortBy={ sortBy } onClickToSort={ onClickToSort } > -
+
{ FundAccountStatusBtnGroup.map((value, index) => ( diff --git a/src/pages/additional-service/additional-service-pages.tsx b/src/pages/additional-service/additional-service-pages.tsx index bbad1bf..f1f0be9 100644 --- a/src/pages/additional-service/additional-service-pages.tsx +++ b/src/pages/additional-service/additional-service-pages.tsx @@ -17,6 +17,7 @@ import { FundAccountTransferListPage } from './fund-account/transfer-list-page'; import { FundAccountTransferDetailPage } from './fund-account/transfer-detail-page'; import { FundAccountTransferRequestPage } from './fund-account/transfer-request-page'; import { FundAccountResultListPage } from './fund-account/result-list-page'; +import { FundAccountResultDetailPage } from './fund-account/result-detail-page'; import { SettlementAgencyManagePage } from './settlement-agency/manage-page'; import { SettlementAgencyDepositPage } from './settlement-agency/deposit-page'; import { SettlementAgencyMemberPage } from './settlement-agency/member-page'; @@ -80,6 +81,7 @@ export const AdditionalServicePages = () => { } /> } /> } /> + } /> } /> diff --git a/src/pages/additional-service/fund-account/result-detail-page.tsx b/src/pages/additional-service/fund-account/result-detail-page.tsx index e69de29..de98034 100644 --- a/src/pages/additional-service/fund-account/result-detail-page.tsx +++ b/src/pages/additional-service/fund-account/result-detail-page.tsx @@ -0,0 +1,137 @@ +import { PATHS } from '@/shared/constants/paths'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; +import { HeaderType } from '@/entities/common/model/types'; +import { + useSetHeaderTitle, + useSetHeaderType, + useSetFooterMode, + useSetOnBack +} from '@/widgets/sub-layout/use-sub-layout'; +import { useLocation } from 'react-router'; +import { useEffect, useState } from 'react'; +import { NumericFormat } from 'react-number-format'; +import { useExtensionFundAccountTransferDetailMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-detail-mutation'; +import { ExtensionFundAccountTransferDetailParams, ExtensionFundAccountTransferDetailResponse, ExtensionFundAccountTransferRequestParams, ExtensionFundAccountTransferRequestResponse } from '@/entities/additional-service/model/fund-account/types'; +import moment from 'moment'; +import { useExtensionFundAccountTransferRequestMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation'; + +export const FundAccountResultDetailPage = () => { + const { navigate } = useNavigate(); + const location = useLocation(); + + const tid = location.state.tid; + const mid = location.state.mid; + + const [detail, setDetail] = useState(); + + const { mutateAsync: extensionFundAccountTransferDetail } = useExtensionFundAccountTransferDetailMutation(); + const { mutateAsync: extensionFundAccountTransferRequest } = useExtensionFundAccountTransferRequestMutation(); + + const callDetail = () => { + let params: ExtensionFundAccountTransferDetailParams = { + tid: tid, + mid: mid, + }; + + extensionFundAccountTransferDetail(params).then((rs: ExtensionFundAccountTransferDetailResponse) => { + setDetail(rs); + }); + }; + + useSetHeaderTitle('자금이체 상세'); + useSetHeaderType(HeaderType.LeftArrow); + useSetFooterMode(false); + useSetOnBack(() => { + navigate(PATHS.additionalService.fundAccount.transferList); + }); + + useEffect(() => { + callDetail(); + }, []); + + const onClickToRequest = () =>{ + let params: ExtensionFundAccountTransferRequestParams = { + mid: mid, + transferAmount: detail?.transferAmount, + receiveBankCode: detail?.receiveBankName, + receiveAccountNo: detail?.receiveAccountNo, + receiveAccountName: detail?.receiveAccountName, + transferMemo: '' + }; + extensionFundAccountTransferRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { + console.log(rs) + alert(rs.message); + navigate(PATHS.additionalService.fundAccount.transferList); + }); + }; + + return ( + <> +
+
+
+
+
+ + + +
+
나이스테스트가맹점
+
2025.08.19
+
+
+
+
상세 정보
+
    +
  • + 등록일시 + { moment(detail?.processDate).format('YYYY.MM.DD') } +
  • +
  • + 처리결과 + { detail?.status } +
  • +
  • + 요청일자 + { moment(detail?.requestDate).format('YYYY.MM.DD') } +
  • +
  • + 이체결과 + { detail?.status } +
  • +
  • + 수취인명 + { detail?.receiveAccountName } +
  • +
  • + 은행 + { detail?.receiveBankName } +
  • +
  • + 계좌번호 + { detail?.receiveAccountNo } +
  • +
  • + MID + { mid } +
  • + +
+
+
+ +
+
+
+
+ + ); +}; \ No newline at end of file From 15daea0f6bba275138e3e30cfa1e65f4acd7df73 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Tue, 23 Sep 2025 16:55:18 +0900 Subject: [PATCH 2/6] =?UTF-8?q?=EC=9E=90=EA=B8=88=20=EC=9D=B4=EC=B2=B4=20?= =?UTF-8?q?=EB=81=9D!!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/additional-service/model/types.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/entities/additional-service/model/types.ts b/src/entities/additional-service/model/types.ts index 6867705..44d657b 100644 --- a/src/entities/additional-service/model/types.ts +++ b/src/entities/additional-service/model/types.ts @@ -30,7 +30,8 @@ export enum AdditionalServiceCategory { AccountHolderSearch = 'AccountHolderSearch', LinkPaymentHistory = 'LinkPaymentHistory', LinkPaymentPending = 'LinkPaymentPending', - FundAccount = 'FundAccount', + FundAccountTransfer = 'FundAccountTransfer', + FundAccountResult = 'FundAccountResult', SettlementAgency = 'SettlementAgency', Payout = 'Payout', } From b92d7c6a44f829f1646632d24ce1a4b77e0555b0 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Tue, 23 Sep 2025 16:55:33 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=EC=9E=90=EA=B8=88=EC=9D=B4=EC=B2=B4=20?= =?UTF-8?q?=EB=81=9D=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/fund-account/result-list-wrap.tsx | 2 +- .../ui/fund-account/transfer-list-wrap.tsx | 4 +- .../additional-service/ui/list-item.tsx | 49 ++++++++++++-- .../fund-account/result-detail-page.tsx | 66 ++++++++----------- .../fund-account/transfer-detail-page.tsx | 4 +- 5 files changed, 75 insertions(+), 50 deletions(-) diff --git a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx index af4be2f..50a8064 100644 --- a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx @@ -137,7 +137,7 @@ export const FundAccountResultListWrap = () => { for (const [key, value] of Object.entries(listItems)) { rs.push( { for (const [key, value] of Object.entries(listItems)) { rs.push( { setReceiveBankCode={ setReceiveBankCode } setStatus={ setStatus } > - + ); }; \ No newline at end of file diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index 3b6dd34..37366eb 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -141,7 +141,7 @@ export const ListItem = ({ } }); } - else if (additionalServiceCategory === AdditionalServiceCategory.FundAccount) { + else if (additionalServiceCategory === AdditionalServiceCategory.FundAccountTransfer) { navigate(PATHS.additionalService.fundAccount.transferDetail, { state: { additionalServiceCategory: additionalServiceCategory, @@ -150,6 +150,15 @@ export const ListItem = ({ } }); } + else if (additionalServiceCategory === AdditionalServiceCategory.FundAccountResult) { + navigate(PATHS.additionalService.fundAccount.resultDetail, { + state: { + additionalServiceCategory: additionalServiceCategory, + mid: mid, + tid: tid + } + }); + } else if (additionalServiceCategory === AdditionalServiceCategory.SettlementAgency) { } @@ -181,7 +190,10 @@ export const ListItem = ({ let time = requestDate?.substring(8, 14); timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4) + ':' + time?.substring(4, 6); } - else if (additionalServiceCategory === AdditionalServiceCategory.FundAccount) { + else if (additionalServiceCategory === AdditionalServiceCategory.FundAccountTransfer) { + timeStr = moment(requestDate).format('mm:ss'); + } + else if (additionalServiceCategory === AdditionalServiceCategory.FundAccountResult) { timeStr = moment(requestDate).format('mm:ss'); } else { @@ -213,7 +225,10 @@ export const ListItem = ({ else if (additionalServiceCategory === AdditionalServiceCategory.Payout) { str = companyName; } - else if(additionalServiceCategory === AdditionalServiceCategory.FundAccount){ + else if(additionalServiceCategory === AdditionalServiceCategory.FundAccountTransfer){ + str = `${receiveAccountName}(${receiveAccountNo})` + } + else if(additionalServiceCategory === AdditionalServiceCategory.FundAccountResult){ str = `${receiveAccountName}(${receiveAccountNo})` } @@ -288,7 +303,16 @@ export const ListItem = ({
); } - else if(additionalServiceCategory === AdditionalServiceCategory.FundAccount){ + else if(additionalServiceCategory === AdditionalServiceCategory.FundAccountTransfer){ + rs.push( +
+ { getTime() } + | + { status } +
+ ); + } + else if(additionalServiceCategory === AdditionalServiceCategory.FundAccountResult){ rs.push(
{ getTime() } @@ -357,7 +381,22 @@ export const ListItem = ({
); } - else if (additionalServiceCategory === AdditionalServiceCategory.FundAccount) { + else if (additionalServiceCategory === AdditionalServiceCategory.FundAccountTransfer) { + rs.push( +
+ +
+ ); + } + else if (additionalServiceCategory === AdditionalServiceCategory.FundAccountResult) { rs.push(
{ const { navigate } = useNavigate(); @@ -22,18 +24,17 @@ export const FundAccountResultDetailPage = () => { const tid = location.state.tid; const mid = location.state.mid; - const [detail, setDetail] = useState(); + const [detail, setDetail] = useState(); - const { mutateAsync: extensionFundAccountTransferDetail } = useExtensionFundAccountTransferDetailMutation(); - const { mutateAsync: extensionFundAccountTransferRequest } = useExtensionFundAccountTransferRequestMutation(); + const { mutateAsync: extensionFundAccountResultDetail } = useExtensionFundAccountResultDetailMutation(); const callDetail = () => { - let params: ExtensionFundAccountTransferDetailParams = { + let params: ExtensionFundAccountResultDetailParams = { tid: tid, mid: mid, }; - extensionFundAccountTransferDetail(params).then((rs: ExtensionFundAccountTransferDetailResponse) => { + extensionFundAccountResultDetail(params).then((rs: ExtensionFundAccountResultDetailResponse) => { setDetail(rs); }); }; @@ -42,29 +43,13 @@ export const FundAccountResultDetailPage = () => { useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { - navigate(PATHS.additionalService.fundAccount.transferList); + navigate(PATHS.additionalService.fundAccount.resultList); }); useEffect(() => { callDetail(); }, []); - const onClickToRequest = () =>{ - let params: ExtensionFundAccountTransferRequestParams = { - mid: mid, - transferAmount: detail?.transferAmount, - receiveBankCode: detail?.receiveBankName, - receiveAccountNo: detail?.receiveAccountNo, - receiveAccountName: detail?.receiveAccountName, - transferMemo: '' - }; - extensionFundAccountTransferRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { - console.log(rs) - alert(rs.message); - navigate(PATHS.additionalService.fundAccount.transferList); - }); - }; - return ( <>
@@ -81,29 +66,29 @@ export const FundAccountResultDetailPage = () => { >
-
나이스테스트가맹점
-
2025.08.19
+
{ detail?.receiveAccountName }({ detail?.receiveAccountNo })
+
{ moment(detail?.processDate).format('YYYY.MM.DD') }
상세 정보
  • - 등록일시 + 요청일시 { moment(detail?.processDate).format('YYYY.MM.DD') }
  • - 처리결과 - { detail?.status } -
  • -
  • - 요청일자 + 이체일시 { moment(detail?.requestDate).format('YYYY.MM.DD') }
  • 이체결과 { detail?.status }
  • +
  • + 실패사유 + { detail?.failReason } +
  • 수취인명 { detail?.receiveAccountName } @@ -120,15 +105,16 @@ export const FundAccountResultDetailPage = () => { MID { mid }
  • - +
  • + 주문번호 + { '주문번호' } +
  • +
  • + TID + { detail?.bankTid } +
-
- -
diff --git a/src/pages/additional-service/fund-account/transfer-detail-page.tsx b/src/pages/additional-service/fund-account/transfer-detail-page.tsx index b167dab..a88f4e8 100644 --- a/src/pages/additional-service/fund-account/transfer-detail-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-detail-page.tsx @@ -81,8 +81,8 @@ export const FundAccountTransferDetailPage = () => { >
-
나이스테스트가맹점
-
2025.08.19
+
{ detail?.receiveAccountName }({ detail?.receiveAccountNo })
+
{ moment(detail?.processDate).format('YYYY.MM.DD') }
From 0e1d624b41487a50cc81f368dc07574f164e222f Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Tue, 23 Sep 2025 18:18:55 +0900 Subject: [PATCH 4/6] ars --- .../use-extension-ars-apply-mutation.ts | 2 +- .../use-extension-ars-detail-mutation.ts | 2 +- ...e-extension-ars-download-excel-mutation.ts | 2 +- .../use-extension-ars-list-mutation.ts | 2 +- .../use-extension-ars-resend-mutation.ts | 2 +- .../additional-service/model/ars/constant.ts | 7 + .../additional-service/model/ars/types.ts | 86 ++++++++++ .../additional-service/model/types.ts | 79 +-------- .../additional-service-pages.tsx | 14 +- .../{ars-card-payment => ars}/list-page.tsx | 158 ++++++++++++++++-- .../request-page.tsx | 12 +- .../request-success-page.tsx | 4 +- .../additional-service/intro/intro-page.tsx | 2 +- src/shared/constants/paths.ts | 16 +- src/shared/constants/route-names.ts | 4 +- src/shared/ui/assets/css/style-fix.css | 3 + src/shared/ui/menu/index.tsx | 2 +- 17 files changed, 271 insertions(+), 126 deletions(-) rename src/entities/additional-service/api/{ => ars}/use-extension-ars-apply-mutation.ts (96%) rename src/entities/additional-service/api/{ => ars}/use-extension-ars-detail-mutation.ts (96%) rename src/entities/additional-service/api/{ => ars}/use-extension-ars-download-excel-mutation.ts (97%) rename src/entities/additional-service/api/{ => ars}/use-extension-ars-list-mutation.ts (96%) rename src/entities/additional-service/api/{ => ars}/use-extension-ars-resend-mutation.ts (96%) create mode 100644 src/entities/additional-service/model/ars/constant.ts create mode 100644 src/entities/additional-service/model/ars/types.ts rename src/pages/additional-service/{ars-card-payment => ars}/list-page.tsx (61%) rename src/pages/additional-service/{ars-card-payment => ars}/request-page.tsx (94%) rename src/pages/additional-service/{ars-card-payment => ars}/request-success-page.tsx (90%) diff --git a/src/entities/additional-service/api/use-extension-ars-apply-mutation.ts b/src/entities/additional-service/api/ars/use-extension-ars-apply-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extension-ars-apply-mutation.ts rename to src/entities/additional-service/api/ars/use-extension-ars-apply-mutation.ts index 675010d..faee522 100644 --- a/src/entities/additional-service/api/use-extension-ars-apply-mutation.ts +++ b/src/entities/additional-service/api/ars/use-extension-ars-apply-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionArsApplyParams, ExtensionArsApplyResponse -} from '../model/types'; +} from '../../model/ars/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extension-ars-detail-mutation.ts b/src/entities/additional-service/api/ars/use-extension-ars-detail-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extension-ars-detail-mutation.ts rename to src/entities/additional-service/api/ars/use-extension-ars-detail-mutation.ts index 676e09f..ebdb454 100644 --- a/src/entities/additional-service/api/use-extension-ars-detail-mutation.ts +++ b/src/entities/additional-service/api/ars/use-extension-ars-detail-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionArsDetailParams, ExtensionArsDetailResponse -} from '../model/types'; +} from '../../model/ars/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extension-ars-download-excel-mutation.ts b/src/entities/additional-service/api/ars/use-extension-ars-download-excel-mutation.ts similarity index 97% rename from src/entities/additional-service/api/use-extension-ars-download-excel-mutation.ts rename to src/entities/additional-service/api/ars/use-extension-ars-download-excel-mutation.ts index 858502c..456f690 100644 --- a/src/entities/additional-service/api/use-extension-ars-download-excel-mutation.ts +++ b/src/entities/additional-service/api/ars/use-extension-ars-download-excel-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionArsDownloadExcelParams, ExtensionArsDownloadExcelResponse -} from '../model/types'; +} from '../../model/ars/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extension-ars-list-mutation.ts b/src/entities/additional-service/api/ars/use-extension-ars-list-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extension-ars-list-mutation.ts rename to src/entities/additional-service/api/ars/use-extension-ars-list-mutation.ts index 96e5d7f..90e21da 100644 --- a/src/entities/additional-service/api/use-extension-ars-list-mutation.ts +++ b/src/entities/additional-service/api/ars/use-extension-ars-list-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionArsListParams, ExtensionArsListResponse -} from '../model/types'; +} from '../../model/ars/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extension-ars-resend-mutation.ts b/src/entities/additional-service/api/ars/use-extension-ars-resend-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extension-ars-resend-mutation.ts rename to src/entities/additional-service/api/ars/use-extension-ars-resend-mutation.ts index 17e8190..c396cac 100644 --- a/src/entities/additional-service/api/use-extension-ars-resend-mutation.ts +++ b/src/entities/additional-service/api/ars/use-extension-ars-resend-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionArsResendParams, ExtensionArsResendResponse -} from '../model/types'; +} from '../../model/ars/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/model/ars/constant.ts b/src/entities/additional-service/model/ars/constant.ts new file mode 100644 index 0000000..773350a --- /dev/null +++ b/src/entities/additional-service/model/ars/constant.ts @@ -0,0 +1,7 @@ +import { PaymentStatus } from './types'; + +export const PaymentStatusBtnGroup = [ + {name: '전체', value: PaymentStatus.ALL }, + {name: '결제완료', value: PaymentStatus.COMPLETE }, + {name: '미결제', value: PaymentStatus.UNPAID } +]; \ No newline at end of file diff --git a/src/entities/additional-service/model/ars/types.ts b/src/entities/additional-service/model/ars/types.ts new file mode 100644 index 0000000..0a48587 --- /dev/null +++ b/src/entities/additional-service/model/ars/types.ts @@ -0,0 +1,86 @@ +import { + DefaulResponsePagination, + DefaultRequestPagination +} from '@/entities/common/model/types'; + +export enum PaymentStatus { + ALL = 'ALL', + COMPLETE = 'COMPLETE', + UNPAID = 'UNPAID' +}; +export enum OrderStatus { + ALL = 'ALL', + PENDING = 'PENDING', + SUCCESS = 'SUCCESS', + EXPIRED = 'EXPIRED', + CANCELED = 'CANCELED', +}; +export interface ExtensionArsResendParams { + mid: string; + tid: string; +}; +export interface ExtensionArsResendResponse {}; +export interface ExtensionArsListParams { + mid: string; + moid: string; + fromDate: string; + toDate: string; + paymentStatus: string; + orderStatus: string; + minAmount: number; + maxAmount: number; + page: DefaultRequestPagination; +}; +export interface ArsListContent { + tid: string; + paymentDate: string; + paymentStatus: string; + orderStatus: string; + arsPaymentMethod: string; + amount: number; +}; +export interface ExtensionArsListResponse extends DefaulResponsePagination { + content: Array; +}; +export interface ExtensionArsDownloadExcelParams { + mid: string; + moid: string; + fromDate: string; + toDate: string; + paymentStatus: string; + orderStatus: string; + minAmount: number; + maxAmount: number; +}; +export interface ExtensionArsDownloadExcelResponse {}; +export interface ExtensionArsDetailParams { + mid: string; + tid: string; +}; +export interface ExtensionArsDetailResponse { + corpName: string; + mid: string; + arsPaymentMethod: string; + paymentStatus: string; + orderStatus: string; + paymentDate: string; + goodsName: string; + tid: string; + buyerName: string; + phoneNumber: string; + maskPhoneNumber: string; + email: string; + smsVerificationCode: string; +}; +export interface ExtensionArsApplyParams { + mid: string; + moid: string; + goodsName: string; + amount: number; + instmntMonth: string; + buyerName: string; + phoneNumber: string; + email: string; + arsPaymentMethod: string; +}; +export interface ExtensionArsApplyResponse {}; \ No newline at end of file diff --git a/src/entities/additional-service/model/types.ts b/src/entities/additional-service/model/types.ts index 44d657b..c0cb44b 100644 --- a/src/entities/additional-service/model/types.ts +++ b/src/entities/additional-service/model/types.ts @@ -34,6 +34,7 @@ export enum AdditionalServiceCategory { FundAccountResult = 'FundAccountResult', SettlementAgency = 'SettlementAgency', Payout = 'Payout', + Ars = 'Ars', } // ======================================== @@ -766,86 +767,8 @@ export interface ExtensionSmsDetailResponse { sendMessage: string; } -// ARS 카드결제 확장 서비스 -export interface ExtensionArsResendParams extends ExtensionRequestParams { - tid: string; -} -export interface ExtensionArsResendResponse { -} - -export interface ExtensionArsListParams extends ExtensionRequestParams { - moid: string; - fromDate: string; - toDate: string; - paymentStatus: string; - orderStatus: string; - minAmount: number; - maxAmount: number; -} - -export interface ExtensionArsListItemProps { - tid: string; - paymentDate: string; - paymentStatus: string; - orderStatus: string; - arsPaymentMethod: string; - amount: number; -} - -export interface ExtensionArsListResponse extends DefaulResponsePagination { - content: Array -} - -export interface ExtensionArsDownloadExcelParams extends ExtensionRequestParams { - moid: string; - fromDate: string; - toDate: string; - paymentStatus: string; - orderStatus: string; - minAmount: number; - maxAmount: number; -} - -export interface ExtensionArsDownloadExcelResponse { - -} - -export interface ExtensionArsDetailParams extends ExtensionRequestParams { - tid: string; -} - -export interface ExtensionArsDetailResponse { - corpName: string; - mid: string; - arsPaymentMethod: string; - paymentStatus: string; - orderStatus: string; - paymentDate: string; - goodsName: string; - tid: string; - buyerName: string; - phoneNumber: string; - maskPhoneNumber: string; - email: string; - smsVerificationCode: string; -} - -export interface ExtensionArsApplyParams extends ExtensionRequestParams { - moid: string; - goodsName: string; - amount: number; - instmntMonth: string; - buyerName: string; - phoneNumber: string; - email: string; - arsPaymentMethod: string; -} - -export interface ExtensionArsApplyResponse { - -} // 알림톡 확장 서비스 export interface SendMerchantInfoItem { diff --git a/src/pages/additional-service/additional-service-pages.tsx b/src/pages/additional-service/additional-service-pages.tsx index f1f0be9..15576ed 100644 --- a/src/pages/additional-service/additional-service-pages.tsx +++ b/src/pages/additional-service/additional-service-pages.tsx @@ -2,9 +2,9 @@ import { Route } from 'react-router-dom'; import { SentryRoutes } from '@/shared/configs/sentry'; import { ROUTE_NAMES } from '@/shared/constants/route-names'; import { IntroPage } from './intro/intro-page'; -import { ArsCardPaymentListPage } from './ars-card-payment/list-page'; -import { ArsCardPaymentRequestPage } from './ars-card-payment/request-page'; -import { ArsCardPaymentRequestSuccessPage } from './ars-card-payment/request-success-page'; +import { ArsListPage } from './ars/list-page'; +import { ArsRequestPage } from './ars/request-page'; +import { ArsRequestSuccessPage } from './ars/request-success-page'; import { KeyInPaymentPage } from './key-in-payment/key-in-payment-page'; import { SmsPaymentNotificationPage } from './sms-payment-notification/sms-payment-notification-page'; import { AccountHolderSearchPage } from './account-holder-search/account-holder-search-page'; @@ -43,10 +43,10 @@ export const AdditionalServicePages = () => { } /> - - } /> - } /> - } /> + + } /> + } /> + } /> } /> diff --git a/src/pages/additional-service/ars-card-payment/list-page.tsx b/src/pages/additional-service/ars/list-page.tsx similarity index 61% rename from src/pages/additional-service/ars-card-payment/list-page.tsx rename to src/pages/additional-service/ars/list-page.tsx index d1a472a..4d5fe32 100644 --- a/src/pages/additional-service/ars-card-payment/list-page.tsx +++ b/src/pages/additional-service/ars/list-page.tsx @@ -1,17 +1,43 @@ import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { IMAGE_ROOT } from '@/shared/constants/common'; -import { HeaderType } from '@/entities/common/model/types'; +import { HeaderType, SortByKeys } from '@/entities/common/model/types'; import { useSetHeaderTitle, useSetHeaderType, useSetFooterMode, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; +import { useEffect, useState } from 'react'; +import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; +import { ArsListContent, ExtensionArsDownloadExcelParams, ExtensionArsDownloadExcelResponse, ExtensionArsListParams, ExtensionArsListResponse, OrderStatus, PaymentStatus } from '@/entities/additional-service/model/ars/types'; +import { useExtensionArsListMutation } from '@/entities/additional-service/api/ars/use-extension-ars-list-mutation'; +import moment from 'moment'; +import { useExtensionArsDownloadExcelMutation } from '@/entities/additional-service/api/ars/use-extension-ars-download-excel-mutation'; +import { ListDateGroup } from '@/entities/additional-service/ui/list-date-group'; +import { AdditionalServiceCategory } from '@/entities/additional-service/model/types'; +import { SortOptionsBox } from '@/entities/common/ui/sort-options-box'; +import { PaymentStatusBtnGroup } from '@/entities/additional-service/model/ars/constant'; -export const ArsCardPaymentListPage = () => { +export const ArsListPage = () => { const { navigate } = useNavigate(); + const [sortBy, setSortBy] = useState(SortByKeys.New); + const [listItems, setListItems] = useState>>({}); + const [filterOn, setFilterOn] = useState(false); + const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); + const [mid, setMid] = useState('nictest001m'); + const [moid, setMoid] = useState(''); + const [fromDate, setFromDate] = useState(''); + const [toDate, setToDate] = useState(''); + const [paymentStatus, setPaymentStatus] = useState(PaymentStatus.ALL); + const [orderStatus, setOrderStatus] = useState(OrderStatus.ALL); + const [minAmount, setMinAmount] = useState(0); + const [maxAmount, setMaxAmount] = useState(0); + + const { mutateAsync: extensionArsList } = useExtensionArsListMutation(); + const { mutateAsync: extensionArsDownloadExcel } = useExtensionArsDownloadExcelMutation(); + useSetHeaderTitle('신용카드 ARS 결제'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); @@ -19,10 +45,103 @@ export const ArsCardPaymentListPage = () => { navigate(PATHS.home); }); - const onClickToNavigation = () => { - navigate(PATHS.additionalService.arsCardPayment.request); + const callList = (option?: { + sortBy?: string, + val?: string + }) => { + pageParam.sortBy = (option?.sortBy)? option.sortBy: sortBy; + setPageParam(pageParam); + + let params: ExtensionArsListParams = { + mid: mid, + moid: moid, + fromDate: fromDate, + toDate: toDate, + paymentStatus: paymentStatus, + orderStatus: orderStatus, + minAmount: minAmount, + maxAmount: maxAmount, + page: pageParam + }; + extensionArsList(params).then((rs: ExtensionArsListResponse) => { + setListItems(assembleData(rs.content)); + }); }; + const callDownloadExcel = () => { + let params: ExtensionArsDownloadExcelParams = { + mid: mid, + moid: moid, + fromDate: fromDate, + toDate: toDate, + paymentStatus: paymentStatus, + orderStatus: orderStatus, + minAmount: minAmount, + maxAmount: maxAmount, + }; + extensionArsDownloadExcel(params).then((rs: ExtensionArsDownloadExcelResponse) => { + + }); + }; + + const assembleData = (content: Array) => { + let data: any = {}; + if(content && content.length > 0){ + for(let i=0;i { + navigate(PATHS.additionalService.ars.request); + }; + + const onClickToDownloadExcel = () => { + callDownloadExcel(); + }; + const onClickToOpenFilter = () => { + setFilterOn(!filterOn); + }; + const onClickToSort = (sort: SortByKeys) => { + setSortBy(sort); + callList({sortBy: sort}); + }; + const onClickToPaymentStatus = (val: PaymentStatus) => { + setPaymentStatus(val); + callList({val: val}); + }; + + useEffect(() => { + callList(); + }, []); + + const getArsList = () => { + let rs = []; + if(Object.keys(listItems).length > 0){ + for (const [key, value] of Object.entries(listItems)) { + rs.push( + + ); + } + } + return rs; + } + return ( <>
@@ -32,14 +151,15 @@ export const ArsCardPaymentListPage = () => {
- | - -
-
+ +
- 전체 - 결제완료 - 배송등록 + { + PaymentStatusBtnGroup.map((value, index) => ( + onClickToPaymentStatus(value.value) } + >{ value.name } + )) + }
diff --git a/src/pages/additional-service/ars-card-payment/request-page.tsx b/src/pages/additional-service/ars/request-page.tsx similarity index 94% rename from src/pages/additional-service/ars-card-payment/request-page.tsx rename to src/pages/additional-service/ars/request-page.tsx index 0744afe..071da8f 100644 --- a/src/pages/additional-service/ars-card-payment/request-page.tsx +++ b/src/pages/additional-service/ars/request-page.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { IMAGE_ROOT } from '@/shared/constants/common'; -import { useExtensionArsApplyMutation } from '@/entities/additional-service/api/use-extension-ars-apply-mutation'; +import { useExtensionArsApplyMutation } from '@/entities/additional-service/api/ars/use-extension-ars-apply-mutation'; import { HeaderType } from '@/entities/common/model/types'; import { useSetHeaderTitle, @@ -11,7 +11,7 @@ import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; -export const ArsCardPaymentRequestPage = () => { +export const ArsRequestPage = () => { const { navigate } = useNavigate(); const { mutateAsync: arsApply } = useExtensionArsApplyMutation(); @@ -20,10 +20,10 @@ export const ArsCardPaymentRequestPage = () => { useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { - navigate(PATHS.additionalService.arsCardPayment.list); + navigate(PATHS.additionalService.ars.list); }); - const callArsCardPaymentRequest = () => { + const callArsRequest = () => { let arsApplyParams = { mid: 'string', moid: 'string', @@ -36,7 +36,7 @@ export const ArsCardPaymentRequestPage = () => { arsPaymentMethod: 'SMS', }; arsApply(arsApplyParams).then((rs) => { - navigate(PATHS.additionalService.arsCardPayment.requestSuccess); + navigate(PATHS.additionalService.ars.requestSuccess); console.log(rs) }).catch(() => { @@ -47,7 +47,7 @@ export const ArsCardPaymentRequestPage = () => { }; const onClickToRequest = () => { - callArsCardPaymentRequest(); + callArsRequest(); }; return ( diff --git a/src/pages/additional-service/ars-card-payment/request-success-page.tsx b/src/pages/additional-service/ars/request-success-page.tsx similarity index 90% rename from src/pages/additional-service/ars-card-payment/request-success-page.tsx rename to src/pages/additional-service/ars/request-success-page.tsx index 4126daa..86baa94 100644 --- a/src/pages/additional-service/ars-card-payment/request-success-page.tsx +++ b/src/pages/additional-service/ars/request-success-page.tsx @@ -5,14 +5,14 @@ import { useSetHeaderType, useSetFooterMode, } from '@/widgets/sub-layout/use-sub-layout'; -export const ArsCardPaymentRequestSuccessPage = () => { +export const ArsRequestSuccessPage = () => { const { navigate } = useNavigate(); useSetHeaderType(HeaderType.NoHeader); useSetFooterMode(false); const onClickToNavigate = () => { - navigate(PATHS.additionalService.arsCardPayment.list); + navigate(PATHS.additionalService.ars.list); }; return ( diff --git a/src/pages/additional-service/intro/intro-page.tsx b/src/pages/additional-service/intro/intro-page.tsx index 8405a60..7903c5e 100644 --- a/src/pages/additional-service/intro/intro-page.tsx +++ b/src/pages/additional-service/intro/intro-page.tsx @@ -27,7 +27,7 @@ export const IntroPage = () => { }, { className: 'list-wrap01', serviceName: '신용카드 ARS 결제', serviceDesc: '전화 한 통으로 결제 성공 편리하고 안전한 서비스', - icon: IMAGE_ROOT + '/icon_ing01.svg', path: PATHS.additionalService.arsCardPayment.list + icon: IMAGE_ROOT + '/icon_ing01.svg', path: PATHS.additionalService.ars.list }, { className: 'list-wrap01', serviceName: 'KEY-IN 결제', serviceDesc: '상담 중 카드정보 입력으로 간편한 결제 지원', diff --git a/src/shared/constants/paths.ts b/src/shared/constants/paths.ts index da43a36..b8c63be 100644 --- a/src/shared/constants/paths.ts +++ b/src/shared/constants/paths.ts @@ -142,19 +142,19 @@ export const PATHS: RouteNamesType = { additionalService: { base: generatePath(ROUTE_NAMES.additionalService.base), intro: generatePath(ROUTE_NAMES.additionalService.base, ROUTE_NAMES.additionalService.intro), - arsCardPayment: { - base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.arsCardPayment.base}`), + ars: { + base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.ars.base}`), list: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.arsCardPayment.base}`, - ROUTE_NAMES.additionalService.arsCardPayment.list, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.ars.base}`, + ROUTE_NAMES.additionalService.ars.list, ), request: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.arsCardPayment.base}`, - ROUTE_NAMES.additionalService.arsCardPayment.request, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.ars.base}`, + ROUTE_NAMES.additionalService.ars.request, ), requestSuccess: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.arsCardPayment.base}`, - ROUTE_NAMES.additionalService.arsCardPayment.requestSuccess, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.ars.base}`, + ROUTE_NAMES.additionalService.ars.requestSuccess, ), }, keyInPayment: { diff --git a/src/shared/constants/route-names.ts b/src/shared/constants/route-names.ts index 30fc05a..91575ba 100644 --- a/src/shared/constants/route-names.ts +++ b/src/shared/constants/route-names.ts @@ -70,8 +70,8 @@ export const ROUTE_NAMES = { additionalService: { base: '/additional-service/*', intro: 'intro', - arsCardPayment: { - base: '/ars-card-payment/*', + ars: { + base: '/ars/*', list: 'list', request: 'request', requestSuccess: 'request-success', diff --git a/src/shared/ui/assets/css/style-fix.css b/src/shared/ui/assets/css/style-fix.css index 4268767..f0393cd 100644 --- a/src/shared/ui/assets/css/style-fix.css +++ b/src/shared/ui/assets/css/style-fix.css @@ -77,4 +77,7 @@ main { } .notice-box { margin-top: 1rem; +} +.menu-category:last-of-type{ + padding-bottom: 15px; } \ No newline at end of file diff --git a/src/shared/ui/menu/index.tsx b/src/shared/ui/menu/index.tsx index 215f1e6..b8eafad 100644 --- a/src/shared/ui/menu/index.tsx +++ b/src/shared/ui/menu/index.tsx @@ -82,7 +82,7 @@ export const Menu = ({ categoryIcon: 'service-icon', items: [ {title: '부가서비스소개', path: PATHS.additionalService.intro}, - {title: 'ARS 카드결제', path: PATHS.additionalService.arsCardPayment.list}, + {title: 'ARS 카드결제', path: PATHS.additionalService.ars.list}, {title: 'KEY-IN 결제', path: PATHS.additionalService.keyInPayment.list}, {title: 'SMS 결제 통보', path: PATHS.additionalService.smsPaymentNotification}, {title: '계좌성명조회', path: PATHS.additionalService.accountHolderSearch.list}, From 152510e5149868cc2329046781d5b09d3d03b08f Mon Sep 17 00:00:00 2001 From: HyeonJongKim Date: Wed, 24 Sep 2025 09:21:25 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=EB=B6=80=EA=B0=80=EC=84=9C=EB=B9=84?= =?UTF-8?q?=EC=8A=A4=20-=20=EC=9D=BC=EB=B6=80=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4,=ED=83=80=EC=9E=85=EB=AA=85=20=EB=B3=80=EA=B2=BD=20-?= =?UTF-8?q?=20=EB=B6=88=ED=95=84=EC=9A=94=20=ED=8C=8C=EC=9D=BC=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../use-extension-sms-detail-mutation.ts | 2 +- ...e-extension-sms-download-excel-mutation.ts | 2 +- .../use-extension-sms-list-mutation.ts | 2 +- .../use-extension-sms-resend-mutation.ts | 2 +- .../additional-service/model/types.ts | 18 ++++-- .../ui/info-wrap/payment-info-wrap.tsx | 2 +- .../ui/info-wrap/title-info-wrap.tsx | 2 +- .../detail/detail-deets-Info-section.tsx | 38 ------------ .../detail/detail-payment-info-section.tsx | 50 ---------------- .../detail-pending-payment-info-section.tsx | 58 ------------------- .../link-payment-pending-send-filter.tsx | 6 +- .../link-payment-wait-send-wrap.tsx | 8 +-- .../additional-service/ui/list-item.tsx | 10 ++-- .../link-payment-wait-detail-page.tsx | 4 +- 14 files changed, 32 insertions(+), 172 deletions(-) rename src/entities/additional-service/api/{ => sms-payment-notification}/use-extension-sms-detail-mutation.ts (97%) rename src/entities/additional-service/api/{ => sms-payment-notification}/use-extension-sms-download-excel-mutation.ts (97%) rename src/entities/additional-service/api/{ => sms-payment-notification}/use-extension-sms-list-mutation.ts (97%) rename src/entities/additional-service/api/{ => sms-payment-notification}/use-extension-sms-resend-mutation.ts (97%) delete mode 100644 src/entities/additional-service/ui/link-payment/detail/detail-deets-Info-section.tsx delete mode 100644 src/entities/additional-service/ui/link-payment/detail/detail-payment-info-section.tsx delete mode 100644 src/entities/additional-service/ui/link-payment/detail/detail-pending-payment-info-section.tsx diff --git a/src/entities/additional-service/api/use-extension-sms-detail-mutation.ts b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-detail-mutation.ts similarity index 97% rename from src/entities/additional-service/api/use-extension-sms-detail-mutation.ts rename to src/entities/additional-service/api/sms-payment-notification/use-extension-sms-detail-mutation.ts index 683a8b9..c71049b 100644 --- a/src/entities/additional-service/api/use-extension-sms-detail-mutation.ts +++ b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-detail-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionSmsDetailParams, ExtensionSmsDetailResponse -} from '../model/types'; +} from '../../model/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extension-sms-download-excel-mutation.ts b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-download-excel-mutation.ts similarity index 97% rename from src/entities/additional-service/api/use-extension-sms-download-excel-mutation.ts rename to src/entities/additional-service/api/sms-payment-notification/use-extension-sms-download-excel-mutation.ts index cc70a45..eeb447e 100644 --- a/src/entities/additional-service/api/use-extension-sms-download-excel-mutation.ts +++ b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-download-excel-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionSmsDownloadExcelParams, ExtensionSmsDownloadExcelResponse -} from '../model/types'; +} from '../../model/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extension-sms-list-mutation.ts b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-list-mutation.ts similarity index 97% rename from src/entities/additional-service/api/use-extension-sms-list-mutation.ts rename to src/entities/additional-service/api/sms-payment-notification/use-extension-sms-list-mutation.ts index 4b972a3..6ae4e27 100644 --- a/src/entities/additional-service/api/use-extension-sms-list-mutation.ts +++ b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-list-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionSmsListParams, ExtensionSmsListResponse -} from '../model/types'; +} from '../../model/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extension-sms-resend-mutation.ts b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-resend-mutation.ts similarity index 97% rename from src/entities/additional-service/api/use-extension-sms-resend-mutation.ts rename to src/entities/additional-service/api/sms-payment-notification/use-extension-sms-resend-mutation.ts index a011084..7f83497 100644 --- a/src/entities/additional-service/api/use-extension-sms-resend-mutation.ts +++ b/src/entities/additional-service/api/sms-payment-notification/use-extension-sms-resend-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionSmsResendParams, ExtensionSmsResendResponse -} from '../model/types'; +} from '../../model/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/model/types.ts b/src/entities/additional-service/model/types.ts index c0cb44b..253fb5e 100644 --- a/src/entities/additional-service/model/types.ts +++ b/src/entities/additional-service/model/types.ts @@ -29,10 +29,11 @@ export enum AdditionalServiceCategory { AccountHolderAuth = 'AccountHolderAuth', AccountHolderSearch = 'AccountHolderSearch', LinkPaymentHistory = 'LinkPaymentHistory', - LinkPaymentPending = 'LinkPaymentPending', + LinkPaymentWait = 'LinkPaymentWait', FundAccountTransfer = 'FundAccountTransfer', FundAccountResult = 'FundAccountResult', SettlementAgency = 'SettlementAgency', + SMSPayment = 'SMSPayment', Payout = 'Payout', Ars = 'Ars', } @@ -106,6 +107,11 @@ export interface FilterProps { setFilterOn: (filterOn: boolean) => void; } +// ======================================== +// SMS 결제 통보 관련 타입들 +// ======================================== + + // ======================================== // 키인결제 관련 타입들 // ======================================== @@ -321,7 +327,7 @@ export interface LinkPaymentHistoryFilterProps extends FilterProps { setSendMethod: (sendMethod: LinkPaymentSendMethod) => void; } -export interface LinkPaymentPendingSendFilterProps extends FilterProps { +export interface LinkPaymentWaitFilterProps extends FilterProps { mid: string; searchType: LinkPaymentSearchType; searchKeyword: string; @@ -714,6 +720,7 @@ export interface ExtensionKeyinApplyResponse { // ======================================== // SMS 결제알림 확장 서비스 +// ======================================== export interface ExtensionSmsResendParams extends ExtensionRequestParams { tid: string; } @@ -723,12 +730,12 @@ export interface ExtensionSmsResendResponse { } export interface ExtensionSmsListParams extends ExtensionRequestParams { - tid: string; searchCl: string; searchValue: string; fromDate: string; toDate: string; smsCl: string; + page?: DefaultRequestPagination; } export interface ExtensionSmsListItemProps { @@ -766,11 +773,10 @@ export interface ExtensionSmsDetailResponse { receiverName: string; sendMessage: string; } - - - +// ======================================== // 알림톡 확장 서비스 +// ======================================== export interface SendMerchantInfoItem { cardApprovalFlag: boolean; cardCancelFlag: boolean; diff --git a/src/entities/additional-service/ui/info-wrap/payment-info-wrap.tsx b/src/entities/additional-service/ui/info-wrap/payment-info-wrap.tsx index e412f31..bfc0419 100644 --- a/src/entities/additional-service/ui/info-wrap/payment-info-wrap.tsx +++ b/src/entities/additional-service/ui/info-wrap/payment-info-wrap.tsx @@ -52,7 +52,7 @@ export const PaymentInfoWrap = ({ - }{(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) && + }{(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait) && <>
  • 진행상태 diff --git a/src/entities/additional-service/ui/info-wrap/title-info-wrap.tsx b/src/entities/additional-service/ui/info-wrap/title-info-wrap.tsx index 7d968b0..3377704 100644 --- a/src/entities/additional-service/ui/info-wrap/title-info-wrap.tsx +++ b/src/entities/additional-service/ui/info-wrap/title-info-wrap.tsx @@ -58,7 +58,7 @@ export const TitleInfoWrap = ({ )} {/*링크결제_발송대기*/} - {additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending && ( + {additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait && ( <> <>
    diff --git a/src/entities/additional-service/ui/link-payment/detail/detail-deets-Info-section.tsx b/src/entities/additional-service/ui/link-payment/detail/detail-deets-Info-section.tsx deleted file mode 100644 index ba7ac62..0000000 --- a/src/entities/additional-service/ui/link-payment/detail/detail-deets-Info-section.tsx +++ /dev/null @@ -1,38 +0,0 @@ -interface DetailDeetsInfoSectionProps { - deetsInfo?: any; - show?: boolean; - onClickToShowInfo?: () => void; -} - -export const DetailDeetsInfoSection = ({ - deetsInfo, - show, - onClickToShowInfo -}: DetailDeetsInfoSectionProps) => { - - return ( - <> -
    -
    상세 정보
    -
      -
    • - 이메일 - -
    • -
    • - 휴대폰번호 - 01073937470 -
    • -
    • - 상품명 - 곰돌이 -
    • -
    • - 주문번호 - mod201705545050 -
    • -
    -
    - - ) -} \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/detail/detail-payment-info-section.tsx b/src/entities/additional-service/ui/link-payment/detail/detail-payment-info-section.tsx deleted file mode 100644 index b31b54c..0000000 --- a/src/entities/additional-service/ui/link-payment/detail/detail-payment-info-section.tsx +++ /dev/null @@ -1,50 +0,0 @@ -interface DetailPaymentInfoSectionProps { - paymentInfo?: any; - show?: boolean; - onClickToShowInfo?: () => void; -} - -export const DetailPaymentInfoSection = ({ - paymentInfo, - show, - onClickToShowInfo -}: DetailPaymentInfoSectionProps) => { - - return ( - <> -
    -
    결제 정보
    -
      -
    • - 구매자명 - 김*환 -
    • -
    • - 발송수단 - SMS -
    • -
    • - 발송일자 - 2025.06.08 -
    • -
    • - 결제상태(실패횟수) - 미완료(2) -
    • -
    • - 결제수단 - 신용카드 -
    • -
    • - 결제일자 - -
    • -
    • - 결제유효일자 - 2025.06.08 -
    • -
    -
    - - ) -} \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/detail/detail-pending-payment-info-section.tsx b/src/entities/additional-service/ui/link-payment/detail/detail-pending-payment-info-section.tsx deleted file mode 100644 index 4da7e68..0000000 --- a/src/entities/additional-service/ui/link-payment/detail/detail-pending-payment-info-section.tsx +++ /dev/null @@ -1,58 +0,0 @@ -interface DetailPendingPaymentInfoSectionProps { - paymentInfo?: any; - show?: boolean; - onClickToShowInfo?: () => void; -} - -export const DetailPaymentInfoSection = ({ - paymentInfo, - show, - onClickToShowInfo -}: DetailPendingPaymentInfoSectionProps) => { - - return ( - <> -
    -
    결제 정보
    -
      -
    • - 진행상태 - 발송요청 -
    • -
    • - 요청일자 - 2025.06.05 -
    • -
    • - 결제유효일자 - 2025.06.08 -
    • -
    • - 발송수단 - SMS -
    • -
    • - 구매자명 - 김*환 -
    • -
    • - 이메일 - -
    • -
    • - 휴대폰번호 - 01073937470 -
    • -
    • - 상품명 - 곰돌이 -
    • -
    • - 주문번호 - moid201705545050 -
    • -
    -
    - - ) -} \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/filter/link-payment-pending-send-filter.tsx b/src/entities/additional-service/ui/link-payment/filter/link-payment-pending-send-filter.tsx index ba948b5..99d6ef6 100644 --- a/src/entities/additional-service/ui/link-payment/filter/link-payment-pending-send-filter.tsx +++ b/src/entities/additional-service/ui/link-payment/filter/link-payment-pending-send-filter.tsx @@ -4,7 +4,7 @@ import { IMAGE_ROOT } from '@/shared/constants/common'; import { motion } from 'framer-motion'; import { ChangeEvent, useState } from 'react'; import { - LinkPaymentPendingSendFilterProps, + LinkPaymentWaitFilterProps, LinkPaymentSearchType, LinkPaymentSendMethod, LinkPaymentSendingStatus, @@ -15,7 +15,7 @@ import { FilterDateOptions } from '@/entities/common/model/types'; import { FilterCalendar } from '@/shared/ui/filter/calendar'; import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; -export const LinkPaymentPendingSendFilter = ({ +export const LinkPaymentWaitSendFilter = ({ filterOn, setFilterOn, mid, @@ -32,7 +32,7 @@ export const LinkPaymentPendingSendFilter = ({ setEndDate, setSendMethod, setSendingStatus -}: LinkPaymentPendingSendFilterProps) => { +}: LinkPaymentWaitFilterProps) => { const [filterMid, setFilterMid] = useState(mid); diff --git a/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx b/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx index d3903d7..3bf6c27 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-wait-send-wrap.tsx @@ -1,7 +1,7 @@ import moment from 'moment'; import { IMAGE_ROOT } from "@/shared/constants/common"; import { useState, useEffect } from "react"; -import { LinkPaymentPendingSendFilter } from "./filter/link-payment-pending-send-filter"; +import { LinkPaymentWaitSendFilter } from "./filter/link-payment-pending-send-filter"; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { PATHS } from "@/shared/constants/paths"; import { LinkPaymentWaitList } from "./link-payment-wait-list"; @@ -164,7 +164,7 @@ export const LinkPaymentWaitSendWrap = () => {
    - { setEndDate={setEndDate} setSendMethod={setSendMethod} setSendingStatus={setSendingStatus} - > + > ) } \ No newline at end of file diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index 37366eb..908ea6a 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -89,7 +89,7 @@ export const ListItem = ({ else if (paymentStatus === "INACTIVE") { rs = 'gray'; } - } else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) { + } else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait) { if (processStatus === "SEND_REQUEST") { rs = 'blue' } else { @@ -132,7 +132,7 @@ export const ListItem = ({ } }); } - else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) { + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait) { navigate(PATHS.additionalService.linkPayment.pendingDetail, { state: { additionalServiceCategory: additionalServiceCategory, @@ -214,7 +214,7 @@ export const ListItem = ({ str = `${accountNo}` } else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentHistory || - additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending + additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait ) { if (sendMethod === "SMS") { str = `${"buyerName"}(${"휴대폰 번호"})` @@ -285,7 +285,7 @@ export const ListItem = ({ ); } } - else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) { + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait) { rs.push(
    {getProcessStatusText(processStatus)} @@ -353,7 +353,7 @@ export const ListItem = ({ ); } else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentHistory || - additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending + additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait ) { rs.push(
    diff --git a/src/pages/additional-service/link-payment/link-payment-wait-detail-page.tsx b/src/pages/additional-service/link-payment/link-payment-wait-detail-page.tsx index 11fa9a8..3cf032c 100644 --- a/src/pages/additional-service/link-payment/link-payment-wait-detail-page.tsx +++ b/src/pages/additional-service/link-payment/link-payment-wait-detail-page.tsx @@ -103,14 +103,14 @@ export const LinkPaymentWaitDetailPage = () => {
    From 4e4d0fd5547d7d2b45d6f74f9842e31bf9652eec Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Wed, 24 Sep 2025 09:51:44 +0900 Subject: [PATCH 6/6] =?UTF-8?q?minAmount=20max=20amount=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20ars?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../additional-service/model/ars/types.ts | 12 +- .../additional-service/model/payout/types.ts | 4 +- .../additional-service/model/types.ts | 20 +-- .../ui/filter/payout-filter.tsx | 12 +- .../filter/key-in-payment-filter.tsx | 4 +- .../additional-service/ui/list-date-group.tsx | 5 +- .../additional-service/ui/list-item.tsx | 45 +++++- src/entities/common/model/types.ts | 8 +- src/entities/transaction/model/types.ts | 38 ++--- ...sh-receipt-hand-written-issuance-step2.tsx | 24 +-- .../ui/filter/all-transaction-filter.tsx | 4 +- .../transaction/ui/filter/billing-filter.tsx | 4 +- .../transaction/ui/filter/escrow-filter.tsx | 4 +- .../additional-service/ars/list-page.tsx | 142 +----------------- .../key-in-payment/key-in-payment-page.tsx | 4 +- .../additional-service/payout/list-page.tsx | 10 +- .../transaction/all-transaction/list-page.tsx | 4 +- src/pages/transaction/billing/charge-page.tsx | 4 +- src/pages/transaction/billing/list-page.tsx | 4 +- .../hand-written-issuance-page.tsx | 8 +- src/pages/transaction/escrow/list-page.tsx | 4 +- src/shared/ui/filter/range-amount.tsx | 4 +- 22 files changed, 139 insertions(+), 229 deletions(-) diff --git a/src/entities/additional-service/model/ars/types.ts b/src/entities/additional-service/model/ars/types.ts index 0a48587..9fc5713 100644 --- a/src/entities/additional-service/model/ars/types.ts +++ b/src/entities/additional-service/model/ars/types.ts @@ -32,12 +32,12 @@ export interface ExtensionArsListParams { page: DefaultRequestPagination; }; export interface ArsListContent { - tid: string; - paymentDate: string; - paymentStatus: string; - orderStatus: string; - arsPaymentMethod: string; - amount: number; + tid?: string; + paymentDate?: string; + paymentStatus?: string; + orderStatus?: string; + arsPaymentMethod?: string; + amount?: number; }; export interface ExtensionArsListResponse extends DefaulResponsePagination { content: Array; diff --git a/src/entities/additional-service/model/payout/types.ts b/src/entities/additional-service/model/payout/types.ts index aba4520..082bd45 100644 --- a/src/entities/additional-service/model/payout/types.ts +++ b/src/entities/additional-service/model/payout/types.ts @@ -23,8 +23,8 @@ export interface ExtensionPayoutListParams { fromDate: string; toDate: string; disbursementStatus: PayoutDisbursementStatus; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; page?: DefaultRequestPagination; }; export interface ExtensionPayoutListResponse extends DefaulResponsePagination{ diff --git a/src/entities/additional-service/model/types.ts b/src/entities/additional-service/model/types.ts index c0cb44b..954afb6 100644 --- a/src/entities/additional-service/model/types.ts +++ b/src/entities/additional-service/model/types.ts @@ -2,6 +2,7 @@ import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/c import { PayoutContent } from './payout/types'; import { P } from 'node_modules/framer-motion/dist/types.d-Cjd591yU'; import { FundAccountResultContentItem, FundAccountTransferContentItem } from './fund-account/types'; +import { ArsListContent } from './ars/types'; // ======================================== // 공통 Enums 및 타입들 @@ -134,14 +135,14 @@ export interface KeyInPaymentFilterProps extends FilterProps { startDate: string; endDate: string; transactionStatus: KeyInPaymentTransactionStatus; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; setMid: (mid: string) => void; setStartDate: (startDate: string) => void; setEndDate: (endDate: string) => void; setTransactionStatus: (transactionStatus: KeyInPaymentTransactionStatus) => void; - setMinAmount: (minAmount: string | number) => void; - setMaxAmount: (maxAmount: string | number) => void; + setMinAmount: (minAmount?: number) => void; + setMaxAmount: (maxAmount?: number) => void; } // ======================================== @@ -384,7 +385,8 @@ export interface ListItemProps extends KeyInPaymentListItem, AccountHolderSearchListItem, AccountHolderAuthListItem, LinkPaymentHistoryListItem, LinkPaymentWaitListItem, - PayoutContent, FundAccountTransferContentItem { + PayoutContent, FundAccountTransferContentItem, + ArsListContent { additionalServiceCategory?: AdditionalServiceCategory; mid?: string } @@ -668,8 +670,8 @@ export interface ExtensionKeyinListParams extends ExtensionRequestParams { fromDate: string; toDate: string; paymentStatus: string; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; page?: DefaultRequestPagination; } @@ -688,8 +690,8 @@ export interface ExtensionKeyinDownloadExcelParams extends ExtensionRequestParam fromDate?: string; toDate?: string; paymentStatus?: string; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; } export interface ExtensionKeyinDownloadExcelResponse { diff --git a/src/entities/additional-service/ui/filter/payout-filter.tsx b/src/entities/additional-service/ui/filter/payout-filter.tsx index 97d84d6..4ab35a5 100644 --- a/src/entities/additional-service/ui/filter/payout-filter.tsx +++ b/src/entities/additional-service/ui/filter/payout-filter.tsx @@ -28,15 +28,15 @@ export interface PayoutFilterProps { fromDate: string; toDate: string; disbursementStatus: PayoutDisbursementStatus; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; setMid: (mid: string) => void; setSearchCl: (searchCl: PayoutSearchCl) => void; setFromDate: (fromDate: string) => void; setToDate: (toDate: string) => void; setDisbursementStatus: (disbursementStatus: PayoutDisbursementStatus) => void; - setMinAmount: (minAmount: string | number) => void; - setMaxAmount: (maxAmount: string | number) => void; + setMinAmount: (minAmount?: number) => void; + setMaxAmount: (maxAmount?: number) => void; }; export const PayoutFilter = ({ @@ -63,8 +63,8 @@ export const PayoutFilter = ({ const [filterFromDate, setFilterFromDate] = useState(moment(fromDate).format('YYYY.MM.DD')); const [filterToDate, setFilterToDate] = useState(moment(toDate).format('YYYY.MM.DD')); const [filterDisbursementStatus, setFilterDisbursementStatus] = useState(disbursementStatus); - const [filterMinAmount, setFilterMinAmount] = useState(minAmount || ''); - const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount || ''); + const [filterMinAmount, setFilterMinAmount] = useState(minAmount); + const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount); const onClickToClose = () => { setFilterOn(false); diff --git a/src/entities/additional-service/ui/key-in-payment/filter/key-in-payment-filter.tsx b/src/entities/additional-service/ui/key-in-payment/filter/key-in-payment-filter.tsx index 13f1171..9b84abd 100644 --- a/src/entities/additional-service/ui/key-in-payment/filter/key-in-payment-filter.tsx +++ b/src/entities/additional-service/ui/key-in-payment/filter/key-in-payment-filter.tsx @@ -34,8 +34,8 @@ export const KeyInPaymentFilter = ({ const [filterStartDate, setFilterStartDate] = useState(startDate); const [filterEndDate, setFilterEndDate] = useState(endDate); const [filterTransactionStatus, setFilterTransactionStatus] = useState(transactionStatus); - const [filterMinAmount, setFilterMinAmount] = useState(minAmount || ''); - const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount || ''); + const [filterMinAmount, setFilterMinAmount] = useState(minAmount); + const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount); const variants = { hidden: { x: '100%' }, diff --git a/src/entities/additional-service/ui/list-date-group.tsx b/src/entities/additional-service/ui/list-date-group.tsx index 48b4c09..032237b 100644 --- a/src/entities/additional-service/ui/list-date-group.tsx +++ b/src/entities/additional-service/ui/list-date-group.tsx @@ -53,7 +53,10 @@ export const ListDateGroup = ({ receiveAccountNo={ items[i]?.receiveAccountNo } receiveAccountName={ items[i]?.receiveAccountName } status={ items[i]?.status } - processDate={items[i]?.processDate } + processDate={ items[i]?.processDate } + + orderStatus={ items[i]?.orderStatus } + arsPaymentMethod={ items[i]?.arsPaymentMethod } > ) } diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index 37366eb..59100c7 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -20,7 +20,9 @@ export const ListItem = ({ transferAmount, receiveBankName, receiveAccountNo, receiveAccountName, - status, processDate + status, processDate, + + orderStatus, arsPaymentMethod }: ListItemProps) => { const { navigate } = useNavigate(); const getItemClass = () => { @@ -171,6 +173,15 @@ export const ListItem = ({ } }); } + else if (additionalServiceCategory === AdditionalServiceCategory.Ars){ + navigate(PATHS.additionalService.payout.detail, { + state: { + additionalServiceCategory: additionalServiceCategory, + mid: mid, + tid: tid + } + }); + } else { alert('additionalServiceCategory가 존재하지 않습니다.'); } @@ -196,6 +207,10 @@ export const ListItem = ({ else if (additionalServiceCategory === AdditionalServiceCategory.FundAccountResult) { timeStr = moment(requestDate).format('mm:ss'); } + else if (additionalServiceCategory === AdditionalServiceCategory.Ars){ + let time = paymentDate?.substring(8, 12); + timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4); + } else { return } @@ -208,28 +223,31 @@ export const ListItem = ({ str = `${tid}(${amount})`; } else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) { - str = `${accountName}(${accountNo})` + str = `${accountName}(${accountNo})`; } else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { - str = `${accountNo}` + str = `${accountNo}`; } else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentHistory || additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending ) { if (sendMethod === "SMS") { - str = `${"buyerName"}(${"휴대폰 번호"})` + str = `${"buyerName"}(${"휴대폰 번호"})`; } else { - str = `${"buyerName"}(${"이메일"})` + str = `${"buyerName"}(${"이메일"})`; } } else if (additionalServiceCategory === AdditionalServiceCategory.Payout) { str = companyName; } else if(additionalServiceCategory === AdditionalServiceCategory.FundAccountTransfer){ - str = `${receiveAccountName}(${receiveAccountNo})` + str = `${receiveAccountName}(${receiveAccountNo})`; } else if(additionalServiceCategory === AdditionalServiceCategory.FundAccountResult){ - str = `${receiveAccountName}(${receiveAccountNo})` + str = `${receiveAccountName}(${receiveAccountNo})`; + } + else if(additionalServiceCategory === AdditionalServiceCategory.Ars){ + str = '이름(' + tid + ')'; } return str; @@ -321,6 +339,19 @@ export const ListItem = ({
    ); } + else if(additionalServiceCategory === AdditionalServiceCategory.Ars){ + rs.push( +
    + { getTime() } + | + { paymentStatus } + | + { orderStatus } + | + { arsPaymentMethod } +
    + ); + } return rs; }; diff --git a/src/entities/common/model/types.ts b/src/entities/common/model/types.ts index 9a88859..ca33b98 100644 --- a/src/entities/common/model/types.ts +++ b/src/entities/common/model/types.ts @@ -44,10 +44,10 @@ export enum AltMsgKeys { }; export interface FilterRangeAmountProps { title?: string; - minAmount?: number | string; - maxAmount?: number | string; - setMinAmount: (minAmount: number | string) => void; - setMaxAmount: (maxAmount: number | string) => void; + minAmount?: number; + maxAmount?: number; + setMinAmount: (minAmount: number) => void; + setMaxAmount: (maxAmount: number) => void; }; export interface FilterButtonGroupsProps { title: string; diff --git a/src/entities/transaction/model/types.ts b/src/entities/transaction/model/types.ts index 142ef29..5fdbe03 100644 --- a/src/entities/transaction/model/types.ts +++ b/src/entities/transaction/model/types.ts @@ -231,8 +231,8 @@ export interface AllTransactionListParams { toDate: string; stateCode: string; serviceCode: string; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; dateCl: string; goodsName: string; cardCode?: string; @@ -260,8 +260,8 @@ export interface EscrowListParams { endDate?: string; deliveryStatus?: string; settlementStatus?: string; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; pagination?: DefaultRequestPagination; }; @@ -274,8 +274,8 @@ export interface BillingListParams { requestStatus?: string; processResult?: string; paymentMethod?: string; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; pagination?: DefaultRequestPagination }; @@ -510,8 +510,8 @@ export interface AllTransactionFilterProps extends FilterProps { toDate: string; stateCode: AllTransactionStateCode; serviceCode: AllTransactionServiceCode; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; cardCode?: string; bankCode?: string; searchCl?: AllTransactionSearchCl; @@ -523,8 +523,8 @@ export interface AllTransactionFilterProps extends FilterProps { setToDate: (endDate: string) => void; setStateCode: (stateCode: AllTransactionStateCode) => void; setServiceCode: (serviceCode: AllTransactionServiceCode) => void; - setMinAmount: (minAmount: string | number) => void; - setMaxAmount: (maxAmount: string | number) => void; + setMinAmount: (minAmount?: number) => void; + setMaxAmount: (maxAmount?: number) => void; setCardCode: (cardCode: string | undefined) => void; setBankCode: (bankCode: string | undefined) => void; setSearchCl: (searchCl: AllTransactionSearchCl | undefined) => void; @@ -553,8 +553,8 @@ export interface EscrowFilterProps extends FilterProps { endDate: string; deliveryStatus: EscrowDeliveryStatus; settlementStatus: EscrowSettlementStatus; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; setMid: (mid: string) => void; setSearchType: (searchType: EscrowSearchType) => void; setSearchKeyword: (searchKeyword: string) => void; @@ -562,8 +562,8 @@ export interface EscrowFilterProps extends FilterProps { setEndDate: (endDate: string) => void; setDeliveryStatus: (deliveryStatus: EscrowDeliveryStatus) => void; setSettlementStatus: (settlementStatus: EscrowSettlementStatus) => void; - setMinAmount: (minAmount: string | number) => void; - setMaxAmount: (maxAmount: string | number) => void; + setMinAmount: (minAmount?: number) => void; + setMaxAmount: (maxAmount?: number) => void; }; export interface BillingFilterProps extends FilterProps { mid: string; @@ -574,8 +574,8 @@ export interface BillingFilterProps extends FilterProps { requestStatus: BillingRequestStatus; processResult: BillingProcessResult; paymentMethod: BillingPaymentMethod; - minAmount?: number | string; - maxAmount?: number | string; + minAmount?: number; + maxAmount?: number; setMid: (mid: string) => void; setSearchType: (searchType: BillingSearchType) => void; setSearchKeyword: (searchKeyword: string) => void; @@ -584,8 +584,8 @@ export interface BillingFilterProps extends FilterProps { setRequestStatus: (requestStatus: BillingRequestStatus) => void; setProcessResult: (processResult: BillingProcessResult) => void; setPaymentMethod: (paymentMethod: BillingPaymentMethod) => void; - setMinAmount: (minAmount: string | number) => void; - setMaxAmount: (maxAmount: string | number) => void; + setMinAmount: (minAmount?: number) => void; + setMaxAmount: (maxAmount?: number) => void; }; export interface CashReceiptPurposeUpdateParams { @@ -620,7 +620,7 @@ export interface CashReceiptManualIssueResponse { export interface BillingChargeParams { billKey: string; productName: string; - productAmount: number | string; + productAmount: number; orderNumber: string; buyerName: string; paymentRequestDate: string; 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 1c00e93..5603a46 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 @@ -4,14 +4,14 @@ import { ProcessStep } from '../model/types'; export interface CashReceiptHandWrittenIssuanceStep2Props { 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; + supplyAmount: number; + vatAmount: number; + taxFreeAmount: number; + serviceCharge: number; + setSupplyAmount: (supplyAmount: number) => void; + setVatAmount: (vatAmount: number) => void; + setTaxFreeAmount: (taxFreeAmount: number) => void; + setServiceCharge: (serviceCharge: number) => void; }; export const CashReceiptHandWrittenIssuanceStep2 = ({ setProcessStep, @@ -63,7 +63,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({ type="text" placeholder="" value={ supplyAmount } - onChange={ (e: ChangeEvent) => setSupplyAmount(e.target.value) } + onChange={ (e: ChangeEvent) => setSupplyAmount(parseInt(e.target.value)) } />
    @@ -75,7 +75,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({ type="text" placeholder="" value={ vatAmount } - onChange={ (e: ChangeEvent) => setVatAmount(e.target.value) } + onChange={ (e: ChangeEvent) => setVatAmount(parseInt(e.target.value)) } />
  • @@ -87,7 +87,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({ type="text" placeholder="" value={ taxFreeAmount } - onChange={ (e: ChangeEvent) => setTaxFreeAmount(e.target.value) } + onChange={ (e: ChangeEvent) => setTaxFreeAmount(parseInt(e.target.value)) } />
    @@ -99,7 +99,7 @@ export const CashReceiptHandWrittenIssuanceStep2 = ({ type="text" placeholder="" value={ serviceCharge } - onChange={ (e: ChangeEvent) => setServiceCharge(e.target.value) } + onChange={ (e: ChangeEvent) => setServiceCharge(parseInt(e.target.value)) } /> diff --git a/src/entities/transaction/ui/filter/all-transaction-filter.tsx b/src/entities/transaction/ui/filter/all-transaction-filter.tsx index af084b8..5577fab 100644 --- a/src/entities/transaction/ui/filter/all-transaction-filter.tsx +++ b/src/entities/transaction/ui/filter/all-transaction-filter.tsx @@ -62,8 +62,8 @@ export const AllTransactionFilter = ({ const [filterToDate, setFilterToDate] = useState(toDate); const [filterStateCode, setFilterStateCode] = useState(stateCode); const [filterServiceCode, setFilterServiceCode] = useState(serviceCode); - const [filterMinAmount, setFilterMinAmount] = useState(minAmount || ''); - const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount || ''); + const [filterMinAmount, setFilterMinAmount] = useState(minAmount); + const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount); const [filterCardCode, setFilterCardCode] = useState(cardCode); const [filterBankCode, setFilterBankCode] = useState(bankCode); diff --git a/src/entities/transaction/ui/filter/billing-filter.tsx b/src/entities/transaction/ui/filter/billing-filter.tsx index 97b050d..9bee8f4 100644 --- a/src/entities/transaction/ui/filter/billing-filter.tsx +++ b/src/entities/transaction/ui/filter/billing-filter.tsx @@ -59,8 +59,8 @@ export const BillingFilter = ({ const [filterRequestStatus, setFilterRequestStatus] = useState(requestStatus); const [filterProcessResult, setFilterProcessResult] = useState(processResult); const [filterPaymentMethod, setFilterPaymentMethod] = useState(paymentMethod); - const [filterMinAmount, setFilterMinAmount] = useState(minAmount || ''); - const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount || ''); + const [filterMinAmount, setFilterMinAmount] = useState(minAmount); + const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount); const onClickToClose = () => { setFilterOn(false); diff --git a/src/entities/transaction/ui/filter/escrow-filter.tsx b/src/entities/transaction/ui/filter/escrow-filter.tsx index 7a4ca94..188da2a 100644 --- a/src/entities/transaction/ui/filter/escrow-filter.tsx +++ b/src/entities/transaction/ui/filter/escrow-filter.tsx @@ -54,8 +54,8 @@ export const EscrowFilter = ({ const [filterEndDate, setFilterEndDate] = useState(endDate); const [filterDeliveryStatus, setFilterDeliveryStatus] = useState(deliveryStatus); const [filterSettlementStatus, setFilterSettlementStatus] = useState(settlementStatus); - const [filterMinAmount, setFilterMinAmount] = useState(minAmount || ''); - const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount || ''); + const [filterMinAmount, setFilterMinAmount] = useState(minAmount); + const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount); const onClickToClose = () => { setFilterOn(false); diff --git a/src/pages/additional-service/ars/list-page.tsx b/src/pages/additional-service/ars/list-page.tsx index 4d5fe32..bf1b010 100644 --- a/src/pages/additional-service/ars/list-page.tsx +++ b/src/pages/additional-service/ars/list-page.tsx @@ -28,8 +28,8 @@ export const ArsListPage = () => { const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); const [mid, setMid] = useState('nictest001m'); const [moid, setMoid] = useState(''); - const [fromDate, setFromDate] = useState(''); - const [toDate, setToDate] = useState(''); + const [fromDate, setFromDate] = useState(moment().format('YYYYMMDD')); + const [toDate, setToDate] = useState(moment().format('YYYYMMDD')); const [paymentStatus, setPaymentStatus] = useState(PaymentStatus.ALL); const [orderStatus, setOrderStatus] = useState(OrderStatus.ALL); const [minAmount, setMinAmount] = useState(0); @@ -201,140 +201,14 @@ export const ArsListPage = () => {
    -
    -
    25.06.08(일)
    -
    -
    -
    -
    -
    -
    김*환(7000)
    -
    - 20:00ㅣ미결제ㅣ결제대기ㅣSMS -
    -
    -
    5,254,000원
    -
    -
    -
    -
    -
    -
    -
    최*길(7000)
    -
    - 20:00ㅣ결제완료ㅣ결제성공ㅣ호전환 -
    -
    -
    23,845,000원
    -
    -
    -
    -
    -
    -
    -
    박*준(7000)
    -
    - 20:00ㅣ결제완료ㅣ결제성공ㅣ호전환 -
    -
    -
    534,000원
    -
    -
    -
    -
    -
    -
    -
    이*신(7000)
    -
    - 20:00ㅣ미결제ㅣ취소완료ㅣSMS -
    -
    -
    4,254,000원
    -
    -
    -
    -
    -
    -
    -
    김*환(7000)
    -
    - 20:00ㅣ미결제ㅣ기간만료ㅣSMS -
    -
    -
    948,000원
    -
    -
    - -
    -
    25.06.08(일)
    -
    -
    -
    -
    -
    -
    신용카드(카카오머니, 카카오)
    -
    - 승인ㅣ20:00ㅣcroquis01m -
    -
    -
    3,583,000원
    -
    -
    -
    -
    -
    -
    -
    신용카드(현대카드., 토스)
    -
    - 환불ㅣ20:00ㅣcroquis01m -
    -
    -
    874,000원
    -
    -
    -
    -
    -
    -
    -
    계좌간편결제(국민은행, PAYU)
    -
    - 승인ㅣ20:00ㅣcroquis01m -
    -
    -
    23,562,000원
    -
    -
    -
    -
    -
    -
    -
    휴대폰
    -
    - 환불ㅣ20:00ㅣcroquis01m -
    -
    -
    783,000원
    -
    -
    -
    -
    -
    -
    -
    SSG 은행계좌(농협중앙회)
    -
    - 승인ㅣ20:00ㅣcroquis01m -
    -
    -
    3,923,000원
    -
    + { getArsList() } +
    +
    -
    - -
    diff --git a/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx b/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx index ddd9a64..5c5abca 100644 --- a/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx +++ b/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx @@ -38,8 +38,8 @@ export const KeyInPaymentPage = () => { const [startDate, setStartDate] = useState(moment().format('YYYY-MM-DD')); const [endDate, setEndDate] = useState(moment().format('YYYY-MM-DD')); const [transactionStatus, setTransactionStatus] = useState(KeyInPaymentTransactionStatus.ALL) - const [minAmount, setMinAmount] = useState(); - const [maxAmount, setMaxAmount] = useState(); + const [minAmount, setMinAmount] = useState(); + const [maxAmount, setMaxAmount] = useState(); useSetHeaderTitle('KEY-IN 결제'); diff --git a/src/pages/additional-service/payout/list-page.tsx b/src/pages/additional-service/payout/list-page.tsx index 7af75e8..286ad8b 100644 --- a/src/pages/additional-service/payout/list-page.tsx +++ b/src/pages/additional-service/payout/list-page.tsx @@ -37,11 +37,11 @@ export const PayoutListPage = () => { const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); const [mid, setMid] = useState('nictest001m'); const [searchCl, setSearchCl] = useState(PayoutSearchCl.REQUEST_DATE); - const [fromDate, setFromDate] = useState(moment().format('YYYYMMDD')); - const [toDate, setToDate] = useState(moment().format('YYYYMMDD')); + const [fromDate, setFromDate] = useState(moment().format('YYYYMMDD')); + const [toDate, setToDate] = useState(moment().format('YYYYMMDD')); const [disbursementStatus, setDisbursementStatus] = useState(PayoutDisbursementStatus.ALL); - const [minAmount, setMinAmount] = useState(); - const [maxAmount, setMaxAmount] = useState(); + const [minAmount, setMinAmount] = useState(); + const [maxAmount, setMaxAmount] = useState(); const { mutateAsync: extensionPayoutList } = useExtensionPayoutListMutation(); const { mutateAsync: extensionPayoutExcel } = useExtensionPayoutExcelMutation(); @@ -224,7 +224,7 @@ export const PayoutListPage = () => { sortBy={ sortBy } onClickToSort={ onClickToSort } > -
    +
    { PayoutDisbursementStatusBtnGroup.map((value, index) => ( diff --git a/src/pages/transaction/all-transaction/list-page.tsx b/src/pages/transaction/all-transaction/list-page.tsx index ed5bb9c..a05c8dd 100644 --- a/src/pages/transaction/all-transaction/list-page.tsx +++ b/src/pages/transaction/all-transaction/list-page.tsx @@ -40,8 +40,8 @@ export const AllTransactionListPage = () => { const [toDate, setToDate] = useState(moment().format('YYYYMMDD')); const [stateCode, setStateCode] = useState(AllTransactionStateCode.ALL); const [serviceCode, setServiceCode] = useState(AllTransactionServiceCode.ALL); - const [minAmount, setMinAmount] = useState(); - const [maxAmount, setMaxAmount] = useState(); + const [minAmount, setMinAmount] = useState(); + const [maxAmount, setMaxAmount] = useState(); const [cardCode, setCardCode] = useState(); const [bankCode, setBankCode] = useState(); const [searchCl, setSearchCl] = useState(); diff --git a/src/pages/transaction/billing/charge-page.tsx b/src/pages/transaction/billing/charge-page.tsx index 5b33abc..119673a 100644 --- a/src/pages/transaction/billing/charge-page.tsx +++ b/src/pages/transaction/billing/charge-page.tsx @@ -16,7 +16,7 @@ export const BillingChargePage = () => { const [billKey, setBillKey] = useState('BIKYvattest01m'); const [productName, setProductName] = useState('테스트상품123'); - const [productAmount, setProductAmount] = useState(1000000); + const [productAmount, setProductAmount] = useState(1000000); const [orderNumber, setOrderNumber] = useState('P146733723'); const [buyerName, setBuyerName] = useState('김테스트'); const [paymentRequestDate, setPaymentRequestDate] = useState('2025-06-08'); @@ -109,7 +109,7 @@ export const BillingChargePage = () => { ) => setProductAmount(e.target.value) } + onChange={ (e: ChangeEvent) => setProductAmount(parseInt(e.target.value)) } />
    diff --git a/src/pages/transaction/billing/list-page.tsx b/src/pages/transaction/billing/list-page.tsx index 277e74d..d520da3 100644 --- a/src/pages/transaction/billing/list-page.tsx +++ b/src/pages/transaction/billing/list-page.tsx @@ -37,8 +37,8 @@ export const BillingListPage = () => { const [requestStatus, setRequestStatus] = useState(BillingRequestStatus.ALL); const [processResult, setProcessResult] = useState(BillingProcessResult.ALL); const [paymentMethod, setPaymentMethod] = useState(BillingPaymentMethod.ALL); - const [minAmount, setMinAmount] = useState(); - const [maxAmount, setMaxAmount] = useState(); + const [minAmount, setMinAmount] = useState(); + const [maxAmount, setMaxAmount] = useState(); useSetHeaderTitle('빌링'); useSetHeaderType(HeaderType.LeftArrow); 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 24dfd61..ccfe330 100644 --- a/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx +++ b/src/pages/transaction/cash-receipt/hand-written-issuance-page.tsx @@ -20,10 +20,10 @@ export const CashReceitHandWrittenIssuancePage = () => { 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); + const [supplyAmount, setSupplyAmount] = useState(9091); + const [vatAmount, setVatAmount] = useState(909); + const [taxFreeAmount, setTaxFreeAmount] = useState(0); + const [serviceCharge, setServiceCharge] = useState(0); useSetHeaderTitle('수기 발행'); useSetHeaderType(HeaderType.RightClose); diff --git a/src/pages/transaction/escrow/list-page.tsx b/src/pages/transaction/escrow/list-page.tsx index fe345bc..6312efa 100644 --- a/src/pages/transaction/escrow/list-page.tsx +++ b/src/pages/transaction/escrow/list-page.tsx @@ -36,8 +36,8 @@ export const EscrowListPage = () => { const [endDate, setEndDate] = useState(moment().format('YYYY-MM-DD')); const [deliveryStatus, setDeliveryStatus] = useState(EscrowDeliveryStatus.ALL); const [settlementStatus, setSettlementStatus] = useState(EscrowSettlementStatus.ALL); - const [minAmount, setMinAmount] = useState(); - const [maxAmount, setMaxAmount] = useState(); + const [minAmount, setMinAmount] = useState(); + const [maxAmount, setMaxAmount] = useState(); useSetHeaderTitle('에스크로'); useSetHeaderType(HeaderType.LeftArrow); diff --git a/src/shared/ui/filter/range-amount.tsx b/src/shared/ui/filter/range-amount.tsx index 6304a01..585d09c 100644 --- a/src/shared/ui/filter/range-amount.tsx +++ b/src/shared/ui/filter/range-amount.tsx @@ -25,7 +25,7 @@ export const FilterRangeAmount = ({ type="number" placeholder="" value={ minAmount } - onChange={ (e: ChangeEvent) => setMinAmount(e.target.value) } + onChange={ (e: ChangeEvent) => setMinAmount(parseInt(e.target.value)) } />
    ~ @@ -34,7 +34,7 @@ export const FilterRangeAmount = ({ type="number" placeholder="" value={ maxAmount } - onChange={ (e: ChangeEvent) => setMaxAmount(e.target.value) } + onChange={ (e: ChangeEvent) => setMaxAmount(parseInt(e.target.value)) } />