diff --git a/apps/wr/app/store/common/code/index.ts b/apps/wr/app/store/common/code/index.ts index 6caabcb5c..74001b27c 100644 --- a/apps/wr/app/store/common/code/index.ts +++ b/apps/wr/app/store/common/code/index.ts @@ -31,18 +31,18 @@ const bdstUsgCd: SelectDataType[] = [ { val: '16', text: "기타" }, ]; //빗물 집수면 종류 용도 -const rainFcltCd = [ - { val: "1", text: "지붕" }, - { val: "2", text: "건물옥상" }, - { val: "3", text: "골프장 연못" }, - { val: "4", text: "운동장 바닥" }, - { val: "5", text: "운동장 지붕" }, - { val: "6", text: "주차장" }, - { val: "7", text: "태양광패널" }, - { val: "8", text: "연못" }, - { val: "9", text: "기타" }, - { val: "10", text: "확인불가" }, -]; +// const rainFcltCd = [ +// { val: "1", text: "지붕" }, +// { val: "2", text: "건물옥상" }, +// { val: "3", text: "골프장 연못" }, +// { val: "4", text: "운동장 바닥" }, +// { val: "5", text: "운동장 지붕" }, +// { val: "6", text: "주차장" }, +// { val: "7", text: "태양광패널" }, +// { val: "8", text: "연못" }, +// { val: "9", text: "기타" }, +// { val: "10", text: "확인불가" }, +// ]; // 중수도 필수 원수종류 const rswtBdstType: SelectDataType[] = [ { text: "숙박업", val: "17" }, @@ -138,6 +138,19 @@ export const buildingType = { HTB:"HTB" } +const rainFcltCd = [ + { val: "지붕", text: "지붕" }, + { val: "건물옥상", text: "건물옥상" }, + { val: "골프장 연못", text: "골프장 연못" }, + { val: "운동장 바닥", text: "운동장 바닥" }, + { val: "운동장 지붕", text: "운동장 지붕" }, + { val: "주차장", text: "주차장" }, + { val: "태양광패널", text: "태양광패널" }, + { val: "연못", text: "연못" }, + { val: "기타", text: "기타" }, + { val: "확인불가", text: "확인불가" }, +]; + export type comCodeState = { code: { isInit: boolean; diff --git a/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx b/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx index 9f6869706..70e62eb7f 100644 --- a/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx +++ b/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx @@ -27,9 +27,11 @@ import { formH1Class } from "@/components/lib/class/comClass"; export default function HtdflRegForm({ htdflForm, isModal, + readonly = false }: { htdflForm: customHtdflBdst; isModal: boolean; + readonly?: boolean; }) { const { code, htdflBdstUpdate, htdflBdstReg } = useWrStore((state) => state); @@ -42,9 +44,9 @@ export default function HtdflRegForm({ const onSubmit = (values: z.infer) => { if (isModal) { - htdflBdstReg(values,'41'); + htdflBdstReg(values, '41'); } else { - htdflBdstUpdate(values ,'41'); + htdflBdstUpdate(values, '41'); } }; @@ -84,520 +86,549 @@ export default function HtdflRegForm({ return (
-
- - {/*
*/} -
-
-

온배수 시설 정보

- -
-
- - {isModal && htdflForm != undefined ? : <>} - {isModal ? ( -

- 온배수 시설 정보{" "} -

- ) : ( - <> - )} - -
-
- ( - - - + + + {/*
*/} +
+
+

온배수 시설 정보

+ {!readonly && ( + )} - /> +
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
- ( - - - - )} - /> -
-
-
-

- 온배수 시설 운영현황 -

-
+ {isModal && htdflForm != undefined ? : <>} + {isModal ? ( +

+ 온배수 시설 정보{" "} +

+ ) : ( + <> + )} -
-
- ( - - { - field.onChange(Number(e.target.value)); - }} - /> - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
- ( - - - - )} - /> -
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
- ( - - - - )} - /> -
-
+
+
+ ( + + { + if (!readonly) field.onChange(e) + }} + readOnly={readonly} + /> + + )} + /> +
-
-

- 요구수질 -

-
- -
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> +
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { } : field.onChange} + value={field.value ?? code.yn[0]?.val} + readOnly={readonly} + /> + + )} + /> +
+
+
+

+ 온배수 시설 운영현황 +

-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
- -
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> +
+
+ ( + + { + if (!readonly) field.onChange(Number(e.target.value)); + }} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { + if (!readonly) field.onChange + }} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { } : field.onChange} + value={field.value ?? code.yn[0]?.val} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { } : field.onChange} + value={field.value ?? code.yn[0]?.val} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+
+ ( + + { + if (!readonly) field.onChange + }} + readOnly={readonly} + /> + + )} + /> +
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
- -
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> +
+

+ 요구수질 +

-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
+
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
-
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> +
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
+
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
-
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> +
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> -
-
+
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
-
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> +
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
-
- ( - - { - handleCommaNumberChange(e, field.onChange); - }} - value={formatCommaNumber(field.value)} - /> - - )} - /> +
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+ +
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
-
- - + +
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+ +
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+
+ +
+
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+ +
+ ( + + { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} + value={formatCommaNumber(field.value)} + readOnly={readonly} + /> + + )} + /> +
+
+ +
); } diff --git a/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx b/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx index 8c6f5f1db..48a0f5056 100644 --- a/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx +++ b/apps/wr/components/ui/form/fcltReg/rainReg/rainRegForm.tsx @@ -4,36 +4,36 @@ import { useWrStore } from "@/app/store"; import { rainZod, selectClass, - TEST_UUID, - type customRainBdst, + type customRainBdst } from "@/app/store/ruseFcltMng/fcltReg/rainReg"; -import { DatePicker, FormUi } from "@common/business_components"; -import { Form, FormField, SelectBox } from "@common/business_components/ui"; -import { Button, Input } from "@common/components/ui"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useEffect, useState } from "react"; -import { useForm, useWatch, type UseFormReturn } from "react-hook-form"; -import { z } from "zod"; -import BdstReg from "../bdstReg/bdstReg"; +import { formH1Class, formH2Class } from "@/components/lib/class/comClass"; import { formatCommaNumber, handleCommaNumberChange, } from "@/components/lib/func/commom"; -import { formH1Class, formH2Class } from "@/components/lib/class/comClass"; +import { DatePicker, FormUi } from "@common/business_components"; +import { Form, FormField, SelectBox } from "@common/business_components/ui"; +import { Button, Input } from "@common/components/ui"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useEffect } from "react"; +import { useForm } from "react-hook-form"; +import { z } from "zod"; +import BdstReg from "../bdstReg/bdstReg"; export default function RainRegForm({ rainForm, isModal, + readonly = false }: { rainForm: customRainBdst; isModal: boolean; + readonly?: boolean; }) { const { code, rainBdstReg, rainBdstUpdate, rain } = useWrStore( (state) => state ); const { rainFcltCd } = code; const defaultValues: z.infer = rainZod.parse({}); - const form = useForm>({ resolver: zodResolver(rainZod), defaultValues: defaultValues, @@ -60,8 +60,8 @@ export default function RainRegForm({ typeof item?.grntchBdstCertYr === "string" ? item?.grntchBdstCertYr : "", // null → "" - rainObj: { - ...item?.rainObj, + rainyObj: { + ...item?.rainyObj, }, })), }; @@ -84,8 +84,7 @@ export default function RainRegForm({ useEffect(() => { const subscription = form.watch((value) => { }); - - + console.log("subscription:", subscription) return () => subscription.unsubscribe(); }, [form]); @@ -105,7 +104,6 @@ export default function RainRegForm({ if (rainZod) form.reset(cleanRainData(rainForm)); }, [rainForm]); - return (
@@ -115,9 +113,11 @@ export default function RainRegForm({

{isModal ? "건축물 운영정보" : "빗물이용시설 정보"}

- + {!readonly && ( + + )}
{isModal && rainForm != undefined ? : <>} @@ -149,6 +149,7 @@ export default function RainRegForm({ onChange: (date) => field.onChange(date), }} selectClass={"w-full"} + readOnly={readonly} /> )} @@ -166,9 +167,10 @@ export default function RainRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} + readOnly={readonly} /> )} @@ -195,8 +197,9 @@ export default function RainRegForm({ selectClass={selectClass} label={""} selectArray={rainFcltCd} - onSelectValue={field.onChange} + onSelectValue={readonly ? () => { } : field.onChange} value={field.value ?? rainFcltCd[0]?.val} + readOnly={readonly} /> )} @@ -213,9 +216,10 @@ export default function RainRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} + readOnly={readonly} /> )} @@ -238,8 +242,9 @@ export default function RainRegForm({ selectClass={selectClass} label={""} selectArray={code.yn} - onSelectValue={field.onChange} + onSelectValue={readonly ? () => { } : field.onChange} value={field.value ?? code.yn[0]?.val} + readOnly={readonly} /> )} @@ -256,7 +261,7 @@ export default function RainRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} readOnly={filtrTrtmfctYn !== "Y"} @@ -276,7 +281,9 @@ export default function RainRegForm({ placeholder="1,000,000" type="" value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) handleCommaNumberChange(e, field.onChange); + }} readOnly={filtrTrtmfctYn !== "Y"} /> @@ -304,8 +311,9 @@ export default function RainRegForm({ selectClass={selectClass} label={""} selectArray={code.yn} - onSelectValue={field.onChange} + onSelectValue={readonly ? () => { } : field.onChange} value={field.value ?? code.yn[0]?.val} + readOnly={readonly} /> )} @@ -322,7 +330,7 @@ export default function RainRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} readOnly={instlCstSprtYn !== "Y"} @@ -348,7 +356,7 @@ export default function RainRegForm({ selectClass={selectClass} label={""} selectArray={code.yn} - onSelectValue={field.onChange} + onSelectValue={readonly ? () => { } : field.onChange} value={field.value ?? code.yn[0]?.val} /> @@ -366,7 +374,9 @@ export default function RainRegForm({ placeholder="2024" type="" value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) field.onChange(e); + }} readOnly={grntchBdstCertYn !== "Y"} /> @@ -384,7 +394,9 @@ export default function RainRegForm({ placeholder="ab1234678" type="" value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) field.onChange(e); + }} readOnly={grntchBdstCertYn !== "Y"} /> @@ -402,7 +414,9 @@ export default function RainRegForm({ placeholder="A" type="" value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) field.onChange(e); + }} readOnly={grntchBdstCertYn !== "Y"} /> diff --git a/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx b/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx index f72e640e3..a4f29477a 100644 --- a/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx +++ b/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx @@ -28,9 +28,11 @@ import BdstReg from "../bdstReg/bdstReg"; export default function RswtrRegForm({ rswtForm, isModal, + readonly = false }: { rswtForm: customRswtBdst; isModal: boolean; + readonly?: boolean; }) { const { rswt, code, rswtBdstUpdate, rswtBdstReg } = useWrStore( (state) => state @@ -78,6 +80,10 @@ export default function RswtrRegForm({ }; }; + useEffect(()=>{ + console.log("rswtForm:", rswtForm) + }, [rswtForm]) + useEffect(() => { console.log("form errors:", form.formState.errors); }, [form.formState.errors]); @@ -105,13 +111,11 @@ export default function RswtrRegForm({

건축물 운영정보

- + {!readonly && ( + + )}
@@ -141,6 +145,7 @@ export default function RswtrRegForm({ onChange: (date) => field.onChange(date), }} selectClass={"w-full"} + readOnly={readonly} /> )} @@ -158,9 +163,10 @@ export default function RswtrRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} + readOnly={readonly} /> )} @@ -179,9 +185,10 @@ export default function RswtrRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} + readOnly={readonly} /> )} @@ -199,9 +206,10 @@ export default function RswtrRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} + readOnly={readonly} /> )} @@ -225,8 +233,9 @@ export default function RswtrRegForm({ type="number" value={field.value ?? 0} onChange={(e) => { - field.onChange(Number(e.target.value)); + if (!readonly) field.onChange(Number(e.target.value)); }} + readOnly={readonly} /> )} @@ -243,8 +252,9 @@ export default function RswtrRegForm({ label={""} selectClass={selectClass} selectArray={code.orgwtKndCd} - onSelectValue={field.onChange} + onSelectValue={readonly ? () => { } : field.onChange} value={field.value ?? code.orgwtKndCd[0]?.val} + readOnly={readonly} /> )} @@ -261,7 +271,10 @@ export default function RswtrRegForm({ placeholder="" type="" value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) field.onChange + }} + readOnly={readonly} /> )} @@ -287,8 +300,9 @@ export default function RswtrRegForm({ selectClass={selectClass} label={""} selectArray={code.yn} - onSelectValue={field.onChange} + onSelectValue={readonly ? () => { } : field.onChange} value={field.value ?? code.yn[0]?.val} + readOnly={readonly} /> )} @@ -305,7 +319,7 @@ export default function RswtrRegForm({ placeholder="1,000,000" type="text" onChange={(e) => { - handleCommaNumberChange(e, field.onChange); + if (!readonly) handleCommaNumberChange(e, field.onChange); }} value={formatCommaNumber(field.value)} readOnly={instlCstSprtYn !== "Y"} @@ -331,8 +345,9 @@ export default function RswtrRegForm({ selectClass={selectClass} label={""} selectArray={code.yn} - onSelectValue={field.onChange} + onSelectValue={readonly ? () => { } : field.onChange} value={field.value ?? code.yn[0]?.val} + readOnly={readonly} /> )} @@ -350,7 +365,9 @@ export default function RswtrRegForm({ type="text" {...field} value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) field.onChange(e) + }} readOnly={grntchBdstCertYn !== "Y"} /> @@ -368,7 +385,9 @@ export default function RswtrRegForm({ placeholder="ab1234678" type="" value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) field.onChange(e) + }} readOnly={grntchBdstCertYn !== "Y"} /> @@ -386,7 +405,9 @@ export default function RswtrRegForm({ placeholder="A" type="" value={field.value ?? ""} - onChange={field.onChange} + onChange={(e) => { + if (!readonly) field.onChange(e) + }} readOnly={grntchBdstCertYn !== "Y"} /> diff --git a/apps/wr/components/ui/modal/sttn/sttnDetailModal/sttnDetailModal.tsx b/apps/wr/components/ui/modal/sttn/sttnDetailModal/sttnDetailModal.tsx index 0ebd03ae2..0f7dbf706 100644 --- a/apps/wr/components/ui/modal/sttn/sttnDetailModal/sttnDetailModal.tsx +++ b/apps/wr/components/ui/modal/sttn/sttnDetailModal/sttnDetailModal.tsx @@ -90,10 +90,10 @@ export default function SttnDetailModal({ : "온배수시설 상세정보"}> 0?"h-[80vh]":"h-[70vh]"} > {type === "RNB" ? ( - + ) : type === "RST" ? ( - - ) : ()} + + ) : ()} {detailData.data.length>0?