From c620a84ee3b3ef13c8e877a6fe69fe87e90800ad Mon Sep 17 00:00:00 2001 From: leedj312 Date: Mon, 17 Mar 2025 13:24:10 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=ED=8F=AC=EB=A7=B7=20=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ruseFcltMng/fcltReg/pbnstReg/page.tsx | 74 ++++++++++++------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx index 3daba7ab6..d2abb9e42 100644 --- a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx +++ b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx @@ -1,44 +1,62 @@ -'use client' +"use client"; -import { ScrollArea, SearchDiv, SelectBox, UiTable } from '@common/business_components'; -import { Button } from '@common/components'; -import { useWrStore } from '../../../store'; -import { PbnstRegForm } from '@/components/ui/form/fcltReg/pbnstReg/component'; +import { + ScrollArea, + SearchDiv, + SelectBox, + UiTable, +} from "@common/business_components"; +import { Button } from "@common/components"; +import { useWrStore } from "../../../store"; +import { PbnstRegForm } from "@/components/ui/form/fcltReg/pbnstReg/component"; - - - export default function PublicReuseFaciltyInsert() { - const {pubFac} = useWrStore((state) => state); - const { pubFacHeadList, publicReuseFacilityData} = pubFac; - const searchDiv = '하수재이용시설 ' - const selectBox = [{ text: '서울하수처리시설', val: "1_hasu" }, { text: '서울1하수처리시설', val: "2_hasu" }, { text: '서울2하수처리시설', val: "3_hasu" }] +export default function PublicReuseFaciltyInsert() { + const { pubFac } = useWrStore((state) => state); + const { pubFacHeadList, publicReuseFacilityData } = pubFac; + const searchDiv = "하수재이용시설 "; + const selectBox = [ + { text: "서울하수처리시설", val: "1_hasu" }, + { text: "서울1하수처리시설", val: "2_hasu" }, + { text: "서울2하수처리시설", val: "3_hasu" }, + ]; const headName = () => { - return ( -

○공공 하수처리시설 등록

- ) - } + return

○공공 하수처리시설 등록

; + }; const onSelectValue = (val: string) => { - console.log(val) - } + console.log(val); + }; return ( <>
-
-

하수재이용시설 등록

+
+

하수재이용시설 등록

-
- +
+
-
- - +
+ +
- +
@@ -48,5 +66,5 @@ import { PbnstRegForm } from '@/components/ui/form/fcltReg/pbnstReg/component';
- ) -} \ No newline at end of file + ); +} From d51318431cab8241f7e3d8ecb3bd92c585033a9c Mon Sep 17 00:00:00 2001 From: leedj312 Date: Tue, 18 Mar 2025 09:27:34 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EA=B3=B5=EA=B3=B5=EC=9E=AC=EC=9D=B4?= =?UTF-8?q?=EC=9A=A9=EC=8B=9C=EC=84=A4=20=ED=83=AD=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wr/app/page.tsx | 37 +- .../app/ruseFcltMng/fcltReg/htdflReg/page.jsx | 64 +++ .../app/ruseFcltMng/fcltReg/pbnstReg/page.tsx | 42 +- .../ruseFcltMng/fcltReg/htdflReg/index.tsx | 89 ++++ apps/wr/app/store/store.tsx | 72 ++- .../ui/form/fcltReg/htdflReg/component.tsx | 469 ++++++++++++++++++ .../pbnstReg/{ => buseReg}/component.tsx | 116 +---- .../fcltReg/pbnstReg/mngReg/component.tsx | 180 +++++++ .../ui/form/fcltReg/rainReg/component.tsx | 445 +++++++++-------- .../ui/form/fcltReg/rswtrReg/component.tsx | 419 +++++++++------- 10 files changed, 1395 insertions(+), 538 deletions(-) create mode 100644 apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.jsx create mode 100644 apps/wr/app/store/ruseFcltMng/fcltReg/htdflReg/index.tsx create mode 100644 apps/wr/components/ui/form/fcltReg/htdflReg/component.tsx rename apps/wr/components/ui/form/fcltReg/pbnstReg/{ => buseReg}/component.tsx (76%) create mode 100644 apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/component.tsx diff --git a/apps/wr/app/page.tsx b/apps/wr/app/page.tsx index 0564641f6..385cfb9e8 100644 --- a/apps/wr/app/page.tsx +++ b/apps/wr/app/page.tsx @@ -1,26 +1,27 @@ -import Link from 'next/link'; -import { Button } from '@common/components/ui'; - - +import Link from "next/link"; +import { Button } from "@common/components/ui"; export default function Home() { return ( <> -
- - - +
+ + + - + +
- + ); } diff --git a/apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.jsx b/apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.jsx new file mode 100644 index 000000000..aa3c521d8 --- /dev/null +++ b/apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.jsx @@ -0,0 +1,64 @@ +"use client"; + +import { useWrStore } from "@/app/store"; +import { + ScrollArea, + SearchDiv, + SearchInput, + UiTable, +} from "@common/business_components"; +import { Button } from "@common/components"; +import { headMakeColSpan } from "../rainReg/page"; +import { HtdflRegForm } from "@/components/ui/form/fcltReg/htdflReg/component"; + +export default function Home() { + const { htdfl } = useWrStore((state) => state); + const nodeList = headMakeColSpan(htdfl.upHeadList); + + const headName = () => { + return ( + <> +

○건축물 목록

+ + ); + }; + + return ( + <> +
+
+

온배수시설 등록

+
+ +
+ +
+
+ + + +
+
+
+
+ +
+ + {nodeList} + +
+
+ + + +
+
+ + ); +} diff --git a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx index d2abb9e42..e98ef70b3 100644 --- a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx +++ b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx @@ -8,7 +8,10 @@ import { } from "@common/business_components"; import { Button } from "@common/components"; import { useWrStore } from "../../../store"; -import { PbnstRegForm } from "@/components/ui/form/fcltReg/pbnstReg/component"; +import { PbnstBuseForm } from "@/components/ui/form/fcltReg/pbnstReg/buseReg/component"; +import { Tabs, TabsList, TabsTrigger, TabsContent } from "@common/components"; +import { PbnstMngForm} from "@/components/ui/form/fcltReg/pbnstReg/mngReg/component"; + export default function PublicReuseFaciltyInsert() { const { pubFac } = useWrStore((state) => state); @@ -28,8 +31,8 @@ export default function PublicReuseFaciltyInsert() { return ( <>
-
-

하수재이용시설 등록

+
+

하수재이용시설 등록

@@ -42,13 +45,12 @@ export default function PublicReuseFaciltyInsert() { />
- - +
-
+
-
- - - {/* */} - +
+ + + + + + 운영정보 + 시설현황 + + + + + + + + + + + + + + +
diff --git a/apps/wr/app/store/ruseFcltMng/fcltReg/htdflReg/index.tsx b/apps/wr/app/store/ruseFcltMng/fcltReg/htdflReg/index.tsx new file mode 100644 index 000000000..fcd8b02ba --- /dev/null +++ b/apps/wr/app/store/ruseFcltMng/fcltReg/htdflReg/index.tsx @@ -0,0 +1,89 @@ +import { + upHeadList, + type rainFacOfType, + type TableUpperProps, +} from "../rainReg"; + +const htdflOfObject: rainFacOfType[] = [ + { + sido: "서울", + sigungo: "종로구", + facilityName: "그랑서울", + location: "종로 33", + locationgubun: "업무시설", + firstConstructionPermission: "2024-10-10", + buildingArea: "50", + facilityCapacity: "800,000", + reuse: "Y", + permissionDay: "2024-10-10", + register: "Y", + legalTargetYn: "Y", + }, + { + sido: "서울", + sigungo: "종로구", + facilityName: "그랑서울", + location: "종로 33", + locationgubun: "업무시설", + firstConstructionPermission: "2024-10-10", + buildingArea: "50", + facilityCapacity: "800,000", + reuse: "Y", + permissionDay: "2024-10-10", + register: "Y", + legalTargetYn: "Y", + }, + { + sido: "서울", + sigungo: "종로구", + facilityName: "그랑서울", + location: "종로 33", + locationgubun: "업무시설", + firstConstructionPermission: "2024-10-10", + buildingArea: "50", + facilityCapacity: "800,000", + reuse: "Y", + permissionDay: "2024-10-10", + register: "Y", + legalTargetYn: "Y", + }, +]; + +export type htdflFacState = { + htdfl: { + isInit: boolean; + upHeadList: TableUpperProps[]; + htdflOfObject: rainFacOfType[]; + }; +}; +type htdflFacSActions = { + decrementList: () => void; +}; + +export type htdflFacType = htdflFacState & htdflFacSActions; + +export const htdflFacStateExport: htdflFacState = { + htdfl: { + isInit: false, + upHeadList: upHeadList, + htdflOfObject: htdflOfObject, + }, +}; +export const htdflFacActionsExport: (set: any) => htdflFacSActions = ( + set: any +) => { + return { + decrementList: () => + set((state: htdflFacState) => { + return { + htdfl: { + upHeadList: state.htdfl.upHeadList, + rainOfObject: state.htdfl.htdflOfObject.slice( + 0, + state.htdfl.htdflOfObject.length - 1 + ), + }, + }; + }), + }; +}; diff --git a/apps/wr/app/store/store.tsx b/apps/wr/app/store/store.tsx index e2b8b807a..51a4dfef8 100644 --- a/apps/wr/app/store/store.tsx +++ b/apps/wr/app/store/store.tsx @@ -1,25 +1,61 @@ -import { createStore } from 'zustand/vanilla'; -import { pubFacActionsExport, pubFacStateExport, type pubFacState } from './ruseFcltMng/fcltReg/pbnstReg'; -import { rainFacActionsExport, rainFacStateExport, type rainFacState, type rainFacType } from './ruseFcltMng/fcltReg/rainReg'; -import { rswtFacActionsExport, rswtFacStateExport, type rswtFacState, type rswtFacType } from './ruseFcltMng/fcltReg/rswtReg'; -import { matDmdActionsExport, matDmdStateExport, type matDmdState, type matDmdType } from './matDmd'; +import { createStore } from "zustand/vanilla"; +import { + pubFacActionsExport, + pubFacStateExport, + type pubFacState, +} from "./ruseFcltMng/fcltReg/pbnstReg"; +import { + rainFacActionsExport, + rainFacStateExport, + type rainFacState, + type rainFacType, +} from "./ruseFcltMng/fcltReg/rainReg"; +import { + rswtFacActionsExport, + rswtFacStateExport, + type rswtFacState, + type rswtFacType, +} from "./ruseFcltMng/fcltReg/rswtReg"; +import { + matDmdActionsExport, + matDmdStateExport, + type matDmdState, + type matDmdType, +} from "./matDmd"; +import { + htdflFacActionsExport, + htdflFacStateExport, + type htdflFacState, + type htdflFacType, +} from "./ruseFcltMng/fcltReg/htdflReg"; - -export type WrStore = pubFacState & rainFacType &rswtFacType &matDmdType; -export const StoreZus = (initState: rainFacState& pubFacState & rswtFacState &matDmdState= { - ...pubFacStateExport, - ...rainFacStateExport, - ...rswtFacStateExport , - ...matDmdStateExport -}) => { +export type WrStore = pubFacState & + rainFacType & + rswtFacType & + matDmdType & + htdflFacType; +export const StoreZus = ( + initState: rainFacState & + pubFacState & + rswtFacState & + matDmdState & + htdflFacState = { + ...pubFacStateExport, + ...rainFacStateExport, + ...rswtFacStateExport, + ...matDmdStateExport, + ...htdflFacStateExport, + } +) => { return createStore()((set) => { return { ...initState, ...pubFacActionsExport(set), ...rainFacActionsExport(set), ...rswtFacActionsExport(set), - ...matDmdActionsExport(set) - } - }) -} -//store 등록하는 부분 \ No newline at end of file + ...matDmdActionsExport(set), + ...htdflFacActionsExport(set), + }; + }); +}; +//store 등록하는 부분 diff --git a/apps/wr/components/ui/form/fcltReg/htdflReg/component.tsx b/apps/wr/components/ui/form/fcltReg/htdflReg/component.tsx new file mode 100644 index 000000000..4efff1a39 --- /dev/null +++ b/apps/wr/components/ui/form/fcltReg/htdflReg/component.tsx @@ -0,0 +1,469 @@ +"use client"; + +import { + Form, + FormField, + FormUi, + SelectBox, +} from "@common/business_components/ui"; +import { Input } from "@common/components/ui"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useForm } from "react-hook-form"; +import { z } from "zod"; +import { useWrStore } from "@/app/store"; +import { selectClass } from "@/app/store/ruseFcltMng/fcltReg/rainReg"; + +const formSchema = z.object({ + etgtType: z.string().min(2).max(50), + fclCpct: z.string(), + plwtYn: z.string(), + orgwtwtritspt: z.string(), + orgwtocrnprocs: z.string(), + wtritentrctp: z.string(), + amtgnr: z.string(), + prcsfcltcpct: z.string(), + utztnqnt: z.string(), + utztnusgcd: z.string(), +wntUntprc: z.string().min(1), + grssClfg: z.string().min(1), + tn: z.string().min(1).optional(), + combResdch: z.string().min(1).optional(), + tp: z.string().min(1).optional(), + trbt: z.string().min(1).optional(), + ph: z.string().min(1).optional(), + bod: z.string().min(1).optional(), + clIonQnt: z.string().min(1).optional(), + smll: z.string().min(1).optional(), + cdtnv: z.string().min(1).optional(), + crmty: z.string().min(1).optional(), + emsnexittp: z.string(), +}); + +export function HtdflRegForm() { + const { rswt } = useWrStore((state) => state); + + const form = useForm>({ + resolver: zodResolver(formSchema), + defaultValues: { + etgtType: "", + fclCpct: "", + plwtYn: "", + orgwtwtritspt: "", + orgwtocrnprocs: "", + wtritentrctp: "", + amtgnr: "", + prcsfcltcpct: "", + utztnqnt: "", + utztnusgcd: "", + wntUntprc: "", + grssClfg: "", + tn: "", + combResdch: "", + tp: "", + trbt: "", + ph: "", + bod: "", + clIonQnt: "", + smll: "", + cdtnv: "", + crmty: "", + emsnexittp: "", + }, + }); + + // 2. Define a submit handler. + function onSubmit(values: z.infer) { + // Do something with the form values. + // ✅ This will be type-safe and validated. + console.log(values); + } + + const onSelectValue = (val: string) => { + console.log(val); + }; + return ( +
+
+ + {/*
*/} +
+
+

○온배수 시설 정보

+
+
+

+ 시설현황 +

+
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+
+

+ 온배수 시설 운영현황 +

+
+ +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ +
+

+ 요구수질 +

+
+ +
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ +
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ +
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ +
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ +
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ +
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ + +
+ ); +} diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/component.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/component.tsx similarity index 76% rename from apps/wr/components/ui/form/fcltReg/pbnstReg/component.tsx rename to apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/component.tsx index 3dcd1bc08..7fab0087e 100644 --- a/apps/wr/components/ui/form/fcltReg/pbnstReg/component.tsx +++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/component.tsx @@ -30,7 +30,7 @@ const formSchema = z.object({ ) } -export function PbnstRegForm() { +export function PbnstBuseForm() { const { pubFac } = useWrStore((state) => state); const { pubMngUpHeadList, pubMngFacData,erctUswtrCd,cyclCd,seCd,buseCd,rprcsCd,buseMet,rprcLoCd} = pubFac; const nodeList = headMakeColSpan(pubMngUpHeadList); @@ -60,120 +60,6 @@ const nodeList = headMakeColSpan(pubMngUpHeadList); return (
-
-
- -
-
-

○ 재이용시설 운영정보

- ( - - - - )} - /> -
- - -
-
-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
-
- - -
-

○ 재이용시설 운영정보

- -
-
- {nodeList} -
-
-

○ 재이용수 공급 가능량

-
-
- ( - - - - )} - /> -
- -
- ( - - - - )} - /> -
- -
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
-
-
-
- -
{/* 차수별 등록 현황 폼 */}
diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/component.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/component.tsx new file mode 100644 index 000000000..30138af55 --- /dev/null +++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/component.tsx @@ -0,0 +1,180 @@ +"use client"; + +import { SelectBox } from "@common/business_components"; +import { DatePicker, FileUpload, FormUi, UiTable } from "@common/business_components/ui"; +import { Form, FormField } from "@common/business_components/ui/form"; +import { Button, Input, TableHead, TableRow } from "@common/components"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useState } from "react"; +import { useForm } from "react-hook-form"; +import { z } from "zod"; +import { useWrStore } from "@/app/store"; +import { selectClass, type TableUpperProps } from "@/app/store/ruseFcltMng/fcltReg/rainReg"; + +const formSchema = z.object({ + username: z.string().min(2).max(50), + facilityName: z.string().min(2).max(50), +}); + + + const headMakeColSpan = (upHeadList: TableUpperProps[]) => { + return (<> + { + upHeadList.map((head: TableUpperProps) => + (!head.upSequnce ? {head.title} : + head.upName === 'upChangeRe' && head.upSequnce === 1 ? {'운영대행기간'} : null))} + + + {upHeadList.map((head: TableUpperProps) => + (head.upName === 'upChangeRe' ? {head.title} : null))} + + ) +} +export function PbnstMngForm() { + const { pubFac } = useWrStore((state) => state); + const { pubMngUpHeadList, pubMngFacData,cyclCd} = pubFac; +const nodeList = headMakeColSpan(pubMngUpHeadList); + + + const form = useForm>({ + resolver: zodResolver(formSchema), + defaultValues: { + username: "", + }, + }); + + // 2. Define a submit handler. + function onSubmit(values: z.infer) { + // Do something with the form values. + // ✅ This will be type-safe and validated. + console.log(values); + } + const onSelectValue=(val:string)=>{ + console.log(val) + +} + + const [instlAprvDate, setInstlAprvDate] = useState(new Date()) + const [bizCmcnDate, setBizCmcnDate] = useState(new Date()) + const [files, setFiles] = useState(null); + + return ( +
+
+ + +
+
+

○ 재이용시설 운영정보

+ ( + + + + )} + /> +
+ + +
+
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ + +
+

○ 재이용시설 운영정보

+ +
+
+ {nodeList} +
+
+

○ 재이용수 공급 가능량

+
+
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+ +
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+
+ + +
+ +
+ ); +} diff --git a/apps/wr/components/ui/form/fcltReg/rainReg/component.tsx b/apps/wr/components/ui/form/fcltReg/rainReg/component.tsx index 23563ac00..b5bfe4535 100644 --- a/apps/wr/components/ui/form/fcltReg/rainReg/component.tsx +++ b/apps/wr/components/ui/form/fcltReg/rainReg/component.tsx @@ -1,10 +1,6 @@ "use client"; -import { - Form, - FormField, - SelectBox, -} from "@common/business_components/ui"; +import { Form, FormField, SelectBox } from "@common/business_components/ui"; import { Input } from "@common/components/ui"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; @@ -13,65 +9,65 @@ import { FormUi } from "@common/business_components"; import { useWrStore } from "@/app/store"; import { selectClass } from "@/app/store/ruseFcltMng/fcltReg/rainReg"; -const formSchema = z.object({ - facilityName: z.string().min(2).max(50), - instlCmptnDt:z.string(), - instlCst:z.string(), - chmaraKndCd:z.string(), - chmaraSz:z.string(), - chmaraYn:z.string(), - chmaraCpct:z.string(), - chmaraProcs:z.string(), - instlCstSprtYn:z.string(), - instlCstSprtAmt:z.string(), - grntchCstSprtYn:z.string(), - grntchCstSprtCst:z.string(), - grntchBdstCertYn:z.string(), - grntchBdstCertYr:z.string(), - grntchBdstCertNo:z.string(), - grntchBdstCertGrd:z.string(), -}); - +const formSchema = z + .object({ + facilityName: z.string().min(2).max(50), + instlCmptnDt: z.string(), + instlCst: z.string(), + chmaraKndCd: z.string(), + chmaraSz: z.string(), + chmaraYn: z.string(), + chmaraCpct: z.string(), + chmaraProcs: z.string(), + instlCstSprtYn: z.string(), + instlCstSprtAmt: z.string(), + grntchCstSprtYn: z.string(), + grntchCstSprtCst: z.string(), + grntchBdstCertYn: z.string(), + grntchBdstCertYr: z.string(), + grntchBdstCertNo: z.string(), + grntchBdstCertGrd: z.string(), + }) + .readonly(); export function RainRegForm() { const { rain } = useWrStore((state) => state); const form = useForm>({ - resolver: zodResolver(formSchema), - defaultValues: { - facilityName :'', - instlCmptnDt:'', - instlCst:'', - chmaraKndCd:'', - chmaraYn:'', - chmaraSz:'', - chmaraCpct:'', - chmaraProcs:'', - instlCstSprtYn:'', - instlCstSprtAmt:'', - grntchCstSprtYn:'', - grntchCstSprtCst:'', - grntchBdstCertYn:'', - grntchBdstCertYr:'', - grntchBdstCertNo:'', - grntchBdstCertGrd:'', - }, - }); - - // 2. Define a submit handler. - function onSubmit(values: z.infer) { - // Do something with the form values. - // ✅ This will be type-safe and validated. - console.log(values); - } - - const onSelectValue=(val:string)=>{ - console.log(val) + resolver: zodResolver(formSchema), + defaultValues: { + facilityName: "", + instlCmptnDt: "", + instlCst: "", + chmaraKndCd: "", + chmaraYn: "", + chmaraSz: "", + chmaraCpct: "", + chmaraProcs: "", + instlCstSprtYn: "", + instlCstSprtAmt: "", + grntchCstSprtYn: "", + grntchCstSprtCst: "", + grntchBdstCertYn: "", + grntchBdstCertYr: "", + grntchBdstCertNo: "", + grntchBdstCertGrd: "", + }, + }); + // 2. Define a submit handler. + function onSubmit(values: z.infer) { + // Do something with the form values. + // ✅ This will be type-safe and validated. + console.log(values); } + + const onSelectValue = (val: string) => { + console.log(val); + }; return (
-
+ {/*
*/}
@@ -82,33 +78,43 @@ export function RainRegForm() {

기본정보

-
-
- ( - - - - )} +
+
+ ( + + + + )} />
-
+
( - + )} />
-

+

빗물이용시설 정보

@@ -116,70 +122,97 @@ export function RainRegForm() {

✓ 1. 집수면

-
- ( - - - - )} - /> -
-
- ( - - - - - )} - /> -
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
- +

✓ 2. 여과 등 처리시설

-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
- +
+ ( + + + + )} + />
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+

인센티브 정보 @@ -189,81 +222,105 @@ export function RainRegForm() {

✓ 1. 설치비 지원

-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
- +

✓ 2. 녹색건축물 인증

-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
+
+ ( + + + + )} + />
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
-
+
); } diff --git a/apps/wr/components/ui/form/fcltReg/rswtrReg/component.tsx b/apps/wr/components/ui/form/fcltReg/rswtrReg/component.tsx index 5733078d7..cd8c4a02b 100644 --- a/apps/wr/components/ui/form/fcltReg/rswtrReg/component.tsx +++ b/apps/wr/components/ui/form/fcltReg/rswtrReg/component.tsx @@ -11,67 +11,65 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import { z } from "zod"; import { useWrStore } from "@/app/store"; -import { selectClass } from "@/app/store/ruseFcltMng/fcltReg/rainReg"; +import { selectClass } from "@/app/store/ruseFcltMng/fcltReg/rainReg"; const formSchema = z.object({ - facilityName: z.string().min(2).max(50), - instlCmptnDt:z.string(), - instlCst:z.string(), - wtrUsqty:z.string(), - oblgTrgtwtrUsqty:z.string(), - rswtrKndCd:z.string(), - rswrtProcs:z.string(), - utztmUsgCd:z.string(), - instlCstSprtYn:z.string(), - instlCstSprtAmt:z.string(), - grntchCstSprtYn:z.string(), - grntchCstSprtCst:z.string(), - grntchBdstCertYn:z.string(), - grntchBdstCertYr:z.string(), - grntchBdstCertNo:z.string(), - grntchBdstCertGrd:z.string(), + facilityName: z.string().min(2).max(50), + instlCmptnDt: z.string(), + instlCst: z.string(), + wtrUsqty: z.string(), + oblgTrgtwtrUsqty: z.string(), + rswtrKndCd: z.string(), + rswrtProcs: z.string(), + utztmUsgCd: z.string(), + instlCstSprtYn: z.string(), + instlCstSprtAmt: z.string(), + grntchCstSprtYn: z.string(), + grntchCstSprtCst: z.string(), + grntchBdstCertYn: z.string(), + grntchBdstCertYr: z.string(), + grntchBdstCertNo: z.string(), + grntchBdstCertGrd: z.string(), }); - export function RswtrRegForm() { const { rswt } = useWrStore((state) => state); - - const form = useForm>({ - resolver: zodResolver(formSchema), - defaultValues: { - facilityName:'' , - instlCmptnDt:'', - instlCst:'', - wtrUsqty:'', - oblgTrgtwtrUsqty:'', - rswtrKndCd:'', - rswrtProcs:'', - utztmUsgCd:'', - instlCstSprtYn:'', - instlCstSprtAmt:'', - grntchCstSprtYn:'', - grntchCstSprtCst:'', - grntchBdstCertYn:'', - grntchBdstCertYr:'', - grntchBdstCertNo:'', - grntchBdstCertGrd:'', - }, - }); - - // 2. Define a submit handler. - function onSubmit(values: z.infer) { - // Do something with the form values. - // ✅ This will be type-safe and validated. - console.log(values); - } - - const onSelectValue=(val:string)=>{ - console.log(val) - - } + + const form = useForm>({ + resolver: zodResolver(formSchema), + defaultValues: { + facilityName: "", + instlCmptnDt: "", + instlCst: "", + wtrUsqty: "", + oblgTrgtwtrUsqty: "", + rswtrKndCd: "", + rswrtProcs: "", + utztmUsgCd: "", + instlCstSprtYn: "", + instlCstSprtAmt: "", + grntchCstSprtYn: "", + grntchCstSprtCst: "", + grntchBdstCertYn: "", + grntchBdstCertYr: "", + grntchBdstCertNo: "", + grntchBdstCertGrd: "", + }, + }); + + // 2. Define a submit handler. + function onSubmit(values: z.infer) { + // Do something with the form values. + // ✅ This will be type-safe and validated. + console.log(values); + } + + const onSelectValue = (val: string) => { + console.log(val); + }; return (
-
+ {/*
*/}
@@ -82,99 +80,134 @@ export function RswtrRegForm() {

기본정보

-
-
- ( - - - - )} +
+
+ ( + + + + )} />
-
+
( - + )} />
-
-
- ( - - - - )} +
+
+ ( + + + + )} />
-
+
( - + )} />
-

+

중수도 시설 정보

- +
-
- ( - - - - )} - /> -
-
- ( - - - - - )} - /> -
-
- ( - - - - )} - /> -
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
- +

인센티브 정보 @@ -184,81 +217,103 @@ export function RswtrRegForm() {

✓ 1. 설치비 지원

-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
- +

✓ 2. 녹색건축물 인증

-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - - - )} - /> -
+
+ ( + + + + )} + />
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
+ ( + + + + )} + /> +
+
-
+
); }