From 67ded00a23547a2e66250fda3f84584867003c9b Mon Sep 17 00:00:00 2001 From: HyeonJongKim Date: Wed, 17 Sep 2025 15:22:20 +0900 Subject: [PATCH] =?UTF-8?q?-=20=EB=B6=80=EA=B0=80=EC=84=9C=EB=B9=84?= =?UTF-8?q?=EC=8A=A4:=20KeyIn=EA=B2=B0=EC=A0=9C=20=EB=AA=A9=EC=97=85=20API?= =?UTF-8?q?=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../additional-service/model/types.ts | 35 ++- .../filter/key-in-payment-filter.tsx | 4 +- .../ui/key-in-payment/key-in-payment-item.tsx | 0 .../ui/key-in-payment/key-in-payment-list.tsx | 44 ++++ .../link-payment-pending-item.tsx | 57 ----- .../link-payment-pending-list.tsx | 6 +- .../link-payment-pending-send-wrap.tsx | 2 +- .../link-payment-shipping-history-item.tsx | 62 ----- .../link-payment-shipping-history-list.tsx | 6 +- .../link-payment-shipping-history-wrap.tsx | 2 +- .../additional-service/ui/list-date-group.tsx | 11 +- .../additional-service/ui/list-item.tsx | 113 +++++---- .../{link-payment => }/sort-options-box.tsx | 2 +- .../key-in-payment/key-in-payment-page.tsx | 217 ++++++++---------- .../key-in-payment/requeset-page.tsx | 2 +- 15 files changed, 229 insertions(+), 334 deletions(-) delete mode 100644 src/entities/additional-service/ui/key-in-payment/key-in-payment-item.tsx delete mode 100644 src/entities/additional-service/ui/link-payment/link-payment-pending-item.tsx delete mode 100644 src/entities/additional-service/ui/link-payment/link-payment-shipping-history-item.tsx rename src/entities/additional-service/ui/{link-payment => }/sort-options-box.tsx (95%) diff --git a/src/entities/additional-service/model/types.ts b/src/entities/additional-service/model/types.ts index c6f9be1..dcdf9d4 100644 --- a/src/entities/additional-service/model/types.ts +++ b/src/entities/additional-service/model/types.ts @@ -1,4 +1,4 @@ -import { DefaulResponsePagination } from '@/entities/common/model/types'; +import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types'; export enum FundTransferTabKeys { RequestList = 'RequestList', @@ -31,8 +31,8 @@ export enum ProcessResult { export enum KeyInPaymentTransactionStatus { ALL = 'ALL', APPROVE = 'APPROVE', - BF_CANCEL = 'BF_CANCEL', - AF_CANCEL = 'AF_CANCEL' + ALL_CANCEL = 'ALL_CANCEL', + AFTER_CANCEL = 'AFTER_CANCEL' } export enum AccountHolderSearchType { ALL = 'ALL', @@ -82,15 +82,9 @@ export enum AdditionalServiceCategory { // 각 서비스별 개별 타입들 export interface KeyInPaymentListItem { tid?: string; - mid?: string; - stateDate?: string; - stateCode?: string; - stateName?: string; - installmentMonth?: string; - serviceCode?: string; - serviceName?: string; - serviceDetailName?: string; - goodsAmount?: number; + paymentDate?: string; + paymentStatus?: string; + amount?: number; } export interface AccountHolderSearchListItem { @@ -227,9 +221,10 @@ export interface ExtensionListResponse extends DefaulResponsePagination { export interface ExtensionKeyinListParams extends ExtensionRequestParams { fromDate: string; toDate: string; - paymentStatus: string; - minAmount: number; - maxAmount: number; + paymentStatus: KeyInPaymentTransactionStatus; + minAmount?: number | string; + maxAmount?: number | string; + page?: DefaultRequestPagination; }; export interface ExtensionKeyinListItemProps { tid: string; @@ -241,11 +236,11 @@ export interface ExtensionKeyinListResponse extends DefaulResponsePagination { content: Array }; export interface ExtensionKeyinDownloadExcelParams extends ExtensionRequestParams { - fromDate: string; - toDate: string; - paymentStatus: string; - minAmount: number; - maxAmount: number; + fromDate?: string; + toDate?: string; + paymentStatus?: string; + minAmount?: number | string; + maxAmount?: number | string; }; export interface ExtensionKeyinDownloadExcelResponse { 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 2c02f8e..13f1171 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 @@ -66,8 +66,8 @@ export const KeyInPaymentFilter = ({ let transactionStatusOption = [ { name: '전체', value: KeyInPaymentTransactionStatus.ALL }, { name: '승인', value: KeyInPaymentTransactionStatus.APPROVE }, - { name: '전취소', value: KeyInPaymentTransactionStatus.BF_CANCEL }, - { name: '후취소', value: KeyInPaymentTransactionStatus.AF_CANCEL }, + { name: '전취소', value: KeyInPaymentTransactionStatus.ALL_CANCEL }, + { name: '후취소', value: KeyInPaymentTransactionStatus.AFTER_CANCEL }, ] return ( diff --git a/src/entities/additional-service/ui/key-in-payment/key-in-payment-item.tsx b/src/entities/additional-service/ui/key-in-payment/key-in-payment-item.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx b/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx index e69de29..f0f2e59 100644 --- a/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx +++ b/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx @@ -0,0 +1,44 @@ +import { PATHS } from '@/shared/constants/paths'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; +import { KeyInPaymentListProps } from '../../model/types' +import { ListDateGroup } from '../list-date-group'; + +export const KeyInPaymentList = ({ + additionalServiceCategory, + listItems +}: KeyInPaymentListProps ) => { + const { navigate } = useNavigate(); + + const getListDateGroup = () => { + let rs = []; + for (const [key, value] of Object.entries(listItems)) { + rs.push( + + ); + } + return rs; + }; + + const onClickToNavigate = () => { + navigate(PATHS.additionalService.keyInPayment.request) + }; + + return ( + <> +
+ { getListDateGroup() } +
+ +
+
+ + ); +} \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/link-payment-pending-item.tsx b/src/entities/additional-service/ui/link-payment/link-payment-pending-item.tsx deleted file mode 100644 index 6bac6bb..0000000 --- a/src/entities/additional-service/ui/link-payment/link-payment-pending-item.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import { PATHS } from '@/shared/constants/paths'; -import { useNavigate } from '@/shared/lib/hooks/use-navigate'; - -interface LinkPaymentPendingItemProps { - transactionId: string; - customerName: string; - status: string; - channel: string; - amount: number; -} - -export const LinkPaymentPendingItem = ({ - transactionId, - customerName, - status, - channel, - amount -}: LinkPaymentPendingItemProps) => { - const { navigate } = useNavigate(); - - const onClickToNavigate = () => { - navigate(PATHS.additionalService.linkPayment.pendingDetail, { - state: { - transactionId: transactionId - } - }); - }; - - const getStatusDotClass = () => { - if (status === '발송요청') { - return 'status-dot blue'; - } - return 'status-dot gray'; - }; - - return ( - <> -
onClickToNavigate()} - > -
-
-
-
-
{customerName}
-
- {status} - - {channel} -
-
-
{amount.toLocaleString()}원
-
- - ); -}; \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/link-payment-pending-list.tsx b/src/entities/additional-service/ui/link-payment/link-payment-pending-list.tsx index bb9accc..6f5b8a0 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-pending-list.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-pending-list.tsx @@ -2,6 +2,7 @@ import { LinkPaymentPendingListProps } from '../../model/types'; import { ListDateGroup } from '../list-date-group'; export const LinkPaymentPendingList = ({ + additionalServiceCategory, listItems }: LinkPaymentPendingListProps) => { @@ -10,11 +11,12 @@ export const LinkPaymentPendingList = ({ for (const [key, value] of Object.entries(listItems)) { rs.push( - ); + > + ); } return rs; }; diff --git a/src/entities/additional-service/ui/link-payment/link-payment-pending-send-wrap.tsx b/src/entities/additional-service/ui/link-payment/link-payment-pending-send-wrap.tsx index 43f409d..2ba9e36 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-pending-send-wrap.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-pending-send-wrap.tsx @@ -6,7 +6,7 @@ import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { PATHS } from "@/shared/constants/paths"; import { LinkPaymentPendingList } from "./link-payment-pending-list"; import { AdditionalServiceCategory, LinkPaymentSearchType, LinkPaymentSendingStatus, LinkPaymentSendMethod, SortByKeys } from "../../model/types"; -import { SortOptionsBox } from './sort-options-box'; +import { SortOptionsBox } from '../sort-options-box'; const sendingStatusBtnGrouup = [ { name: '전체', value: LinkPaymentSendingStatus.ALL }, diff --git a/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-item.tsx b/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-item.tsx deleted file mode 100644 index 373fac8..0000000 --- a/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-item.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { PATHS } from '@/shared/constants/paths'; -import { useNavigate } from '@/shared/lib/hooks/use-navigate'; -import moment from 'moment'; - -interface LinkPaymentItemProps { - transactionId: string; - customerName: string; - status: string; - channel: string; - paymentMethod: string; - amount: number; -} - -export const LinkPaymentItem = ({ - transactionId, - customerName, - status, - channel, - paymentMethod, - amount -}: LinkPaymentItemProps) => { - const { navigate } = useNavigate(); - - const onClickToNavigate = () => { - navigate(PATHS.additionalService.linkPayment.detail, { - state: { - transactionId: transactionId - } - }); - }; - - const getStatusDotClass = () => { - if (status === '결제완료' || status === '입금요청') { - return 'status-dot blue'; - } - return 'status-dot gray'; - }; - - return ( - <> -
onClickToNavigate()} - > -
-
-
-
-
{customerName}
-
- {status} - - {channel} - - {paymentMethod} -
-
-
{amount.toLocaleString()}원
-
- - ); -}; \ No newline at end of file diff --git a/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-list.tsx b/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-list.tsx index b4c5d70..ff1bb9c 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-list.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-list.tsx @@ -2,6 +2,7 @@ import { LinkPaymentShippingListProps } from '../../model/types'; import { ListDateGroup } from '../list-date-group'; export const LinkPaymentSHippingHistoryList = ({ + additionalServiceCategory, listItems }: LinkPaymentShippingListProps) => { @@ -10,11 +11,12 @@ export const LinkPaymentSHippingHistoryList = ({ for (const [key, value] of Object.entries(listItems)) { rs.push( - ); + > + ); } return rs; }; diff --git a/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-wrap.tsx b/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-wrap.tsx index b94863b..5a00f34 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-wrap.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-shipping-history-wrap.tsx @@ -5,7 +5,7 @@ import { LinkPaymentShippingHistoryFilter } from "./filter/link-payment-shipping import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { PATHS } from "@/shared/constants/paths"; import { LinkPaymentSHippingHistoryList } from "./link-payment-shipping-history-list"; -import { SortOptionsBox } from "./sort-options-box"; +import { SortOptionsBox } from "../sort-options-box"; import { AdditionalServiceCategory, LinkPaymentSendMethod, LinkPaymentTransactionStatus, ProcessResult, SortByKeys } from "../../model/types"; import { LinkPaymentSearchType, } from "../../model/types"; diff --git a/src/entities/additional-service/ui/list-date-group.tsx b/src/entities/additional-service/ui/list-date-group.tsx index 81a40a0..31f87ec 100644 --- a/src/entities/additional-service/ui/list-date-group.tsx +++ b/src/entities/additional-service/ui/list-date-group.tsx @@ -24,15 +24,8 @@ export const ListDateGroup = ({ additionalServiceCategory={ additionalServiceCategory } key={ key } tid={ items[i]?.tid } - mid={ items[i]?.mid } - stateDate={ items[i]?.stateDate } - stateCode={ items[i]?.stateCode } - stateName={ items[i]?.stateName } - installmentMonth={ items[i]?.installmentMonth } - serviceCode={ items[i]?.serviceCode } - serviceName={ items[i]?.serviceName } - serviceDetailName={ items[i]?.serviceDetailName } - goodsAmount={ items[i]?.goodsAmount } + paymentDate= { items[i]?.paymentDate} + paymentStatus={ items[i]?.paymentStatus} requestId={ items[i]?.requestId } requestDate={ items[i]?.requestDate } diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index e99032d..4498665 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -6,9 +6,7 @@ import moment from 'moment'; export const ListItem = ({ additionalServiceCategory, - tid, mid, stateDate, stateCode, stateName, - installmentMonth, serviceCode, serviceName, - serviceDetailName, goodsAmount, + tid, paymentDate, paymentStatus, requestId, requestDate, bank, accountNumber, accountHolder, processResult, @@ -19,13 +17,16 @@ export const ListItem = ({ const { navigate } = useNavigate(); const getItemClass = () => { let rs = ''; - if(stateCode === '0'){ + if (paymentStatus === '') { rs = ''; } - else if(stateCode === '1'){ + else if (paymentStatus === "APPROVAL") { rs = 'approved'; } - else if(stateCode === '2'){ + else if (paymentStatus === "ALL_CANCEL") { + rs = 'refund'; + } + else if (paymentStatus === 'AFTER_CANCEL') { rs = 'refund'; } return rs; @@ -33,66 +34,65 @@ export const ListItem = ({ const getDotClass = (str?: string) => { let rs = ''; - if(stateCode === '0'){ + if (paymentStatus === '') { rs = ''; } - else if(stateCode === '1'){ + else if (paymentStatus === "APPROVAL") { rs = 'blue'; } - else if(stateCode === '2'){ + else if (paymentStatus === "ALL_CANCEL") { + rs = 'gray'; + } + else if (paymentStatus === 'AFTER_CANCEL') { rs = 'gray'; } return rs; }; const onClickToNavigate = () => { - if(additionalServiceCategory === AdditionalServiceCategory.KeyInPayment){ - navigate(PATHS.additionalService.keyInPayment, { - state: { - tid: tid, - serviceCode: serviceCode - } - }); + if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) { + + return; } - else if(additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch){ + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { navigate(PATHS.additionalService.accountHolderSearch.detail, { state: { requestId: requestId } }); } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping) { navigate(PATHS.additionalService.linkPayment.detail, { state: { transactionId: transactionId } }); } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) { navigate(PATHS.additionalService.linkPayment.detail, { state: { transactionId: transactionId } }); } - else{ + else { alert('additionalServiceCategory가 존재하지 않습니다.'); } }; const getTime = () => { let timeStr = ''; - if(additionalServiceCategory === AdditionalServiceCategory.KeyInPayment){ - let time = stateDate?.substring(8, 12); + if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) { + let time = paymentDate?.substring(8, 12); timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4); } - else if(additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch){ + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { timeStr = moment(requestDate).format('HH:mm'); } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping) { timeStr = moment(transactionDate).format('HH:mm'); } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) { timeStr = moment(sendDate).format('HH:mm'); } return timeStr @@ -100,16 +100,16 @@ export const ListItem = ({ const getTitle = () => { let str = ''; - if(additionalServiceCategory === AdditionalServiceCategory.KeyInPayment){ - str = `${serviceName}(${serviceDetailName})`; + if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) { + str = `${tid}(${amount})`; } - else if(additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch){ + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { str = `${accountHolder}(${accountNumber})` } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping) { str = `${customerName}(${transactionId})` } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) { str = `${customerName}(${transactionId})` } return str; @@ -117,54 +117,45 @@ export const ListItem = ({ const getDetail = () => { let rs = []; - if(additionalServiceCategory === AdditionalServiceCategory.KeyInPayment){ + if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) { rs.push(
- { getTime() } + {getTime()} | - { stateName } - | - { mid } - { - (!!installmentMonth && parseInt(installmentMonth) > 1) && - <> - | - { installmentMonth }개월 할부 - - } + {paymentStatus}
); } - else if(additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch){ + else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderSearch) { rs.push(
- { getTime() } + {getTime()} | - { bank } + {bank} | - { processResult } + {processResult}
); } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentShipping) { rs.push(
- { getTime() } + {getTime()} | - { status } + {status} | - { channel } + {channel}
); } - else if(additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending){ + else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentPending) { rs.push(
- { getTime() } + {getTime()} | - { status } + {status} | - { channel } + {channel}
); } @@ -174,22 +165,22 @@ export const ListItem = ({ return ( <>
onClickToNavigate() } + className={`transaction-item ${getItemClass()}`} + onClick={() => onClickToNavigate()} >
-
+
-
{ getTitle() }
- { getDetail() } +
{getTitle()}
+ {getDetail()}
diff --git a/src/entities/additional-service/ui/link-payment/sort-options-box.tsx b/src/entities/additional-service/ui/sort-options-box.tsx similarity index 95% rename from src/entities/additional-service/ui/link-payment/sort-options-box.tsx rename to src/entities/additional-service/ui/sort-options-box.tsx index 5617b2a..7e78674 100644 --- a/src/entities/additional-service/ui/link-payment/sort-options-box.tsx +++ b/src/entities/additional-service/ui/sort-options-box.tsx @@ -1,7 +1,7 @@ import { SortByKeys, SortOptionsBoxProps -} from '../../model/types'; +} from '../model/types'; export const SortOptionsBox = ({ sortBy, onClickToSort 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 685e202..4164f60 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 @@ -6,21 +6,24 @@ import { HeaderType } from '@/entities/common/model/types'; import { useSetHeaderTitle, useSetHeaderType, - useSetFooterMode + useSetFooterMode, + useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; import { PATHS } from '@/shared/constants/paths'; import { useExtensionKeyinDownloadExcelMutation } from '@/entities/additional-service/api/use-extension-keyin-download-excel-mutation'; import { KeyInPaymentFilter } from '@/entities/additional-service/ui/key-in-payment/filter/key-in-payment-filter'; -import { KeyInPaymentTransactionStatus, SortByKeys } from '@/entities/additional-service/model/types'; -import { SortOptionsBox } from '@/entities/additional-service/ui/link-payment/sort-options-box'; +import { AdditionalServiceCategory, KeyInPaymentListItem, KeyInPaymentTransactionStatus, SortByKeys } from '@/entities/additional-service/model/types'; +import { SortOptionsBox } from '@/entities/additional-service/ui/sort-options-box'; import { useExtensionKeyinListMutation } from '@/entities/additional-service/api/use-extension-keyin-list-mutation'; import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constants'; +import { KeyInPaymentList } from '@/entities/additional-service/ui/key-in-payment/key-in-payment-list'; +// contant로 옮기기 const requestStatusBtnGroup = [ { name: '전체', value: KeyInPaymentTransactionStatus.ALL }, { name: '승인', value: KeyInPaymentTransactionStatus.APPROVE }, - { name: '전취소', value: KeyInPaymentTransactionStatus.BF_CANCEL }, - { name: '후취소', value: KeyInPaymentTransactionStatus.AF_CANCEL } + { name: '전취소', value: KeyInPaymentTransactionStatus.ALL_CANCEL }, + { name: '후취소', value: KeyInPaymentTransactionStatus.AFTER_CANCEL } ]; export const KeyInPaymentPage = () => { @@ -42,43 +45,99 @@ export const KeyInPaymentPage = () => { useSetHeaderTitle('KEY-IN 결제'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); + useSetOnBack(() => { + navigate(PATHS.home); + }); const { mutateAsync: keyinList } = useExtensionKeyinListMutation(); const { mutateAsync: downloadExcel } = useExtensionKeyinDownloadExcelMutation(); + const callList = (option?: { + sortBy?: string, + val?: string + }) => { + pageParam.sortBy = (option?.sortBy) ? option.sortBy : sortBy; + setPageParam(pageParam); + let newMinAmount = minAmount; + if (!!minAmount && typeof (minAmount) === 'string') { + newMinAmount = parseInt(minAmount); + } + let newMaxAmount = maxAmount; + if (!!maxAmount && typeof (maxAmount) === 'string') { + newMaxAmount = parseInt(maxAmount); + } + let listParams = { + mid: mid, + fromDate: startDate, + toDate: endDate, + paymentStatus: transactionStatus, + minAmount: newMinAmount, + maxAmount: newMaxAmount, + page: pageParam + }; + + keyinList(listParams).then((rs) => { + setListItems(assembleData(rs.content)); + }); + } + + const assembleData = (content: Array) => { + console.log('rs.content:', content) + let data: any = {}; + if (content && content.length > 0) { + for (let i = 0; i < content?.length; i++) { + let paymentDate = content[i]?.paymentDate?.substring(0, 8); + let groupDate = moment(paymentDate).format('YYYYMMDD'); + if (!!groupDate && !data.hasOwnProperty(groupDate)) { + data[groupDate] = []; + } + if (!!groupDate && data.hasOwnProperty(groupDate)) { + data[groupDate].push(content[i]); + } + } + } + console.log('Data : ', data) + return data; + }; + + const onClickToOpenFilter = () => { setFilterOn(!filterOn); }; const onClickToDownloadExcel = () => { - // downloadExcel({ - // mid, - // fromDate: '', - // toDate: '', - // paymentStatus: '', - // minAmount: 0, - // maxAmount: 0 - // }).then((rs) => { + let newMinAmount = minAmount; + if (!!minAmount && typeof (minAmount) === 'string') { + newMinAmount = parseInt(minAmount); + } + let newMaxAmount = maxAmount; + if (!!maxAmount && typeof (maxAmount) === 'string') { + newMaxAmount = parseInt(maxAmount); + } + downloadExcel({ + mid: mid, + fromDate: startDate, + toDate: endDate, + paymentStatus: transactionStatus, + minAmount: minAmount, + maxAmount: maxAmount + }).then((rs) => { - // }); + }); }; const onClickToSort = (sort: SortByKeys) => { setSortBy(sort); - // TODO : callList 구현 + callList({ sortBy: sort }) }; const onClickToTransactionStatus = (val: KeyInPaymentTransactionStatus) => { setTransactionStatus(val); - // TODO : callList 구현 + callList({ val: val }); }; - const onClickToNavigation = () => { - navigate(PATHS.additionalService.keyInPayment.request) - } - useEffect(() => { - // TODO : callList(); + callList(); }, []); return ( @@ -92,7 +151,7 @@ export const KeyInPaymentPage = () => { - - + + ); }; \ No newline at end of file diff --git a/src/pages/additional-service/key-in-payment/requeset-page.tsx b/src/pages/additional-service/key-in-payment/requeset-page.tsx index b573755..74ac7b6 100644 --- a/src/pages/additional-service/key-in-payment/requeset-page.tsx +++ b/src/pages/additional-service/key-in-payment/requeset-page.tsx @@ -38,7 +38,7 @@ export const KeyInPaymentRequestPage = () => { moid: 'SMS', }; keyInApply(keyInApplyParams).then((rs) => { - navigate(PATHS.additionalService.arsCardPayment.requestSuccess); + navigate(PATHS.additionalService.keyInPayment.requestSuccess); console.log(rs) }).catch(() => {