diff --git a/apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.tsx b/apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.tsx
index 9b3688e61..d3333f676 100644
--- a/apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.tsx
+++ b/apps/wr/app/ruseFcltMng/fcltReg/htdflReg/page.tsx
@@ -43,7 +43,7 @@ export default function Home() {
useEffect(() => {
if (!htdfl.isInit) {
- initHtdflReg('41')
+ initHtdflReg('0')
}
}, [htdfl.isInit, initHtdflReg]);
useEffect(() => {
@@ -89,7 +89,7 @@ export default function Home() {
// setBdstChgProps({ isOpen: true, chgBuilding: chgBuilding });
// };
useEffect(() => {
- getHtdflBdstData(pageNation, "41");
+ getHtdflBdstData(pageNation, "0");
}, [pageNation]);
return (
@@ -115,9 +115,9 @@ export default function Home() {
size={"sm"}
onClick={() => {
if(searchTxt&&searchTxt.length>0){
- htdflNmSearch(String(41),searchTxt)
+ htdflNmSearch(String(0),searchTxt)
}else{
- initHtdflReg(String(41) );
+ initHtdflReg(String(0) );
}
}}
diff --git a/apps/wr/app/store/common/code/basicCode.tsx b/apps/wr/app/store/common/code/basicCode.tsx
index 56c59b502..b80dfb3b2 100644
--- a/apps/wr/app/store/common/code/basicCode.tsx
+++ b/apps/wr/app/store/common/code/basicCode.tsx
@@ -181,10 +181,26 @@ export const rswtPrscCdMthdCd = [
];
export const htdPowerMthdCd= [
+ {
+ val: "해당없음",
+ text: "해당없음",
+ },
{
val: "석탄화력발전",
text: "석탄화력발전",
},
+ {
+ val: "화력발전",
+ text: "화력발전",
+ },
+ {
+ val: "수력발전",
+ text: "수력발전",
+ },
+ {
+ val: "태양관발전",
+ text: "태양관발전",
+ },
];
//(공업용수/양식장/농업용수)
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/bdstReg/bdstReg.tsx b/apps/wr/components/ui/form/fcltReg/bdstReg/bdstReg.tsx
index 31e8dbacb..886dd2da9 100644
--- a/apps/wr/components/ui/form/fcltReg/bdstReg/bdstReg.tsx
+++ b/apps/wr/components/ui/form/fcltReg/bdstReg/bdstReg.tsx
@@ -89,7 +89,7 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) {
return (
<>
-
{ type !== "HTB"?"건축물 기본 정보": '발전소 기본 정보'}
+ { type !== "HTB"?"건축물 기본 정보": '시설 기본 정보'}
(
-
+
@@ -156,7 +156,7 @@ export default function BdstReg({ form, type }: { form: any; type?: string }) {
control={form.control}
name="daddr"
render={({ field }) => (
-
+
) => {
if (isModal) {
const data = regCtpvCd ? regCtpvCd : regSggcd ? regSggcd : "noCd";
@@ -54,7 +57,7 @@ export default function HtdflRegForm({
toast.error("시도/시군구 코드를 선택해야합니다.");
return;
}
- htdflBdstReg(values,data);
+ htdflBdstReg(values, data);
if (setIsModal) setIsModal(false);
} else {
@@ -98,7 +101,7 @@ export default function HtdflRegForm({
form.reset(cleanHtdflData(htdflForm));
}
// Case 2: 데이터가 없는 순수 신규 등록 모드인 경우
- if(isModal) {
+ if (isModal) {
const firstYnValue = code.yn?.[0]?.val;
const firstHtdPowerMthdCd = code.htdPowerMthdCd?.[0]?.val;
const firstHtdUtztnUsgCd = code.htdUtztnUsgCd?.[0]?.val;
@@ -117,6 +120,16 @@ export default function HtdflRegForm({
}
}, [htdflForm, code, form]);
+ useEffect(() => {
+ if (!isPowerPlant) {
+ form.setValue(
+ "reuseBuilding.0.htdflObj.etgtType",
+ "해당없음", // 빈 문자열로 초기화
+ { shouldDirty: true } // dirty 상태로 남길지 여부는 취사선택
+ );
+ }
+ }, [isPowerPlant, form]);
+
return (
+
+ {isModal && htdflForm != undefined ? (
+
+ ) : (
+ <>>
+ )}
+ {isModal ? (
+
+
온배수 시설 정보
+
+ ) : (
+ <>>
+ )}
- {isModal && htdflForm != undefined ? (
-
- ) : (
- <>>
- )}
- {isModal ? (
+
+
+ (
+
+ { } : field.onChange}
+ // value={field.value ?? ""}
+ value={field.value || code.htdPowerMthdCd[0].val}
+ readOnly={readonly || !isPowerPlant}
+ />
+
+ )}
+ />
+
+
+
+ (
+
+ {
+ if (!readonly)
+ handleCommaNumberChange(e, field.onChange);
+ }}
+ value={formatCommaNumber(field.value)}
+ readOnly={readonly}
+ />
+
+ )}
+ />
+
+
+ (
+
+ { } : field.onChange}
+ value={field.value ?? ""}
+ readOnly={readonly}
+ />
+
+ )}
+ />
+
+
-
온배수 시설 정보
-
- ) : (
- <>>
- )}
-
-
-
- (
-
- {} : field.onChange}
- value={field.value ?? ""}
- readOnly={readonly}
- />
-
- )}
- />
+ 온배수 시설 운영현황
-
- (
-
- {
- if (!readonly)
- handleCommaNumberChange(e, field.onChange);
- }}
- value={formatCommaNumber(field.value)}
- readOnly={readonly}
- />
-
- )}
- />
-
-
- (
-
- {} : field.onChange}
- value={field.value ?? ""}
- readOnly={readonly}
- />
-
- )}
- />
-
-
-
-
온배수 시설 운영현황
-
-
-
-
- (
-
- {
- if (!readonly) field.onChange((e.target.value));
- }}
- readOnly={readonly}
- />
-
- )}
- />
-
-
- (
-
- {
- if (!readonly) field.onChange(e.target.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}
- />
-
- )}
- />
-
-
- (
-
- {} : field.onChange}
- value={field.value ?? ""}
- readOnly={readonly}
- />
-
- )}
- />
-
-
- (
-
- {
- if (!readonly)
- handleCommaNumberChange(e, field.onChange);
- }}
- value={formatCommaNumber(field.value)}
- readOnly={readonly}
- />
-
- )}
- />
-
-
- (
-
- {} : field.onChange}
- value={field.value ?? ""}
- readOnly={readonly}
- />
-
- )}
- />
-
-
- (
-
- {
- if (!readonly)
- handleCommaNumberChange(e, field.onChange);
- }}
- value={formatCommaNumber(field.value)}
- readOnly={readonly}
- />
-
- )}
- />
-
-
- (
-
- {} : field.onChange}
- value={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}
+ />
+
+ )}
+ />
+
-
-
-
- (
-
- {
- 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/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(""); // 초기화
+ }
+ }}
+ 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.bdstGrntchClass[0]?.val}
- readOnly={readonly}
- />
-
- )}
- />
-
-
+