-
-
○ 중수도 시설 운영정보
+
+
+ ○ 중수도 시설 운영정보
+
+
+ {isModal && rswtForm != undefined ? (
+
+ ) : (
+ <>>
+ )}
+ {isModal ? (
+
+ ○ 중수도 시설 정보{" "}
+
+ ) : (
+ <>>
+ )}
기본정보
@@ -102,7 +135,7 @@ useEffect(() => {
: new Date(), // Provide a default Date value
onChange: (date) => field.onChange(date),
}}
- selectClass={selectClass}
+ selectClass={""}
/>
)}
@@ -120,7 +153,7 @@ useEffect(() => {
placeholder="1,000,000"
type="text"
value={field.value ?? ""}
- onChange={field.onChange}
+ onChange={(e) => field.onChange(Number(e.target.value))}
/>
)}
@@ -138,8 +171,8 @@ useEffect(() => {
className=""
placeholder="1,000,000"
type=""
- value={field.value ?? ""}
- onChange={field.onChange}
+ value={field.value ?? 0}
+ onChange={(e) => field.onChange(Number(e.target.value))}
/>
)}
@@ -156,8 +189,8 @@ useEffect(() => {
className=""
placeholder="1,000,000"
type="text"
- value={field.value ?? ""}
- onChange={field.onChange}
+ value={field.value ?? 0}
+ onChange={(e) => field.onChange(Number(e.target.value))}
/>
)}
@@ -183,7 +216,7 @@ useEffect(() => {
selectClass={selectClass}
selectArray={code.orgwtKndCd}
onSelectValue={field.onChange}
- value={field.value ??code.orgwtKndCd[0]?.val }
+ value={field.value ?? code.orgwtKndCd[0]?.val}
/>
)}
@@ -199,8 +232,8 @@ useEffect(() => {
className=""
placeholder="1,000,000"
type=""
- value={field.value ??""}
- onChange={field.onChange}
+ value={field.value ?? ""}
+ onChange={field.onChange}
/>
)}
@@ -228,9 +261,8 @@ useEffect(() => {
selectClass={selectClass}
label={""}
selectArray={code.yn}
- onSelectValue={onSelectValue}
- value={field.value ??code.yn[0]?.val }
- onChange={field.onChange}
+ onSelectValue={field.onChange}
+ value={field.value ?? code.yn[0]?.val}
/>
)}
@@ -246,8 +278,10 @@ useEffect(() => {
className=""
placeholder="1,000,000"
type=""
- value={field.value ??"" }
- onChange={field.onChange}
+ value={field.value ?? ""}
+ onChange={(e) => {
+ field.onChange(Number(e.target.value));
+ }}
/>
)}
@@ -270,9 +304,8 @@ useEffect(() => {
selectClass={selectClass}
label={""}
selectArray={code.yn}
- onSelectValue={onSelectValue}
- value={field.value ??code.yn[0]?.val }
- onChange={field.onChange}
+ onSelectValue={field.onChange}
+ value={field.value ?? code.yn[0]?.val}
/>
)}
@@ -290,7 +323,7 @@ useEffect(() => {
type=""
{...field}
value={field.value ?? ""}
- onChange={field.onChange}
+ onChange={field.onChange}
/>
)}
@@ -306,8 +339,8 @@ useEffect(() => {
className=""
placeholder="ab1234678"
type=""
- value={field.value ??""}
- onChange={field.onChange}
+ value={field.value ?? ""}
+ onChange={field.onChange}
/>
)}
@@ -319,7 +352,13 @@ useEffect(() => {
name="reuseBuilding.0.grntchBdstCertGrd"
render={({ field }) => (
-
+
)}
/>
diff --git a/apps/wr/components/ui/modal/bdstReg/component.tsx b/apps/wr/components/ui/modal/bdstReg/component.tsx
index 541b7e53d..9ea411248 100644
--- a/apps/wr/components/ui/modal/bdstReg/component.tsx
+++ b/apps/wr/components/ui/modal/bdstReg/component.tsx
@@ -3,40 +3,52 @@ import { headMakeColSpan } from "@/app/ruseFcltMng/fcltReg/rainReg/page";
import { useWrStore } from "@/app/store";
import {
selectClass,
- type RainyBuilding,
+ type bdstAll,
+ type customRainBdst,
} from "@/app/store/ruseFcltMng/fcltReg/rainReg";
import { ScrollArea, SearchInput, SelectBox, UiTable } from "@common/business_components";
import { Button, Input, Label } from "@common/components";
import { useEffect, useState } from "react";
import { RainRegForm } from "../../form/fcltReg/rainReg/component";
import { getCityCd, type selectArray } from "@/app/store/common/code";
-import { getCity } from "@/components/lib/func/commom";
-import { RswtrRegForm } from "../../form/fcltReg/rswtrReg/component";
+import { getCity, tableData } from "@/components/lib/func/commom";
+import { RswtrRegForm } from "../../form/fcltReg/rswtrReg/RswtrRegForm";
import { HtdflRegForm } from "../../form/fcltReg/htdflReg/component";
+import type { customRswtBdst } from "@/app/store/ruseFcltMng/fcltReg/rswtReg";
export type objSearchType = {
sgg: string|number;
city: string|number;
};
+//RNB(빗물), RST(중수도), HTB(온배수)
+ type MoType = 'RNB' | 'RST' | 'HTB'; // 여기에 'htdf' 추가
+ type BdstTypeMap = {
+ RNB: customRainBdst;
+ RST: customRswtBdst;
+ HTB: customRswtBdst; // 해야해// 아직 아노딤
+};
-export function BdstReg({moType}:{moType:string} ) {
+ interface BdstRegProps
{
+ moType: T;
+}
+
+export function BdstReg({ moType }: BdstRegProps) {
const { rain, code, bdst,findBdst } = useWrStore((state) => {
return state;
});
-
- const [bdstTable, setbdstTable] = useState();
- const [rainBdstForm, setRainBdstForm] = useState({} as RainyBuilding);
+ const [bdstTable, setbdstTable] = useState();
+ const [rainBdstForm, setRainBdstForm] = useState({} as BdstTypeMap[T]);
const [searchTxt, setSearchTxt] = useState()
- const [selectSgg, setSelectSgg] = useState()
+ const [selectSgg, setSelectSgg] = useState()
const [objSearch, setObjSearch] = useState({sgg:"",city:""});
- const getSelCity = (val: string) => {
- const data= getCity(val,code.sggCd)
- setSelectSgg(data);
-
- setObjSearch({ city:val , sgg:''})
-
+ const getSelCity = (val: string | number) => {
+ const cityValue = String(val); // Ensure val is treated as a string
+ const data = getCity(cityValue, code.sggCd);
+ setSelectSgg(data);
+
+ setObjSearch({ city: cityValue, sgg: '' });
};
const getSgg = (val: string | number) => {
@@ -54,33 +66,26 @@ export function BdstReg({moType}:{moType:string} ) {
data = objSearch.sgg
}
- findBdst(String(data), searchTxt || "","RNB" )
+ //RNB(빗물), RST(중수도), HTB(온배수)
+ findBdst(String(data), searchTxt || "",moType )
}
useEffect(() => {
if (code.sggCd.length > 0) {
- const table = bdst?.bdstBase?.map((item) => {
- const sggText = code.sggCd.find(
- (cd) => cd.val === Number(item.sggCd)
- )?.text;
- const cityText = code.cityCd.find(
- (cd) => cd.val === Number(item.ctpvCd)
- )?.text;
- return { ...item, sggText: sggText, cityText: cityText };
- });
-
-
- setbdstTable(table);
- }
+
+ setbdstTable( tableData(bdst.bdstBase, { code }));
+ }
}, [code, bdst]);
const tableClick: (val: number | undefined) => void = (val) => {
if(val!==undefined && bdst?.bdstBase.length>0){
- const data =bdst?.bdstBase[val]
- setRainBdstForm(data);
+ const data:BdstTypeMap[T] =bdst?.bdstBase[val]
+ if (data) {
+ setRainBdstForm(data);
+ }
}
}
const nodeList = headMakeColSpan(bdst.moUpHeadList);
@@ -91,7 +96,7 @@ export function BdstReg({moType}:{moType:string} ) {
className="col-span-3 "
label={"시도"}
selectClass={selectClass}
- selectArray={code.cityCd}
+ selectArray={code.cityCd || []}
onSelectValue={getSelCity}
>
{""}
@@ -107,13 +112,7 @@ export function BdstReg({moType}:{moType:string} ) {
setSearchTxt(e.target.value)}/>
- {/* */}
+
@@ -135,9 +134,9 @@ export function BdstReg({moType}:{moType:string} ) {