엑셀 다운로드 관련 수정
This commit is contained in:
@@ -16,7 +16,7 @@ import { ListSummaryExtendTransaction } from './list-summary-extend-transaction'
|
|||||||
import SlideDown from 'react-slidedown';
|
import SlideDown from 'react-slidedown';
|
||||||
import 'react-slidedown/lib/slidedown.css';
|
import 'react-slidedown/lib/slidedown.css';
|
||||||
import { ListFilter } from './filter/list-filter';
|
import { ListFilter } from './filter/list-filter';
|
||||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
|
||||||
import {
|
import {
|
||||||
SettlementPeriodType,
|
SettlementPeriodType,
|
||||||
SettlementPaymentMethod,
|
SettlementPaymentMethod,
|
||||||
@@ -90,8 +90,7 @@ export const ListWrap = ({
|
|||||||
const { mutateAsync: settlementsHistorySummary} = useSettlementsHistorySummaryMutation();
|
const { mutateAsync: settlementsHistorySummary} = useSettlementsHistorySummaryMutation();
|
||||||
const { mutateAsync: settlementsTransactionList } = useSettlementsTransactionListMutation();
|
const { mutateAsync: settlementsTransactionList } = useSettlementsTransactionListMutation();
|
||||||
const { mutateAsync: settlementsTransactionSummary } = useSettlementsTransactionSummaryMutation();
|
const { mutateAsync: settlementsTransactionSummary } = useSettlementsTransactionSummaryMutation();
|
||||||
const { mutateAsync: downloadExcel } = useDownloadExcelMutation();
|
|
||||||
|
|
||||||
const callList = (type?: string) => {
|
const callList = (type?: string) => {
|
||||||
setOnActionIntersect(false);
|
setOnActionIntersect(false);
|
||||||
if(periodType === SettlementPeriodType.SETTLEMENT_DATE){
|
if(periodType === SettlementPeriodType.SETTLEMENT_DATE){
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const allTransactionCancelInfo = (params: AllTransactionCancelInfoParams)
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return resultify(
|
return resultify(
|
||||||
axios.post<AllTransactionCancelInfoResponse>(API_URL_TRANSACTION.allTransactionCancelInfo(), params, options),
|
axios.post<AllTransactionCancelInfoResponse>(API_URL_TRANSACTION.transactionCancelInfo(), params, options),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const allTransactionCancel = (params: AllTransactionCancelParams) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return resultify(
|
return resultify(
|
||||||
axios.post<AllTransactionCancelResponse>(API_URL_TRANSACTION.allTransactionCancel(), params, options),
|
axios.post<AllTransactionCancelResponse>(API_URL_TRANSACTION.transactionCancel(), params, options),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const allTransactionDetail = (params: AllTransactionDetailParams) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return resultify(
|
return resultify(
|
||||||
axios.post<DetailResponse>(API_URL_TRANSACTION.allTransactionDetail(), params, options),
|
axios.post<DetailResponse>(API_URL_TRANSACTION.transactionDetail(), params, options),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const allTransactionList = (params: AllTransactionListParams) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return resultify(
|
return resultify(
|
||||||
axios.post<AllTransactionListResponse>(API_URL_TRANSACTION.allTransactionList(), params, options),
|
axios.post<AllTransactionListResponse>(API_URL_TRANSACTION.transactionList(), params, options),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const allTransactionListSummary = (params: AllTransactionListSummaryParam
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return resultify(
|
return resultify(
|
||||||
axios.post<AllTransactionListSummaryResponse>(API_URL_TRANSACTION.allTransactionListSummary(), params, options),
|
axios.post<AllTransactionListSummaryResponse>(API_URL_TRANSACTION.transactionListSummary(), params, options),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const downloadConfirmation = (params: DownloadConfirmationParams) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return resultify(
|
return resultify(
|
||||||
axios.post<DownloadConfirmationResponse>(API_URL_TRANSACTION.downloadConfirmation(), params, options),
|
axios.post<DownloadConfirmationResponse>(API_URL_TRANSACTION.transactionDownloadConfirmation(), params, options),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
import axios from 'axios';
|
|
||||||
import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
|
|
||||||
import { resultify } from '@/shared/lib/resultify';
|
|
||||||
import { NiceAxiosError } from '@/shared/@types/error';
|
|
||||||
import {
|
|
||||||
DownloadExcelParams,
|
|
||||||
DownloadExcelResponse
|
|
||||||
} from '../model/types';
|
|
||||||
import {
|
|
||||||
useMutation,
|
|
||||||
UseMutationOptions
|
|
||||||
} from '@tanstack/react-query';
|
|
||||||
import { getHeaderUserAgent } from '@/shared/constants/url';
|
|
||||||
|
|
||||||
export const downloadExcel = (params: DownloadExcelParams) => {
|
|
||||||
let headerOptions = {
|
|
||||||
menuId: 31,
|
|
||||||
apiType: 'DOWNLOAD'
|
|
||||||
};
|
|
||||||
let options = {
|
|
||||||
headers: {
|
|
||||||
'X-User-Agent': getHeaderUserAgent(headerOptions)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return resultify(
|
|
||||||
axios.post<DownloadExcelResponse>(API_URL_TRANSACTION.downloadExcel(), params, options),
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const useDownloadExcelMutation = (options?: UseMutationOptions<DownloadExcelResponse, NiceAxiosError, DownloadExcelParams>) => {
|
|
||||||
const mutation = useMutation<DownloadExcelResponse, NiceAxiosError, DownloadExcelParams>({
|
|
||||||
...options,
|
|
||||||
mutationFn: (params: DownloadExcelParams) => downloadExcel(params),
|
|
||||||
});
|
|
||||||
|
|
||||||
return {
|
|
||||||
...mutation,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
|
||||||
|
import { resultify } from '@/shared/lib/resultify';
|
||||||
|
import { NiceAxiosError } from '@/shared/@types/error';
|
||||||
|
import {
|
||||||
|
TransactionDownloadExcelParams,
|
||||||
|
TransactionDownloadExcelResponse
|
||||||
|
} from '../model/types';
|
||||||
|
import {
|
||||||
|
useMutation,
|
||||||
|
UseMutationOptions
|
||||||
|
} from '@tanstack/react-query';
|
||||||
|
import { getHeaderUserAgent } from '@/shared/constants/url';
|
||||||
|
|
||||||
|
export const transactionDownloadExcel = (params: TransactionDownloadExcelParams) => {
|
||||||
|
let headerOptions = {
|
||||||
|
menuId: 31,
|
||||||
|
apiType: 'DOWNLOAD'
|
||||||
|
};
|
||||||
|
let options = {
|
||||||
|
headers: {
|
||||||
|
'X-User-Agent': getHeaderUserAgent(headerOptions)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return resultify(
|
||||||
|
axios.post<TransactionDownloadExcelResponse>(API_URL_TRANSACTION.transactionDownloadExcel(), params, options),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const useTransactionDownloadExcelMutation = (options?: UseMutationOptions<TransactionDownloadExcelResponse, NiceAxiosError, TransactionDownloadExcelParams>) => {
|
||||||
|
const mutation = useMutation<TransactionDownloadExcelResponse, NiceAxiosError, TransactionDownloadExcelParams>({
|
||||||
|
...options,
|
||||||
|
mutationFn: (params: TransactionDownloadExcelParams) => transactionDownloadExcel(params),
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
...mutation,
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -594,6 +594,12 @@ export interface DownloadExcelParams {
|
|||||||
export interface DownloadExcelResponse {
|
export interface DownloadExcelResponse {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
export interface TransactionDownloadExcelParams extends AllTransactionListParams {
|
||||||
|
email: string;
|
||||||
|
};
|
||||||
|
export interface TransactionDownloadExcelResponse {};
|
||||||
|
|
||||||
|
|
||||||
export interface AllTransactionCancelParams{
|
export interface AllTransactionCancelParams{
|
||||||
tid: string;
|
tid: string;
|
||||||
cancelAmount: number;
|
cancelAmount: number;
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import {
|
|||||||
} from '@/entities/transaction/model/types';
|
} from '@/entities/transaction/model/types';
|
||||||
import { useAllTransactionListMutation } from '@/entities/transaction/api/use-all-transaction-list-mutation';
|
import { useAllTransactionListMutation } from '@/entities/transaction/api/use-all-transaction-list-mutation';
|
||||||
import { useAllTransactionListSummaryMutation } from '@/entities/transaction/api/use-all-transaction-list-summary-mutation';
|
import { useAllTransactionListSummaryMutation } from '@/entities/transaction/api/use-all-transaction-list-summary-mutation';
|
||||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
|
||||||
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||||
import { AllTransactionFilter } from '@/entities/transaction/ui/filter/all-transaction-filter';
|
import { AllTransactionFilter } from '@/entities/transaction/ui/filter/all-transaction-filter';
|
||||||
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
||||||
@@ -35,6 +34,7 @@ import { AllTransactionDetail } from '@/entities/transaction/ui/detail/all-trans
|
|||||||
import { showAlert } from '@/widgets/show-alert';
|
import { showAlert } from '@/widgets/show-alert';
|
||||||
import { snackBar } from '@/shared/lib';
|
import { snackBar } from '@/shared/lib';
|
||||||
import { checkGrant } from '@/shared/lib/check-grant';
|
import { checkGrant } from '@/shared/lib/check-grant';
|
||||||
|
import { useTransactionDownloadExcelMutation } from '@/entities/transaction/api/use-transaction-download-excel-mutation';
|
||||||
|
|
||||||
/* 거래내역조회 31 */
|
/* 거래내역조회 31 */
|
||||||
const menuId = 31;
|
const menuId = 31;
|
||||||
@@ -85,7 +85,7 @@ export const AllTransactionListPage = () => {
|
|||||||
|
|
||||||
const { mutateAsync: allTransactionList } = useAllTransactionListMutation();
|
const { mutateAsync: allTransactionList } = useAllTransactionListMutation();
|
||||||
const { mutateAsync: allTransactionListSummary } = useAllTransactionListSummaryMutation();
|
const { mutateAsync: allTransactionListSummary } = useAllTransactionListSummaryMutation();
|
||||||
const { mutateAsync: downloadExcel } = useDownloadExcelMutation();
|
const { mutateAsync: downloadExcel } = useTransactionDownloadExcelMutation();
|
||||||
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
||||||
entries.forEach((entry: IntersectionObserverEntry) => {
|
entries.forEach((entry: IntersectionObserverEntry) => {
|
||||||
if(entry.isIntersecting){
|
if(entry.isIntersecting){
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ import {
|
|||||||
DetailData
|
DetailData
|
||||||
} from '@/entities/transaction/model/types';
|
} from '@/entities/transaction/model/types';
|
||||||
import { useBillingListMutation } from '@/entities/transaction/api/use-billing-list-mutation';
|
import { useBillingListMutation } from '@/entities/transaction/api/use-billing-list-mutation';
|
||||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
|
||||||
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||||
import { BillingFilter } from '@/entities/transaction/ui/filter/billing-filter';
|
import { BillingFilter } from '@/entities/transaction/ui/filter/billing-filter';
|
||||||
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
||||||
@@ -71,7 +70,6 @@ export const BillingListPage = () => {
|
|||||||
useSetFooterMode(false);
|
useSetFooterMode(false);
|
||||||
|
|
||||||
const { mutateAsync: billingList } = useBillingListMutation();
|
const { mutateAsync: billingList } = useBillingListMutation();
|
||||||
const { mutateAsync: downloadExcel } = useDownloadExcelMutation();
|
|
||||||
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
||||||
entries.forEach((entry: IntersectionObserverEntry) => {
|
entries.forEach((entry: IntersectionObserverEntry) => {
|
||||||
if(entry.isIntersecting){
|
if(entry.isIntersecting){
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import {
|
|||||||
DetailData
|
DetailData
|
||||||
} from '@/entities/transaction/model/types';
|
} from '@/entities/transaction/model/types';
|
||||||
import { useCashReceiptListMutation } from '@/entities/transaction/api/use-cash-receipt-list-mutation';
|
import { useCashReceiptListMutation } from '@/entities/transaction/api/use-cash-receipt-list-mutation';
|
||||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
|
||||||
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||||
import { CashReceiptFilter } from '@/entities/transaction/ui/filter/cash-receipt-filter';
|
import { CashReceiptFilter } from '@/entities/transaction/ui/filter/cash-receipt-filter';
|
||||||
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
|
||||||
@@ -80,7 +79,6 @@ export const CashReceiptListPage = () => {
|
|||||||
|
|
||||||
const { mutateAsync: cashReceiptList } = useCashReceiptListMutation();
|
const { mutateAsync: cashReceiptList } = useCashReceiptListMutation();
|
||||||
const { mutateAsync: cashReceiptSummary } = useCashReceiptSummaryMutation();
|
const { mutateAsync: cashReceiptSummary } = useCashReceiptSummaryMutation();
|
||||||
const { mutateAsync: downloadExcel } = useDownloadExcelMutation();
|
|
||||||
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
||||||
entries.forEach((entry: IntersectionObserverEntry) => {
|
entries.forEach((entry: IntersectionObserverEntry) => {
|
||||||
if(entry.isIntersecting){
|
if(entry.isIntersecting){
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import {
|
|||||||
DetailData
|
DetailData
|
||||||
} from '@/entities/transaction/model/types';
|
} from '@/entities/transaction/model/types';
|
||||||
import { useEscrowListMutation } from '@/entities/transaction/api/use-escrow-list-mutation';
|
import { useEscrowListMutation } from '@/entities/transaction/api/use-escrow-list-mutation';
|
||||||
import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation';
|
|
||||||
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||||
import { EscrowFilter } from '@/entities/transaction/ui/filter/escrow-filter';
|
import { EscrowFilter } from '@/entities/transaction/ui/filter/escrow-filter';
|
||||||
import { getEscrowDeliveryStatusBtnGroup } from '@/entities/transaction/model/contant';
|
import { getEscrowDeliveryStatusBtnGroup } from '@/entities/transaction/model/contant';
|
||||||
@@ -72,7 +71,6 @@ export const EscrowListPage = () => {
|
|||||||
useSetFooterMode(false);
|
useSetFooterMode(false);
|
||||||
|
|
||||||
const { mutateAsync: escrowList } = useEscrowListMutation();
|
const { mutateAsync: escrowList } = useEscrowListMutation();
|
||||||
const { mutateAsync: downloadExcel } = useDownloadExcelMutation();
|
|
||||||
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
const onIntersect: IntersectionObserverCallback = (entries: Array<IntersectionObserverEntry>) => {
|
||||||
entries.forEach((entry: IntersectionObserverEntry) => {
|
entries.forEach((entry: IntersectionObserverEntry) => {
|
||||||
if(entry.isIntersecting){
|
if(entry.isIntersecting){
|
||||||
|
|||||||
@@ -6,32 +6,32 @@ import {
|
|||||||
|
|
||||||
export const API_URL_TRANSACTION = {
|
export const API_URL_TRANSACTION = {
|
||||||
/* transaction Management - 거래관리 API */
|
/* transaction Management - 거래관리 API */
|
||||||
allTransactionList: () => {
|
transactionList: () => {
|
||||||
// POST: 거래 내역 조회
|
// POST: 거래 내역 조회
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`;
|
||||||
},
|
},
|
||||||
|
|
||||||
allTransactionListSummary: () => {
|
transactionListSummary: () => {
|
||||||
// POST: 거래 내역 합계 조회
|
// POST: 거래 내역 합계 조회
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list/summary`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list/summary`;
|
||||||
},
|
},
|
||||||
downloadExcel: () => {
|
transactionDownloadExcel: () => {
|
||||||
// POST: 거래 엑셀 다운로드
|
// POST: 거래 엑셀 다운로드
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/excel`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/excel`;
|
||||||
},
|
},
|
||||||
downloadConfirmation: () => {
|
transactionDownloadConfirmation: () => {
|
||||||
// POST: 거래 확인서 다운로드
|
// POST: 거래 확인서 다운로드
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/confirmation`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/confirmation`;
|
||||||
},
|
},
|
||||||
allTransactionDetail: () => {
|
transactionDetail: () => {
|
||||||
// POST: 거래내역 상세
|
// POST: 거래내역 상세
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`;
|
||||||
},
|
},
|
||||||
allTransactionCancel: () => {
|
transactionCancel: () => {
|
||||||
// POST: 거래취소 요청
|
// POST: 거래취소 요청
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel`;
|
||||||
},
|
},
|
||||||
allTransactionCancelInfo: () => {
|
transactionCancelInfo: () => {
|
||||||
// POST: 거래취소 정보 조회
|
// POST: 거래취소 정보 조회
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel-info`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel-info`;
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user