diff --git a/src/api/application.ts b/src/api/application.ts
index 2a8f013a..578eb944 100644
--- a/src/api/application.ts
+++ b/src/api/application.ts
@@ -71,6 +71,14 @@ export const patchInterviewFinish = async (id: number) => {
return response.data;
};
+// 6.12 (유학생) 서류 작성 완료하기
+export const patchWritingDocumentFinish = async (id: number) => {
+ const response = await api.patch(
+ `/users/user-owner-job-postings/${id}/step-filling-out-documents`,
+ );
+ return response.data;
+};
+
// 6.13 (유학생) 유학생 담당자 검토 완료
export const patchContactCoordinator = async (id: number) => {
const response = await api.patch(
diff --git a/src/components/ApplicationDetail/ApplicationDetailStep7.tsx b/src/components/ApplicationDetail/ApplicationDetailStep7.tsx
index a67f5bc9..9aaa734f 100644
--- a/src/components/ApplicationDetail/ApplicationDetailStep7.tsx
+++ b/src/components/ApplicationDetail/ApplicationDetailStep7.tsx
@@ -1,6 +1,6 @@
import { buttonTypeKeys } from '@/constants/components';
import Button from '@/components/Common/Button';
-import { useNavigate } from 'react-router-dom';
+import { useNavigate, useParams } from 'react-router-dom';
import { ApplicationStepType } from '@/types/application/applicationItem';
import { APPLICATION_STEP } from '@/constants/application';
@@ -10,6 +10,8 @@ type ApplicationDetailStep7Props = {
const ApplicationDetailStep7 = ({ result }: ApplicationDetailStep7Props) => {
const navigate = useNavigate();
+ const { id } = useParams();
+
return (
@@ -27,7 +29,7 @@ const ApplicationDetailStep7 = ({ result }: ApplicationDetailStep7Props) => {
fontColor="text-[#F4F4F9]"
isBorder={false}
title="Check the application documents"
- onClick={() => navigate('/application-documents')}
+ onClick={() => navigate(`/application-documents/${id}`)}
/>
);
diff --git a/src/hooks/api/useApplication.ts b/src/hooks/api/useApplication.ts
index 8d5159d9..30f0c892 100644
--- a/src/hooks/api/useApplication.ts
+++ b/src/hooks/api/useApplication.ts
@@ -11,6 +11,7 @@ import {
patchContactCoordinator,
patchApplyHiKorea,
patchHiKoreaResult,
+ patchWritingDocumentFinish,
} from '@/api/application';
import { useMutation, useQuery } from '@tanstack/react-query';
import { useNavigate } from 'react-router-dom';
@@ -99,6 +100,20 @@ export const usePatchInterviewFinish = () => {
});
};
+// 6.12 (유학생) 서류 작성 완료하기 훅
+export const usePatchWritingDocumentFinish = (id: number) => {
+ const navigate = useNavigate();
+ return useMutation({
+ mutationFn: patchWritingDocumentFinish,
+ onSuccess: () => {
+ navigate(`/application/${id}`);
+ },
+ onError: (error) => {
+ console.error('서류 작성 완료하기 실패', error);
+ },
+ });
+};
+
// 6.13 (유학생) 유학생 담당자 검토 완료 훅
export const usePatchContactCoordinator = () => {
return useMutation({
diff --git a/src/pages/ApplicationDocuments/ApplicationDocumentsPage.tsx b/src/pages/ApplicationDocuments/ApplicationDocumentsPage.tsx
index c8945a3b..c38a9388 100644
--- a/src/pages/ApplicationDocuments/ApplicationDocumentsPage.tsx
+++ b/src/pages/ApplicationDocuments/ApplicationDocumentsPage.tsx
@@ -2,6 +2,7 @@ import BottomButtonPanel from '@/components/Common/BottomButtonPanel';
import Button from '@/components/Common/Button';
import BaseHeader from '@/components/Common/Header/BaseHeader';
import DocumentCardList from '@/components/Document/DocumentCardList';
+import { usePatchWritingDocumentFinish } from '@/hooks/api/useApplication';
import { useGetDocumentsEmployee } from '@/hooks/api/useDocument';
import { useCurrentPostIdEmployeeStore } from '@/store/url';
import { DocumentsSummaryResponse } from '@/types/api/document';
@@ -11,6 +12,9 @@ const ApplicationDocumentsPage = () => {
const navigate = useNavigate();
const { currentPostId } = useCurrentPostIdEmployeeStore();
const { data, isPending } = useGetDocumentsEmployee(Number(currentPostId));
+ const { mutate: submitDocuments } = usePatchWritingDocumentFinish(
+ Number(currentPostId),
+ );
return (
{
documents={data?.data as DocumentsSummaryResponse}
/>
-
+ {data?.data.part_time_employment_permits?.status ===
+ 'CONFIRMATION' &&
+ data?.data.standard_labor_contract?.status === 'CONFIRMATION' &&
+ data?.data.integrated_application?.hwp_url ? (
+
>
)}
diff --git a/src/pages/ApplicationResult/ApplicationResultPage.tsx b/src/pages/ApplicationResult/ApplicationResultPage.tsx
index e1d3cc1b..62d0a692 100644
--- a/src/pages/ApplicationResult/ApplicationResultPage.tsx
+++ b/src/pages/ApplicationResult/ApplicationResultPage.tsx
@@ -54,14 +54,14 @@ const ApplicationResultPage = () => {
Contract Feedback