diff --git a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx
index 7c5ebdb10..67f02fdb2 100644
--- a/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx
+++ b/apps/wr/app/ruseFcltMng/fcltReg/pbnstReg/page.tsx
@@ -57,7 +57,9 @@ useEffect(() => {
const cellClick = (val: number | undefined) => {
if (val === undefined) return;
const selectRow = pbnstHasuRes?.[val];
- setSelectedRow(selectRow);
+ if (selectRow) {
+ setSelectedRow(selectRow);
+ }
if (pbnstRes !== null){
alert("등록된 재이용시설 정보가 없습니다. 신규등록 하십시오.")
return;
@@ -145,7 +147,7 @@ useEffect(() => {
-
+
diff --git a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/headList.tsx b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/headList.tsx
index a0dce391a..f97a791dd 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/headList.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/headList.tsx
@@ -1,10 +1,6 @@
import type { chHeadType } from "@/app/store/prfmncReg/chkgdnReg/rainChkgdn/headList";
import type { TableUpperProps } from "../rainReg";
-
-
-
-
export const pubFacHeadListExport: TableUpperProps[] = [
{ id: "sido", title: "시도" },
{ id: "gugun", title: "시군구" },
@@ -18,118 +14,120 @@ export const pubFacHeadListExport: TableUpperProps[] = [
export const pbnstMngUpHeadListExport: TableUpperProps[] = [
{ id: "choose", title: "선택", type: "checkbox" },
- { id: "operMthd", title: "운영방식", edit: true},
- { id: "rprtvBzenty", title: "대행업체", edit: true},
- { id: "bgngDt", title: "시작일", upName: "upChangeRe", upSequnce: 1, type: "date"},
- { id: "endDt", title: "종료일", upName: "upChangeRe", upSequnce: 2, type: "date"},
-];
-
+ { id: "operMthd", title: "운영방식", edit: true },
+ { id: "rprtvBzenty", title: "대행업체", edit: true },
+ {
+ id: "bgngDt",
+ title: "시작일",
+ upName: "upChangeRe",
+ upSequnce: 1,
+ type: "date",
+ },
+ {
+ id: "endDt",
+ title: "종료일",
+ upName: "upChangeRe",
+ upSequnce: 2,
+ type: "date",
+ },
+];
export const pplInstlsHeadListExport: TableUpperProps[] = [
{ id: "choose", title: "선택", type: "checkbox" },
- { id: "ppMqlt", title: "관재질", type: "select", selectData:'pplQulity' },
- { id: "pdmt", title: "관경", type: "select", selectData:'pplLenght'},
+ { id: "ppMqlt", title: "관재질", type: "select", selectData: "pplQulity" },
+ { id: "pdmt", title: "관경", type: "select", selectData: "pplLenght" },
{ id: "cpct", title: "연장", edit: true, type: "number" },
];
-
export const pbnstDemandHeadListExport: TableUpperProps[] = [
{ id: "dmdCoNm", title: "수요처명" },
{ id: "daddr", title: "위치(주소)" },
- { id: "useUsgCd", title: "사용용도", },
- { id: "splyBgngDay", title: "공급시작일", },
- { id: "splyEndDay", title: "공급종료일", },
- { id: "splyCpct", title: "공급량(m³/일)", },
- { id: "splyFmYon", title: "공급유량계 유무", },
+ { id: "useUsgCd", title: "사용용도" },
+ { id: "splyBgngDay", title: "공급시작일" },
+ { id: "splyEndDay", title: "공급종료일" },
+ { id: "splyCpct", title: "공급량(m³/일)" },
+ { id: "splyFmYon", title: "공급유량계 유무" },
];
-
export const pbnstOrgwtHeadListRxport: TableUpperProps[] = [
- { id: "ruseUtztnFcltNm", title: "운영방식" },
+ { id: "ruseUtztnFcltNm", title: "운영방식" },
{ id: "orgwtWtritQnt", title: "원수취수량" },
- { id: "tmsYn", title: "하수처리량TMS 전후", },
- { id: "dschgFmYn", title: "하수처리장 방류 유량계 전·후", },
- { id: "dtlPstnExpln", title: "상세위치 설명", },
+ { id: "tmsYn", title: "하수처리량TMS 전후" },
+ { id: "dschgFmYn", title: "하수처리장 방류 유량계 전·후" },
+ { id: "dtlPstnExpln", title: "상세위치 설명" },
];
export const fcOrgwtsHeadListExport: TableUpperProps[] = [
{ id: "sido", title: "시도" },
- { id: "gugun", title: "시군구" },
+ { id: "gugun", title: "시군구" },
{ id: "bscFctNm", title: "시설명" },
{ id: "addr", title: "위치" },
-
-]
+];
export const pbnstMngNmExport: chHeadType[] = [
{ headNm: "upChangeRe", text: "운영대행기간", length: 2 },
];
-export type formDetailType ={
- id:string,
- lable:string
- type?:string
-}
+export type formDetailType = {
+ id: string;
+ lable: string;
+ type?: string;
+};
+export const wasteWaterFcltINfo: formDetailType[] = [
+ { id: "wwtEmsnFcltPrmsnYn", lable: "폐수배출물신고 허가여부" },
+ { id: "tmsInstlYn", lable: "Tms설치여부" },
+ { id: "pbnstDrngInflwExclYn", lable: "공공하수도유입제외 허가여부" },
+];
-export const wasteWaterFcltINfo:formDetailType[]=[
- {id:'wwtEmsnFcltPrmsnYn' , lable:'폐수배출물신고 허가여부'},
- {id:'tmsInstlYn' , lable:'Tms설치여부'},
- {id:'pbnstDrngInflwExclYn' , lable:'공공하수도유입제외 허가여부'},
-]
+export const concentratedWaterInfo: formDetailType[] = [
+ { id: "erctWtrOcrnCpct", lable: "눙축수 발생량(m³/일)", type: "number" },
+ { id: "erctUswtrLinkSpt", lable: "눙축수연계지점" },
+ { id: "erctUswtrFcltCpct", lable: "시설용량(m³/일)", type: "number" },
+ { id: "erctUswtrPrcsMeth", lable: "눙축수처리방식" },
+ { id: "erctUswtrPrcsMsrcCd", lable: "눙축수처리공법" },
+];
-export const concentratedWaterInfo:formDetailType[]=[
-{id:'erctWtrOcrnCpct' , lable:'눙축수 발생량(m³/일)'},
-{id:'erctUswtrLinkSpt' , lable:'눙축수연계지점'},
-{id:'erctUswtrFcltCpct' , lable:'시설용량(m³/일)'},
-{id:'erctUswtrPrcsMeth' , lable:'눙축수처리방식'},
-{id:'erctUswtrPrcsMsrcCd' , lable:'눙축수처리공법'},
-]
+export const ruseFcltinfo: formDetailType[] = [
+ { id: "rprcsFcltCpct", lable: "시설용량(m³/일)", type: "number" },
+ { id: "majorPrcsMsrcCd", lable: "주처리공법" },
+ { id: "addr", lable: "위치(주소)" },
+ { id: "rprcsMthdCd", lable: "재처리방식" },
+ { id: "inoutYn", lable: "위치(처리장 내외)" }, // 머가 내? 외?,
+ { id: "mainSplyPumpCpct", lable: "메인공급펌프 용량", type: "number" },
+];
-export const ruseFcltinfo:formDetailType[]=[
- {id:'rprcsFcltCpct' , lable:'시설용량(m³/일)'},
- {id:'majorPrcsMsrcCd' , lable:'주처리공법'},
- {id:'addr' , lable:'위치(주소)'},
- {id:'rprcsMthdCd' , lable:'재처리방식'},
- {id:'inoutYn' , lable:'위치(처리장 내외)'},// 머가 내? 외?,
- {id:'mainSplyPumpCpct' , lable:'메인공급펌프 용량'},
- ]
-
+export const businessMoneyInfo: formDetailType[] = [
+ { id: "gvsbs", lable: "국고", type: "number" },
+ { id: "lcep", lable: "지방비", type: "number" },
+ { id: "cusrAlotm", lable: "민간투자비", type: "number" },
+ { id: "etc", lable: "기타" },
+ { id: "totalMoney", lable: "합계", type: "number" },
+];
-export const businessMoneyInfo:formDetailType[]=[
- {id:'gvsbs' , lable:'국고'},
- {id:'lcep' , lable:'지방비'},
- {id:'username' , lable:'민간투자비'},
- {id:'cusrAlotm' , lable:'원인자부담금'},
- {id:'etc' , lable:'기타'},
- {id:'totalMoney' , lable:'합계'},
-]
-
-export const businessSttnInfo:formDetailType[]=[
- {id:'seCd' , lable:'구분'},
- {id:'bizMthdCd' , lable:'사업방식'},
- {id:'bizCmcnDay' , lable:'사업준공일' ,type:'date'},
- {id:'instlAprvSncnDt' , lable:'설치승인인가일' ,type:'date'} ,
-]
-
-
-export const ruseFcltIntakeList:formDetailType[]=[
- {id:'seCd' , lable:'구분'},
- {id:'bizMthdCd' , lable:'사업방식'},
- {id:'bizCmcnDay' , lable:'사업준공일' ,type:'date'},
- {id:'instlAprvSncnDt' , lable:'설치승인인가일' ,type:'date'} ,
-]
-
-export const ruseWaterQulityList:formDetailType[]=[
- {id:'bod' , lable:'BOD(mg/L)'},
- {id:'grssClfg' , lable:'총대장균군수(개/mg)'},
- {id:'combResdch' , lable:'결합잔류염소(mh/L)'},
- {id:'trbt' , lable:'탁도(NTU)'},
- {id:'smll' , lable:'냄새'},
- {id:'crmty' , lable:'색도'},
- {id:'tn' , lable:'총질소(mg/L)'},
- {id:'tph' , lable:'총인(mg/L)'},
- {id:'ph' , lable:'수소이온농도'},
- {id:'clIonQnt' , lable:'염화물(mg/L)'},
- {id:'cdtnv' , lable:'전기전도도(μs/cm)'},
-]
+export const businessSttnInfo: formDetailType[] = [
+ { id: "seCd", lable: "구분" },
+ { id: "bizMthdCd", lable: "사업방식" },
+ { id: "bizCmcnDay", lable: "사업준공일", type: "date" },
+ { id: "instlAprvSncnDt", lable: "설치승인인가일", type: "date" },
+];
+export const ruseFcltIntakeList: formDetailType[] = [
+ { id: "seCd", lable: "구분" },
+ { id: "bizMthdCd", lable: "사업방식" },
+ { id: "bizCmcnDay", lable: "사업준공일", type: "date" },
+ { id: "instlAprvSncnDt", lable: "설치승인인가일", type: "date" },
+];
+export const ruseWaterQulityList: formDetailType[] = [
+ { id: "bod", lable: "BOD(mg/L)", type: "number" },
+ { id: "grssClfg", lable: "총대장균군수(개/mg)", type: "number" },
+ { id: "combResdch", lable: "결합잔류염소(mh/L)", type: "number" },
+ { id: "trbt", lable: "탁도(NTU)", type: "number" },
+ { id: "smll", lable: "냄새", type: "number" },
+ { id: "crmty", lable: "색도", type: "number" },
+ { id: "tn", lable: "총질소(mg/L)", type: "number" },
+ { id: "tph", lable: "총인(mg/L)", type: "number" },
+ { id: "ph", lable: "수소이온농도", type: "number" },
+ { id: "clIonQnt", lable: "염화물(mg/L)", type: "number" },
+ { id: "cdtnv", lable: "전기전도도(μs/cm)", type: "number" },
+];
diff --git a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx
index c04302663..903fe01b9 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx
@@ -50,137 +50,116 @@ export type fcFileType = z.infer;
const pplInstlSchema = z.object({
ruseFcltBizFk: z.string(),
choose:z.boolean().default(false),
- pdmt: z.string(),
- ppMqlt: z.string(),
- cpct: z.string(),
+ pdmt: z.string().default(''),
+ ppMqlt: z.string().default(""),
+ cpct: z.number().default(0),
});
const fcFileSchema = z.object({
- ruseFcltFk: z.number().default(0).nullish(),
+ ruseFcltFk: z.number().nullish(),
fileTkn: z.string(),
filePath: z.string(),
fileKnd: z.string(),
regDt: z.date().default(new Date()).nullish(),
- rgtr: z.string(),
+ rgtr: z.string().nullish(),
mdfcnDt: z.date().default(new Date()).nullish(),
- mdfr: z.string(),
+ mdfr: z.string().nullish(),
});
const fcOperSchema = z.object({
- pbnstRuseFcltOperInfoPk: z.number().default(0),
- pbnstRuseFcltFk: z.number().default(0),
+ pbnstRuseFcltOperInfoPk: z.number().nullish(),
+ pbnstRuseFcltFk: z.number().nullish(),
operMthd: z.string(),
rprtvBzenty: z.string(),
bgngDt: z.date().default(new Date()),
endDt: z.date().default(new Date()),
regDt: z.date().nullish(),
- rgtr: z.string(),
+ rgtr: z.string().default(""),
mdfcnDt: z.date().nullish(),
- mdfr: z.string().default("test"),
+ mdfr: z.string().default(""),
choose: z.boolean().default(false),
});
const fcOrgwtSchema = z.object({
- pbnstRuseFcltBizFk: z.number().default(0),
- swtrmtFcltFk: z.string().default(''),
- orgwtWtritQnt: z.string(),
- tmsYn: z.string(),
- dschgFmYn: z.string(),
- dtlPstnExpln: z.string(),
- regDt: z.string().nullish(),
- rgtr: z.string(),
- mdfcnDt: z.string().nullish(),
- mdfr: z.string(),
+ pbnstRuseFcltBizFk: z.number().nullish(),
+ swtrmtFcltFk: z.number().default(0),
+ orgwtWtritQnt: z.number(),
+ tmsYn: z.enum(["Y", "N"] ).default("N"),
+ dschgFmYn: z.enum(["Y", "N"] ).default("N"),
+ dtlPstnExpln: z.string().default(''),
+ regDt: z.date().nullish(),
+ rgtr: z.string().default(''),
+ mdfcnDt: z.date().nullish(),
+ mdfr: z.string().default(''),
+ choose: z.boolean().default(false),
});
-const fcPrfmncSchema = z.object({
- pbnstRuseFcltFk: z.number().default(0),
- ym: z.string(),
- wshwtr: z.string(),
- coolUswtr: z.string(),
- cleanUswtr: z.string(),
- drwtUswtr: z.string(),
- dltnUswtr: z.string(),
- ithlRswtr: z.string(),
- ithlEtcUswtr: z.string(),
- cleanToilUswtr: z.string(),
- resn: z.string(),
- lndwtr: z.string(),
- hydUswtr: z.string(),
- rvrKeepUswtr: z.string(),
- farmUswtr: z.string(),
- ugwtChr: z.string(),
- indstUswtr: z.string(),
- regDt: z.date().nullish(),
- rgtr: z.string(),
- mdfcnDt: z.date().nullish(),
- mdfr: z.string(),
-});
export const fcBizSchema = z.object({
- pbnstRuseFcltBizPk: z.number().default(0),
- pbnstRuseFcltFk: z.string().default(''),
- cycl: z.string(),
+ pbnstRuseFcltBizPk: z.number().default(1),
+ pbnstRuseFcltFk: z.number().nullish(),
+ superkey: z.string().default(""),
+ cycl: z.number(),
seCd: z.string(),
bizMthdCd: z.string(),
- instlAprvSncnDt: z.string(),
- bizCmcnDay: z.string(),
- gvsbs: z.string(),
- lcep: z.string(),
- cusrAlotm: z.string(),
- etc: z.string(),
- totalMoney: z.string(),
- rprcsFcltCpct: z.string(),
+ instlAprvSncnDt: z.date().nullish(),
+ bizCmcnDay: z.date().nullish(),
+ gvsbs: z.number().default(0),
+ lcep: z.number().default(0),
+ cusrAlotm: z.number().default(0),
+ etc: z.string().default(''),
+ totalMoney: z.number().default(0).nullish(),
+ rprcsFcltCpct: z.number(),
majorPrcsMsrcCd: z.string(),
addr: z.string(),
rprcsMthdCd: z.string(),
- inoutYn: z.string(),
- mainSplyPumpCpct: z.string(),
- erctWtrOcrnCpct: z.string(),
- erctUswtrLinkSpt: z.string(),
- erctUswtrFcltCpct: z.string(),
- erctUswtrPrcsMeth: z.string(),
- erctUswtrPrcsMsrcCd: z.string(),
- wwtEmsnFcltPrmsnYn: z.string(),
- tmsInstlYn: z.string(),
- pbnstDrngInflwExclYn: z.string(),
- bod: z.string(),
- grssClfg: z.string(),
- combResdch: z.string(),
- trbt: z.string(),
- clIonQnt: z.string(),
- smll: z.string(),
- crmty: z.string(),
- tph: z.string(),
- tn: z.string(),
- ph: z.string(),
- cdtnv: z.string(),
- designCst: z.string(),
- cstrnSpvsCst: z.string(),
- fcltSbsdCst: z.string(),
- wstCst: z.string(),
- cnstCmcnCst: z.string(),
- mntrgEqpmntInstlCst: z.string(),
- gisDbCst: z.string(),
- elpwrMtrngCst: z.string(),
- mchnCst: z.string(),
- archCst: z.string(),
- pplCst: z.string(),
- ruseFcltCst: z.string(),
- designCstClcln: z.string(),
- cstrnSpvsCstClcln: z.string(),
- fcltSbsdCstClcln: z.string(),
- wstCstClcln: z.string(),
- cnstCmcnCstClcln: z.string(),
- mntrgEqpmntInstlCstClcln: z.string(),
- gisDbCstClcln: z.string(),
- elpwrMtrngCstClcln: z.string(),
- mchnCstClcln: z.string(),
- archCstClcln: z.string(),
- pplCstClcln: z.string(),
- ruseFcltCstClcln: z.string(),
+ inoutYn: z.enum(["Y", "N"]),
+ mainSplyPumpCpct: z.number().nullish(),
+ erctWtrOcrnCpct: z.number().nullish(),
+ erctUswtrLinkSpt: z.string().nullish(),
+ erctUswtrFcltCpct: z.number().nullish(),
+ erctUswtrPrcsMeth: z.string().nullish(),
+ erctUswtrPrcsMsrcCd: z.string().nullish(),
+ wwtEmsnFcltPrmsnYn: z.enum(["Y", "N"]),
+ tmsInstlYn: z.enum(["Y", "N"]),
+ pbnstDrngInflwExclYn: z.enum(["Y", "N"]),
+ bod: z.number(),
+ grssClfg: z.number(),
+ combResdch: z.number(),
+ trbt: z.number(),
+ clIonQnt: z.number(),
+ smll: z.number(),
+ crmty: z.number(),
+ tph: z.number(),
+ tn: z.number(),
+ ph: z.number(),
+ cdtnv: z.number(),
+ designCst: z.number().nullish(),
+ cstrnSpvsCst: z.number().nullish(),
+ fcltSbsdCst: z.number().nullish(),
+ wstCst: z.number().nullish(),
+ cnstCmcnCst: z.number().nullish(),
+ mntrgEqpmntInstlCst: z.number().nullish(),
+ gisDbCst: z.number().nullish(),
+ elpwrMtrngCst: z.number().nullish(),
+ mchnCst: z.number().nullish(),
+ archCst: z.number().nullish(),
+ pplCst: z.number().nullish(),
+ ruseFcltCst: z.number().nullish(),
+ designCstClcln: z.number().nullish(),
+ cstrnSpvsCstClcln: z.number().nullish(),
+ fcltSbsdCstClcln: z.number().nullish(),
+ wstCstClcln: z.number().nullish(),
+ cnstCmcnCstClcln: z.number().nullish(),
+ mntrgEqpmntInstlCstClcln: z.number(),
+ gisDbCstClcln: z.number().nullish(),
+ elpwrMtrngCstClcln: z.number().nullish(),
+ mchnCstClcln: z.number().nullish(),
+ archCstClcln: z.number().nullish(),
+ pplCstClcln: z.number().nullish(),
+ ruseFcltCstClcln: z.number().nullish(),
fcOrgwts: z.array(fcOrgwtSchema),
pplInstls: z.array(pplInstlSchema),
- flg: z.string(),
+ flg: z.string().nullish(),
regDt: z.string().nullish(),
rgtr: z.string(),
mdfcnDt: z.string().nullish(),
@@ -188,12 +167,13 @@ export const fcBizSchema = z.object({
});
export const pbnstRegZod = z.object({
- pbnstRuseFcltPk: z.string().default(""),
+ pbnstRuseFcltPk: z.number().default(1),
swtrmtFcltFk: z.string().default(""),
+ superkey:z.string().default(""),
ruseUtztnFcltNm: z.string().default(""),
- fcltCpct: z.string().default(""),
- ruseCpct: z.string().default(""),
- splyExtraCpct: z.string().default(""),
+ fcltCpct: z.number().default(0),
+ ruseCpct: z.number().default(0),
+ splyExtraCpct: z.number().default(0),
regDt: z.date().default(new Date()),
rgtr: z.string().default("test"),
mdfcnDt: z.date().default(new Date()),
diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/bugRegForm.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/bugRegForm.tsx
index 3496e1140..aa8d181e9 100644
--- a/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/bugRegForm.tsx
+++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/bugRegForm.tsx
@@ -68,7 +68,13 @@ export function PbnstBuseForm({ data }: { data: fcBizType[] }) {
});
useEffect(() => {
- pbnstBizData(form.watch() as fcBizType);
+
+ const formData = form.watch()
+
+ formData.pplInstls = ref.current? [...ref.current]:[] // ← form 내부 상태 기준으로 복사
+ console.log("formData pplReg", formData)
+
+ pbnstBizData(formData as fcBizType);
}, [form.formState]);
useEffect(() => {
@@ -86,8 +92,8 @@ export function PbnstBuseForm({ data }: { data: fcBizType[] }) {
ruseFcltBizFk: ref.current?.[0]?.ruseFcltBizFk??"",
choose: false,
ppMqlt: "",
- pdmt: "",
- cpct: "",
+ pdmt: '',
+ cpct: 0,
}
const currentTableDataFromRef = ref.current ? [...ref.current] : [];
const newDataForRHF = [...currentTableDataFromRef, regData];
@@ -131,7 +137,6 @@ export function PbnstBuseForm({ data }: { data: fcBizType[] }) {
}, [code]);
useEffect(() => {
- console.log("ppiSelectList:", ppiSelectList);
}, [ppiSelectList]);
useEffect(() => {
diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx
index 018f9b011..3477c5b81 100644
--- a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx
+++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx
@@ -8,6 +8,7 @@ import { zodResolver } from "@hookform/resolvers/zod";
import { use, useEffect, useRef, useState } from "react";
import { useFieldArray, useForm } from "react-hook-form";
import { z } from "zod";
+import moment from "moment";
import {
commonButonSize,
@@ -16,7 +17,6 @@ import {
} from "@/components/lib/class/comClass";
import { TusClientUpload } from "@/components/lib/useTus_wr/useTusWr";
import RuseMngTable from "@/components/ui/table/pbnstReg/ruseMngTable/ruseMngTable";
-import type { Upload } from "tus-js-client";
import {
pbnstRegZod,
type customPbnst,
@@ -34,14 +34,10 @@ export function PbnstMngForm({ data }: { data: customPbnst }) {
const { pbnst, pbnstUpdate, fileDelete, pbnstMngData } = useWrStore(
(state) => state
);
- const { pbnstMngUpHeadList } = pbnst;
- const [ruseOperData, setRuseOperData] = useState();
+
const [planFiles, setPlanFiles] = useState(null);
const [relationfiles, setRelationFiles] = useState(null);
- const [isModalOpen, setIsModalOpen] = useState(false);
const [regFileList, setRegFileList] = useState(null);
-
- const [upload, setUpload] = useState(null);
const [progress, setProgress] = useState(0);
//const new File([] as BlobPart[], "") 파일 다운로드 활용
const handleProgress = (percentage: string) => {
@@ -52,7 +48,6 @@ export function PbnstMngForm({ data }: { data: customPbnst }) {
const form = useForm>({
resolver: zodResolver(pbnstRegZod),
defaultValues: pbnstRegZod.parse({}),
- //mode:'onChange'
});
const {
@@ -64,22 +59,17 @@ export function PbnstMngForm({ data }: { data: customPbnst }) {
name: "fcOpers",
});
-useEffect(() => {
- console.log("ref.current", ref.current);
-},[ref.current])
- useEffect(() => {
- const formData = form.getValues();
- // 기존 코드: formData.fcOpers = ref.current ? [...ref.current] : [];
- // 새 코드: 상태를 유지한 채 복사
- formData.fcOpers = form.getValues("fcOpers"); // ← form 내부 상태 기준으로 복사
+ useEffect(() => {
+ const formData = form.watch();
+ formData.fcOpers = ref.current ? [...ref.current] : [];
formData.fcFiles = regFileList ? [...regFileList] : [];
pbnstMngData([formData] as customPbnst[]);
}, [form.formState, regFileList]);
useEffect(() => {
- console.log(" mngRegFrom ", pbnst.pbnstMngRegData);
+ pbnstMngData(pbnst.pbnstMngRegData);
}, [pbnst.pbnstMngRegData]);
const fileDownload = (index: number) => {};
@@ -88,8 +78,6 @@ useEffect(() => {
choose: false,
rgtr: "",
mdfr: "",
- pbnstRuseFcltFk: 0,
- pbnstRuseFcltOperInfoPk: 0,
operMthd: "",
rprtvBzenty: "",
bgngDt: new Date(),
@@ -99,7 +87,7 @@ useEffect(() => {
const newDataForRHF = [...currentTableDataFromRef, regData];
form.setValue("fcOpers", newDataForRHF, {
shouldValidate: true, // 필요하다면 유효성 검사 실행
- shouldDirty: true, // 폼 상태를 dirty로 변경
+ shouldDirty: true, // 폼 상태를 dirty로 변경
});
const latestOpers = form.getValues("fcOpers");
ref.current = [...latestOpers];
@@ -115,12 +103,23 @@ useEffect(() => {
useEffect(() => {
if (data) {
+ console.log(" data ", data )
+ console.log(" pbnst.pbnstMngRegData ", pbnst.pbnstMngRegData)
form.reset(data);
form.setValue("pbnstRuseFcltPk", data.pbnstRuseFcltPk);
- ref.current = data.fcOpers || [];
+ ref.current = data.fcOpers;
}
}, [data]);
+ // useEffect(() => {
+ // if (pbnst.pbnstMngRegData && !mountCheck.current) {
+ // console.log('pbnst.pbnstMngRegData ', pbnst.pbnstMngRegData)
+ // mountCheck.current=true
+ // // form.reset(data);
+ // // form.setValue("pbnstRuseFcltPk", data.pbnstRuseFcltPk);
+ // // ref.current = data.fcOpers || [];
+ // }
+ // }, [ ]);
// 2. Define a submit handler.
function onSubmit(values: z.infer) {
values.fcOpers = ref.current || [];
@@ -130,7 +129,6 @@ useEffect(() => {
}
const fileHandler = (files: File[], type: string) => {
- console.log("fileHandler", files);
let fileList = [] as FilesType[];
if (type === "relation" && relationfiles) {
fileList = relationfiles;
@@ -208,7 +206,6 @@ useEffect(() => {
}
}, [planFiles]);
-
useEffect(() => {
console.log("form errors:", form.formState.errors);
}, [form.formState.errors]);
@@ -278,7 +275,9 @@ useEffect(() => {
{
+ field.onChange(Number(e.target.value));
+ }}
value={field.value}
/>
@@ -294,7 +293,9 @@ useEffect(() => {
{
+ field.onChange(Number(e.target.value));
+ }}
value={field.value}
/>
@@ -310,7 +311,9 @@ useEffect(() => {
{
+ field.onChange(Number(e.target.value));
+ }}
value={field.value}
/>
@@ -326,7 +329,9 @@ useEffect(() => {
{
+ field.onChange(Number(e.target.value));
+ }}
value={field.value}
/>
diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegFormDetail/mngRegFormDetail.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegFormDetail/mngRegFormDetail.tsx
index 21b3f7ce0..0afb35206 100644
--- a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegFormDetail/mngRegFormDetail.tsx
+++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegFormDetail/mngRegFormDetail.tsx
@@ -45,7 +45,7 @@ export default function MngRegFormDetail({
className={"rounded-lg !w-full"}
/>
) : item.type === "number" ? (
-
+ {field.onChange(Number(e.target.value))}} />
) : (
)}
diff --git a/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx b/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx
index 4d2553878..e58f7b856 100644
--- a/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx
+++ b/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx
@@ -11,33 +11,33 @@ import { getCity } from "@/components/lib/func/commom";
import { PbnstMngForm } from "@/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm";
import {
ScrollArea,
- SelectBox,
- UiTable,
- type SelectDataType,
} from "@common/business_components";
import {
Button,
- Input,
- Label,
Tabs,
TabsContent,
TabsList,
TabsTrigger,
} from "@common/components/ui";
import { useEffect, useState } from "react";
-import type { objSearchType } from "../bdstRegModal/bdstRegModal";
import { PbnstBuseForm } from "@/components/ui/form/fcltReg/pbnstReg/buseReg/bugRegForm";
export function PbnstRegModal({ data }: { data: pubHasuType }) {
- const { code, pbnst } = useWrStore((state) => {
+ const { pbnst ,pbnstUpdate} = useWrStore((state) => {
return state;
});
- const { pubFacHeadList, pbnstHasuRes, pbnstRes } = pbnst;
const [pbnstBdstForm, setPbnstBdstForm] = useState(
{} as customPbnst
);
const [currentTab, setCurrentTab] = useState("mng");
- // const nodeList = headMakeColSpan(pubFacHeadList.moUpHeadList);
+
+const pbnstRegTotal = ()=>{
+ console.log(" pbnst.pbnstMngRegData ", pbnst.pbnstMngRegData)
+
+ if(pbnst.pbnstMngRegData[0])
+ pbnstUpdate(pbnst.pbnstMngRegData[0])
+}
+
const handleTabChange = (value: string) => {
setCurrentTab(value);
@@ -45,15 +45,26 @@ export function PbnstRegModal({ data }: { data: pubHasuType }) {
useEffect(() => {
- const regData = {
- pbnstRuseFcltPk: String(data.bscFctCd + "R" + "1"),
- fcBizs: [{ pbnstRuseFcltFk: String(data.bscFctCd + "R" + "1") } as unknown as fcBizType],
- };
- console.log("regData ", regData)
- setPbnstBdstForm(regData as customPbnst);
+ if(data ){
+
+ let regData = {
+ superKey: String(data.bscFctCd + "1"),
+ swtrmtFcltFk: String(data.bscFctCd ),
+ pbnstRuseFcltPk: 1,
+ fcBizs: [{ pbnstRuseFcltFk: 1 ,cycl:1 } as unknown as fcBizType],
+ };
+
+ setPbnstBdstForm(regData as unknown as customPbnst);
+ }
+
}, [data]);
+
+ useEffect(() =>{
+
+ console.log('pbnst.pbnstMngRegData ', pbnst.pbnstMngRegData)
+ },[pbnst.pbnstMngRegData])
return (
<>
@@ -70,7 +81,7 @@ export function PbnstRegModal({ data }: { data: pubHasuType }) {
차수별정보
-