Merge commit 'a5d816e221985da6df93a4587d91c858acbbb12b' into iipbs/wr/form_fuction
This commit is contained in:
@@ -39,9 +39,9 @@ useEffect(() => {
|
||||
if (!pbnst.isInit ) {
|
||||
pubHasuInit('1','11');
|
||||
|
||||
pbnstRegInit( '41');
|
||||
///pbnstRegInit( '41');
|
||||
}
|
||||
}, [pbnst.isInit, pubHasuInit,pbnstRegInit]);
|
||||
}, [pbnst.isInit, pubHasuInit]);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
@@ -60,10 +60,11 @@ useEffect(() => {
|
||||
if (selectRow) {
|
||||
setSelectedRow(selectRow);
|
||||
}
|
||||
if (pbnstRes === null){
|
||||
alert("등록된 재이용시설 정보가 없습니다. 신규등록 하십시오.")
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
console.log('selectRow ', selectRow)
|
||||
pbnstRegInit(selectRow)
|
||||
|
||||
// setSelectBdst(pbnstRes);
|
||||
// setPbnstBiz(pbnstRes?.fcBizs)
|
||||
};
|
||||
|
||||
@@ -42,6 +42,7 @@ export type pubFacState = {
|
||||
pbnstMngNm: chHeadType[];
|
||||
pbnstHasuRes: pubHasuType[];
|
||||
pbnstRes: customPbnst[] | null; // 배열에서 단일 객체 또는 null로 변경
|
||||
pbnstResObj: customPbnst | null; // 배열에서 단일 객체 또는 null로 변경
|
||||
pbnstBizCycle: SelectDataType[];
|
||||
selectLabel: SelectDataType[];
|
||||
pbnstOrgwtHeadList: TableUpperProps[];
|
||||
@@ -52,16 +53,15 @@ export type pubFacState = {
|
||||
};
|
||||
};
|
||||
type pubFacActions = {
|
||||
pubHasuInit: (page:string, sggOrCity:string) => void;
|
||||
pbnstRegInit: (sgg: string) => void;
|
||||
pbnstRegSearch: (txt: string | undefined, sgg: string) => void;
|
||||
pubHasuInit: (page: string, sggOrCity: string) => void;
|
||||
pbnstRegInit: (pubHasuRes: pubHasuType) => void;
|
||||
pbnstReg: (txt: string | undefined) => void;
|
||||
pbnstUpdate(pbnstRes: customPbnst): Promise<void>;
|
||||
fileDelete: (atflCd: string) => void;
|
||||
fileDownLoad: (atflCd: string) => void;
|
||||
pbnstMngData: (data: customPbnst[]) => void;
|
||||
pbnstBizData(data: fcBizType): void;
|
||||
|
||||
getBizCycle: (pbnstObj: customPbnst) => void;
|
||||
};
|
||||
|
||||
export type pubFacType = pubFacState & pubFacActions;
|
||||
@@ -74,7 +74,8 @@ export const pubFacStateExport: pubFacState = {
|
||||
pbnstMngNm: pbnstMngNm,
|
||||
pbnstOrgwtHeadList: pbnstOrgwtHeadList,
|
||||
pbnstHasuRes: [],
|
||||
pbnstRes: null, // 초기값을 null로 변경
|
||||
pbnstResObj: null, // 초기값을 null로 변경
|
||||
pbnstRes: [], // 초기값을 null로 변경
|
||||
pbnstBizCycle: [{ text: "없음", val: "1" }],
|
||||
selectLabel: selectLabel,
|
||||
pplInstlsHeadLisat: pplInstlsHeadLisat,
|
||||
@@ -89,11 +90,11 @@ const checkWrRegList = async () => {
|
||||
return wrRegList;
|
||||
};
|
||||
|
||||
const hasuListFetch = async (page:string, sggOrCity:string) => {
|
||||
const hasuListFetch = async (page: string, sggOrCity: string) => {
|
||||
const checkWrRegListRes = await checkWrRegList();
|
||||
|
||||
const rainRes = await postFectch(
|
||||
`/prcsFclt/ruseInfo/${page?page:1}/10/A/${sggOrCity?sggOrCity:"11"}/0/1/SW`,
|
||||
`/prcsFclt/ruseInfo/${page ? page : 1}/10/A/${sggOrCity ? sggOrCity : "11"}/0/1/SW`,
|
||||
checkWrRegListRes,
|
||||
fetchType.COMMON
|
||||
);
|
||||
@@ -108,18 +109,6 @@ const hasuListFetch = async (page:string, sggOrCity:string) => {
|
||||
return hasuList;
|
||||
};
|
||||
|
||||
const getBizCycle = (fcBizs: z.infer<typeof fcBizSchema>[]) => {
|
||||
const pbnstBizCycle = fcBizs.map((item: z.infer<typeof fcBizSchema>) => {
|
||||
return {
|
||||
text: `${item.cycl}차`,
|
||||
val: item.cycl,
|
||||
superkey: "", // Add default superkey value
|
||||
};
|
||||
});
|
||||
|
||||
return pbnstBizCycle;
|
||||
};
|
||||
|
||||
const initFetch = async (code: string | undefined) => {
|
||||
const pbnstRes = await getFetch("wr", `${code}`);
|
||||
return pbnstRes;
|
||||
@@ -127,11 +116,10 @@ const initFetch = async (code: string | undefined) => {
|
||||
|
||||
export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
|
||||
return {
|
||||
pubHasuInit: async (page:string, sggOrCity:string) => {
|
||||
pubHasuInit: async (page: string, sggOrCity: string) => {
|
||||
try {
|
||||
const pbnstHasuRes = await hasuListFetch(page, sggOrCity);
|
||||
|
||||
|
||||
return set((state: pubFacState) => ({
|
||||
...state,
|
||||
pbnst: {
|
||||
@@ -145,21 +133,16 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
|
||||
}
|
||||
},
|
||||
|
||||
pbnstRegInit: async (txt: string | undefined) => {
|
||||
pbnstRegInit: async (pubHasuRes: pubHasuType ) => {
|
||||
try {
|
||||
// const pbnstRes = await initFetch(txt);
|
||||
|
||||
const pbnstRes = [exampleData];
|
||||
|
||||
|
||||
const pbnstBizCycle = pbnstRes && pbnstRes.length > 0 ? getBizCycle(pbnstRes[0]?.fcBizs || []) : []; // pbnstRes가 null일 수 있으므로 체크
|
||||
//const pbnstRes = await initFetch(txt);
|
||||
const pbnstRes = exampleData;
|
||||
|
||||
return set((state: pubFacState) => ({
|
||||
...state,
|
||||
pbnst: {
|
||||
...state.pbnst,
|
||||
pbnstRes: [pbnstRes],
|
||||
pbnstBizCycle: pbnstBizCycle,
|
||||
pbnstRes: pbnstRes,
|
||||
isInit: false,
|
||||
},
|
||||
}));
|
||||
@@ -167,10 +150,10 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
|
||||
console.log(errorHasu);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
pbnstReg: async (txt: string | undefined) => {
|
||||
try {
|
||||
const pbnstRes = await hasuListFetch(txt);
|
||||
const pbnstRes = await hasuListFetch('11' , '11');
|
||||
return set((state: pubFacState) => ({
|
||||
...state,
|
||||
pbnst: {
|
||||
@@ -202,6 +185,23 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
|
||||
console.error("Error updating pbnst:", error);
|
||||
}
|
||||
},
|
||||
getBizCycle: async (pbnstObj: customPbnst) => {
|
||||
const pbnstBizCycle = pbnstObj.fcBizs.map((item) => {
|
||||
return {
|
||||
text: `${item.cycl}차`,
|
||||
val: item.cycl,
|
||||
};
|
||||
});
|
||||
return set((state: pubFacState) => ({
|
||||
...state,
|
||||
pbnst: {
|
||||
...state.pbnst,
|
||||
pbnstBizCycle: pbnstBizCycle,
|
||||
pbnstResObj: pbnstObj,
|
||||
isInit: false,
|
||||
},
|
||||
}));
|
||||
},
|
||||
fileDelete: async (atflCd: string) => {
|
||||
try {
|
||||
const response = await deleteFectch(
|
||||
@@ -242,21 +242,23 @@ export const pubFacActionsExport: (set: any) => pubFacActions = (set: any) => {
|
||||
return state;
|
||||
});
|
||||
},
|
||||
pbnstBizData:(data:fcBizType)=>{
|
||||
return set((state:pubFacState)=>{
|
||||
if(state.pbnst.pbnstMngRegData){
|
||||
const regData = state.pbnst.pbnstMngRegData.find(item=>
|
||||
data.pbnstRuseFcltFk===item.pbnstRuseFcltPk
|
||||
)
|
||||
if(regData){
|
||||
const bizIdx = regData.fcBizs.findIndex(item=>item.pbnstRuseFcltBizPk==data.pbnstRuseFcltBizPk)
|
||||
if(bizIdx>=0){
|
||||
pbnstBizData: (data: fcBizType) => {
|
||||
return set((state: pubFacState) => {
|
||||
if (state.pbnst.pbnstMngRegData) {
|
||||
const regData = state.pbnst.pbnstMngRegData.find(
|
||||
(item) => data.pbnstRuseFcltFk === item.pbnstRuseFcltPk
|
||||
);
|
||||
if (regData) {
|
||||
const bizIdx = regData.fcBizs.findIndex(
|
||||
(item) => item.pbnstRuseFcltBizPk == data.pbnstRuseFcltBizPk
|
||||
);
|
||||
if (bizIdx >= 0) {
|
||||
regData.fcBizs[bizIdx] = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
return state;
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -197,247 +197,434 @@ const pubHasuZod = z.object({
|
||||
export type pubHasuType = z.infer<typeof pubHasuZod>;
|
||||
|
||||
//관경 제외
|
||||
export const exampleData = {
|
||||
pbnstRuseFcltPk: 1,
|
||||
swtrmtFcltFk: "11000SW001R",
|
||||
ruseUtztnFcltNm: "재이용시설 A",
|
||||
hasuhasu: 0,
|
||||
fcltCpct: "100",
|
||||
ruseCpct: "90",
|
||||
splyExtraCpct: "10",
|
||||
rgtr: TEST_UUID,
|
||||
mdfr: TEST_UUID,
|
||||
fcFiles: [],
|
||||
fcBizs: [
|
||||
export const exampleData = [
|
||||
{
|
||||
"swtrmtFcltFk": "11000SW001R",
|
||||
"pbnstRuseFcltPk": "11000SW001R1",
|
||||
"ruseUtztnFcltNm":'난지',
|
||||
"fcltCpct": 123,
|
||||
"ruseCpct": 123,
|
||||
"splyExtraCpct": 123,
|
||||
"hasuhasu": 123,
|
||||
"fcFiles": [],
|
||||
"fcBizs": [
|
||||
{
|
||||
pbnstRuseFcltBizPk: 1,
|
||||
pbnstRuseFcltFk: 1,
|
||||
cycl: "1",
|
||||
seCd: "A010",
|
||||
bizMthdCd: "M02",
|
||||
instlAprvSncnDt: "2022-01-01",
|
||||
bizCmcnDay: "2022-02-01",
|
||||
gvsbs: "정부지원",
|
||||
lcep: "지자체",
|
||||
cusrAlotm: "고객",
|
||||
etc: "비고 없음",
|
||||
totalMoney: "100000000",
|
||||
rprcsFcltCpct: "50",
|
||||
majorPrcsMsrcCd: "MP01",
|
||||
addr: "서울시 종로구",
|
||||
rprcsMthdCd: "RP01",
|
||||
inoutYn: "Y",
|
||||
mainSplyPumpCpct: "30",
|
||||
erctWtrOcrnCpct: "5",
|
||||
erctUswtrLinkSpt: "있음",
|
||||
erctUswtrFcltCpct: "20",
|
||||
erctUswtrPrcsMeth: "생물학적",
|
||||
erctUswtrPrcsMsrcCd: "EM01",
|
||||
wwtEmsnFcltPrmsnYn: "Y",
|
||||
tmsInstlYn: "N",
|
||||
pbnstDrngInflwExclYn: "Y",
|
||||
bod: "30",
|
||||
grssClfg: "양호",
|
||||
combResdch: "적정",
|
||||
trbt: "10",
|
||||
clIonQnt: "5",
|
||||
smll: "없음",
|
||||
crmty: "정상",
|
||||
tph: "0.2",
|
||||
tn: "2",
|
||||
ph: "7.2",
|
||||
cdtnv: "100",
|
||||
designCst: "1000",
|
||||
cstrnSpvsCst: "500",
|
||||
fcltSbsdCst: "200",
|
||||
wstCst: "300",
|
||||
cnstCmcnCst: "1000",
|
||||
mntrgEqpmntInstlCst: "150",
|
||||
gisDbCst: "200",
|
||||
elpwrMtrngCst: "180",
|
||||
mchnCst: "700",
|
||||
archCst: "400",
|
||||
pplCst: "300",
|
||||
ruseFcltCst: "5000",
|
||||
designCstClcln: "990",
|
||||
cstrnSpvsCstClcln: "480",
|
||||
fcltSbsdCstClcln: "190",
|
||||
wstCstClcln: "280",
|
||||
cnstCmcnCstClcln: "980",
|
||||
mntrgEqpmntInstlCstClcln: "140",
|
||||
gisDbCstClcln: "190",
|
||||
elpwrMtrngCstClcln: "170",
|
||||
mchnCstClcln: "680",
|
||||
archCstClcln: "380",
|
||||
pplCstClcln: "290",
|
||||
ruseFcltCstClcln: "4800",
|
||||
pplInstls: [
|
||||
"pbnstRuseFcltFk": "11000SW001R1",
|
||||
"cycl": 1,
|
||||
"seCd": "123",
|
||||
"bizMthdCd": "123",
|
||||
"gvsbs": 123,
|
||||
"lcep": 123,
|
||||
"cusrAlotm": 123,
|
||||
"etc": "123",
|
||||
"rprcsFcltCpct": 123,
|
||||
"majorPrcsMsrcCd": "123",
|
||||
"addr": "123",
|
||||
"rprcsMthdCd": "123",
|
||||
"inoutYn": "123",
|
||||
"mainSplyPumpCpct": 123,
|
||||
"erctWtrOcrnCpct": 123,
|
||||
"erctUswtrLinkSpt": "123",
|
||||
"erctUswtrFcltCpct": 123,
|
||||
"erctUswtrPrcsMeth": "123",
|
||||
"erctUswtrPrcsMsrcCd": "123",
|
||||
"bod": 123,
|
||||
"grssClfg": 123,
|
||||
"combResdch": 123,
|
||||
"trbt": 123,
|
||||
"smll": 1230,
|
||||
"crmty": 123,
|
||||
"tn": 123,
|
||||
"tph": 1230,
|
||||
"ph": 123,
|
||||
"clIonQnt": 123,
|
||||
"cdtnv": 123,
|
||||
"pplInstls": [
|
||||
{
|
||||
ruseFcltBizFk: "10",
|
||||
pdmt: "D200",
|
||||
ppMqlt: "도복장강관",
|
||||
cpct: "1",
|
||||
},
|
||||
{
|
||||
ruseFcltBizFk: "10",
|
||||
pdmt: "D100",
|
||||
ppMqlt: "PE관",
|
||||
cpct: "2",
|
||||
},
|
||||
],
|
||||
fcOrgwts: [
|
||||
{
|
||||
pbnstRuseFcltBizFk: 1,
|
||||
swtrmtFcltFk: "11000SW001R",
|
||||
orgwtWtritQnt: "100",
|
||||
tmsYn: "Y",
|
||||
dschgFmYn: "N",
|
||||
dtlPstnExpln: "배출 위치",
|
||||
regDt: "20250221",
|
||||
rgtr: "admin",
|
||||
mdfcnDt: "20250321",
|
||||
mdfr: "admin",
|
||||
},
|
||||
{
|
||||
pbnstRuseFcltBizFk: 1,
|
||||
swtrmtFcltFk: "11200PB001R",
|
||||
orgwtWtritQnt: "153",
|
||||
tmsYn: "Y",
|
||||
dschgFmYn: "N",
|
||||
dtlPstnExpln: "배출 위치22",
|
||||
regDt: "20250221",
|
||||
rgtr: "admin",
|
||||
mdfcnDt: "20250421",
|
||||
mdfr: "admin",
|
||||
},
|
||||
],
|
||||
flg: "N",
|
||||
rgtr: TEST_UUID,
|
||||
mdfr: TEST_UUID,
|
||||
"ruseFcltBizFk": "",
|
||||
"choose": false,
|
||||
"ppMqlt": "PE관",
|
||||
"pdmt": "D250",
|
||||
"cpct": "123",
|
||||
"id": "e1472f7c-7033-44ae-a953-f69e6b90fbc1"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
},
|
||||
{
|
||||
pbnstRuseFcltBizPk: 11,
|
||||
pbnstRuseFcltFk: 1,
|
||||
cycl: "2",
|
||||
seCd: "A011",
|
||||
bizMthdCd: "M02",
|
||||
instlAprvSncnDt: "2022-01-01",
|
||||
bizCmcnDay: "2022-02-01",
|
||||
gvsbs: "민간",
|
||||
lcep: "지자체",
|
||||
cusrAlotm: "고객",
|
||||
etc: "비고 없음",
|
||||
totalMoney: "100000000",
|
||||
rprcsFcltCpct: "50",
|
||||
majorPrcsMsrcCd: "MP01",
|
||||
addr: "부산시 해운대구",
|
||||
rprcsMthdCd: "RP01",
|
||||
inoutYn: "Y",
|
||||
mainSplyPumpCpct: "30",
|
||||
erctWtrOcrnCpct: "5",
|
||||
erctUswtrLinkSpt: "있음",
|
||||
erctUswtrFcltCpct: "20",
|
||||
erctUswtrPrcsMeth: "생물학적",
|
||||
erctUswtrPrcsMsrcCd: "EM01",
|
||||
wwtEmsnFcltPrmsnYn: "Y",
|
||||
tmsInstlYn: "N",
|
||||
pbnstDrngInflwExclYn: "Y",
|
||||
bod: "30",
|
||||
grssClfg: "양호",
|
||||
combResdch: "적정",
|
||||
trbt: "10",
|
||||
clIonQnt: "5",
|
||||
smll: "없음",
|
||||
crmty: "정상",
|
||||
tph: "0.2",
|
||||
tn: "2",
|
||||
ph: "7.2",
|
||||
cdtnv: "100",
|
||||
designCst: "1000",
|
||||
cstrnSpvsCst: "500",
|
||||
fcltSbsdCst: "200",
|
||||
wstCst: "300",
|
||||
cnstCmcnCst: "1000",
|
||||
mntrgEqpmntInstlCst: "150",
|
||||
gisDbCst: "200",
|
||||
elpwrMtrngCst: "180",
|
||||
mchnCst: "700",
|
||||
archCst: "400",
|
||||
pplCst: "300",
|
||||
ruseFcltCst: "5000",
|
||||
designCstClcln: "990",
|
||||
cstrnSpvsCstClcln: "480",
|
||||
fcltSbsdCstClcln: "190",
|
||||
wstCstClcln: "280",
|
||||
cnstCmcnCstClcln: "980",
|
||||
mntrgEqpmntInstlCstClcln: "140",
|
||||
gisDbCstClcln: "190",
|
||||
elpwrMtrngCstClcln: "170",
|
||||
mchnCstClcln: "680",
|
||||
archCstClcln: "380",
|
||||
pplCstClcln: "290",
|
||||
ruseFcltCstClcln: "4800",
|
||||
pplInstls: [
|
||||
"pbnstRuseFcltFk": "11000SW001R1",
|
||||
"cycl": 2,
|
||||
"seCd": "하하",
|
||||
"bizMthdCd": "호호",
|
||||
"gvsbs": 12,
|
||||
"lcep": 12,
|
||||
"cusrAlotm": 12,
|
||||
"etc": "1",
|
||||
"rprcsFcltCpct": 12,
|
||||
"majorPrcsMsrcCd": "12",
|
||||
"addr": "12",
|
||||
"rprcsMthdCd": "12",
|
||||
"inoutYn": "12",
|
||||
"mainSplyPumpCpct": 12,
|
||||
"erctWtrOcrnCpct": 13,
|
||||
"erctUswtrLinkSpt": "12",
|
||||
"erctUswtrFcltCpct": 13,
|
||||
"erctUswtrPrcsMeth": "12",
|
||||
"erctUswtrPrcsMsrcCd": "12",
|
||||
"bod": 1,
|
||||
"grssClfg": 1,
|
||||
"combResdch": 1,
|
||||
"trbt": 1,
|
||||
"smll": 1,
|
||||
"crmty": 1,
|
||||
"tn": 1,
|
||||
"tph": 1,
|
||||
"ph": 1,
|
||||
"clIonQnt": 1,
|
||||
"cdtnv": 1,
|
||||
"pplInstls": [
|
||||
{
|
||||
ruseFcltBizFk: "11",
|
||||
pdmt: "관경",
|
||||
ppMqlt: "1",
|
||||
cpct: "100",
|
||||
},
|
||||
{
|
||||
ruseFcltBizFk: "11",
|
||||
pdmt: "관경",
|
||||
ppMqlt: "2",
|
||||
cpct: "200",
|
||||
},
|
||||
],
|
||||
fcOrgwts: [
|
||||
{
|
||||
pbnstRuseFcltBizFk: 11,
|
||||
swtrmtFcltFk: "11000SW001R",
|
||||
orgwtWtritQnt: "152",
|
||||
tmsYn: "Y",
|
||||
dschgFmYn: "N",
|
||||
dtlPstnExpln: "배출 위치1",
|
||||
rgtr: TEST_UUID,
|
||||
mdfr: TEST_UUID,
|
||||
},
|
||||
{
|
||||
pbnstRuseFcltBizFk: 11,
|
||||
swtrmtFcltFk: "11200PB001R",
|
||||
orgwtWtritQnt: "150",
|
||||
tmsYn: "Y",
|
||||
dschgFmYn: "N",
|
||||
dtlPstnExpln: "배출 위치",
|
||||
rgtr: TEST_UUID,
|
||||
mdfr: TEST_UUID,
|
||||
},
|
||||
],
|
||||
flg: "N",
|
||||
rgtr: TEST_UUID,
|
||||
mdfr: TEST_UUID,
|
||||
},
|
||||
"ruseFcltBizFk": "",
|
||||
"choose": false,
|
||||
"ppMqlt": "PE관",
|
||||
"pdmt": "D300",
|
||||
"cpct": "1",
|
||||
"id": "e1472f7c-7033-44ae-a953-f69e6b90fbc1"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
fcOpers: [
|
||||
"fcOpers": [
|
||||
{
|
||||
pbnstRuseFcltOperInfoPk: 100,
|
||||
pbnstRuseFcltFk: 1,
|
||||
operMthd: "위탁",
|
||||
rprtvBzenty: "기관명",
|
||||
bgngDt: new Date("2023-09-30"),
|
||||
endDt: new Date("2023-12-31"),
|
||||
rgtr: TEST_UUID,
|
||||
mdfr: TEST_UUID,
|
||||
},
|
||||
"choose": false,
|
||||
"rgtr": "",
|
||||
"mdfr": "",
|
||||
"operMthd": "1",
|
||||
"rprtvBzenty": "1",
|
||||
"bgngDt": "20250513",
|
||||
"endDt": "20250529",
|
||||
"id": "cbef8f84-33df-406b-a85f-edd2a5d3618e"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"swtrmtFcltFk": "11000SW001R",
|
||||
"ruseUtztnFcltNm":'난지',
|
||||
"pbnstRuseFcltPk": "11000SW001R2",
|
||||
"fcltCpct": 123,
|
||||
"ruseCpct": 123,
|
||||
"splyExtraCpct": 123,
|
||||
"hasuhasu": 123,
|
||||
"fcFiles": [],
|
||||
"fcBizs": [
|
||||
{
|
||||
pbnstRuseFcltOperInfoPk: 101,
|
||||
pbnstRuseFcltFk: 1,
|
||||
operMthd: "직영",
|
||||
rprtvBzenty: "기관명",
|
||||
bgngDt: new Date("2024-11-30"),
|
||||
endDt: new Date("2024-12-31"),
|
||||
rgtr:TEST_UUID ,
|
||||
mdfr: TEST_UUID,
|
||||
},
|
||||
"pbnstRuseFcltFk": "11000SW001R2",
|
||||
"cycl": 1,
|
||||
"seCd": "123",
|
||||
"bizMthdCd": "123",
|
||||
"gvsbs": 123,
|
||||
"lcep": 123,
|
||||
"cusrAlotm": 123,
|
||||
"etc": "123",
|
||||
"rprcsFcltCpct": 123,
|
||||
"majorPrcsMsrcCd": "123",
|
||||
"addr": "123",
|
||||
"rprcsMthdCd": "123",
|
||||
"inoutYn": "123",
|
||||
"mainSplyPumpCpct": 123,
|
||||
"erctWtrOcrnCpct": 123,
|
||||
"erctUswtrLinkSpt": "123",
|
||||
"erctUswtrFcltCpct": 123,
|
||||
"erctUswtrPrcsMeth": "123",
|
||||
"erctUswtrPrcsMsrcCd": "123",
|
||||
"bod": 123,
|
||||
"grssClfg": 123,
|
||||
"combResdch": 123,
|
||||
"trbt": 123,
|
||||
"smll": 1230,
|
||||
"crmty": 123,
|
||||
"tn": 123,
|
||||
"tph": 1230,
|
||||
"ph": 123,
|
||||
"clIonQnt": 123,
|
||||
"cdtnv": 123,
|
||||
"pplInstls": [
|
||||
{
|
||||
"ruseFcltBizFk": "",
|
||||
"choose": false,
|
||||
"ppMqlt": "PE관",
|
||||
"pdmt": "D250",
|
||||
"cpct": "123",
|
||||
"id": "e1472f7c-7033-44ae-a953-f69e6b90fbc1"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
};
|
||||
"fcOpers": [
|
||||
{
|
||||
"choose": false,
|
||||
"rgtr": "",
|
||||
"mdfr": "",
|
||||
"operMthd": "123",
|
||||
"rprtvBzenty": "123",
|
||||
"bgngDt": "20250513",
|
||||
"endDt": "20250529",
|
||||
"id": "cbef8f84-33df-406b-a85f-edd2a5d3618e"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
|
||||
// [{
|
||||
// pbnstRuseFcltPk: 1,
|
||||
// swtrmtFcltFk: "11000SW001R",
|
||||
// ruseUtztnFcltNm: "재이용시설 A",
|
||||
// hasuhasu: 0,
|
||||
// fcltCpct: "100",
|
||||
// ruseCpct: "90",
|
||||
// splyExtraCpct: "10",
|
||||
// rgtr: TEST_UUID,
|
||||
// mdfr: TEST_UUID,
|
||||
// fcFiles: [],
|
||||
// fcBizs: [
|
||||
// {
|
||||
// pbnstRuseFcltBizPk: 1,
|
||||
// pbnstRuseFcltFk: 1,
|
||||
// cycl: "1",
|
||||
// seCd: "A010",
|
||||
// bizMthdCd: "M02",
|
||||
// instlAprvSncnDt: "2022-01-01",
|
||||
// bizCmcnDay: "2022-02-01",
|
||||
// gvsbs: "정부지원",
|
||||
// lcep: "지자체",
|
||||
// cusrAlotm: "고객",
|
||||
// etc: "비고 없음",
|
||||
// totalMoney: "100000000",
|
||||
// rprcsFcltCpct: "50",
|
||||
// majorPrcsMsrcCd: "MP01",
|
||||
// addr: "서울시 종로구",
|
||||
// rprcsMthdCd: "RP01",
|
||||
// inoutYn: "Y",
|
||||
// mainSplyPumpCpct: "30",
|
||||
// erctWtrOcrnCpct: "5",
|
||||
// erctUswtrLinkSpt: "있음",
|
||||
// erctUswtrFcltCpct: "20",
|
||||
// erctUswtrPrcsMeth: "생물학적",
|
||||
// erctUswtrPrcsMsrcCd: "EM01",
|
||||
// wwtEmsnFcltPrmsnYn: "Y",
|
||||
// tmsInstlYn: "N",
|
||||
// pbnstDrngInflwExclYn: "Y",
|
||||
// bod: "30",
|
||||
// grssClfg: "양호",
|
||||
// combResdch: "적정",
|
||||
// trbt: "10",
|
||||
// clIonQnt: "5",
|
||||
// smll: "없음",
|
||||
// crmty: "정상",
|
||||
// tph: "0.2",
|
||||
// tn: "2",
|
||||
// ph: "7.2",
|
||||
// cdtnv: "100",
|
||||
// designCst: "1000",
|
||||
// cstrnSpvsCst: "500",
|
||||
// fcltSbsdCst: "200",
|
||||
// wstCst: "300",
|
||||
// cnstCmcnCst: "1000",
|
||||
// mntrgEqpmntInstlCst: "150",
|
||||
// gisDbCst: "200",
|
||||
// elpwrMtrngCst: "180",
|
||||
// mchnCst: "700",
|
||||
// archCst: "400",
|
||||
// pplCst: "300",
|
||||
// ruseFcltCst: "5000",
|
||||
// designCstClcln: "990",
|
||||
// cstrnSpvsCstClcln: "480",
|
||||
// fcltSbsdCstClcln: "190",
|
||||
// wstCstClcln: "280",
|
||||
// cnstCmcnCstClcln: "980",
|
||||
// mntrgEqpmntInstlCstClcln: "140",
|
||||
// gisDbCstClcln: "190",
|
||||
// elpwrMtrngCstClcln: "170",
|
||||
// mchnCstClcln: "680",
|
||||
// archCstClcln: "380",
|
||||
// pplCstClcln: "290",
|
||||
// ruseFcltCstClcln: "4800",
|
||||
// pplInstls: [
|
||||
// {
|
||||
// ruseFcltBizFk: "10",
|
||||
// pdmt: "D200",
|
||||
// ppMqlt: "도복장강관",
|
||||
// cpct: "1",
|
||||
// },
|
||||
// {
|
||||
// ruseFcltBizFk: "10",
|
||||
// pdmt: "D100",
|
||||
// ppMqlt: "PE관",
|
||||
// cpct: "2",
|
||||
// },
|
||||
// ],
|
||||
// fcOrgwts: [
|
||||
// {
|
||||
// pbnstRuseFcltBizFk: 1,
|
||||
// swtrmtFcltFk: "11000SW001R",
|
||||
// orgwtWtritQnt: "100",
|
||||
// tmsYn: "Y",
|
||||
// dschgFmYn: "N",
|
||||
// dtlPstnExpln: "배출 위치",
|
||||
// regDt: "20250221",
|
||||
// rgtr: "admin",
|
||||
// mdfcnDt: "20250321",
|
||||
// mdfr: "admin",
|
||||
// },
|
||||
// {
|
||||
// pbnstRuseFcltBizFk: 1,
|
||||
// swtrmtFcltFk: "11200PB001R",
|
||||
// orgwtWtritQnt: "153",
|
||||
// tmsYn: "Y",
|
||||
// dschgFmYn: "N",
|
||||
// dtlPstnExpln: "배출 위치22",
|
||||
// regDt: "20250221",
|
||||
// rgtr: "admin",
|
||||
// mdfcnDt: "20250421",
|
||||
// mdfr: "admin",
|
||||
// },
|
||||
// ],
|
||||
// flg: "N",
|
||||
// rgtr: TEST_UUID,
|
||||
// mdfr: TEST_UUID,
|
||||
// },
|
||||
// {
|
||||
// pbnstRuseFcltBizPk: 11,
|
||||
// pbnstRuseFcltFk: 1,
|
||||
// cycl: "2",
|
||||
// seCd: "A011",
|
||||
// bizMthdCd: "M02",
|
||||
// instlAprvSncnDt: "2022-01-01",
|
||||
// bizCmcnDay: "2022-02-01",
|
||||
// gvsbs: "민간",
|
||||
// lcep: "지자체",
|
||||
// cusrAlotm: "고객",
|
||||
// etc: "비고 없음",
|
||||
// totalMoney: "100000000",
|
||||
// rprcsFcltCpct: "50",
|
||||
// majorPrcsMsrcCd: "MP01",
|
||||
// addr: "부산시 해운대구",
|
||||
// rprcsMthdCd: "RP01",
|
||||
// inoutYn: "Y",
|
||||
// mainSplyPumpCpct: "30",
|
||||
// erctWtrOcrnCpct: "5",
|
||||
// erctUswtrLinkSpt: "있음",
|
||||
// erctUswtrFcltCpct: "20",
|
||||
// erctUswtrPrcsMeth: "생물학적",
|
||||
// erctUswtrPrcsMsrcCd: "EM01",
|
||||
// wwtEmsnFcltPrmsnYn: "Y",
|
||||
// tmsInstlYn: "N",
|
||||
// pbnstDrngInflwExclYn: "Y",
|
||||
// bod: "30",
|
||||
// grssClfg: "양호",
|
||||
// combResdch: "적정",
|
||||
// trbt: "10",
|
||||
// clIonQnt: "5",
|
||||
// smll: "없음",
|
||||
// crmty: "정상",
|
||||
// tph: "0.2",
|
||||
// tn: "2",
|
||||
// ph: "7.2",
|
||||
// cdtnv: "100",
|
||||
// designCst: "1000",
|
||||
// cstrnSpvsCst: "500",
|
||||
// fcltSbsdCst: "200",
|
||||
// wstCst: "300",
|
||||
// cnstCmcnCst: "1000",
|
||||
// mntrgEqpmntInstlCst: "150",
|
||||
// gisDbCst: "200",
|
||||
// elpwrMtrngCst: "180",
|
||||
// mchnCst: "700",
|
||||
// archCst: "400",
|
||||
// pplCst: "300",
|
||||
// ruseFcltCst: "5000",
|
||||
// designCstClcln: "990",
|
||||
// cstrnSpvsCstClcln: "480",
|
||||
// fcltSbsdCstClcln: "190",
|
||||
// wstCstClcln: "280",
|
||||
// cnstCmcnCstClcln: "980",
|
||||
// mntrgEqpmntInstlCstClcln: "140",
|
||||
// gisDbCstClcln: "190",
|
||||
// elpwrMtrngCstClcln: "170",
|
||||
// mchnCstClcln: "680",
|
||||
// archCstClcln: "380",
|
||||
// pplCstClcln: "290",
|
||||
// ruseFcltCstClcln: "4800",
|
||||
// pplInstls: [
|
||||
// {
|
||||
// ruseFcltBizFk: "11",
|
||||
// pdmt: "관경",
|
||||
// ppMqlt: "1",
|
||||
// cpct: "100",
|
||||
// },
|
||||
// {
|
||||
// ruseFcltBizFk: "11",
|
||||
// pdmt: "관경",
|
||||
// ppMqlt: "2",
|
||||
// cpct: "200",
|
||||
// },
|
||||
// ],
|
||||
// fcOrgwts: [
|
||||
// {
|
||||
// pbnstRuseFcltBizFk: 11,
|
||||
// swtrmtFcltFk: "11000SW001R",
|
||||
// orgwtWtritQnt: "152",
|
||||
// tmsYn: "Y",
|
||||
// dschgFmYn: "N",
|
||||
// dtlPstnExpln: "배출 위치1",
|
||||
// rgtr: TEST_UUID,
|
||||
// mdfr: TEST_UUID,
|
||||
// },
|
||||
// {
|
||||
// pbnstRuseFcltBizFk: 11,
|
||||
// swtrmtFcltFk: "11200PB001R",
|
||||
// orgwtWtritQnt: "150",
|
||||
// tmsYn: "Y",
|
||||
// dschgFmYn: "N",
|
||||
// dtlPstnExpln: "배출 위치",
|
||||
// rgtr: TEST_UUID,
|
||||
// mdfr: TEST_UUID,
|
||||
// },
|
||||
// ],
|
||||
// flg: "N",
|
||||
// rgtr: TEST_UUID,
|
||||
// mdfr: TEST_UUID,
|
||||
// },
|
||||
// ],
|
||||
// fcOpers: [
|
||||
// {
|
||||
// pbnstRuseFcltOperInfoPk: 100,
|
||||
// pbnstRuseFcltFk: 1,
|
||||
// operMthd: "위탁",
|
||||
// rprtvBzenty: "기관명",
|
||||
// bgngDt: new Date("2023-09-30"),
|
||||
// endDt: new Date("2023-12-31"),
|
||||
// rgtr: TEST_UUID,
|
||||
// mdfr: TEST_UUID,
|
||||
// },
|
||||
// {
|
||||
// pbnstRuseFcltOperInfoPk: 101,
|
||||
// pbnstRuseFcltFk: 1,
|
||||
// operMthd: "직영",
|
||||
// rprtvBzenty: "기관명",
|
||||
// bgngDt: new Date("2024-11-30"),
|
||||
// endDt: new Date("2024-12-31"),
|
||||
// rgtr:TEST_UUID ,
|
||||
// mdfr: TEST_UUID,
|
||||
// },
|
||||
// ],
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ]
|
||||
|
||||
@@ -118,13 +118,16 @@ export function PbnstBuseForm({ data }: { data: fcBizType[] }) {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (data) {
|
||||
const index = Number(getBizCycle) - 1;
|
||||
form.reset(data[index]);
|
||||
ref.current = data[index]?.pplInstls ?? [];
|
||||
|
||||
|
||||
if(getBizCycle){
|
||||
|
||||
const index = Number(getBizCycle) - 1;
|
||||
form.reset(pbnst.pbnstResObj?.fcBizs[index]);
|
||||
ref.current = pbnst.pbnstResObj?.fcBizs[index]?.pplInstls ?? [];
|
||||
}
|
||||
}, [getBizCycle, data]);
|
||||
|
||||
}, [getBizCycle,pbnst.pbnstResObj]);
|
||||
|
||||
useEffect(() => {
|
||||
const ppl = [];
|
||||
|
||||
@@ -27,30 +27,29 @@ import {
|
||||
} from "@/app/store/ruseFcltMng/fcltReg/pbnstReg/type";
|
||||
import { TEST_UUID } from "@/app/store/ruseFcltMng/fcltReg/rainReg";
|
||||
import { Label } from "@common/business_components/ui/form/lib/label";
|
||||
import React from "react";
|
||||
export type FilesType = {
|
||||
atflCd: string;
|
||||
file: File;
|
||||
};
|
||||
|
||||
export function PbnstMngForm({ data }: { data: customPbnst[] }) {
|
||||
const { pbnst, pbnstUpdate ,pbnstMngData, fileDelete,getBizCycle} = useWrStore((state) => state);
|
||||
|
||||
|
||||
|
||||
const [regFileList, setRegFileList] = useState<fcFileType[] | null>(null);
|
||||
const { pbnst, pbnstUpdate ,pbnstMngData, fileDelete} = useWrStore((state) => state);
|
||||
const [planFiles, setPlanFiles] = useState<FilesType[] | null>(null);
|
||||
const [relationfiles, setRelationFiles] = useState<FilesType[] | null>(null);
|
||||
const [fcltNm, setFcltNm] = useState<selectLabel[] | null>(null);
|
||||
const [progress, setProgress] = useState(0);
|
||||
//const new File([] as BlobPart[], "") 파일 다운로드 활용
|
||||
const handleProgress = (percentage: string) => {
|
||||
setProgress(Number(percentage));
|
||||
};
|
||||
|
||||
const ref = useRef<operType[] | null>( null);
|
||||
const form = useForm<z.infer<typeof pbnstRegZod>>({
|
||||
resolver: zodResolver(pbnstRegZod),
|
||||
defaultValues: pbnstRegZod.parse({}),
|
||||
});
|
||||
|
||||
const {
|
||||
fields: fcOpersField,
|
||||
append,
|
||||
@@ -61,18 +60,19 @@ export type FilesType = {
|
||||
});
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
const formData = form.watch();
|
||||
formData.fcOpers = ref.current ? [...ref.current] : [];
|
||||
formData.fcFiles = regFileList ? [...regFileList] : [];
|
||||
|
||||
pbnstMngData([formData] as customPbnst[]);
|
||||
}, [form.formState, regFileList]);
|
||||
const handleProgress = (percentage: string) => {
|
||||
setProgress(Number(percentage));
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
pbnstMngData(pbnst.pbnstMngRegData);
|
||||
}, [pbnst.pbnstMngRegData]);
|
||||
|
||||
const selectFclt = (val: number) => {
|
||||
if (pbnst.pbnstRes && pbnst.pbnstRes[val]) {
|
||||
getBizCycle(pbnst.pbnstRes[val])
|
||||
form.reset(pbnst.pbnstRes[val])
|
||||
|
||||
};
|
||||
}
|
||||
const fileDownload = (index: number) => {};
|
||||
const plusHist = () => {
|
||||
const regData = {
|
||||
@@ -102,31 +102,6 @@ export type FilesType = {
|
||||
selectedIdxs.reverse().forEach((idx) => remove(idx));
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (!data) return;
|
||||
//form.reset(data);
|
||||
const fcltNmList = data.map((item, index) => ({
|
||||
text: item.ruseUtztnFcltNm,
|
||||
val: String(index)
|
||||
}))
|
||||
ref.current = data[0]?.fcOpers ?? null;
|
||||
setFcltNm(fcltNmList)
|
||||
}, [data])
|
||||
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (!fcltNm || fcltNm.length === 0) return;
|
||||
form.reset(data[0]);
|
||||
}, [fcltNm, data]);
|
||||
// 2. Define a submit handler.
|
||||
function onSubmit(values: z.infer<typeof pbnstRegZod>) {
|
||||
values.fcOpers = ref.current || [];
|
||||
values.fcFiles = regFileList || [];
|
||||
console.log("form values:", values);
|
||||
pbnstUpdate(values);
|
||||
}
|
||||
|
||||
const fileHandler = (files: File[], type: string) => {
|
||||
let fileList = [] as FilesType[];
|
||||
if (type === "relation" && relationfiles) {
|
||||
@@ -179,6 +154,7 @@ useEffect(() => {
|
||||
: setPlanFiles(setReFiles);
|
||||
}
|
||||
};
|
||||
|
||||
const regFileFilter = (
|
||||
files: FilesType[],
|
||||
fileKnd: string,
|
||||
@@ -194,6 +170,50 @@ useEffect(() => {
|
||||
}));
|
||||
return [...planDatas, ...data];
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
const formData = form.watch();
|
||||
formData.fcOpers = ref.current ? [...ref.current] : [];
|
||||
formData.fcFiles = regFileList ? [...regFileList] : [];
|
||||
|
||||
pbnstMngData([formData] as customPbnst[]);
|
||||
}, [form.formState, regFileList]);
|
||||
|
||||
useEffect(() => {
|
||||
pbnstMngData(pbnst.pbnstMngRegData);
|
||||
}, [pbnst.pbnstMngRegData]);
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (!data) return;
|
||||
//form.reset(data);
|
||||
ref.current = data[0]?.fcOpers ?? null;
|
||||
}, [data])
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
if (!pbnst.pbnstRes) return;
|
||||
const fcltNmList = pbnst.pbnstRes.map((item, index) => ({
|
||||
text: item.ruseUtztnFcltNm,
|
||||
val: String(index)
|
||||
}))
|
||||
|
||||
console.log('fcltNmList ', fcltNmList)
|
||||
setFcltNm(fcltNmList)
|
||||
|
||||
}, [pbnst.pbnstRes])
|
||||
|
||||
// 2. Define a submit handler.
|
||||
function onSubmit(values: z.infer<typeof pbnstRegZod>) {
|
||||
values.fcOpers = ref.current || [];
|
||||
values.fcFiles = regFileList || [];
|
||||
console.log("form values:", values);
|
||||
pbnstUpdate(values);
|
||||
}
|
||||
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (relationfiles) {
|
||||
@@ -223,7 +243,7 @@ useEffect(() => {
|
||||
className="mt-4 ml-2"
|
||||
selectClass={undefined}
|
||||
selectArray={fcltNm ?? []}
|
||||
onSelectValue={(val) => {console.log("val", val)}}
|
||||
onSelectValue={(val) => {selectFclt( Number(val))}}
|
||||
value={""}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -49,10 +49,10 @@ const pbnstRegTotal = ()=>{
|
||||
if(data ){
|
||||
|
||||
let regData = {
|
||||
superKey: String(data.bscFctCd + "1"),
|
||||
swtrmtFcltFk: String(data.bscFctCd ),
|
||||
pbnstRuseFcltPk: 1,
|
||||
fcBizs: [{ pbnstRuseFcltFk: 1 ,cycl:1 } as unknown as fcBizType],
|
||||
pbnstRuseFcltPk: String(data.bscFctCd + "1"),
|
||||
ruseUtztnFcltNm: data.bscFctNm,
|
||||
fcBizs: [{ pbnstRuseFcltFk: String(data.bscFctCd + "1") ,cycl:1 } as unknown as fcBizType],
|
||||
};
|
||||
|
||||
setPbnstBdstForm(regData as unknown as customPbnst);
|
||||
|
||||
@@ -1,19 +1,64 @@
|
||||
import React from "react";
|
||||
import React, { useCallback, useState } from "react";
|
||||
import { FormControl, FormItem, FormLabel, FormMessage } from "../form";
|
||||
import { Button, Checkbox } from "@common/components/ui";
|
||||
|
||||
const FormUi = React.forwardRef<
|
||||
HTMLDivElement,
|
||||
React.HTMLAttributes<HTMLDivElement> & {label:string|undefined}
|
||||
>(({children, label},ref)=>{
|
||||
export const BZNM_TOT_NO = '총사업자등록번호';
|
||||
export const CANDIDATE = '공급처 후보지 선택(필수아님)';
|
||||
|
||||
interface FormUiProps extends React.HTMLAttributes<HTMLDivElement> {
|
||||
label?: string;
|
||||
onCheckboxChange?: (checked: boolean) => void;
|
||||
isDisabled?: boolean;
|
||||
}
|
||||
|
||||
interface FormElementProps extends React.HTMLAttributes<HTMLElement> {
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
const FormUi = React.forwardRef<HTMLDivElement, FormUiProps>(
|
||||
({ children, label, onCheckboxChange, isDisabled }, ref) => {
|
||||
const [isChecked, setIsChecked] = useState(false);
|
||||
|
||||
const handleCheckboxChange = useCallback((checked: boolean) => {
|
||||
setIsChecked(checked);
|
||||
onCheckboxChange?.(checked);
|
||||
}, [onCheckboxChange]);
|
||||
console.log(children);
|
||||
return (
|
||||
<FormItem ref={ref}>
|
||||
{label?<FormLabel className="text-xl">{label}</FormLabel>:<></>}
|
||||
<FormControl>
|
||||
{children}
|
||||
</FormControl>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)
|
||||
})
|
||||
<FormItem ref={ref}>
|
||||
{label && <FormLabel className="text-xl">{label}</FormLabel>}
|
||||
{label === BZNM_TOT_NO && (
|
||||
<div className="float-right">
|
||||
<div className="flex items-center gap-2">
|
||||
<Checkbox
|
||||
id="check"
|
||||
checked={isChecked}
|
||||
onCheckedChange={handleCheckboxChange}
|
||||
/>
|
||||
<label className="w-20 text-xl text-gray-600" htmlFor="check">해당없음</label>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{label === CANDIDATE && (
|
||||
<FormControl>
|
||||
{children}
|
||||
</FormControl>
|
||||
)}
|
||||
{label !== BZNM_TOT_NO && label !== CANDIDATE && (
|
||||
<FormControl>
|
||||
{React.isValidElement(children) && isDisabled
|
||||
? React.cloneElement(children, {
|
||||
disabled: true,
|
||||
...(children.props as FormElementProps)
|
||||
})
|
||||
: children}
|
||||
</FormControl>
|
||||
)}
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
FormUi.displayName = 'FormUi';
|
||||
export { FormUi };
|
||||
export { FormUi };
|
||||
Reference in New Issue
Block a user