Skip to content

Commit

Permalink
feat :: 모집의뢰서 개수 조회 쿼리문 추가
Browse files Browse the repository at this point in the history
모집의뢰서 개수 조회 쿼리문 추가
  • Loading branch information
phyuna0525 authored Oct 28, 2024
2 parents 8e18cc2 + 6302db6 commit df5cfad
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 20 deletions.
24 changes: 15 additions & 9 deletions src/Apis/Recruitments/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,21 @@ export const useGetRecruitmentForm = (
},
enabled: false,
},
{
queryKey: ['getRecruitmentCount', searchRecruitmentFormQueryString],
queryFn: async () => {
const { winter_intern } = searchRecruitmentFormQueryString;
const winterIntern =
winter_intern !== null
? `&winter_intern=${winter_intern}`
: '';
const { data } = await instance.get<{ count: number }>(
`${router}/count?${winterIntern}`
);
return data;
},
enabled: false,
},
]);
};

Expand Down Expand Up @@ -167,15 +182,6 @@ export const useEditRecruitment = (
);
};

/**모집의뢰서 총 개수 조회 */
export const useRecruitmentCount = () => {
return useQuery(['RecruitmentCount'], async () => {
const { data } = await instance.get(`${router}/count`);
return data;
});
};


export const useRecruitmentExcel = (options: MutationOptions) => {
return useMutation(async () => {
const { data } = await instance.get(`${router}/file`, {
Expand Down
15 changes: 4 additions & 11 deletions src/Components/RecruitmentForm/Table/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@ import {
useToastStore,
} from '@team-return/design-system';
import * as _ from './style';
import { useEffect, useState } from 'react';
import { useState } from 'react';
import { RecruitmentFormResponse } from '../../../Apis/Recruitments/response';
import { Pagination } from '../../../Utils/Pagination';
import {
useChangeRecruitmentsStatus,
useRecruitmentCount,
useRecruitmentExcel,
} from '../../../Apis/Recruitments/index';
import { companyStatus, companyType } from '../../../Utils/Translation';
Expand All @@ -25,6 +24,7 @@ interface PropsType {
refetchRecruitmentForm: () => void;
allSelectFormId: string[];
recruitmentFormIsLoading: boolean;
recreuitmentFromCount: number;
}

export function RecruitmentFormTable({
Expand All @@ -33,9 +33,9 @@ export function RecruitmentFormTable({
refetchRecruitmentForm,
allSelectFormId,
recruitmentFormIsLoading,
recreuitmentFromCount,
}: PropsType) {
const { append } = useToastStore();
const { data: RecruitmentCountData } = useRecruitmentCount();
const { mutate: useRecruitmentExcelMutate } = useRecruitmentExcel({
onError: () => {
append({
Expand All @@ -53,7 +53,6 @@ export function RecruitmentFormTable({
const dataLength = recruitmentForm?.recruitments.length;
const [clickedData, setClickedData] = useState<string[]>([]);
const [changeStatus, setChangeStatus] = useState<string>('');
const [recruitmentCount, setRecruitmentCount] = useState<number>(0);

/** 지원서 상태를 변경하는 api를 호출합니다. */
const { mutate: changeStatusAPI, isLoading } = useChangeRecruitmentsStatus(
Expand All @@ -79,12 +78,6 @@ export function RecruitmentFormTable({
}
);

useEffect(() => {
if (RecruitmentCountData) {
setRecruitmentCount(RecruitmentCountData.count);
}
}, [RecruitmentCountData]);

/** 전체 선택 & 전체 선택 해제를 하는 함수입니다. */
const checkAllBox = () => {
if (searchInArray(allSelectFormId, clickedData).length === dataLength) {
Expand Down Expand Up @@ -255,7 +248,7 @@ export function RecruitmentFormTable({
<_.Container>
<_.BtnContentWrapper>
<_.CountTitle>
<_.CountContent>{recruitmentCount}</_.CountContent>
<_.CountContent>{recreuitmentFromCount}</_.CountContent>
</_.CountTitle>
<_.BtnWrapper>
<Button size="S" onClick={useRecruitmentExcelMutate}>
Expand Down
2 changes: 2 additions & 0 deletions src/Pages/RecruitmentFormPage/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export function RecruitmentFormPage() {
const recruitmentFormData = recruitmentFormQueries[0];
const recruitmentFormPage =
recruitmentFormQueries[1].data?.total_page_count!;
const recreuitmentFromCount = recruitmentFormQueries[2].data?.count!;
const isLoading = recruitmentFormQueries.some((result) => result.isLoading);
const allRefetchRecruitmentForm = useCallback(() => {
recruitmentFormQueries.forEach((result) => result.refetch());
Expand Down Expand Up @@ -42,6 +43,7 @@ export function RecruitmentFormPage() {
allSelectFormId={allSelectFormId}
recruitmentForm={recruitmentFormData.data!}
recruitmentFormPageNum={recruitmentFormPage}
recreuitmentFromCount={recreuitmentFromCount}
refetchRecruitmentForm={recruitmentFormData.refetch}
recruitmentFormIsLoading={isLoading}
/>
Expand Down

0 comments on commit df5cfad

Please sign in to comment.