diff --git a/apps/as/src/pages/instl-sncn/lib/form-data-mapper.ts b/apps/as/src/pages/instl-sncn/lib/form-data-mapper.ts
index 777229093..ece716bb3 100644
--- a/apps/as/src/pages/instl-sncn/lib/form-data-mapper.ts
+++ b/apps/as/src/pages/instl-sncn/lib/form-data-mapper.ts
@@ -49,8 +49,8 @@ export function mapDetailToFormData(data: InstlSncnMngDetResponse): CnfmRegistFo
envoSeComCd: detDto.envoSeComCd,
prgrsSttsComCd: detDto.prgrsSttsComCd,
atchFileGroupId: detDto.atchFileGroupId ?? "",
- rtlztnFcltSeComCd: detDto.rtlztnFcltSeComCd,
- rtlztnUsgSeComCd: detDto.rtlztnUsgSeComCd,
+ rtlztnFcltSeComCd: detDto.rtlztnFcltSeComCd ?? "",
+ rtlztnUsgSeComCd: detDto.rtlztnUsgSeComCd ?? "",
envoSeCdNm: detDto.envoSeCdNm,
sncnSeCdNm: detDto.sncnSeCdNm,
taskSeCdNm: detDto.taskSeCdNm,
diff --git a/apps/as/src/pages/instl-sncn/ui/instl-edit-page.tsx b/apps/as/src/pages/instl-sncn/ui/instl-edit-page.tsx
index 2ba751435..01d7dc819 100644
--- a/apps/as/src/pages/instl-sncn/ui/instl-edit-page.tsx
+++ b/apps/as/src/pages/instl-sncn/ui/instl-edit-page.tsx
@@ -15,7 +15,7 @@ function InstlEditPage({ id }: InstlEditPageProps) {
return
수정 대상을 찾을 수 없습니다.
;
}
- return ;
+ return ;
}
export { InstlEditPage };
diff --git a/apps/as/src/pages/instl-sncn/ui/instl-form-page.tsx b/apps/as/src/pages/instl-sncn/ui/instl-form-page.tsx
index 9973648fa..ee21c6341 100644
--- a/apps/as/src/pages/instl-sncn/ui/instl-form-page.tsx
+++ b/apps/as/src/pages/instl-sncn/ui/instl-form-page.tsx
@@ -5,9 +5,14 @@ import { FormProvider, useForm } from "react-hook-form";
import { useRouter } from "next/navigation";
import { zodResolver } from "@hookform/resolvers/zod";
+import { useQueryClient } from "@tanstack/react-query";
import { useAlertStore, useUserStore } from "@/shared/lib";
-import { type InstlSncnMngDetResponse, instlSncnService } from "@/entities/instl-sncn";
+import {
+ instlSncnKeys,
+ type InstlSncnMngDetResponse,
+ instlSncnService,
+} from "@/entities/instl-sncn";
import { Button } from "@common/components";
import {
@@ -26,12 +31,14 @@ import { ContactInfoFormSection } from "./sections/contact-info-form-section";
import { PrivacyConsentSection } from "./sections/privacy-consent-section";
interface InstlFormPageProps {
+ id?: string;
mode: "create" | "edit";
initialData?: InstlSncnMngDetResponse;
taskSeComCd?: string[];
}
-function InstlFormPage({ mode, initialData, taskSeComCd }: InstlFormPageProps) {
+function InstlFormPage({ id, mode, initialData, taskSeComCd }: InstlFormPageProps) {
+ const queryClient = useQueryClient();
const router = useRouter();
const userInfo = useUserStore((state) => state.userInfo);
const alert = useAlertStore((state) => state.setMessage);
@@ -70,11 +77,12 @@ function InstlFormPage({ mode, initialData, taskSeComCd }: InstlFormPageProps) {
const instlSncnDocNo = await instlSncnService.saveApply(payload);
- alert(isEditMode ? "수정되었습니다." : "저장되었습니다.");
+ alert("저장되었습니다.");
router.push(`/instl-sncn/${instlSncnDocNo}`);
+ if (isEditMode && id) queryClient.invalidateQueries({ queryKey: instlSncnKeys.detail(id) });
} catch (error) {
- console.error(isEditMode ? "수정 실패:" : "저장 실패:", error);
- alert(isEditMode ? "수정 중 오류가 발생했습니다." : "저장 중 오류가 발생했습니다.");
+ console.error("저장 실패:", error);
+ alert("저장 중 오류가 발생했습니다.");
} finally {
setIsSubmitting(false);
}
@@ -108,7 +116,7 @@ function InstlFormPage({ mode, initialData, taskSeComCd }: InstlFormPageProps) {
목록