diff --git a/src/Components/CompanyRecruitment/Table/index.tsx b/src/Components/CompanyRecruitment/Table/index.tsx index ec6d530..bbf47a4 100644 --- a/src/Components/CompanyRecruitment/Table/index.tsx +++ b/src/Components/CompanyRecruitment/Table/index.tsx @@ -16,6 +16,8 @@ import { companyType } from '../../../Utils/Translation'; import { searchInArray } from '../../../Utils/useSearchForArray'; import { Link } from 'react-router-dom'; import { useCompanyRecruitmentQueryString } from '../../../Store/State'; +import { DownloadDataPropsType } from '../../../Apis/File/request'; +import { useDownloadData } from '../../../Apis/File'; interface PropsType { companyRecruitment: CompanyRecruitmentResponse; @@ -36,10 +38,16 @@ export function CompanyRecruitmentTable({ const dataLength = companyRecruitment?.companies.length; const [clickedData, setClickedData] = useState([]); const [changeStatus, setChangeStatus] = useState(''); + const [downloadUrl, setDownloadUrl] = useState({ + fileUrl: '', + fileName: '', + }); const { companyRecruitmentQueryString, setCompanyRecruitmentQueryString } = useCompanyRecruitmentQueryString(); + const { mutate: downloadExcel } = useDownloadData(downloadUrl); + /** 전체 선택 & 전체 선택 해제하는 함수입니다. */ const checkAllBox = () => { if (searchInArray(allSelectFormId, clickedData).length === dataLength) { @@ -98,6 +106,14 @@ export function CompanyRecruitmentTable({ }, }); + const fileDownloadAPI = () => { + setDownloadUrl({ + fileUrl: '/companies/file', + fileName: '모집기업리스트.xlsx', + }); + setTimeout(downloadExcel); + }; + /** 변경 버튼을 클릭했을 때 실행할 함수입니다. */ const changeStatusBtnClick = (statusName: string) => { setChangeStatus(statusName); @@ -252,6 +268,14 @@ export function CompanyRecruitmentTable({ return ( <_.Container> <_.BtnWrapper> +