From fa8e41909a91a659c2875979f550af8d97264b60 Mon Sep 17 00:00:00 2001 From: leedj312 Date: Tue, 26 Aug 2025 15:52:18 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A3=BC=EC=86=8C=EA=B2=80=EC=83=89=20input=20?= =?UTF-8?q?=EB=B0=95=EC=8A=A4=20=EA=B4=80=EB=A0=A8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/form/fcltReg/bdstReg/bdstReg.tsx | 114 ++++++++++-------- .../ui/form/fcltReg/rainReg/rainRegForm.tsx | 1 - 2 files changed, 66 insertions(+), 49 deletions(-) diff --git a/apps/wr/components/ui/form/fcltReg/bdstReg/bdstReg.tsx b/apps/wr/components/ui/form/fcltReg/bdstReg/bdstReg.tsx index ed3653f00..90ca4e0f5 100644 --- a/apps/wr/components/ui/form/fcltReg/bdstReg/bdstReg.tsx +++ b/apps/wr/components/ui/form/fcltReg/bdstReg/bdstReg.tsx @@ -9,6 +9,8 @@ import { SelectBox, type SelectDataType, } from "@common/business_components"; +import SearchInputAddress from "@common/business_components/ui/search_input_address"; +import type { addressType } from "@common/business_components/ui/search_input_address/findAddress"; import { Input } from "@common/components"; import { useEffect, useState } from "react"; @@ -16,49 +18,47 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) { const { code } = useWrStore((state) => { return state; }); + const { userSiSggCd } = code; + const [useCityCd, setUserCityCd] = useState([]); + const [useSggCd, setUserSggCd] = useState([]); - const { userSiSggCd } = code - const [useCityCd, setUserCityCd] = useState([]) - const [useSggCd, setUserSggCd] = useState([]) - - // const [selectSgg, setSelectSgg] = useState(); - // const [objSearch, setObjSearch] = useState({ - // sgg: "", - // city: "", - // }); useEffect(() => { if (userSiSggCd.length === 2 && code.cityCd.length > 0) { - const city = code.cityCd.filter((item) => item.val === userSiSggCd) - const sgg = code.sggCd.filter((item) => item.val.slice(0, 2) === userSiSggCd) - sgg.unshift({ text: '전체', val: '0' }) - setUserCityCd(city) // Fix: Ensure city is of type SelectDataType[] - setUserSggCd(sgg) + const city = code.cityCd.filter((item) => item.val === userSiSggCd); + const sgg = code.sggCd.filter( + (item) => item.val.slice(0, 2) === userSiSggCd + ); + sgg.unshift({ text: "전체", val: "0" }); + setUserCityCd(city); // Fix: Ensure city is of type SelectDataType[] + setUserSggCd(sgg); if (city[0]?.val) { // 여기 중요 queueMicrotask(() => { - form.setValue("ctpvCd", Number(city[0]?.val), { shouldDirty: true, shouldTouch: true, shouldValidate: true }); + form.setValue("ctpvCd", Number(city[0]?.val), { + shouldDirty: true, + shouldTouch: true, + shouldValidate: true, + }); }); } - } else if (userSiSggCd.length === 5 && code.cityCd.length > 0 && code.sggCd.length > 0) { - const city = code.cityCd.filter((item) => item.val === userSiSggCd.slice(0, 2)) - const sgg = code.sggCd.filter((item) => item.val === userSiSggCd) - setUserSggCd(sgg) - setUserCityCd(city) - form.setValue('ctpvCd', Number(city[0]?.val)) - form.setValue('sggCd', Number(sgg[0]?.val)) - + } else if ( + userSiSggCd.length === 5 && + code.cityCd.length > 0 && + code.sggCd.length > 0 + ) { + const city = code.cityCd.filter( + (item) => item.val === userSiSggCd.slice(0, 2) + ); + const sgg = code.sggCd.filter((item) => item.val === userSiSggCd); + setUserSggCd(sgg); + setUserCityCd(city); + form.setValue("ctpvCd", Number(city[0]?.val)); + form.setValue("sggCd", Number(sgg[0]?.val)); } - }, [form, userSiSggCd, code.cityCd, code.sggCd]) + }, [form, userSiSggCd, code.cityCd, code.sggCd]); - - // useEffect(() => { - // const city = form.getValues("ctpvCd"); - // const sgg = form.getValues("sggCd"); - // setObjSearch({ city: city, sgg: sgg }); - // }, [selectSgg]); - useEffect(() => { const subscription = form.form?.watch((value: any) => { console.log("vale", value); @@ -67,15 +67,16 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) { return () => subscription?.unsubscribe(); }, [form.form]); - - useEffect(() => { - console.log('form.formState ', form.watch("archArea")) - }, [form.formState]) + console.log("form.formState ", form.watch("archArea")); + }, [form.formState]); return ( <> -

{type !== "HTB" ? "건축물 기본 정보" : '시설 기본 정보'}

+

+ {" "} + {type !== "HTB" ? "건축물 기본 정보" : "시설 기본 정보"} +

{ field.onChange(Number(val)); }} - value={typeof field.value !== "undefined" ? field.value : useCityCd[0]?.val} + value={ + typeof field.value !== "undefined" + ? field.value + : useCityCd[0]?.val + } /> )} @@ -124,15 +129,19 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) { control={form.control} name="bdstNm" render={({ field }) => ( - + { - field.onChange(e.target.value) + field.onChange(e.target.value); }} - value={field.value || ''} + value={field.value || ""} maxLength={txtSize} /> @@ -144,8 +153,8 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) { control={form.control} name="daddr" render={({ field }) => ( - - + {/* + /> */} +
+ { + console.log("rtnData", rtnData); + field.onChange(rtnData.roadAddrPart1); + }} + > +
)} /> @@ -165,7 +183,7 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) { control={form.control} name="frstArchPrmsnDt" render={({ field }) => ( - + @@ -218,9 +236,9 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) { placeholder="면적을 입력하세요" type="text" onChange={(e) => { - field.onChange(e.target.value) + field.onChange(e.target.value); }} - value={field.value || ''} + value={field.value || ""} maxLength={numSize} /> diff --git a/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx b/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx index 5083e24fc..09acc46e8 100644 --- a/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx +++ b/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx @@ -135,7 +135,6 @@ export default function RainRegForm({ toast.error("시도/시군구 코드를 선택해야합니다."); return; } - const handleConfirm = async () => { rainBdstReg(values, data); if (setIsModal) setIsModal(false);