From ff13d7b50907212fccfb95df3cc36334f85cefe1 Mon Sep 17 00:00:00 2001 From: jyha00 Date: Tue, 8 Jul 2025 11:25:53 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A4=91=EC=88=98=EB=8F=84=EC=9E=AC=EC=9D=B4?= =?UTF-8?q?=EC=9A=A9=EC=8B=9C=EC=84=A4=20=EC=8B=A0=EA=B7=9C=EB=93=B1?= =?UTF-8?q?=EB=A1=9D=20=EC=A0=80=EC=9E=A5=20=EB=B2=84=ED=8A=BC=20=EA=B3=A0?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruseFcltMng/fcltReg/rainReg/index.tsx | 2 +- .../ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx | 635 +++++++++--------- 2 files changed, 319 insertions(+), 318 deletions(-) diff --git a/apps/wr/app/store/ruseFcltMng/fcltReg/rainReg/index.tsx b/apps/wr/app/store/ruseFcltMng/fcltReg/rainReg/index.tsx index ce30e3893..294bb517c 100644 --- a/apps/wr/app/store/ruseFcltMng/fcltReg/rainReg/index.tsx +++ b/apps/wr/app/store/ruseFcltMng/fcltReg/rainReg/index.tsx @@ -134,7 +134,7 @@ export const rainFacActionsExport: (set: any) => rainFacSActions = ( ...state, rain: { ...state.rain, - rainRes: rainRes, + rainRes: rainRes.data, isInit: false, }, })); diff --git a/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx b/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx index 0fbffbf59..3178da01f 100644 --- a/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx +++ b/apps/wr/components/ui/form/fcltReg/rswtrReg/rswtrRegForm.tsx @@ -19,7 +19,7 @@ import { FormUi, SelectBox, } from "@common/business_components/ui"; -import { Button, Input } from "@common/components/ui"; +import { Button, Input, ScrollArea } from "@common/components/ui"; import { zodResolver } from "@hookform/resolvers/zod"; import { useEffect } from "react"; import { useForm, type UseFormReturn } from "react-hook-form"; @@ -64,7 +64,7 @@ export default function RswtrRegForm({ }; const filtrTrtmfctCpct = form.watch('reuseBuilding.0.rswtrObj.filtrTrtmfctCpct') - const cleanRswtData = (raw: any): z.infer => { + const cleanRswtData = (raw: any): z.infer => { console.log('raw ', raw) return { @@ -82,7 +82,7 @@ export default function RswtrRegForm({ : new Date(), // item?.instlCmptnDt가 유효하지 않으면 현재 날짜로 초기화 operMngCd: item?.operMngCd ?? "", // null → "" instlCstSprtYn: item?.instlCstSprtYn || code.yn[0]?.val, // null → "Y" - grntchBdstCertYn: item?.grntchBdstCertYn|| code.yn[0]?.val, + grntchBdstCertYn: item?.grntchBdstCertYn || code.yn[0]?.val, rswtrObj: { ...item?.rswtrObj, filtrTrtmfctYn: item?.rainyObj?.filtrTrtmfctYn || code.yn[0]?.val, @@ -96,10 +96,10 @@ export default function RswtrRegForm({ // useEffect(() =>{ // console.log(' formform ', form.watch()) // },[form.formState]) - useEffect(() =>{ + useEffect(() => { console.log(' filtrTrtmfctCpct ', filtrTrtmfctCpct) - },[filtrTrtmfctCpct]) - + }, [filtrTrtmfctCpct]) + useEffect(() => { console.log("form errors:", form.formState.errors); }, [form.formState.errors]); @@ -119,7 +119,7 @@ export default function RswtrRegForm({ form.setValue("reuseBuilding.0.grntchBdstCertGrd", "확인불가"); } else if (instlCstSprtYn === "D") { form.setValue("reuseBuilding.0.instlCstSprtAmt", -1); - } + } }, [grntchBdstCertYn, instlCstSprtYn, filtrTrtmfctProcs, form]); @@ -148,334 +148,335 @@ export default function RswtrRegForm({ )} - - {isModal && rswtForm != undefined ? : <>} - {isModal ? ( -

- 중수도 시설 정보{" "} -

- ) : ( - <> - )} -

기본정보

-
-
- ( - - field.onChange(date), - }} - selectClass={"w-full"} - readOnly={readonly} - /> - - )} - /> -
-
- { - const value = field.value; - const isUnknown = value === null || value === -1; // 또는 Number(value) === -1 - return ( - - { - // 입력 시 자동으로 확인불가 해제 - if (isUnknown && !readonly) { - field.onChange(""); // 초기화 - } - }} - onChange={(e) => { - if (readonly) return; - handleMinusNumberChange(e, field.onChange); + + {isModal && rswtForm != undefined ? : <>} + {isModal ? ( +

+ 중수도 시설 정보{" "} +

+ ) : ( + <> + )} +

기본정보

+
+
+ ( + + field.onChange(date), }} + selectClass={"w-full"} readOnly={readonly} /> - ); - }} - /> -
-
-
-

중수도 시설 정보

-
- -
-
- { - const value = field.value; - const isUnknown = value === null || value === -1; // 또는 Number(value) === -1 - - return ( - - { - // 입력 시 자동으로 확인불가 해제 - if (isUnknown && !readonly) { - - console.log('value') - field.onChange(""); // 초기화 + )} + /> +
+
+ { + const value = field.value; + const isUnknown = value === null || value === -1; // 또는 Number(value) === -1 + return ( + + { - if (readonly) return; - handleMinusNumberChange(e, field.onChange); - }} + onFocus={() => { + // 입력 시 자동으로 확인불가 해제 + if (isUnknown && !readonly) { + field.onChange(""); // 초기화 + } + }} + onChange={(e) => { + if (readonly) return; + handleMinusNumberChange(e, field.onChange); + }} + readOnly={readonly} + /> + + ); + }} + /> +
+
+
+

중수도 시설 정보

+
+ +
+
+ { + const value = field.value; + const isUnknown = value === null || value === -1; // 또는 Number(value) === -1 + + return ( + + { + // 입력 시 자동으로 확인불가 해제 + if (isUnknown && !readonly) { + + console.log('value') + field.onChange(""); // 초기화 + } + }} + onChange={(e) => { + if (readonly) return; + handleMinusNumberChange(e, field.onChange); + }} + readOnly={readonly} + /> + + ); + }} + /> +
+
+ ( + + { } : field.onChange} + value={field.value ?? code.orgwtKndCd[0]?.val} readOnly={readonly} /> - ); - }} - /> -
-
- ( - - {} : field.onChange} - value={field.value ?? code.orgwtKndCd[0]?.val} - readOnly={readonly} - /> - - )} - /> -
-
- ( - - {} : field.onChange} - value={field.value ?? code.rswtPrscCdMthdCd[0]?.val} - readOnly={readonly} - /> - - )} - /> -
-
- -
-

인센티브 정보

-
-
-

설치비 지원

-
-
-
- ( - - {} : field.onChange} - value={field.value ?? code.bdstIncenYn[0]?.val} - readOnly={readonly} - /> - - )} - /> -
-
- { - const value = field.value; - const isUnknown = value === null || value === -1; // 또는 Number(value) === -1 - return ( - - { - // 입력 시 자동으로 확인불가 해제 - if (isUnknown && !readonly) { - field.onChange(""); // 초기화 - } - }} - onChange={(e) => { - if (readonly) return; - handleMinusNumberChange(e, field.onChange); - }} - disabled={instlCstSprtYn === "N"||instlCstSprtYn === "D"} + )} + /> +
+
+ ( + + { } : field.onChange} + value={field.value ?? code.rswtPrscCdMthdCd[0]?.val} + readOnly={readonly} /> - ); - }} - /> + )} + /> +
-
-
-

녹색건축물 인증

-
-
-
- ( - - {} : field.onChange} - value={field.value || code.yn[0]?.val} - readOnly={readonly} - /> - - )} - /> +
+

인센티브 정보

-
- - { - const isUnknown = field.value === null || field.value === "0000"; // 또는 Number(value) === -1 - return ( - - { - // 입력 시 자동으로 확인불가 해제 - if (isUnknown && !readonly) { - field.onChange(""); // 초기화 - } - }} - value={ - isUnknown?'확인불가':field.value ?? ""} - onChange={(e) => { - if (readonly) return - if (e.target.value === '확인불가') { - field.onChange('0000'); - }else{ - field.onChange(e.target.value); - } - }} - disabled={grntchBdstCertYn == "N" || grntchBdstCertYn == "D"} - max={4} - /> - - )}} - /> +
+

설치비 지원

-
- - { +
+
+ ( + + { } : field.onChange} + value={field.value ?? code.bdstIncenYn[0]?.val} + readOnly={readonly} + /> + + )} + /> +
+
+ { + const value = field.value; + const isUnknown = value === null || value === -1; // 또는 Number(value) === -1 + return ( + + { + // 입력 시 자동으로 확인불가 해제 + if (isUnknown && !readonly) { + field.onChange(""); // 초기화 + } + }} + onChange={(e) => { + if (readonly) return; + handleMinusNumberChange(e, field.onChange); + }} + disabled={instlCstSprtYn === "N" || instlCstSprtYn === "D"} + /> + + ); + }} + /> +
+
+ +
+

녹색건축물 인증

+
+
+
+ ( + + { } : field.onChange} + value={field.value || code.yn[0]?.val} + readOnly={readonly} + /> + + )} + /> +
+
+ { const isUnknown = field.value === null || field.value === "0000"; // 또는 Number(value) === -1 - return ( - - { - // 입력 시 자동으로 확인불가 해제 - if (isUnknown && !readonly) { - field.onChange(""); // 초기화 - } - }} - value={ - isUnknown?'확인불가':field.value ?? ""} - onChange={(e) => { - if (readonly) return - - if (e.target.value === '확인불가') { - field.onChange(''); - }else{ - field.onChange(e.target.value); - } - }} - disabled={grntchBdstCertYn == "N" || grntchBdstCertYn == "D"} - + return ( + + { + // 입력 시 자동으로 확인불가 해제 + if (isUnknown && !readonly) { + field.onChange(""); // 초기화 + } + }} + value={ + isUnknown ? '확인불가' : field.value ?? ""} + onChange={(e) => { + if (readonly) return + if (e.target.value === '확인불가') { + field.onChange('0000'); + } else { + field.onChange(e.target.value); + } + }} + disabled={grntchBdstCertYn == "N" || grntchBdstCertYn == "D"} + max={4} + /> + + ) + }} + /> +
+
+ { + const isUnknown = field.value === null || field.value === "0000"; // 또는 Number(value) === -1 + return ( + + { + // 입력 시 자동으로 확인불가 해제 + if (isUnknown && !readonly) { + field.onChange(""); // 초기화 + } + }} + value={ + isUnknown ? '확인불가' : field.value ?? ""} + onChange={(e) => { + if (readonly) return + + if (e.target.value === '확인불가') { + field.onChange(''); + } else { + field.onChange(e.target.value); + } + }} + disabled={grntchBdstCertYn == "N" || grntchBdstCertYn == "D"} - /> - - )}} - /> + + /> + + ) + }} + /> +
+
+ ( + + { } : field.onChange} + value={field.value ?? code.bdstGrntchClass[0]?.val} + readOnly={readonly} + /> + + )} + /> +
-
- ( - - {} : field.onChange} - value={field.value ?? code.bdstGrntchClass[0]?.val} - readOnly={readonly} - /> - - )} - /> -
-
+