Merge commit '8b29d0288005b94e2c9206d7f40c3975efb4a485' into iipbs/wr/dev
This commit is contained in:
@@ -29,7 +29,7 @@ import {
|
|||||||
import ListDiv from "@common/business_components/ui/list_div";
|
import ListDiv from "@common/business_components/ui/list_div";
|
||||||
import { Button } from "@common/components/ui";
|
import { Button } from "@common/components/ui";
|
||||||
import { useCallback, useEffect, useState } from "react";
|
import { useCallback, useEffect, useState } from "react";
|
||||||
import { Toaster } from "react-hot-toast";
|
import toast, { Toaster } from "react-hot-toast";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
export default function LdrmntCoSttn() {
|
export default function LdrmntCoSttn() {
|
||||||
@@ -46,7 +46,6 @@ export default function LdrmntCoSttn() {
|
|||||||
const [excelData, setExcelData] = useState<any[]>();
|
const [excelData, setExcelData] = useState<any[]>();
|
||||||
const [resetPage, isResetPage] = useState(false);
|
const [resetPage, isResetPage] = useState(false);
|
||||||
const { t } = useTranslation('base');
|
const { t } = useTranslation('base');
|
||||||
// const [isExcelDownload, setIsExcelDownload] = useState(false);
|
|
||||||
|
|
||||||
const excelClick = useCallback(() => {
|
const excelClick = useCallback(() => {
|
||||||
excelDownload(
|
excelDownload(
|
||||||
@@ -81,20 +80,20 @@ export default function LdrmntCoSttn() {
|
|||||||
const excelDownloadClick = useCallback(() => {
|
const excelDownloadClick = useCallback(() => {
|
||||||
const cityNm = computeCityNm();
|
const cityNm = computeCityNm();
|
||||||
ldrmntSearch(true, 1, String(ldrmntResCount), cityNm, searchTxt || "");
|
ldrmntSearch(true, 1, String(ldrmntResCount), cityNm, searchTxt || "");
|
||||||
// setIsExcelDownload(true);
|
|
||||||
}, [objSearch, searchTxt, code, ldrmntSearch, computeCityNm, ldrmntResCount]);
|
}, [objSearch, searchTxt, code, ldrmntSearch, computeCityNm, ldrmntResCount]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (/*isExcelDownload &&*/ excelData && excelData.length > 0) {
|
if (excelData && excelData.length > 0) {
|
||||||
downloadExcel({
|
downloadExcel({
|
||||||
data: excelData,
|
data: excelData,
|
||||||
fileName: "잠재수요처 관리",
|
fileName: "잠재수요처 관리",
|
||||||
sheetNameArray: ["Sheet1"],
|
sheetNameArray: ["Sheet1"],
|
||||||
headerRange: "A1:F1"
|
headerRange: "A1:F1"
|
||||||
});
|
});
|
||||||
// setIsExcelDownload(false);
|
} else {
|
||||||
|
toast.error(t('excelDownErrMsg'));
|
||||||
}
|
}
|
||||||
}, [excelData, /*isExcelDownload*/]);
|
}, [excelData]);
|
||||||
|
|
||||||
const [isExcelOpen, setIsExcelOpen] = useState<{
|
const [isExcelOpen, setIsExcelOpen] = useState<{
|
||||||
isModal: boolean;
|
isModal: boolean;
|
||||||
|
|||||||
@@ -10,11 +10,10 @@ import {
|
|||||||
ScrollArea,
|
ScrollArea,
|
||||||
SearchDiv,
|
SearchDiv,
|
||||||
SearchFormLeft,
|
SearchFormLeft,
|
||||||
SearchFormRight,
|
|
||||||
SearchInput,
|
SearchInput,
|
||||||
Title,
|
Title,
|
||||||
UiModal,
|
UiModal,
|
||||||
UiTable,
|
UiTable
|
||||||
} from "@common/business_components";
|
} from "@common/business_components";
|
||||||
import ListDiv from "@common/business_components/ui/list_div";
|
import ListDiv from "@common/business_components/ui/list_div";
|
||||||
import { Button } from "@common/components";
|
import { Button } from "@common/components";
|
||||||
@@ -97,15 +96,13 @@ export default function Home() {
|
|||||||
<SearchDiv>
|
<SearchDiv>
|
||||||
<SearchFormLeft>
|
<SearchFormLeft>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
className="col-span-3 my-7 !text-3xl"
|
className="col-span-3 !text-3xl"
|
||||||
label="시설명"
|
label="시설명"
|
||||||
textValue={searchTxt || ""}
|
textValue={searchTxt || ""}
|
||||||
setText={(e) => {
|
setText={(e) => {
|
||||||
setSearchTxt(e);
|
setSearchTxt(e);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SearchFormLeft>
|
|
||||||
<SearchFormRight>
|
|
||||||
<div className="flex flex-row space-x-2 items-center">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
size={"sm"}
|
||||||
@@ -123,7 +120,9 @@ export default function Home() {
|
|||||||
신규등록
|
신규등록
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</SearchFormRight>
|
</SearchFormLeft>
|
||||||
|
{/* <SearchFormRight>
|
||||||
|
</SearchFormRight> */}
|
||||||
</SearchDiv>
|
</SearchDiv>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -146,7 +145,7 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="col-span-2 max-h-full">
|
<div className="col-span-2 max-h-full">
|
||||||
<ListDiv>
|
<ListDiv>
|
||||||
<ScrollArea className="h-[60vh]">
|
<ScrollArea className="h-[65vh]">
|
||||||
<HtdflRegForm
|
<HtdflRegForm
|
||||||
htdflForm={htdflForm ?? ({} as customHtdflBdst)}
|
htdflForm={htdflForm ?? ({} as customHtdflBdst)}
|
||||||
isModal={false}
|
isModal={false}
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ export default function PublicReuseFaciltyInsert() {
|
|||||||
<SearchDiv>
|
<SearchDiv>
|
||||||
<SearchFormLeft>
|
<SearchFormLeft>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
className={"col-span-3 my-7 !text-3xl"}
|
className={"col-span-3 !text-3xl"}
|
||||||
label="시설명"
|
label="시설명"
|
||||||
textValue={searchTxt || ""}
|
textValue={searchTxt || ""}
|
||||||
setText={(e) => {
|
setText={(e) => {
|
||||||
@@ -316,10 +316,10 @@ export default function PublicReuseFaciltyInsert() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="grid grid-cols-8 gap-4 h-full">
|
<div className="grid grid-cols-8 gap-4">
|
||||||
<div className="col-span-5 h-full min-h-0">
|
<div className="col-span-5 h-full min-h-0">
|
||||||
<ListDiv className="min-h-0">
|
<ListDiv className="min-h-0">
|
||||||
<ScrollArea className="h-[60vh]">
|
{/* <ScrollArea className="h-[60vh]"> */}
|
||||||
{" "}
|
{" "}
|
||||||
{/* 높이 조정 */}
|
{/* 높이 조정 */}
|
||||||
<UiTable
|
<UiTable
|
||||||
@@ -332,10 +332,10 @@ export default function PublicReuseFaciltyInsert() {
|
|||||||
onPageChange={setPageNation}
|
onPageChange={setPageNation}
|
||||||
resetPageNo={resetPage}
|
resetPageNo={resetPage}
|
||||||
/>
|
/>
|
||||||
</ScrollArea>
|
{/* </ScrollArea> */}
|
||||||
</ListDiv>
|
</ListDiv>
|
||||||
</div>
|
</div>
|
||||||
<ListDiv className="col-span-3 pr-6 ">
|
<ListDiv className="col-span-3 pr-6">
|
||||||
{formWatch && formWatch[0]?.pbnstRuseFcltId ? (
|
{formWatch && formWatch[0]?.pbnstRuseFcltId ? (
|
||||||
<Tabs defaultValue="mng" onValueChange={handleTabChange}>
|
<Tabs defaultValue="mng" onValueChange={handleTabChange}>
|
||||||
<div className="flex justify-between items-center">
|
<div className="flex justify-between items-center">
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ export default function Home() {
|
|||||||
<SearchDiv>
|
<SearchDiv>
|
||||||
<SearchFormLeft>
|
<SearchFormLeft>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
className={"col-span-3 my-7 !text-3xl"}
|
className={"col-span-3 !text-3xl"}
|
||||||
label="건물명"
|
label="건물명"
|
||||||
textValue={searchTxt || ""}
|
textValue={searchTxt || ""}
|
||||||
setText={(e) => {
|
setText={(e) => {
|
||||||
@@ -137,9 +137,9 @@ export default function Home() {
|
|||||||
{/* </ScrollArea> */}
|
{/* </ScrollArea> */}
|
||||||
</ListDiv>
|
</ListDiv>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-2 max-h-full">
|
<div className="col-span-2 max-h-full">
|
||||||
<ListDiv className="">
|
<ListDiv className="">
|
||||||
<ScrollArea className="h-[60vh]">
|
<ScrollArea className="h-[65vh]">
|
||||||
<RainRegForm
|
<RainRegForm
|
||||||
rainForm={rainForm ?? ({} as customRainBdst)}
|
rainForm={rainForm ?? ({} as customRainBdst)}
|
||||||
isModal={false}
|
isModal={false}
|
||||||
|
|||||||
@@ -9,11 +9,10 @@ import {
|
|||||||
ScrollArea,
|
ScrollArea,
|
||||||
SearchDiv,
|
SearchDiv,
|
||||||
SearchFormLeft,
|
SearchFormLeft,
|
||||||
SearchFormRight,
|
|
||||||
SearchInput,
|
SearchInput,
|
||||||
Title,
|
Title,
|
||||||
UiModal,
|
UiModal,
|
||||||
UiTable,
|
UiTable
|
||||||
} from "@common/business_components";
|
} from "@common/business_components";
|
||||||
import ListDiv from "@common/business_components/ui/list_div";
|
import ListDiv from "@common/business_components/ui/list_div";
|
||||||
import { Button } from "@common/components";
|
import { Button } from "@common/components";
|
||||||
@@ -94,19 +93,17 @@ export default function Home() {
|
|||||||
<SearchDiv>
|
<SearchDiv>
|
||||||
<SearchFormLeft>
|
<SearchFormLeft>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
className="col-span-3 my-7"
|
className="col-span-3"
|
||||||
label="건물명"
|
label="건물명"
|
||||||
textValue={searchTxt || ""}
|
textValue={searchTxt || ""}
|
||||||
setText={(e) => {
|
setText={(e) => {
|
||||||
setSearchTxt(e);
|
setSearchTxt(e);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SearchFormLeft>
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<SearchFormRight>
|
|
||||||
<div className="flex flex-row space-x-2">
|
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
size={"sm"}
|
||||||
className="mr-4 "
|
className=""
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
rswtBdstSearch(searchTxt || "", pageNation, "41");
|
rswtBdstSearch(searchTxt || "", pageNation, "41");
|
||||||
}}
|
}}
|
||||||
@@ -121,7 +118,9 @@ export default function Home() {
|
|||||||
신규등록
|
신규등록
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</SearchFormRight>
|
</SearchFormLeft>
|
||||||
|
{/* <SearchFormRight>
|
||||||
|
</SearchFormRight> */}
|
||||||
</SearchDiv>
|
</SearchDiv>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -137,12 +136,13 @@ export default function Home() {
|
|||||||
headName={"건축물 목록"}
|
headName={"건축물 목록"}
|
||||||
cellClick={cellClick}
|
cellClick={cellClick}
|
||||||
onPageChange={setPageNation}
|
onPageChange={setPageNation}
|
||||||
|
index={0}
|
||||||
></UiTable>
|
></UiTable>
|
||||||
</ListDiv>
|
</ListDiv>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-2 max-h-full">
|
<div className="col-span-2 max-h-full">
|
||||||
<ListDiv>
|
<ListDiv className="">
|
||||||
<ScrollArea className="h-[60vh]">
|
<ScrollArea className="h-[65vh]">
|
||||||
<RswtrRegForm
|
<RswtrRegForm
|
||||||
rswtForm={rswtForm ?? ({} as customRswtBdst)}
|
rswtForm={rswtForm ?? ({} as customRswtBdst)}
|
||||||
isModal={false}
|
isModal={false}
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ export const htdflFacStateExport: htdflFacState = {
|
|||||||
|
|
||||||
const initFetch = async (code: string) => {
|
const initFetch = async (code: string) => {
|
||||||
|
|
||||||
let url = `/drain/facilityList/1/10`
|
let url = `/drain/facilityList/1/11`
|
||||||
|
|
||||||
url+=`/${code}`
|
url+=`/${code}`
|
||||||
|
|
||||||
@@ -134,7 +134,7 @@ export const htdflFacActionsExport: (set: any) => htdflFacSActions = (
|
|||||||
try {
|
try {
|
||||||
const htdflRes = await getFetchWithCount(
|
const htdflRes = await getFetchWithCount(
|
||||||
"wr",
|
"wr",
|
||||||
`/drain/facilityList/${pageNation}/10/${code}`
|
`/drain/facilityList/${pageNation}/11/${code}`
|
||||||
);
|
);
|
||||||
return set((state: htdflFacState) => ({
|
return set((state: htdflFacState) => ({
|
||||||
...state,
|
...state,
|
||||||
@@ -176,7 +176,7 @@ export const htdflFacActionsExport: (set: any) => htdflFacSActions = (
|
|||||||
}
|
}
|
||||||
const htdflRes = await getFetchWithCount(
|
const htdflRes = await getFetchWithCount(
|
||||||
"wr",
|
"wr",
|
||||||
`/drain/facilityList/1/10/${code}`
|
`/drain/facilityList/1/11/${code}`
|
||||||
);
|
);
|
||||||
set((state: htdflFacState) => ({
|
set((state: htdflFacState) => ({
|
||||||
...state,
|
...state,
|
||||||
@@ -219,7 +219,7 @@ export const htdflFacActionsExport: (set: any) => htdflFacSActions = (
|
|||||||
}
|
}
|
||||||
},htdflNmSearch :async(code:string | number, fcltNm:string) =>{
|
},htdflNmSearch :async(code:string | number, fcltNm:string) =>{
|
||||||
try {
|
try {
|
||||||
const htdflRes = await getFetchWithCount("wr", `/drain/facilityList/1/10/${code}/${fcltNm}`);
|
const htdflRes = await getFetchWithCount("wr", `/drain/facilityList/1/11/${code}/${fcltNm}`);
|
||||||
set((state: htdflFacState) => {
|
set((state: htdflFacState) => {
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ const checkWrRegList = async () => {
|
|||||||
const hasuListFetch = async (page: string, sggOrCity: string, searchTxt?:string) => {
|
const hasuListFetch = async (page: string, sggOrCity: string, searchTxt?:string) => {
|
||||||
const checkWrRegListRes = await checkWrRegList();
|
const checkWrRegListRes = await checkWrRegList();
|
||||||
|
|
||||||
let url = `/prcsFclt/ruseInfo/${page ? page : 1}/10/A/${sggOrCity? sggOrCity : "11"}/0/1/SW`;
|
let url = `/prcsFclt/ruseInfo/${page ? page : 1}/11/A/${sggOrCity? sggOrCity : "11"}/0/1/SW`;
|
||||||
|
|
||||||
|
|
||||||
const data = checkWrRegListRes.filter((item:string) => item !== "")
|
const data = checkWrRegListRes.filter((item:string) => item !== "")
|
||||||
|
|||||||
@@ -5,24 +5,24 @@ import { z } from "zod";
|
|||||||
import { makeMdfr, makeRstr } from "../bdstReg";
|
import { makeMdfr, makeRstr } from "../bdstReg";
|
||||||
import { baseReuseBuildingSchema, chgBuildingSchema, validationMessages } from "./type";
|
import { baseReuseBuildingSchema, chgBuildingSchema, validationMessages } from "./type";
|
||||||
|
|
||||||
export const TEST_UUID= '2d4b151d-1828-41e0-91d9-4cd28ea1cc7e'
|
export const TEST_UUID = '2d4b151d-1828-41e0-91d9-4cd28ea1cc7e'
|
||||||
|
|
||||||
const rainyObjSchema = z.object({
|
const rainyObjSchema = z.object({
|
||||||
bdstReuseFcltFk: z.number().nullish(),
|
bdstReuseFcltFk: z.number().nullish(),
|
||||||
pntfColKnd: z.string().min(1, { message: validationMessages.requiredSelect("종류") }),
|
pntfColKnd: z.string().min(1, { message: validationMessages.requiredSelect("종류") }),
|
||||||
pntfColArea: z.number().nullish() ,
|
pntfColArea: z.number().nullish(),
|
||||||
dtfcltCpct: z.number().default(0),
|
dtfcltCpct: z.number().default(0),
|
||||||
filtrTrtmfctYn: z.string().default("Y"),
|
filtrTrtmfctYn: z.string().default("Y"),
|
||||||
filtrTrtmfctCpct: z.number().nullish().default(0),
|
filtrTrtmfctCpct: z.number().nullish().default(0),
|
||||||
filtrTrtmfctPrs: z.string().default(""),
|
filtrTrtmfctPrs: z.string().default(""),
|
||||||
annRnwtQty: z.number().default(0),
|
annRnwtQty: z.number().default(0),
|
||||||
oilqMeasMthd: z.string().default("").nullish(),
|
oilqMeasMthd: z.string().default("").nullish(),
|
||||||
rgtr:z.string().nullish(),
|
rgtr: z.string().nullish(),
|
||||||
mdfr:z.string().nullish(),
|
mdfr: z.string().nullish(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
const rainBuildingSchema = baseReuseBuildingSchema.extend({
|
const rainBuildingSchema = baseReuseBuildingSchema.extend({
|
||||||
rainyObj: rainyObjSchema,
|
rainyObj: rainyObjSchema,
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -36,21 +36,21 @@ export const rainZod = z.object({
|
|||||||
archChgPrmsnDt: z.coerce.date().nullish().default(null),
|
archChgPrmsnDt: z.coerce.date().nullish().default(null),
|
||||||
archArea: z.string().default(''),
|
archArea: z.string().default(''),
|
||||||
archChgArea: z.number().default(0),
|
archChgArea: z.number().default(0),
|
||||||
rgtr:z.string().nullish(),
|
rgtr: z.string().nullish(),
|
||||||
mdfr:z.string().nullish(),
|
mdfr: z.string().nullish(),
|
||||||
reuseBuilding: z.array(rainBuildingSchema).default([]),
|
reuseBuilding: z.array(rainBuildingSchema).default([]),
|
||||||
chgBuilding: z.array(chgBuildingSchema).default([])
|
chgBuilding: z.array(chgBuildingSchema).default([])
|
||||||
})
|
})
|
||||||
|
|
||||||
export type chgBuilding={
|
export type chgBuilding = {
|
||||||
bdstInfoSn?: number|null,
|
bdstInfoSn?: number | null,
|
||||||
archChgPrmsnDt?: Date,
|
archChgPrmsnDt?: Date,
|
||||||
archChgArea?: string,
|
archChgArea?: string,
|
||||||
bdstChgNm?: string
|
bdstChgNm?: string
|
||||||
rgtr?:string|null;
|
rgtr?: string | null;
|
||||||
mdfr?:string|null;
|
mdfr?: string | null;
|
||||||
}
|
}
|
||||||
export type customRainBdst = z.infer<typeof rainZod>
|
export type customRainBdst = z.infer<typeof rainZod>
|
||||||
|
|
||||||
export const upHeadList: TableUpperProps[] = [
|
export const upHeadList: TableUpperProps[] = [
|
||||||
{ id: "cityText", title: "시도" },
|
{ id: "cityText", title: "시도" },
|
||||||
@@ -74,16 +74,16 @@ export type rainFacState = {
|
|||||||
isInit: boolean;
|
isInit: boolean;
|
||||||
upHeadList: TableUpperProps[];
|
upHeadList: TableUpperProps[];
|
||||||
rainRes: customRainBdst[];
|
rainRes: customRainBdst[];
|
||||||
rainResCount:number;
|
rainResCount: number;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
type rainFacSActions = {
|
type rainFacSActions = {
|
||||||
initRain: (code:string|number) => void;
|
initRain: (code: string | number) => void;
|
||||||
getRainData:(pageNation:number, code:string|number) =>void;
|
getRainData: (pageNation: number, code: string | number) => void;
|
||||||
rainSearch: (txt:string,pageNation:number,code:string|number) => void;
|
rainSearch: (txt: string, pageNation: number, code: string | number) => void;
|
||||||
rainBdstReg: (data: customRainBdst, code:string|number) => void;
|
rainBdstReg: (data: customRainBdst, code: string | number) => void;
|
||||||
rainBdstUpdate: (data: customRainBdst, code:string|number) => void;
|
rainBdstUpdate: (data: customRainBdst, code: string | number) => void;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export type rainFacType = rainFacState & rainFacSActions;
|
export type rainFacType = rainFacState & rainFacSActions;
|
||||||
@@ -92,42 +92,42 @@ export const rainFacStateExport: rainFacState = {
|
|||||||
rain: {
|
rain: {
|
||||||
isInit: false,
|
isInit: false,
|
||||||
rainRes: rainRes,
|
rainRes: rainRes,
|
||||||
rainResCount:1,
|
rainResCount: 1,
|
||||||
upHeadList: upHeadList,
|
upHeadList: upHeadList,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const initFetch = async (code:string|number) => {
|
const initFetch = async (code: string | number) => {
|
||||||
// const rainRes =await getFetch("wr", `/reuseFc/rainyInfoList/1/10/${code}`);
|
// const rainRes =await getFetch("wr", `/reuseFc/rainyInfoList/1/10/${code}`);
|
||||||
const rainRes =await getFetchWithCount("wr", `/reuseFc/rainyInfoList/1/10/${code}`);
|
const rainRes = await getFetchWithCount("wr", `/reuseFc/rainyInfoList/1/11/${code}`);
|
||||||
return rainRes;
|
return rainRes;
|
||||||
};
|
};
|
||||||
export const rainFacActionsExport: (set: any) => rainFacSActions = (
|
export const rainFacActionsExport: (set: any) => rainFacSActions = (
|
||||||
set: any
|
set: any
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
getRainData: async(pageNation:number, code:string|number) =>{
|
getRainData: async (pageNation: number, code: string | number) => {
|
||||||
try{
|
try {
|
||||||
const rainRes =await getFetchWithCount("wr", `/reuseFc/rainyInfoList/${pageNation}/10/${code}`);
|
const rainRes = await getFetchWithCount("wr", `/reuseFc/rainyInfoList/${pageNation}/11/${code}`);
|
||||||
|
|
||||||
// 여기서 상태 업데이트
|
|
||||||
return set((state: rainFacState) => ({
|
|
||||||
...state,
|
|
||||||
rain: {
|
|
||||||
...state.rain,
|
|
||||||
rainRes: rainRes.data,
|
|
||||||
rainResCount:rainRes.count,
|
|
||||||
isInit: false,
|
|
||||||
},
|
|
||||||
}));
|
|
||||||
|
|
||||||
}catch(e){
|
// 여기서 상태 업데이트
|
||||||
console.log(e)
|
return set((state: rainFacState) => ({
|
||||||
|
...state,
|
||||||
|
rain: {
|
||||||
|
...state.rain,
|
||||||
|
rainRes: rainRes.data,
|
||||||
|
rainResCount: rainRes.count,
|
||||||
|
isInit: false,
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
}
|
} catch (e) {
|
||||||
|
console.log(e)
|
||||||
|
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
initRain: async (code:string|number) => {
|
initRain: async (code: string | number) => {
|
||||||
try {
|
try {
|
||||||
// 파라이터 수정 통합관리자 =0, 시관리자=시코드, 시군구 관리자= 시군구 코드 를 세번째 파라미터로 지정 / 건축물 서치가 있을경우 4번째 파라미터로 던지기 즉 1/20/42(서울시)/영현빌딩 이런식으로)
|
// 파라이터 수정 통합관리자 =0, 시관리자=시코드, 시군구 관리자= 시군구 코드 를 세번째 파라미터로 지정 / 건축물 서치가 있을경우 4번째 파라미터로 던지기 즉 1/20/42(서울시)/영현빌딩 이런식으로)
|
||||||
const rainRes = await initFetch(code);
|
const rainRes = await initFetch(code);
|
||||||
@@ -137,60 +137,61 @@ export const rainFacActionsExport: (set: any) => rainFacSActions = (
|
|||||||
rain: {
|
rain: {
|
||||||
...state.rain,
|
...state.rain,
|
||||||
rainRes: rainRes.data,
|
rainRes: rainRes.data,
|
||||||
rainResCount:rainRes.count,
|
rainResCount: rainRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("error", error);
|
console.log("error", error);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
rainSearch: async(txt:string,pageNation:number) =>{
|
rainSearch: async (txt: string, pageNation: number) => {
|
||||||
try{
|
try {
|
||||||
|
|
||||||
// const rainRes = await getFetch('wr' , `/reuseFc/rainyInfoList/${pageNation}/20/41` +(txt? `/${txt}`:''))
|
// const rainRes = await getFetch('wr' , `/reuseFc/rainyInfoList/${pageNation}/20/41` +(txt? `/${txt}`:''))
|
||||||
const rainRes = await getFetchWithCount('wr' , `/reuseFc/rainyInfoList/${pageNation}/20/41` +(txt? `/${txt}`:''))
|
const rainRes = await getFetchWithCount('wr', `/reuseFc/rainyInfoList/${pageNation}/11/41` + (txt ? `/${txt}` : ''))
|
||||||
console.log("rainRes", rainRes)
|
console.log("rainRes", rainRes)
|
||||||
set((state: rainFacState) => {
|
set((state: rainFacState) => {
|
||||||
return {
|
return {
|
||||||
rain: {
|
rain: {
|
||||||
...state.rain,
|
...state.rain,
|
||||||
rainRes: rainRes.data,
|
rainRes: rainRes.data,
|
||||||
rainResCount:rainRes.count,
|
rainResCount: rainRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
})}
|
})
|
||||||
catch(erTxt){
|
}
|
||||||
console.log("error", erTxt)
|
catch (erTxt) {
|
||||||
}
|
console.log("error", erTxt)
|
||||||
},
|
}
|
||||||
rainBdstReg: async (data: customRainBdst,code:string|number) => {
|
},
|
||||||
|
rainBdstReg: async (data: customRainBdst, code: string | number) => {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
const test =await makeRstr(data);
|
const test = await makeRstr(data);
|
||||||
const res = await postFectch("/reuseFc/rainyInfo", test);
|
const res = await postFectch("/reuseFc/rainyInfo", test);
|
||||||
if(res.status===200){
|
if (res.status === 200) {
|
||||||
if(data.chgBuilding.length > 0){
|
if (data.chgBuilding.length > 0) {
|
||||||
|
|
||||||
const chPK = res?.data?.bdstInfoSn
|
|
||||||
const makeCh= res.data.chgBuilding.map((item: chgBuilding) =>
|
|
||||||
( {
|
|
||||||
...item,
|
|
||||||
bdstInfoSn: chPK,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
const chch= await postFectch("/reuseFc/chgBuilding", makeCh);
|
|
||||||
|
|
||||||
if(chch.status ===200) {
|
const chPK = res?.data?.bdstInfoSn
|
||||||
toast.success("건축물 등록이 완료되었습니다.");
|
const makeCh = res.data.chgBuilding.map((item: chgBuilding) =>
|
||||||
}else{
|
({
|
||||||
toast.error("건축물 증축/개축/중축 오류입니다.");
|
...item,
|
||||||
}
|
bdstInfoSn: chPK,
|
||||||
}else{
|
})
|
||||||
|
);
|
||||||
|
const chch = await postFectch("/reuseFc/chgBuilding", makeCh);
|
||||||
|
|
||||||
|
if (chch.status === 200) {
|
||||||
|
toast.success("건축물 등록이 완료되었습니다.");
|
||||||
|
} else {
|
||||||
|
toast.error("건축물 증축/개축/중축 오류입니다.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
toast.success("건축물 등록이 완료되었습니다.");
|
toast.success("건축물 등록이 완료되었습니다.");
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
toast.error("건축물 등록이 완료되었습니다.");
|
toast.error("건축물 등록이 완료되었습니다.");
|
||||||
}
|
}
|
||||||
const rainRes = await initFetch(code);
|
const rainRes = await initFetch(code);
|
||||||
@@ -199,7 +200,7 @@ export const rainFacActionsExport: (set: any) => rainFacSActions = (
|
|||||||
rain: {
|
rain: {
|
||||||
...state.rain,
|
...state.rain,
|
||||||
rainRes: rainRes.data,
|
rainRes: rainRes.data,
|
||||||
rainResCount:rainRes.count,
|
rainResCount: rainRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
@@ -209,21 +210,49 @@ export const rainFacActionsExport: (set: any) => rainFacSActions = (
|
|||||||
} finally {
|
} finally {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
rainBdstUpdate: async (data: customRainBdst,code:string|number) => {
|
rainBdstUpdate: async (data: customRainBdst, code: string | number) => {
|
||||||
try {
|
try {
|
||||||
const chData =await makeMdfr(data);
|
const chData = await makeMdfr(data);
|
||||||
const res = await putFectch("/reuseFc/rainyInfo", chData);
|
const res = await putFectch("/reuseFc/rainyInfo", chData);
|
||||||
if(res.status === 200){
|
console.log("res", res)
|
||||||
toast.success("수정이 완료되었습니다.");
|
console.log("data", data)
|
||||||
|
if (res.status === 200) {
|
||||||
|
if (data.chgBuilding.length > 0) {
|
||||||
|
const chPK = data?.bdstInfoSn;
|
||||||
|
console.log("chPK", chPK)
|
||||||
|
const makeCh = data.chgBuilding.map((item: chgBuilding) =>
|
||||||
|
({
|
||||||
|
...item,
|
||||||
|
bdstInfoSn: chPK,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
console.log("makeCh", makeCh)
|
||||||
|
const chch = await postFectch("/reuseFc/chgBuilding", makeCh);
|
||||||
|
console.log("chch", chch)
|
||||||
|
|
||||||
|
if (chch.status === 200) {
|
||||||
|
toast.success("건축물 수정이 완료되었습니다.");
|
||||||
|
} else {
|
||||||
|
toast.error("건축물 증축/개축/중축 오류입니다.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
toast.success("건축물 수정이 완료되었습니다.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
toast.error("건축물 수정이 완료되었습니다.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// }
|
||||||
|
// toast.success("수정이 완료되었습니다.");
|
||||||
|
|
||||||
|
// }
|
||||||
const rainRes = await initFetch(code);
|
const rainRes = await initFetch(code);
|
||||||
set((state: rainFacState) => ({
|
set((state: rainFacState) => ({
|
||||||
...state,
|
...state,
|
||||||
rain: {
|
rain: {
|
||||||
...state.rain,
|
...state.rain,
|
||||||
rainRes: rainRes.data,
|
rainRes: rainRes.data,
|
||||||
rainResCount:rainRes.count,
|
rainResCount: rainRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
@@ -233,5 +262,6 @@ export const rainFacActionsExport: (set: any) => rainFacSActions = (
|
|||||||
} finally {
|
} finally {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { z } from "zod";
|
|||||||
import { makeMdfr, makeRstr } from "../bdstReg";
|
import { makeMdfr, makeRstr } from "../bdstReg";
|
||||||
import { baseReuseBuildingSchema, chgBuildingSchema, validationMessages } from "../rainReg/type";
|
import { baseReuseBuildingSchema, chgBuildingSchema, validationMessages } from "../rainReg/type";
|
||||||
|
|
||||||
const rswtrObjSchema = z.object({
|
const rswtrObjSchema = z.object({
|
||||||
bdstRuseFcltSn: z.number().nullish(),
|
bdstRuseFcltSn: z.number().nullish(),
|
||||||
//wtrUsqty: z.number({ required_error: validationMessages.required("물사용량(m³)") }).positive({ message: validationMessages.required("물사용량(m³)") }),
|
//wtrUsqty: z.number({ required_error: validationMessages.required("물사용량(m³)") }).positive({ message: validationMessages.required("물사용량(m³)") }),
|
||||||
//oblgTrgtWtrUsqty: z.number().nullish().default(0),
|
//oblgTrgtWtrUsqty: z.number().nullish().default(0),
|
||||||
@@ -24,7 +24,7 @@ import { baseReuseBuildingSchema, chgBuildingSchema, validationMessages } from "
|
|||||||
mdfr: z.string().nullish().default(null),
|
mdfr: z.string().nullish().default(null),
|
||||||
});
|
});
|
||||||
|
|
||||||
const rswtBuildingSchema = baseReuseBuildingSchema.extend({
|
const rswtBuildingSchema = baseReuseBuildingSchema.extend({
|
||||||
rswtrObj: rswtrObjSchema,
|
rswtrObj: rswtrObjSchema,
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -57,7 +57,7 @@ export type rswtFacState = {
|
|||||||
isInit: boolean;
|
isInit: boolean;
|
||||||
upHeadList: TableUpperProps[];
|
upHeadList: TableUpperProps[];
|
||||||
rswtRes: customRswtBdst[];
|
rswtRes: customRswtBdst[];
|
||||||
rswtResCount:number;
|
rswtResCount: number;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
type rswtFacSActions = {
|
type rswtFacSActions = {
|
||||||
@@ -79,12 +79,12 @@ export const rswtFacStateExport: rswtFacState = {
|
|||||||
isInit: false,
|
isInit: false,
|
||||||
upHeadList: upHeadList,
|
upHeadList: upHeadList,
|
||||||
rswtRes: rswtRes,
|
rswtRes: rswtRes,
|
||||||
rswtResCount:1,
|
rswtResCount: 1,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const initFetch = async (code: string | number) => {
|
const initFetch = async (code: string | number) => {
|
||||||
const rswtRes = await getFetchWithCount("wr", `/reuseFc/waterreuseFc/1/10/${code}`);
|
const rswtRes = await getFetchWithCount("wr", `/reuseFc/waterreuseFc/1/11/${code}`);
|
||||||
return rswtRes;
|
return rswtRes;
|
||||||
};
|
};
|
||||||
export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
||||||
@@ -99,8 +99,8 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
try {
|
try {
|
||||||
const rswtRes = await getFetchWithCount(
|
const rswtRes = await getFetchWithCount(
|
||||||
"wr",
|
"wr",
|
||||||
`/reuseFc/waterreuseFc/${pageNation}/10/${code}` +
|
`/reuseFc/waterreuseFc/${pageNation}/11/${code}` +
|
||||||
(txt ? `/${txt}` : "")
|
(txt ? `/${txt}` : "")
|
||||||
);
|
);
|
||||||
set((state: rswtFacState) => {
|
set((state: rswtFacState) => {
|
||||||
return {
|
return {
|
||||||
@@ -108,7 +108,7 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
rswt: {
|
rswt: {
|
||||||
...state.rswt,
|
...state.rswt,
|
||||||
rswtRes: rswtRes.data,
|
rswtRes: rswtRes.data,
|
||||||
rswtResCount:rswtRes.count,
|
rswtResCount: rswtRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -121,7 +121,7 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
try {
|
try {
|
||||||
const rswtRes = await getFetchWithCount(
|
const rswtRes = await getFetchWithCount(
|
||||||
"wr",
|
"wr",
|
||||||
`/reuseFc/waterreuseFc/${pageNation}/10/${code}`
|
`/reuseFc/waterreuseFc/${pageNation}/11/${code}`
|
||||||
);
|
);
|
||||||
console.log(pageNation);
|
console.log(pageNation);
|
||||||
// 여기서 상태 업데이트
|
// 여기서 상태 업데이트
|
||||||
@@ -130,7 +130,7 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
rswt: {
|
rswt: {
|
||||||
...state.rswt,
|
...state.rswt,
|
||||||
rswtRes: rswtRes.data,
|
rswtRes: rswtRes.data,
|
||||||
rswtResCount:rswtRes.count,
|
rswtResCount: rswtRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
@@ -146,7 +146,7 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
rswt: {
|
rswt: {
|
||||||
...state.rswt,
|
...state.rswt,
|
||||||
rswtRes: rswtRes.data,
|
rswtRes: rswtRes.data,
|
||||||
rswtResCount:rswtRes.count,
|
rswtResCount: rswtRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
@@ -158,21 +158,41 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
try {
|
try {
|
||||||
const chData = await makeMdfr(data);
|
const chData = await makeMdfr(data);
|
||||||
const res = await putFectch("/reuseFc/waterreuseFc", chData);
|
const res = await putFectch("/reuseFc/waterreuseFc", chData);
|
||||||
if (res.status ===200) {
|
if (res.status === 200) {
|
||||||
toast.success("중수도 건축물 수정이 완료되었습니다.");
|
if (data.chgBuilding.length > 0) {
|
||||||
const rswtRes = await initFetch(code);
|
const chPK = data?.bdstInfoSn;
|
||||||
set((state: rswtFacState) => ({
|
const makeCh = data.chgBuilding.map((item: chgBuilding) =>
|
||||||
...state,
|
({
|
||||||
rswt: {
|
...item,
|
||||||
...state.rswt,
|
bdstInfoSn: chPK,
|
||||||
rswtRes: rswtRes.data,
|
})
|
||||||
rswtResCount:rswtRes.count,
|
);
|
||||||
isInit: false,
|
const chch = await postFectch("/reuseFc/chgBuilding", makeCh);
|
||||||
},
|
|
||||||
}));
|
if (chch.status === 200) {
|
||||||
|
toast.success("중수도 건축물 수정이 완료되었습니다.");
|
||||||
|
} else {
|
||||||
|
toast.error("중수도 건축물 증축/개축/중축 오류입니다.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
toast.success("중수도 건축물 수정이 완료되었습니다.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
toast.error("중수도 건축물 수정이 완료되었습니다.");
|
||||||
}
|
}
|
||||||
|
const rswtRes = await initFetch(code);
|
||||||
|
set((state: rswtFacState) => ({
|
||||||
|
...state,
|
||||||
|
rswt: {
|
||||||
|
...state.rswt,
|
||||||
|
rswtRes: rswtRes.data,
|
||||||
|
rswtResCount: rswtRes.count,
|
||||||
|
isInit: false,
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
} catch (errorUpdate) {
|
} catch (errorUpdate) {
|
||||||
toast.error("중수도 건축물 수정 오류입니다. ");
|
toast.error("중수도 건축물 수정 오류입니다.");
|
||||||
console.error(errorUpdate);
|
console.error(errorUpdate);
|
||||||
} finally {
|
} finally {
|
||||||
}
|
}
|
||||||
@@ -181,29 +201,29 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
try {
|
try {
|
||||||
const chData = await makeRstr(data);
|
const chData = await makeRstr(data);
|
||||||
const res = await postFectch("/reuseFc/waterreuseFc", chData);
|
const res = await postFectch("/reuseFc/waterreuseFc", chData);
|
||||||
if (res.status===200) {
|
if (res.status === 200) {
|
||||||
if(data.chgBuilding.length>0 ){
|
if (data.chgBuilding.length > 0) {
|
||||||
|
|
||||||
const chPK = res?.data?.bdstInfoSn
|
|
||||||
const makeCh= res.data.chgBuilding.map((item: chgBuilding) =>
|
|
||||||
( {
|
|
||||||
...item,
|
|
||||||
bdstInfoSn: chPK,
|
|
||||||
})
|
|
||||||
);
|
|
||||||
const chch= await postFectch("/reuseFc/chgBuilding", makeCh);
|
|
||||||
|
|
||||||
if(chch.status ===200) {
|
const chPK = res?.data?.bdstInfoSn
|
||||||
|
const makeCh = res.data.chgBuilding.map((item: chgBuilding) =>
|
||||||
|
({
|
||||||
|
...item,
|
||||||
|
bdstInfoSn: chPK,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
const chch = await postFectch("/reuseFc/chgBuilding", makeCh);
|
||||||
|
|
||||||
console.log('chch.status' , chch.status)
|
if (chch.status === 200) {
|
||||||
toast.success("건축물(중수도) 및 증축/개축/중축 등록이 완료되었습니다.");
|
|
||||||
}else{
|
console.log('chch.status', chch.status)
|
||||||
toast.error("건축물(중수도 증축/개축/중축 오류입니다.");
|
toast.success("건축물(중수도) 및 증축/개축/중축 등록이 완료되었습니다.");
|
||||||
}
|
} else {
|
||||||
|
toast.error("건축물(중수도 증축/개축/중축 오류입니다.");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
toast.success("건축물(중수도 등록이 완료되었습니다.");
|
toast.success("건축물(중수도 등록이 완료되었습니다.");
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
toast.error("건축물(중수도) 등록이 완료하였습니다.");
|
toast.error("건축물(중수도) 등록이 완료하였습니다.");
|
||||||
}
|
}
|
||||||
const rswtRes = await initFetch(code);
|
const rswtRes = await initFetch(code);
|
||||||
@@ -212,7 +232,7 @@ export const rswtFacActionsExport: (set: any) => rswtFacSActions = (
|
|||||||
rain: {
|
rain: {
|
||||||
...state.rswt,
|
...state.rswt,
|
||||||
rswtRes: rswtRes.data,
|
rswtRes: rswtRes.data,
|
||||||
rswtResCount:rswtRes.count,
|
rswtResCount: rswtRes.count,
|
||||||
isInit: false,
|
isInit: false,
|
||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ export default function HtdflRegForm({
|
|||||||
} else if (readonly === true) {
|
} else if (readonly === true) {
|
||||||
setDivStyle("h-[62vh]")
|
setDivStyle("h-[62vh]")
|
||||||
} else {
|
} else {
|
||||||
setDivStyle("h-[53vh]")
|
setDivStyle("h-[57vh]")
|
||||||
}
|
}
|
||||||
}, [isModal, readonly]);
|
}, [isModal, readonly]);
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export default function RainRegForm({
|
|||||||
} else if (readonly === true) {
|
} else if (readonly === true) {
|
||||||
setDivStyle("h-[62vh]")
|
setDivStyle("h-[62vh]")
|
||||||
} else {
|
} else {
|
||||||
setDivStyle("h-[53vh]")
|
setDivStyle("h-[57vh]")
|
||||||
}
|
}
|
||||||
}, [isModal, readonly]);
|
}, [isModal, readonly]);
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ export default function RswtrRegForm({
|
|||||||
} else if (readonly === true) {
|
} else if (readonly === true) {
|
||||||
setDivStyle("h-[62vh]")
|
setDivStyle("h-[62vh]")
|
||||||
} else {
|
} else {
|
||||||
setDivStyle("h-[53vh]")
|
setDivStyle("h-[57vh]")
|
||||||
}
|
}
|
||||||
}, [isModal, readonly]);
|
}, [isModal, readonly]);
|
||||||
// const defaultValues: z.infer<typeof rswtZod> = rswtZod.parse({});
|
// const defaultValues: z.infer<typeof rswtZod> = rswtZod.parse({});
|
||||||
|
|||||||
Reference in New Issue
Block a user