diff --git a/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx b/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx index 95c5e6822..8443f3c05 100644 --- a/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx +++ b/apps/dm/app/pages/sdmMng/sdmInfoInsert/page.tsx @@ -6,7 +6,7 @@ import { SdmInfoRegForm } from "@/components/ui/sdmInfoInsertForm/component"; import { UiModal } from "@common/business_components/ui/dialog_ui"; import { Button } from "@common/components/ui"; import { zodResolver } from "@hookform/resolvers/zod"; -import { useSearchParams } from "next/navigation"; +import { useRouter, useSearchParams } from "next/navigation"; import { Suspense, useEffect, useState } from "react"; import { FormProvider, useForm, type SubmitHandler } from "react-hook-form"; import { Toaster } from "react-hot-toast"; @@ -24,42 +24,42 @@ const sdmInfoFormSchema = z.object({ money: z.string() .regex(/^[0-9]+$/, "희망단가는 숫자만 입력 가능합니다"), /**요구수질 */ - reqWaterQlty : z.string().optional(), + reqWaterQlty: z.string().optional(), grssClfg: z.string() .min(1, "총대장균군수를 입력해주세요") .regex(/^[0-9]+$/, "총대장균군수는 숫자만 입력 가능합니다"), - tn : z.string() + tn: z.string() .min(1, "총질소를 입력해주세요") .regex(/^[0-9]+$/, "총질소는 숫자만 입력 가능합니다"), - combResdch : z.string() + combResdch: z.string() .min(1, "결합잔류염소를 입력해주세요") .regex(/^[0-9]+$/, "결합잔류염소는 숫자만 입력 가능합니다"), - tph : z.string() + tph: z.string() .min(1, "총인산물을 입력해주세요") .regex(/^[0-9]+$/, "총인산물은 숫자만 입력 가능합니다"), - trbt : z.string() + trbt: z.string() .min(1, "탁도를 입력해주세요") .regex(/^[0-9]+$/, "탁도는 숫자만 입력 가능합니다"), - ph : z.string() + ph: z.string() .min(1, "수소이온농도를 입력해주세요") .regex(/^[0-9]+$/, "수소이온농도는 숫자만 입력 가능합니다"), - bod : z.string() + bod: z.string() .min(1, "생물학적 산소요구량을 입력해주세요") .regex(/^[0-9]+$/, "생물학적 산소요구량은 숫자만 입력 가능합니다"), /**컬럼확인필요 */ - clIonQnt : z.string() + clIonQnt: z.string() .min(1, "염화물을 입력해주세요") .regex(/^[0-9]+$/, "염화물은 숫자만 입력 가능합니다"), - smll : z.string() + smll: z.string() .min(1, "냄새를 입력해주세요") .regex(/^[0-9]+$/, "냄새는 숫자만 입력 가능합니다"), - cdtnv : z.string() + cdtnv: z.string() .min(1, "전기전도도를 입력해주세요") .regex(/^[0-9]+$/, "전기전도도는 숫자만 입력 가능합니다"), - crmty : z.string() + crmty: z.string() .min(1, "색도를 입력해주세요") .regex(/^[0-9]+$/, "색도는 숫자만 입력 가능합니다"), - rmrk : z.string().optional(), + rmrk: z.string().optional(), /* telno: z.string() .min(8, "전화번호는 8자 이상 입력해주세요") .max(12, "전화번호는 12자 이내로 입력해주세요") @@ -71,8 +71,8 @@ export type FormData = z.infer; function SdmInfoInsertContent() { const searchParams = useSearchParams(); - const {insertSdmInfoData, Sdm} = useDmStore((state) => state); - const {successLogin} = Sdm; + const { insertSdmInfoData, Sdm } = useDmStore((state) => state); + const { successLogin } = Sdm; const [ismoneyDisabled, setIsmoneyDisabled] = useState(false); const formSchema = sdmInfoFormSchema; @@ -115,7 +115,7 @@ function SdmInfoInsertContent() { useEffect(() => { const local = localStorage.getItem('user'); - if(local) { + if (local) { setIsLogin(true); } }, []); @@ -152,11 +152,11 @@ function SdmInfoInsertContent() { form.setValue('money', ''); } }, [ismoneyDisabled, form]); - +const router = useRouter(); const onSubmit: SubmitHandler = async (data) => { try { // Transform form data to match API schema - const apiData : DemandCompType = { + const apiData: DemandCompType = { dmdInfoId: JSON.parse(sessionStorage.getItem('user') || '{}')?.dmdInfoId?.toString() || searchParams.get('dmdInfoId') + (searchParams.get('bznmTotNo') || ''), dmdInfoFk: JSON.parse(sessionStorage.getItem('user') || '{}')?.dmdInfoId?.toString() || searchParams.get('dmdInfoId') + (searchParams.get('bznmTotNo') || ''), dmdCoNm: JSON.parse(sessionStorage.getItem('user') || '{}')?.dmdCoNm?.toString() || data.sdmNm, @@ -186,17 +186,17 @@ function SdmInfoInsertContent() { index: 0, reqDt: "", dmdInfoSn: 0, - status : '', + status: '', }; - + await insertSdmInfoData(apiData); } catch (error) { console.error('Error submitting form:', error); } }; - + return ( -
+

@@ -207,14 +207,14 @@ function SdmInfoInsertContent() {
-
-
- {!isLogin? - } + {!isLogin ? + } bodyClass="sm:max-w-[90vw] w-[530px] h-[430px]" open={!isLogin} - onOpenChange={(open) => !open && setIsLogin(false)} + onOpenChange={(open) => { + if (!open) { + router.push("/"); + } + }} noHeaderYn="Y" noFooterYn="Y" /> - :null} + : null}

); diff --git a/apps/dm/app/pages/sdmMng/sdmInsert/page.tsx b/apps/dm/app/pages/sdmMng/sdmInsert/page.tsx index 0a5a5546d..926a8f902 100644 --- a/apps/dm/app/pages/sdmMng/sdmInsert/page.tsx +++ b/apps/dm/app/pages/sdmMng/sdmInsert/page.tsx @@ -8,7 +8,7 @@ import { useCallback, useEffect, useRef } from "react"; import { Toaster } from "react-hot-toast"; export default function MyForm() { - const {Common, initializeCommonData, getDemandCompList, insertSdmData, Sdm} = useDmStore((state) => state); + const { Common, initializeCommonData, getDemandCompList, insertSdmData, Sdm } = useDmStore((state) => state); const { selectSidoData, selectSigunData } = Common; const { demandCompList, successNextPage } = Sdm; const router = useRouter(); @@ -33,10 +33,10 @@ export default function MyForm() { router.push(`/pages/sdmMng/sdmInfoInsert?${queryParams.toString()}`); } }, [successNextPage, router]); - + const callback = useCallback((searchText: string, pageCnt: number) => { searchText = searchText.trim(); - if(searchText.length > 0) { + if (searchText.length > 0) { getDemandCompList(searchText, pageCnt); } }, [getDemandCompList]); @@ -55,15 +55,17 @@ export default function MyForm() { }, [insertSdmData]); return ( -
- - +
+
+ + +
); } diff --git a/apps/dm/components/ui/sdmLoginForm/component.tsx b/apps/dm/components/ui/sdmLoginForm/component.tsx index 9bd7c36b7..204b12308 100644 --- a/apps/dm/components/ui/sdmLoginForm/component.tsx +++ b/apps/dm/components/ui/sdmLoginForm/component.tsx @@ -10,7 +10,7 @@ import * as z from "zod"; export function SdmLoginForm() { const { actionLogin, initializeCommonData } = useDmStore((state) => state); - const [isBznmTotNoDisabled, setIsBznmTotNoDisabled] = useState(false); + const [isBznmTotNoDisabled, setIsBznmTotNoDisabled] = useState(true); const formatBusinessNumber = (value: string) => { // 숫자만 추출