From fba296d77de6c7e17cfcad234d1b0871d28a8ab6 Mon Sep 17 00:00:00 2001 From: jyha00 Date: Thu, 29 May 2025 19:04:56 +0900 Subject: [PATCH] =?UTF-8?q?selectbox=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ruseFcltMng/fcltReg/pbnstReg/page.tsx | 3 +- .../ruseFcltMng/fcltReg/pbnstReg/index.tsx | 4 +- .../fcltReg/pbnstReg/mngReg/mngRegForm.tsx | 46 ++++++++++++++----- 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx index 95666f8ca..19c013fc4 100644 --- a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx +++ b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx @@ -32,7 +32,7 @@ export default function PublicReuseFaciltyInsert() { const [searchTxt, setSearchTxt] = useState(); const [bdstTable, setbdstTable] = useState(); - const [selectBdst, setSelectBdst] = useState(null); + const [selectBdst, setSelectBdst] = useState(null); const [selectedRow, setSelectedRow] = useState(null); useEffect(() => { @@ -59,6 +59,7 @@ useEffect(() => { if (val === undefined) return; console.log("pbnstRes", pbnstRes) const selectRow = pbnstHasuRes?.[val]; + setSelectedRow(selectRow); console.log("아제발", selectRow) if (pbnstRes === null){ diff --git a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/index.tsx b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/index.tsx index 6f725870d..2e83a56ee 100644 --- a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/index.tsx +++ b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/index.tsx @@ -36,7 +36,7 @@ export type pubFacState = { pbnstMngUpHeadList: TableUpperProps[]; pbnstMngNm: chHeadType[]; pbnstHasuRes: pubHasuType[]; - pbnstRes: customPbnst | null; // 배열에서 단일 객체 또는 null로 변경 + pbnstRes: customPbnst[] | null; // 배열에서 단일 객체 또는 null로 변경 pbnstBizCycle: SelectDataType[]; selectLabel: SelectDataType[]; pbnstOrgwtHeadList: TableUpperProps[]; @@ -146,7 +146,7 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => { ...state, pbnst: { ...state.pbnst, - pbnstRes: pbnstRes, + pbnstRes: [pbnstRes], pbnstBizCycle: pbnstBizCycle, isInit: false, }, diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx index 6f0a1ac02..68054a1e2 100644 --- a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx +++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx @@ -1,7 +1,7 @@ "use client"; import { useWrStore } from "@/app/store"; -import { FileUpload, FormUi } from "@common/business_components/ui"; +import { FileUpload, FormUi, SelectBox } from "@common/business_components/ui"; import { Form, FormField } from "@common/business_components/ui/form"; import { Button, Input } from "@common/components"; import { zodResolver } from "@hookform/resolvers/zod"; @@ -22,19 +22,22 @@ import { type customPbnst, type operType, type ruseFcltType, + type selectLabel, } from "@/app/store/ruseFcltMng/fcltReg/pbnstReg/type"; +import { Label } from "@common/business_components/ui/form/lib/label"; export type FilesType = { atflCd: String; file: File; }; -export function PbnstMngForm({ data }: { data: customPbnst }) { +export function PbnstMngForm({ data }: { data: customPbnst[] }) { const { pbnst, pbnstUpdate } = useWrStore((state) => state); const { pbnstMngUpHeadList } = pbnst; const [ruseOperData, setRuseOperData] = useState(); const [planFiles, setPlanFiles] = useState(null); const [relationfiles, setRelationFiles] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); +const [fcltNm, setFcltNm] = useState() const [upload, setUpload] = useState(null); const [progress, setProgress] = useState(0); @@ -43,7 +46,7 @@ export function PbnstMngForm({ data }: { data: customPbnst }) { setProgress(Number(percentage)); }; - const ref = useRef(data?.fcOpers ?? null); + const ref = useRef(data[0]?.fcOpers ?? null); const form = useForm>({ resolver: zodResolver(pbnstRegZod), defaultValues: pbnstRegZod.parse({}), @@ -80,14 +83,21 @@ export function PbnstMngForm({ data }: { data: customPbnst }) { selectedIdxs.reverse().forEach((idx) => remove(idx)); }; - const onSelectValue = (val: string) => {}; - useEffect(() => { if (!data) return; - form.reset(data); - setRuseOperData(data.fcOpers); + //form.reset(data); + const fcltNmList = data.map((item, index) => ({ + text: item.ruseUtztnFcltNm, + val: String(index) + })) + setFcltNm(fcltNmList) }, [data]); - +useEffect(() => { + if (!fcltNm || fcltNm.length === 0) return; + // Default to the first item in data when fcltNm changes + form.reset(data[0]); + console.log("fcltNm", fcltNm) + }, [fcltNm, data]); // 2. Define a submit handler. function onSubmit(values: z.infer) { console.log("submit", values); @@ -142,6 +152,9 @@ export function PbnstMngForm({ data }: { data: customPbnst }) { console.log("relationfiles changed:", relationfiles); }, [relationfiles]); + + + const testFile = () => { // if (relationfiles && relationfiles[0]) // TusClientUpload(relationfiles[0], setUpload, { @@ -169,14 +182,23 @@ export function PbnstMngForm({ data }: { data: customPbnst }) {
-

+ {/*

재이용 시설명 -

- + */} + {/* {form.getValues("ruseUtztnFcltNm") ? ": " + form.getValues("ruseUtztnFcltNm") : ""} - + */} + + {console.log("val", val)}} + value={""} + />