Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5dc6fe4e3b | ||
|
|
f2a71893d4 | ||
|
|
a91bcd9cf7 | ||
|
|
62fef6bcdc | ||
|
|
60edf0a1ff | ||
|
|
ac598c7215 | ||
|
|
321911371a | ||
|
|
7e82714678 | ||
|
|
fa6f2fdcd7 |
@@ -265,10 +265,48 @@ export default function DashBoard() {
|
||||
break;
|
||||
|
||||
case 'rainManage': // 강우일 운영현황
|
||||
searchRainManage(searchYear, fcltyList.bscFctCd, true);
|
||||
await searchRainManage(searchYear, fcltyList.bscFctCd, true);
|
||||
if (excelList && excelList.length > 0) {
|
||||
const toNumber = (value: unknown) => {
|
||||
if (value === null || value === undefined || value === '') return '';
|
||||
const parsed = typeof value === "number" ? value : Number(String(value).replace(/,/g, ""));
|
||||
return Number.isFinite(parsed) ? parsed : '';
|
||||
};
|
||||
|
||||
const numericKeys = [
|
||||
"강우조건비율",
|
||||
"일수",
|
||||
"유입유량",
|
||||
"시설용량대비",
|
||||
"설계유입수질BOD",
|
||||
"설계유입수질TOC",
|
||||
"설계유입수질SS",
|
||||
"설계유입수질TN",
|
||||
"설계유입수질TP",
|
||||
"유입수질BOD",
|
||||
"유입수질TOC",
|
||||
"유입수질SS",
|
||||
"유입수질TN",
|
||||
"유입수질TP",
|
||||
"방류수질BOD",
|
||||
"방류수질TOC",
|
||||
"방류수질SS",
|
||||
"방류수질TN",
|
||||
"방류수질TP",
|
||||
];
|
||||
|
||||
const excelData = excelList.map((row) => {
|
||||
const nextRow = { ...row } as Record<string, unknown>;
|
||||
numericKeys.forEach((key) => {
|
||||
if (key in nextRow) {
|
||||
nextRow[key] = toNumber(nextRow[key]);
|
||||
}
|
||||
});
|
||||
return nextRow;
|
||||
});
|
||||
|
||||
downloadExcelFormat({
|
||||
data: excelList as unknown as JSON[],
|
||||
data: excelData as unknown as JSON[],
|
||||
fileName: '강우일 운영현황',
|
||||
sheetNameArray: ['강우일 운영현황'],
|
||||
headerRange: 'A1:T1',
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"use client"
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import type { TableUpperProps } from "@/app/store/common";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
import PrecipitationModal from "./modal/page";
|
||||
@@ -238,8 +238,7 @@ export default function FacilityPrecipitation() {
|
||||
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="시설별 강수현황" />
|
||||
<ContentsDiv>
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
<SelectBox className="col-span-3" label={labelArray[3] as string} selectArray={selectUpdownData}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import type { TableUpperProps } from "@/app/store/common";
|
||||
import type { FacilityWaterQltyProps } from "@/app/store/facilityWaterQlty";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import LoadingOverlay from "@common/business_components/ui/loadingBar";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
@@ -191,7 +191,9 @@ export default function ProcessFacilitySearch() {
|
||||
fileName: '시설별 수질현황',
|
||||
sheetNameArray: ['시설별 수질현황'],
|
||||
headerRange: 'A1:T1',
|
||||
decimalArray0: [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
|
||||
decimalArray0: [9],
|
||||
decimalArray1: [10, 11, 12, 15, 16, 17 ],
|
||||
decimalArray3: [13, 14, 18, 19]
|
||||
}
|
||||
);
|
||||
} else {
|
||||
@@ -210,7 +212,6 @@ export default function ProcessFacilitySearch() {
|
||||
const total = facilityWaterQltyCount || 1;
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="시설별 수질현황" />
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import type { TableUpperProps } from "@/app/store/common";
|
||||
// import type { ExcelType } from "@/app/store/flowRate";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import LoadingOverlay from "@common/business_components/ui/loadingBar";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
@@ -208,7 +208,6 @@ export default function ProcessFacilitySearch() {
|
||||
const total = flowRateCount;
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="시설별 유량현황" />
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
|
||||
@@ -4,6 +4,8 @@ import { BaseLayout } from "@common/components";
|
||||
import type { MenuItem } from "@/app/store/common";
|
||||
import { useFoStore } from "@/app/store";
|
||||
import { usePathname, useRouter } from "next/navigation";
|
||||
import { useMenuStore } from "@/src/shared/lib";
|
||||
import { PageLayout } from "@/src/shared/ui/page-layout";
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
@@ -11,12 +13,15 @@ export default function RootLayout({
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
const { getMenuAuth } = useFoStore((state) => state);
|
||||
const setCurrentMenuInfo = useMenuStore((state) => state.setCurrentMenuInfo);
|
||||
const pathname = usePathname();
|
||||
const router = useRouter();
|
||||
|
||||
const handleClick = (id: MenuItem) => {
|
||||
setCurrentMenuInfo(id);
|
||||
getMenuAuth(id.menuCd);
|
||||
router.push(id.urlPath);
|
||||
console.log(id);
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -24,7 +29,7 @@ export default function RootLayout({
|
||||
currentPath={pathname ?? ""}
|
||||
handleMenuClick={handleClick}
|
||||
>
|
||||
{children}
|
||||
<PageLayout>{children}</PageLayout>
|
||||
</BaseLayout>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"use client"
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import type { TableUpperProps } from "@/app/store/common";
|
||||
import { downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
import LoadingOverlay from "@common/business_components/ui/loadingBar";
|
||||
@@ -225,7 +225,9 @@ export default function PlanSewage() {
|
||||
fileName: '계획하수량 산정지표 현황',
|
||||
sheetNameArray: ['계획하수량 산정지표 현황'],
|
||||
headerRange: 'A1:M1',
|
||||
decimalArray0: [9, 10, 11, 12]
|
||||
decimalArray0: [9, 10],
|
||||
decimalArray1: [12],
|
||||
decimalArray2: [11]
|
||||
});
|
||||
} else {
|
||||
alert("조회된 결과가 없습니다.");
|
||||
@@ -246,7 +248,6 @@ export default function PlanSewage() {
|
||||
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="계획하수량 산정지표 현황" />
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
<SelectBox className="col-span-3" label={labelArray[3] as string} selectArray={selectUpdownData} onSelectValue={(val) => setFcltCpct(val.toString())} value={fcltCpct} selectClass={undefined} />
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"use client"
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import { useShallow } from 'zustand/react/shallow';
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SelectBox, Title, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SelectBox, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
import ProcessFacilityInfoModal from "./modal/page";
|
||||
@@ -179,7 +179,6 @@ export default function ProcessArea() {
|
||||
const total = processAreaCount;
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="처리구역정보" />
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"use client"
|
||||
import UnderComment from "@/app/components/common/UnderComment";
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import LoadingOverlay from "@common/business_components/ui/loadingBar";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
@@ -282,7 +282,6 @@ export default function ProcessFacilitySearch() {
|
||||
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="처리시설 시설정보" />
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"use client"
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import type { TableUpperProps } from "@/app/store/common";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
import LoadingOverlay from "@common/business_components/ui/loadingBar";
|
||||
@@ -248,8 +248,7 @@ export default function Rdi() {
|
||||
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="RDII추정" />
|
||||
<ContentsDiv>
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
<SelectBox className="col-span-3" label={labelArray[3] as string} selectArray={selectUpdownData} onSelectValue={(val) => setFcltCpct(val.toString())} value={fcltCpct} selectClass={undefined} />
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import { type TableUpperProps } from "@/app/store/common";
|
||||
import type { SewageOccurProps } from "@/app/store/sewageOccur";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import LoadingOverlay from "@common/business_components/ui/loadingBar";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
@@ -261,8 +261,7 @@ export default function PlanSewage() {
|
||||
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="오수발생량 추정" />
|
||||
<ContentsDiv>
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
<SelectBox className="col-span-3" label={labelArray[3] as string} selectArray={selectUpdownData} onSelectValue={(val) => setFcltCpct(val.toString())} value={fcltCpct} selectClass={undefined} />
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"use client"
|
||||
import { StoreContext, useFoStore } from "@/app/store";
|
||||
import type { TableUpperProps } from "@/app/store/common";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, Title, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import { ContentsDiv, downloadExcelFormat, MainDiv, SearchBaseForm, SearchInput, SelectBox, UiModal, UiTable, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
import UnderWaterInputModal from "./modal/page";
|
||||
@@ -266,8 +266,7 @@ export default function UnderWaterInput() {
|
||||
|
||||
return (
|
||||
<MainDiv>
|
||||
<Title title="지하수유입량 추정" />
|
||||
<ContentsDiv>
|
||||
<ContentsDiv>
|
||||
<SearchBaseForm
|
||||
leftChildren={<>
|
||||
<SelectBox className="col-span-3" label={labelArray[3] as string} selectArray={selectUpdownData} onSelectValue={(val) => setFcltCpct(val.toString())} value={fcltCpct} selectClass={undefined} />
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
@@ -2,18 +2,21 @@
|
||||
import type { MenuItem } from "@common/components/api";
|
||||
import { NoFooterLayout } from "@common/components/ui";
|
||||
import { usePathname,useRouter } from "next/navigation";
|
||||
import { useMenuStore } from "@/src/shared/lib";
|
||||
import { useWrStore } from "../store";
|
||||
|
||||
export default function RootLayout({
|
||||
export default function MapLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
const { getMenuAuthrts } = useWrStore((state) => state);
|
||||
const setCurrentMenuInfo = useMenuStore((state) => state.setCurrentMenuInfo);
|
||||
const router = useRouter();
|
||||
const pathname = usePathname();
|
||||
|
||||
const changeMenu = (path: MenuItem) => {
|
||||
setCurrentMenuInfo(path);
|
||||
getMenuAuthrts(path.menuCd);
|
||||
router.push(path.urlPath);
|
||||
};
|
||||
|
||||
@@ -1,18 +1,56 @@
|
||||
// "use client";
|
||||
// import Base from "../base";
|
||||
|
||||
// export default function RootLayout({
|
||||
// children,
|
||||
// }: Readonly<{
|
||||
// children: React.ReactNode;
|
||||
// }>) {
|
||||
|
||||
|
||||
// return (
|
||||
|
||||
// <Base>
|
||||
// {children}
|
||||
// </Base>
|
||||
|
||||
// );
|
||||
// }
|
||||
|
||||
"use client";
|
||||
import Base from "../base";
|
||||
import { BaseLayout } from "@common/components/ui";
|
||||
import { useWrStore } from "../store";
|
||||
import { MainDiv } from "@common/business_components/ui";
|
||||
import type { MenuItem } from "../store/common/type/menu";
|
||||
import { usePathname, useRouter } from "next/navigation";
|
||||
import { useMenuStore } from "@/src/shared/lib";
|
||||
import { PageLayout } from "@/src/shared/ui/page-layout";
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
const { getMenuAuthrts } = useWrStore((state) => state);
|
||||
const setCurrentMenuInfo = useMenuStore((state) => state.setCurrentMenuInfo);
|
||||
const router = useRouter();
|
||||
const pathname = usePathname();
|
||||
|
||||
|
||||
const changeMenu = (path: MenuItem) => {
|
||||
setCurrentMenuInfo(path);
|
||||
getMenuAuthrts(path.menuCd);
|
||||
if (path.menuKornNm === "하수재이용통계") {
|
||||
return null;
|
||||
} else {
|
||||
router.push(path.urlPath);
|
||||
}
|
||||
};
|
||||
return (
|
||||
|
||||
<Base>
|
||||
{children}
|
||||
</Base>
|
||||
|
||||
<BaseLayout currentPath={pathname ?? ""} handleMenuClick={changeMenu}>
|
||||
<PageLayout>
|
||||
<MainDiv>{children}</MainDiv>
|
||||
</PageLayout>
|
||||
</BaseLayout>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import { usageProcData } from "@/app/store/matDmd/coMatRvw/headList";
|
||||
import {
|
||||
DmdCoReqSchema,
|
||||
@@ -27,7 +28,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiTable,
|
||||
type SelectDataType,
|
||||
} from "@common/business_components/ui";
|
||||
@@ -149,9 +149,12 @@ export default function CoMatRvw() {
|
||||
|
||||
const getSelCity = (val: string | number) => {
|
||||
const cityValue = String(val); // Ensure val is treated as a string
|
||||
const data = getCity(cityValue, code.sggCd);
|
||||
const data =
|
||||
cityValue === "0"
|
||||
? [{ val: "0", text: "전체" }]
|
||||
: getCity(cityValue, code.sggCd);
|
||||
setSelectSgg(data);
|
||||
setObjSearch({ city: cityValue, sgg: "" });
|
||||
setObjSearch({ city: cityValue, sgg: "0" });
|
||||
};
|
||||
|
||||
const getSgg = (val: string | number) => {
|
||||
@@ -183,7 +186,6 @@ export default function CoMatRvw() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"수요매칭검토"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-10 flex flex-row">
|
||||
@@ -193,6 +195,7 @@ export default function CoMatRvw() {
|
||||
selectClass={""}
|
||||
selectArray={code.cityCd || []}
|
||||
onSelectValue={getSelCity}
|
||||
value={objSearch.city}
|
||||
/>
|
||||
<SelectBox
|
||||
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
||||
@@ -200,6 +203,7 @@ export default function CoMatRvw() {
|
||||
selectClass={""}
|
||||
selectArray={selectSgg || []}
|
||||
onSelectValue={getSgg}
|
||||
value={objSearch.sgg}
|
||||
/>
|
||||
<div className="col-span-7 w-full">
|
||||
<div className="flex flex-row items-center">
|
||||
@@ -243,7 +247,7 @@ export default function CoMatRvw() {
|
||||
<div className="space-y">
|
||||
<div className="flex flex-row w-full justify-end space-x-2 mt-6">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
if (fromDate && toDate) {
|
||||
const fromNum = Number(fromDate);
|
||||
@@ -744,3 +748,4 @@ export default function CoMatRvw() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import { ruseUtzType } from "@/app/store/matDmd/ruseCaseMng/headList";
|
||||
import { excelDownload, getCity } from "@/components/lib/func/commom";
|
||||
import RuseCaseMngExcel from "@/components/ui/modal/coMat/ruseCaseMng/ruseCaseMngExcelModal";
|
||||
@@ -13,7 +14,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
type SelectDataType,
|
||||
@@ -61,9 +61,13 @@ export default function RuseCaseMng() {
|
||||
(item: { val: string; text: string }) => item.val === cityValue
|
||||
)?.text;
|
||||
setSidoCd(cityText || "");
|
||||
const data = getCity(cityValue, code.sggCd);
|
||||
const data =
|
||||
cityValue === "0"
|
||||
? [{ val: "0", text: "전체" }]
|
||||
: getCity(cityValue, code.sggCd);
|
||||
setSelectSgg(data);
|
||||
setObjSearch({ city: cityValue, sgg: "" });
|
||||
setSigunguCd("");
|
||||
setObjSearch({ city: cityValue, sgg: "0" });
|
||||
};
|
||||
|
||||
// 시군구 선택
|
||||
@@ -190,7 +194,6 @@ export default function RuseCaseMng() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"물재이용사례 관리"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-8 flex flex-row items-center">
|
||||
@@ -200,6 +203,7 @@ export default function RuseCaseMng() {
|
||||
selectClass={""}
|
||||
selectArray={code.cityCd || []}
|
||||
onSelectValue={getSelCity}
|
||||
value={objSearch.city}
|
||||
/>
|
||||
<SelectBox
|
||||
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
||||
@@ -207,6 +211,7 @@ export default function RuseCaseMng() {
|
||||
selectClass={""}
|
||||
selectArray={selectSgg || []}
|
||||
onSelectValue={getSgg}
|
||||
value={objSearch.sgg}
|
||||
/>
|
||||
<SelectBox
|
||||
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
||||
@@ -218,7 +223,7 @@ export default function RuseCaseMng() {
|
||||
}}
|
||||
value={selectUtz || ruseUtzType[0]?.val}
|
||||
/>
|
||||
<Label className="w-28 text-xl ml-4 mr-6">{"수요처명"}</Label>
|
||||
<Label className="w-fit shrink-0 whitespace-nowrap self-center ml-4 mr-2">{"수요처명"}</Label>
|
||||
<SearchInput
|
||||
className={"col-span-2 w-1/3 text-2xl"}
|
||||
label=""
|
||||
@@ -233,7 +238,7 @@ export default function RuseCaseMng() {
|
||||
<div className="space-y">
|
||||
<div className="flex flex-row space-x-2">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
selectRuseCaseMng(
|
||||
false,
|
||||
@@ -251,7 +256,7 @@ export default function RuseCaseMng() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsExcelOpen(true);
|
||||
}}
|
||||
@@ -259,7 +264,7 @@ export default function RuseCaseMng() {
|
||||
엑셀등록
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass} green`}
|
||||
onClick={() => {
|
||||
selectRuseCaseMng(
|
||||
true,
|
||||
@@ -272,12 +277,11 @@ export default function RuseCaseMng() {
|
||||
);
|
||||
// download()
|
||||
}}
|
||||
className={"green"}
|
||||
>
|
||||
다운로드
|
||||
엑셀다운로드
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
excelDownload(
|
||||
[[]],
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import { type RvwHistTableType } from "@/app/store/matDmd/coMatRvw/type";
|
||||
import {
|
||||
confirmToast,
|
||||
@@ -18,7 +19,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiTable,
|
||||
type SelectDataType,
|
||||
} from "@common/business_components/ui";
|
||||
@@ -62,7 +62,10 @@ export default function RuseRvwHstry() {
|
||||
|
||||
const getSelCity = (val: string | number) => {
|
||||
const cityValue = String(val); // Ensure val is treated as a string
|
||||
const data = getCity(cityValue, code.sggCd);
|
||||
const data =
|
||||
cityValue === "0"
|
||||
? [{ val: "0", text: "전체" }]
|
||||
: getCity(cityValue, code.sggCd);
|
||||
setSelectSgg(data);
|
||||
setObjSearch({ city: cityValue, sgg: "0" });
|
||||
};
|
||||
@@ -231,7 +234,6 @@ export default function RuseRvwHstry() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"재이용검토이력"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-10 flex flex-row">
|
||||
@@ -241,6 +243,7 @@ export default function RuseRvwHstry() {
|
||||
selectClass={""}
|
||||
selectArray={code.cityCd || []}
|
||||
onSelectValue={getSelCity}
|
||||
value={objSearch.city}
|
||||
>
|
||||
{""}
|
||||
</SelectBox>
|
||||
@@ -250,6 +253,7 @@ export default function RuseRvwHstry() {
|
||||
selectClass={""}
|
||||
selectArray={selectSgg || []}
|
||||
onSelectValue={getSgg}
|
||||
value={objSearch.sgg}
|
||||
>
|
||||
{""}
|
||||
</SelectBox>
|
||||
@@ -301,14 +305,14 @@ export default function RuseRvwHstry() {
|
||||
<div className="space-y">
|
||||
<div className="flex flex-row space-x-2">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
getButtonSearch();
|
||||
}}
|
||||
>
|
||||
조회
|
||||
</Button>
|
||||
<Button size={"sm"} onClick={confrirmToast} disabled={regAuthrtYn==='N'}>
|
||||
<Button className={btnClass} onClick={confrirmToast} disabled={regAuthrtYn==='N'}>
|
||||
저장
|
||||
</Button>
|
||||
</div>
|
||||
@@ -342,3 +346,4 @@ export default function RuseRvwHstry() {
|
||||
</ContentsDiv>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
type SelectDataType,
|
||||
@@ -70,7 +69,10 @@ export default function CoSttn() {
|
||||
const getSelCity = useCallback(
|
||||
(val: string | number) => {
|
||||
const cityValue = String(val);
|
||||
const data = getCity(cityValue, code.sggCd);
|
||||
const data =
|
||||
cityValue === "0"
|
||||
? [{ val: "0", text: "전체" }]
|
||||
: getCity(cityValue, code.sggCd);
|
||||
setSelectSgg(data);
|
||||
// 시/도를 변경하면 시/군/구는 '전체'("0")로 초기화합니다.
|
||||
setObjSearch({ city: cityValue, sgg: "0" });
|
||||
@@ -183,7 +185,6 @@ export default function CoSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"수요처 관리"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-10 flex flex-row">
|
||||
@@ -218,11 +219,10 @@ export default function CoSttn() {
|
||||
</SearchFormLeft>
|
||||
<SearchFormRight className="w-3/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="flex flex-row space-x-2">
|
||||
<Button className="mt-2" size={"sm"} onClick={searchClick}>
|
||||
<Button className={`${btnClass} mt-2`} onClick={searchClick}>
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsResetSelection(true);
|
||||
@@ -234,7 +234,6 @@ export default function CoSttn() {
|
||||
등록
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
/* 저장 로직 */
|
||||
@@ -252,14 +251,12 @@ export default function CoSttn() {
|
||||
수정
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass} green`}
|
||||
onClick={excelClick}
|
||||
>
|
||||
다운로드
|
||||
엑셀다운로드
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass}`}
|
||||
onClick={(initPassword)}
|
||||
>
|
||||
|
||||
@@ -6,7 +6,7 @@ import { drgtHeadListExport } from "@/app/store/matDmd/drgtSttn/headList";
|
||||
import { getCity } from "@/components/lib/func/commom";
|
||||
import DrgtDetailModal from "@/components/ui/modal/coMat/drgtDetailModal";
|
||||
import type { objSearchType } from "@/components/ui/modal/fcltReg/bdstRegModal/bdstRegModal";
|
||||
import { ContentsDiv, DateMonthPicker, downloadExcel, SearchDiv, SearchFormLeft, SearchFormRight, SelectBox, Title, UiModal, UiTable, type SelectDataType } from "@common/business_components/ui";
|
||||
import { ContentsDiv, DateMonthPicker, downloadExcel, SearchDiv, SearchFormLeft, SearchFormRight, SelectBox, UiModal, UiTable, type SelectDataType } from "@common/business_components/ui";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import { Button, Label, ScrollArea } from "@common/components/ui";
|
||||
import { useEffect, useState, useRef } from "react";
|
||||
@@ -149,7 +149,6 @@ export default function DrgtSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"우리동네가뭄"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-10 flex flex-row">
|
||||
@@ -188,7 +187,7 @@ export default function DrgtSttn() {
|
||||
}}
|
||||
selectClass="ml-4 text-2xl"
|
||||
/>
|
||||
<span className="ml-2 text-center">~</span>
|
||||
<span className="ml-2 text-center self-center">~</span>
|
||||
<DateMonthPicker
|
||||
field={{
|
||||
value: toDate ?? "",
|
||||
@@ -213,7 +212,7 @@ export default function DrgtSttn() {
|
||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
let sidoText: string = '';
|
||||
let sggText: string | string[] = '';
|
||||
@@ -248,14 +247,12 @@ export default function DrgtSttn() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass} green`}
|
||||
onClick={excelClick}
|
||||
>
|
||||
다운로드
|
||||
엑셀다운로드
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={onViewMapClick}
|
||||
>
|
||||
@@ -297,4 +294,4 @@ export default function DrgtSttn() {
|
||||
</ContentsDiv>
|
||||
</>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
type SelectDataType
|
||||
@@ -178,7 +177,6 @@ export default function LdrmntCoSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"잠재수요처 관리"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-10 flex flex-row">
|
||||
@@ -211,7 +209,7 @@ export default function LdrmntCoSttn() {
|
||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
ldrmntSearch(false, pageNation, '20', computeCityNm(), searchTxt || "");
|
||||
isResetPage(true)
|
||||
@@ -220,7 +218,6 @@ export default function LdrmntCoSttn() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsExcelOpen({ isModal: true });
|
||||
@@ -230,14 +227,12 @@ export default function LdrmntCoSttn() {
|
||||
엑셀등록
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => excelDownloadClick()}
|
||||
>
|
||||
다운로드
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass} green`}
|
||||
onClick={excelClick}
|
||||
>
|
||||
@@ -296,4 +291,4 @@ export default function LdrmntCoSttn() {
|
||||
</ContentsDiv>
|
||||
</>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import type { customHtdflBdst } from "@/app/store/ruseFcltMng/fcltReg/htdflReg";
|
||||
import { tableData } from "@/components/lib/func/commom";
|
||||
import HtdflRegForm from "@/components/ui/form/fcltReg/htdflReg/htdflRegForm";
|
||||
@@ -11,7 +12,6 @@ import {
|
||||
SearchDiv,
|
||||
SearchFormLeft,
|
||||
SearchInput,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
} from "@common/business_components";
|
||||
@@ -103,7 +103,6 @@ export default function Home() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-2 gap-4 ">
|
||||
<div className="col-span-2">
|
||||
<Title title={"온배수시설 등록"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<SearchInput
|
||||
@@ -116,7 +115,7 @@ export default function Home() {
|
||||
/>
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
if (searchTxt && searchTxt.length > 0) {
|
||||
htdflNmSearch(String(0), searchTxt);
|
||||
@@ -128,7 +127,7 @@ export default function Home() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => setIsNewReg(!issNewReg)}
|
||||
disabled={regAuthrtYn === "N"}
|
||||
>
|
||||
@@ -194,3 +193,4 @@ export default function Home() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,12 +21,12 @@ import {
|
||||
SearchDiv,
|
||||
SearchFormLeft,
|
||||
SearchInput,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
} from "@common/business_components";
|
||||
import { Button } from "@common/components";
|
||||
import { useWrStore } from "../../../../store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import { Tabs, TabsList, TabsTrigger, TabsContent } from "@common/components";
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
@@ -290,7 +290,6 @@ export default function PublicReuseFaciltyInsert() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"하수재이용 시설 등록"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<SearchInput
|
||||
@@ -303,8 +302,8 @@ export default function PublicReuseFaciltyInsert() {
|
||||
/>
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
className=""
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
// size={"sm"}
|
||||
onClick={() => {
|
||||
if (searchTxt && searchTxt?.length > 0) {
|
||||
pubHasuSearch(String(pageNation), laeSeCd, searchTxt);
|
||||
@@ -317,8 +316,8 @@ export default function PublicReuseFaciltyInsert() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className=""
|
||||
// size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
// pbnstMngData([] as customPbnst[]);
|
||||
if (!selectRow) {
|
||||
@@ -370,9 +369,8 @@ export default function PublicReuseFaciltyInsert() {
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
<Button
|
||||
size={"sm"}
|
||||
onClick={form.handleSubmit(onSubmit, onInvalid)}
|
||||
className="mr-5 mt-2"
|
||||
className={`${btnClass} mr-5 mt-2`}
|
||||
disabled={mdfcnAuthrtYn === "N"}
|
||||
>
|
||||
저장
|
||||
@@ -414,8 +412,7 @@ export default function PublicReuseFaciltyInsert() {
|
||||
신규등록 버튼을 클릭하여 재이용시설을 등록해주세요.
|
||||
</p>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className=""
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
// pbnstMngData([] as customPbnst[]);
|
||||
if (!selectRow) {
|
||||
@@ -461,3 +458,4 @@ export default function PublicReuseFaciltyInsert() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"use client";
|
||||
"use client";
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import {
|
||||
rainRegSize,
|
||||
type customRainBdst,
|
||||
@@ -13,7 +14,6 @@ import {
|
||||
SearchDiv,
|
||||
SearchFormLeft,
|
||||
SearchInput,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
} from "@common/business_components";
|
||||
@@ -115,7 +115,6 @@ export default function Home() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"빗물이용시설 등록"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<SearchInput
|
||||
@@ -128,8 +127,7 @@ export default function Home() {
|
||||
/>
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
className=""
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
rainSearch(searchTxt || "", 1, laeSeCd);
|
||||
//rainSearch(searchTxt || "", pageNation, "41");
|
||||
@@ -138,8 +136,7 @@ export default function Home() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className=""
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsNewReg(!issNewReg);
|
||||
}}
|
||||
@@ -207,3 +204,4 @@ export default function Home() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"use client";
|
||||
"use client";
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import {
|
||||
rswtRegSize,
|
||||
type customRswtBdst,
|
||||
@@ -13,7 +14,6 @@ import {
|
||||
SearchDiv,
|
||||
SearchFormLeft,
|
||||
SearchInput,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
} from "@common/business_components";
|
||||
@@ -128,7 +128,6 @@ export default function Home() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"중수도시설 등록"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<SearchInput
|
||||
@@ -141,8 +140,7 @@ export default function Home() {
|
||||
/>
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className=""
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
rswtBdstSearch(searchTxt || "", pageNation,laeSeCd);
|
||||
}}
|
||||
@@ -150,8 +148,7 @@ export default function Home() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className="mr-4"
|
||||
className={`${btnClass} mr-4`}
|
||||
onClick={() => setIsNewReg(!issNewReg)}
|
||||
disabled={regAuthrtYn === "N"}
|
||||
>
|
||||
@@ -214,3 +211,4 @@ export default function Home() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
type SelectDataType
|
||||
@@ -148,7 +147,6 @@ export default function HtdflSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"온배수 시설 현황"} />
|
||||
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
@@ -185,7 +183,7 @@ export default function HtdflSttn() {
|
||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
htdflSttnSearch(false, 1,htdflSttnSize, String(getConValue()), fcltNm, code.cityCd, code.sggCd);
|
||||
isResetPage(true)
|
||||
@@ -194,14 +192,12 @@ export default function HtdflSttn() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass} green`}
|
||||
onClick={excelClick}
|
||||
>
|
||||
다운로드
|
||||
엑셀다운로드
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsChHead(true);
|
||||
@@ -247,6 +243,7 @@ export default function HtdflSttn() {
|
||||
...item,
|
||||
visible: item.visible ?? false,
|
||||
}))}
|
||||
onSaved={() => setIsChHead(false)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
@@ -21,7 +21,6 @@ import {
|
||||
SearchBaseForm,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
type ReturnType,
|
||||
@@ -131,7 +130,6 @@ export default function PbnstSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-2 gap-4 ">
|
||||
<div className="col-span-2">
|
||||
<Title title={"하수재이용 시설 현황"} />
|
||||
<SearchBaseForm
|
||||
selectSidoData={code.cityCd}
|
||||
selectSigunData={code.sggCd}
|
||||
@@ -238,6 +236,7 @@ export default function PbnstSttn() {
|
||||
...item,
|
||||
visible: item.visible ?? false,
|
||||
}))}
|
||||
onSaved={() => setIsChHead(false)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* 빗물재이용시설 현황
|
||||
* 빗물이용시설 현황
|
||||
*/
|
||||
"use client";
|
||||
import { useWrStore } from "@/app/store";
|
||||
@@ -23,7 +23,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
type SelectDataType,
|
||||
@@ -161,7 +160,7 @@ export default function RainSttn() {
|
||||
if (rainSttn.excelList.length > 0) {
|
||||
excelDownload(
|
||||
rainSttn.excelList,
|
||||
"빗물재이용시설 현황",
|
||||
"빗물이용시설 현황",
|
||||
"sample_rainSttn.xlsx",
|
||||
"A1:W3"
|
||||
);
|
||||
@@ -195,7 +194,6 @@ export default function RainSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"빗물재이용 시설 현황"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-10 flex flex-row">
|
||||
@@ -230,7 +228,7 @@ export default function RainSttn() {
|
||||
<SearchFormRight className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
rainSttnSearch(
|
||||
false,
|
||||
@@ -246,14 +244,12 @@ export default function RainSttn() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass} green`}
|
||||
onClick={excelClick}
|
||||
>
|
||||
다운로드
|
||||
엑셀다운로드
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsChHead(true);
|
||||
@@ -288,9 +284,7 @@ export default function RainSttn() {
|
||||
</div>
|
||||
<UiModal
|
||||
open={isChHead}
|
||||
onOpenChange={() => {
|
||||
setIsChHead(!isChHead);
|
||||
}}
|
||||
onOpenChange={() => setIsChHead(!isChHead)}
|
||||
bodyClass={""}
|
||||
body={
|
||||
<HeadChModal
|
||||
@@ -299,6 +293,7 @@ export default function RainSttn() {
|
||||
...item,
|
||||
visible: item.visible ?? false,
|
||||
}))}
|
||||
onSaved={() => setIsChHead(false)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
@@ -307,7 +302,7 @@ export default function RainSttn() {
|
||||
onOpenChange={() => {
|
||||
setDetailModal({ ...detailModal, isOpen: !detailModal.isOpen });
|
||||
}}
|
||||
bodyClass={"w-[40vw] max-w-none max-h-[calc(100%-70px)]"}
|
||||
bodyClass={"w-[40vw] max-w-none max-h-[calc(100%-70px)] overflow-y-auto"}
|
||||
body={<SttnDetailModal type={"RNB"} formObj={detailModal.data} />}
|
||||
/>
|
||||
</ContentsDiv>
|
||||
|
||||
@@ -21,7 +21,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
type SelectDataType
|
||||
@@ -150,7 +149,6 @@ export default function RswtSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"중수도시설 현황"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-10 flex flex-row">
|
||||
@@ -190,7 +188,7 @@ export default function RswtSttn() {
|
||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
rswtSttnSearch(false, 1, rswtSttnSize, String(getConValue()), fcltNm, code as unknown as Record<string, SelectDataType[]>);
|
||||
isResetPage(true)
|
||||
@@ -199,14 +197,12 @@ export default function RswtSttn() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={`${btnClass} green`}
|
||||
onClick={excelClick}
|
||||
>
|
||||
다운로드
|
||||
엑셀다운로드
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsChHead(true);
|
||||
@@ -250,6 +246,7 @@ export default function RswtSttn() {
|
||||
visible: item.visible ?? false,
|
||||
}))}
|
||||
type={"RST"}
|
||||
onSaved={() => setIsChHead(false)}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import {
|
||||
rainPageSize,
|
||||
type rainChkZodType,
|
||||
@@ -26,7 +27,6 @@ import {
|
||||
SearchFormLeft,
|
||||
SearchFormRight,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
} from "@common/business_components/ui";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
@@ -271,11 +271,10 @@ export default function Page() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"지도점검 결과 등록"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-2 flex flex-row space-x-2">
|
||||
<Label className="w-48 mt-2 text-xl text-gray-600">
|
||||
<Label className="w-fit shrink-0 whitespace-nowrap self-center text-xl text-gray-600">
|
||||
{"지도점검년도"}
|
||||
</Label>
|
||||
<SelectBox
|
||||
@@ -290,7 +289,7 @@ export default function Page() {
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-2 flex flex-row space-x-2">
|
||||
<Label className="w-28 mt-2 text-xl text-gray-600">
|
||||
<Label className="w-fit shrink-0 whitespace-nowrap self-center text-xl text-gray-600 ">
|
||||
{"시설구분"}
|
||||
</Label>
|
||||
<SelectBox
|
||||
@@ -306,7 +305,7 @@ export default function Page() {
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-2 flex flex-row space-x-2">
|
||||
<Label className="w-28 mt-2 text-xl text-gray-600">
|
||||
<Label className="w-fit shrink-0 whitespace-nowrap self-center text-xl text-gray-600 ">
|
||||
{"시설명"}
|
||||
</Label>
|
||||
<SearchInput
|
||||
@@ -317,11 +316,11 @@ export default function Page() {
|
||||
/>
|
||||
</div>
|
||||
</SearchFormLeft>
|
||||
<SearchFormRight className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<SearchFormRight className="w-3/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="space-y">
|
||||
<div className="flex flex-row space-x-2">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
cellClick();
|
||||
}}
|
||||
@@ -329,7 +328,7 @@ export default function Page() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
clickDelete(deleteIdx, selFcltDiv);
|
||||
}}
|
||||
@@ -342,7 +341,7 @@ export default function Page() {
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
chkUpdateTable(selFcltDiv);
|
||||
}}
|
||||
@@ -360,7 +359,7 @@ export default function Page() {
|
||||
</TooltipProvider>
|
||||
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsRegExcel(!isRegExcel);
|
||||
}}
|
||||
@@ -368,7 +367,7 @@ export default function Page() {
|
||||
>
|
||||
결과등록
|
||||
</Button>
|
||||
<Button color="green" size={"sm"} onClick={excelClick}>
|
||||
<Button color="green" className={btnClass} onClick={excelClick}>
|
||||
양식받기
|
||||
</Button>
|
||||
</div>
|
||||
@@ -439,3 +438,4 @@ export default function Page() {
|
||||
</ContentsDiv>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"use client";
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import { excelToPbnPrfData } from "@/app/store/prfmncReg/pbnstPrfmncReg/excel";
|
||||
import {
|
||||
initValInUsage,
|
||||
@@ -24,7 +25,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
UiTable,
|
||||
} from "@common/business_components/ui";
|
||||
@@ -229,11 +229,10 @@ export default function PrfmncPrfmncReg() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"하수재이용 실적 등록"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-2 flex flex-row space-x-2">
|
||||
<Label className="w-48 mt-2 text-xl text-gray-600">
|
||||
<div className="col-span-3 flex flex-row space-x-2">
|
||||
<Label className="w-fit shrink-0 whitespace-nowrap self-center text-xl text-gray-600 ">
|
||||
{"실적등록년도"}
|
||||
</Label>
|
||||
<SelectBox
|
||||
@@ -247,8 +246,8 @@ export default function PrfmncPrfmncReg() {
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-2 flex flex-row space-x-2">
|
||||
<Label className="w-28 mt-2 text-xl text-gray-600">
|
||||
<div className="col-span-3 flex flex-row space-x-2">
|
||||
<Label className="w-fit shrink-0 whitespace-nowrap self-center text-xl text-gray-600">
|
||||
{"시설명"}
|
||||
</Label>
|
||||
<SearchInput
|
||||
@@ -261,11 +260,11 @@ export default function PrfmncPrfmncReg() {
|
||||
/>
|
||||
</div>
|
||||
</SearchFormLeft>
|
||||
<SearchFormRight className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<SearchFormRight className="w-3/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
||||
<div className="space-y">
|
||||
<div className="flex flex-row space-x-2">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
setIsReset(true);
|
||||
}}
|
||||
@@ -273,7 +272,7 @@ export default function PrfmncPrfmncReg() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
onSave();
|
||||
}}
|
||||
@@ -282,7 +281,7 @@ export default function PrfmncPrfmncReg() {
|
||||
저장
|
||||
</Button>
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
if (cellNum === undefined) {
|
||||
toast.error("하수처리재이용시설을 선택해주세요.");
|
||||
@@ -295,7 +294,7 @@ export default function PrfmncPrfmncReg() {
|
||||
>
|
||||
파일등록
|
||||
</Button>
|
||||
<Button color="green" size={"sm"} onClick={excelClick}>
|
||||
<Button color="green" className={btnClass} onClick={excelClick}>
|
||||
양식받기
|
||||
</Button>
|
||||
</div>
|
||||
@@ -386,3 +385,4 @@ export default function PrfmncPrfmncReg() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import { rainPageSize } from "@/app/store/prfmncReg/chkgdnReg/rainChkgdn";
|
||||
import { rswtPageSize } from "@/app/store/prfmncReg/chkgdnReg/rswrtChkgdn";
|
||||
import { excelDownload, yearOptions } from "@/components/lib/func/commom";
|
||||
@@ -14,7 +15,6 @@ import {
|
||||
SearchFormRight,
|
||||
SearchInput,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiModal,
|
||||
} from "@common/business_components/ui";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
@@ -174,7 +174,6 @@ export default function Page() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"지도점검 결과 현황"} />
|
||||
<SearchDiv>
|
||||
<SearchFormLeft>
|
||||
<div className="col-span-2 flex flex-row space-x-2">
|
||||
@@ -224,7 +223,7 @@ export default function Page() {
|
||||
<div className="space-y">
|
||||
<div className="flex flex-row space-x-2">
|
||||
<Button
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
cellClick();
|
||||
}}
|
||||
@@ -233,12 +232,12 @@ export default function Page() {
|
||||
</Button>
|
||||
<Button
|
||||
color="green"
|
||||
size={"sm"}
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
excelDown();
|
||||
}}
|
||||
>
|
||||
다운로드
|
||||
엑셀다운로드
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@ import { initValInUsage, initValOutUsage, subTotalObj, totalObj, type FcPrfType,
|
||||
import { excelPrfmncSttnParsing } from "@/app/store/prfmncSttn/pbnstPrfmncSttn/excel";
|
||||
import { excelDownload, yearOptions } from "@/components/lib/func/commom";
|
||||
import { InputTableBody } from "@/components/lib/func/TableData";
|
||||
import { CHART_FORM, ContentsDiv, MainChart, ScrollArea, SearchBaseForm, SearchInput, SelectBox, Title, UiTable, type ChartConfig, type ReturnType } from "@common/business_components";
|
||||
import { CHART_FORM, ContentsDiv, MainChart, ScrollArea, SearchBaseForm, SearchInput, SelectBox, UiTable, type ChartConfig, type ReturnType } from "@common/business_components";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
import { Label, Table, TableBody, TableHeader } from "@common/components/ui";
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
@@ -530,7 +530,6 @@ export default function PbnstPrfmncSttn() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4 ">
|
||||
<div className="col-span-4">
|
||||
<Title title={"하수재이용실적 현황"} />
|
||||
<SearchBaseForm
|
||||
selectSidoData={code.cityCd}
|
||||
selectSigunData={code.sggCd}
|
||||
@@ -720,3 +719,4 @@ export default function PbnstPrfmncSttn() {
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import type { RainStatProps } from "@/app/store/stats/rainStat";
|
||||
import { excelDownload, tableData, yearOptions } from "@/components/lib/func/commom";
|
||||
import { downloadExcel } from "@common/business_components";
|
||||
@@ -10,7 +11,6 @@ import {
|
||||
ScrollArea,
|
||||
SearchDiv,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiTable
|
||||
} from "@common/business_components/ui";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
@@ -233,7 +233,6 @@ export default function RainStat() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title={"빗물이용시설 통계"} />
|
||||
<SearchDiv>
|
||||
<div className="grid grid-cols-12 gap-5 m-4">
|
||||
<div className="col-span-2">
|
||||
@@ -249,13 +248,13 @@ export default function RainStat() {
|
||||
/>
|
||||
</div>
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button className="" size={"sm"} onClick={() => { searchRainStatList(searchYear ,code.cityCd); }}>
|
||||
<Button className={btnClass} onClick={() => { searchRainStatList(searchYear ,code.cityCd); }}>
|
||||
조회
|
||||
</Button>
|
||||
<Button className="" size={"sm"} onClick={() => excelClick()}>
|
||||
<Button className={btnClass} onClick={() => excelClick()}>
|
||||
다운로드
|
||||
</Button>
|
||||
<Button className="" size={"sm"} onClick={() => excelDetailDownLoad()}>
|
||||
<Button className={btnClass} onClick={() => excelDetailDownLoad()}>
|
||||
전체통계다운로드
|
||||
</Button>
|
||||
</div>
|
||||
@@ -285,4 +284,4 @@ export default function RainStat() {
|
||||
</ContentsDiv>
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"use client";
|
||||
import { useWrStore } from "@/app/store";
|
||||
import { btnClass } from "@/app/store/common/code";
|
||||
import type { RswtStatProps } from "@/app/store/stats/rswtStat";
|
||||
import { excelDownload, tableData, yearOptions } from "@/components/lib/func/commom";
|
||||
import {
|
||||
@@ -8,7 +9,6 @@ import {
|
||||
ScrollArea,
|
||||
SearchDiv,
|
||||
SelectBox,
|
||||
Title,
|
||||
UiTable
|
||||
} from "@common/business_components/ui";
|
||||
import ListDiv from "@common/business_components/ui/list_div";
|
||||
@@ -233,7 +233,6 @@ export default function RswtStat() {
|
||||
<ContentsDiv>
|
||||
<div className="grid grid-cols-4 gap-4">
|
||||
<div className="col-span-4">
|
||||
<Title title="중수도시설 통계" />
|
||||
<SearchDiv>
|
||||
<div className="grid grid-cols-12 gap-5 m-4">
|
||||
<div className="col-span-2">
|
||||
@@ -248,8 +247,7 @@ export default function RswtStat() {
|
||||
</div>
|
||||
<div className="flex flex-row space-x-2 items-center">
|
||||
<Button
|
||||
className=""
|
||||
size="sm"
|
||||
className={btnClass}
|
||||
onClick={() => {
|
||||
searchRswtStatList(searchYear, code.cityCd,code.rswtBdstType)
|
||||
}}
|
||||
@@ -257,15 +255,13 @@ export default function RswtStat() {
|
||||
조회
|
||||
</Button>
|
||||
<Button
|
||||
className=""
|
||||
size="sm"
|
||||
className={btnClass}
|
||||
onClick={excelClick}
|
||||
>
|
||||
다운로드
|
||||
</Button>
|
||||
<Button
|
||||
className=""
|
||||
size="sm"
|
||||
className={btnClass}
|
||||
onClick={excelDetailDownLoad}
|
||||
>
|
||||
전체통계다운로드
|
||||
@@ -297,3 +293,4 @@ export default function RswtStat() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,16 +4,21 @@ import { useWrStore } from "./store";
|
||||
import { MainDiv } from "@common/business_components/ui";
|
||||
import type { MenuItem } from "./store/common/type/menu";
|
||||
import { usePathname, useRouter } from "next/navigation";
|
||||
import { useMenuStore } from "@/src/shared/lib";
|
||||
import { PageLayout } from "@/src/shared/ui/page-layout";
|
||||
|
||||
export default function Base({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
const { getMenuAuthrts } = useWrStore((state) => state);
|
||||
const setCurrentMenuInfo = useMenuStore((state) => state.setCurrentMenuInfo);
|
||||
const router = useRouter();
|
||||
const pathname = usePathname();
|
||||
|
||||
const changeMenu = (path: MenuItem) => {
|
||||
setCurrentMenuInfo(path);
|
||||
getMenuAuthrts(path.menuCd);
|
||||
if (path.menuKornNm === "하수재이용통계") {
|
||||
// console.log("외부 페이지로 이동합니다. " ,path);
|
||||
@@ -27,7 +32,9 @@ export default function Base({
|
||||
};
|
||||
return (
|
||||
<BaseLayout currentPath={pathname ?? ""} handleMenuClick={changeMenu}>
|
||||
<MainDiv>{children}</MainDiv>
|
||||
<PageLayout>
|
||||
<MainDiv>{children}</MainDiv>
|
||||
</PageLayout>
|
||||
</BaseLayout>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -10,574 +10,107 @@ export const sttnHeadListType = z.array(
|
||||
);
|
||||
|
||||
export const rainSttHeadListExport: z.infer<typeof sttnHeadListType> = [
|
||||
{
|
||||
id: "cityText",
|
||||
title: "시도",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "sggText",
|
||||
title: "시군구",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "bdstNm",
|
||||
title: "건축물명",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "daddr",
|
||||
title: "주소",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "bdsgUsgText",
|
||||
title: "건축물용도",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "frstArchPrmsnDt",
|
||||
title: "최초건축허가일시",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "archArea",
|
||||
title: "건축면적",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "chBuildingYn",
|
||||
title: "증축・개축・재축여부",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "lawTrgtYn",
|
||||
title: "법적의무대상여부",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "instlCmptnDt",
|
||||
title: "설치완료일시",
|
||||
visible: true,
|
||||
},
|
||||
{ id: "cityText", title: "시도", visible: true, },
|
||||
{ id: "sggText", title: "시군구", visible: true, },
|
||||
{ id: "bdstNm", title: "건축물명", visible: true, },
|
||||
{ id: "daddr", title: "주소", visible: true, },
|
||||
{ id: "bdsgUsgText", title: "건축물용도", visible: true, },
|
||||
{ id: "frstArchPrmsnDt", title: "최초건축허가일시", visible: true, },
|
||||
{ id: "archArea", title: "건축면적", visible: true, },
|
||||
{ id: "chBuildingYn", title: "증축・개축・재축여부", visible: true, },
|
||||
{ id: "lawTrgtYn", title: "법적의무대상여부", visible: true, },
|
||||
{ id: "instlCmptnDt", title: "설치완료일시", visible: true, },
|
||||
|
||||
{
|
||||
id: "instlCst",
|
||||
title: "설치비용",
|
||||
visible: true,
|
||||
},
|
||||
{ id: "instlCst", title: "설치비용", visible: true, },
|
||||
|
||||
{
|
||||
id: "pntfColKnd",
|
||||
title: "집수지점종류",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "pntfColArea",
|
||||
title: "집수지점면적",
|
||||
visible: true,
|
||||
},
|
||||
{ id: "pntfColKnd", title: "집수지점종류", visible: true, },
|
||||
{ id: "pntfColArea", title: "집수지점면적", visible: true, },
|
||||
|
||||
{
|
||||
id: "dtfcltCpct",
|
||||
title: "저류조용량",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "filtrTrtmfctYn",
|
||||
title: "여과처리시설유무",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "filtrTrtmfctCpct",
|
||||
title: "여과처리시설용량",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "filtrTrtmfctPrs",
|
||||
title: "여과처리시설처리공정",
|
||||
visible: true,
|
||||
},
|
||||
{ id: "dtfcltCpct", title: "저류조용량", visible: true, },
|
||||
{ id: "filtrTrtmfctYn", title: "여과처리시설유무", visible: true, },
|
||||
{ id: "filtrTrtmfctCpct", title: "여과처리시설용량", visible: true, },
|
||||
{ id: "filtrTrtmfctPrs", title: "여과처리시설처리공정", visible: true, },
|
||||
|
||||
{
|
||||
id: "instlCstSprtYn",
|
||||
title: "설치지원비용여부",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "instlCstSprtAmt",
|
||||
title: "설치지원비용",
|
||||
visible: true,
|
||||
},
|
||||
{ id: "instlCstSprtYn", title: "설치지원비용여부", visible: true, },
|
||||
{ id: "instlCstSprtAmt", title: "설치지원비용", visible: true, },
|
||||
|
||||
{
|
||||
id: "grntchBdstCertYn",
|
||||
title: "녹색건축물인증여부",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "grntchBdstCertYr",
|
||||
title: "녹색건축물인증년도",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "grntchBdstCertNo",
|
||||
title: "녹색건축물인증번호",
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
id: "grntchBdstCertGrdText",
|
||||
title: "녹색건축물인증등급",
|
||||
visible: true,
|
||||
},
|
||||
{ id: "grntchBdstCertYn", title: "녹색건축물인증여부", visible: true, },
|
||||
{ id: "grntchBdstCertYr", title: "녹색건축물인증년도", visible: true, },
|
||||
{ id: "grntchBdstCertNo", title: "녹색건축물인증번호", visible: true, },
|
||||
{ id: "grntchBdstCertGrdText", title: "녹색건축물인증등급", visible: true, },
|
||||
];
|
||||
|
||||
// id는 다확인해야함
|
||||
export const rainSttNodeListExport: CommonTableProps[] = [
|
||||
{
|
||||
id: "bdnstInfo",
|
||||
title: "건축물정보",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 10,
|
||||
},
|
||||
{
|
||||
id: "rainFcltInfo",
|
||||
title: "빗물이용시설정보",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 7,
|
||||
},
|
||||
{
|
||||
id: "insenInfo",
|
||||
title: "인센티브 정보",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 6,
|
||||
},
|
||||
{
|
||||
id: "adminDiv",
|
||||
title: "행정구역",
|
||||
visible: true,
|
||||
row: 2,
|
||||
upName: "bdnstInfo",
|
||||
rowSpan: 1,
|
||||
colSpan: 2,
|
||||
},
|
||||
{ id: "bdnstInfo", title: "건축물정보", visible: true, row: 1, rowSpan: 1, colSpan: 10, },
|
||||
{ id: "rainFcltInfo", title: "빗물이용시설정보", visible: true, row: 1, rowSpan: 1, colSpan: 7, },
|
||||
{ id: "insenInfo", title: "인센티브 정보", visible: true, row: 1, rowSpan: 1, colSpan: 6, },
|
||||
{ id: "adminDiv", title: "행정구역", visible: true, row: 2, upName: "bdnstInfo", rowSpan: 1, colSpan: 2, },
|
||||
|
||||
// 3번째줄 시작
|
||||
{
|
||||
id: "cityText",
|
||||
title: "시도",
|
||||
visible: true,
|
||||
upName: "adminDiv",
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "sggText",
|
||||
title: "시군구",
|
||||
visible: true,
|
||||
upName: "adminDiv",
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "cityText", title: "시도", visible: true, upName: "adminDiv", row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "sggText", title: "시군구", visible: true, upName: "adminDiv", row: 3, rowSpan: 1, colSpan: 1, },
|
||||
|
||||
// 2번째 줄
|
||||
// 1번째 줄 건축물정보 아래의 행으로 만들 헤더
|
||||
{
|
||||
id: "bdstNm",
|
||||
title: "건축물명",
|
||||
visible: true,
|
||||
upName: "bdnstInfo",
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "daddr",
|
||||
title: "주소",
|
||||
visible: true,
|
||||
upName: "bdnstInfo",
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "bdsgUsgText",
|
||||
title: "건축물용도",
|
||||
upName: "bdnstInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "frstArchPrmsnDt",
|
||||
title: "최초건축허가일시",
|
||||
upName: "bdnstInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "archArea",
|
||||
title: "건축면적(m²)",
|
||||
upName: "bdnstInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "chBuildingYn",
|
||||
title: "증축・개축・재축여부",
|
||||
upName: "bdnstInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "lawTrgtYn",
|
||||
title: "법적의무대상여부",
|
||||
upName: "bdnstInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "instlCmptnDt",
|
||||
title: "설치완료일시",
|
||||
upName: "bdnstInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "bdstNm", title: "건축물명", visible: true, upName: "bdnstInfo", row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "daddr", title: "주소", visible: true, upName: "bdnstInfo", row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "bdsgUsgText", title: "건축물용도", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "frstArchPrmsnDt", title: "최초건축허가일시", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "archArea", title: "건축면적(m²)", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "chBuildingYn", title: "증축・개축・재축여부", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "lawTrgtYn", title: "법적의무대상여부", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "instlCmptnDt", title: "설치완료일시", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
|
||||
{
|
||||
id: "instlCst",
|
||||
title: "설치비용(원)",
|
||||
upName: "rainFcltInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "instlCst", title: "설치비용(원)", upName: "rainFcltInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
|
||||
{
|
||||
id: "pntfCol",
|
||||
title: "집수면",
|
||||
upName: "rainFcltInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 2,
|
||||
},
|
||||
{ id: "pntfCol", title: "집수면", upName: "rainFcltInfo", visible: true, row: 2, rowSpan: 1, colSpan: 2, },
|
||||
|
||||
{
|
||||
id: "pntfColKnd",
|
||||
title: "종류",
|
||||
upName: "pntfCol",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "pntfColArea",
|
||||
title: "면적(m²)",
|
||||
upName: "pntfCol",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "pntfColKnd", title: "종류", upName: "pntfCol", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "pntfColArea", title: "면적(m²)", upName: "pntfCol", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
|
||||
{
|
||||
id: "dtfcltCpct",
|
||||
title: "저류조용량(m³)",
|
||||
upName: "rainFcltInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "filtrTrtmfctYn",
|
||||
title: "여과처리시설유무",
|
||||
upName: "filtrTrtmfct",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "filtrTrtmfctCpct",
|
||||
title: "여과처리시설용량(m³)",
|
||||
upName: "filtrTrtmfct",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "filtrTrtmfctPrs",
|
||||
title: "여과처리시설처리공정",
|
||||
upName: "filtrTrtmfct",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "dtfcltCpct", title: "저류조용량(m³)", upName: "rainFcltInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "filtrTrtmfctYn", title: "여과처리시설유무", upName: "filtrTrtmfct", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "filtrTrtmfctCpct", title: "여과처리시설용량(m³)", upName: "filtrTrtmfct", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "filtrTrtmfctPrs", title: "여과처리시설처리공정", upName: "filtrTrtmfct", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
|
||||
{
|
||||
id: "filtrTrtmfct",
|
||||
title: "여과등 처리시설",
|
||||
visible: true,
|
||||
upName: "rainFcltInfo",
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 3,
|
||||
},
|
||||
{
|
||||
id: "instlCstSprtYn",
|
||||
title: "설치지원비용여부",
|
||||
upName: "instlCstSprt",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "instlCstSprtAmt",
|
||||
title: "설치지원비용(원)",
|
||||
upName: "instlCstSprt",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "filtrTrtmfct", title: "여과등 처리시설", visible: true, upName: "rainFcltInfo", row: 2, rowSpan: 1, colSpan: 3, },
|
||||
{ id: "instlCstSprtYn", title: "설치지원비용여부", upName: "instlCstSprt", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "instlCstSprtAmt", title: "설치지원비용(원)", upName: "instlCstSprt", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
|
||||
{
|
||||
id: "instlCstSprt",
|
||||
title: "설치비지원",
|
||||
upName: "insenInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 2,
|
||||
},
|
||||
{ id: "instlCstSprt", title: "설치비지원", upName: "insenInfo", visible: true, row: 2, rowSpan: 1, colSpan: 2, },
|
||||
|
||||
{
|
||||
id: "grntchBdstCertYn",
|
||||
title: "인증여부",
|
||||
upName: "grntchBdstCert",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "grntchBdstCertYr",
|
||||
title: "인증년도",
|
||||
upName: "grntchBdstCert",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "grntchBdstCertNo",
|
||||
title: "인증번호",
|
||||
upName: "grntchBdstCert",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "grntchBdstCertGrdText",
|
||||
title: "인증등급",
|
||||
upName: "grntchBdstCert",
|
||||
visible: true,
|
||||
row: 3,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{
|
||||
id: "grntchBdstCert",
|
||||
title: "녹색건축물인증",
|
||||
upName: "insenInfo",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 4,
|
||||
},
|
||||
{ id: "grntchBdstCertYn", title: "인증여부", upName: "grntchBdstCert", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "grntchBdstCertYr", title: "인증년도", upName: "grntchBdstCert", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "grntchBdstCertNo", title: "인증번호", upName: "grntchBdstCert", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "grntchBdstCertGrdText", title: "인증등급", upName: "grntchBdstCert", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "grntchBdstCert", title: "녹색건축물인증", upName: "insenInfo", visible: true, row: 2, rowSpan: 1, colSpan: 4, },
|
||||
];
|
||||
|
||||
export const rainSttnDetailNodeListExport:CommonTableProps[] = [
|
||||
{ id: "totalSplyUswtrUtztnQnt",
|
||||
title: "연간보급수이용량(m³)",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 2,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 2,
|
||||
colSpan: 1
|
||||
},
|
||||
{ id: "useQulity",
|
||||
title: "이용수질(필요시)",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 4
|
||||
},
|
||||
{ id: "ph", title: "pH",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
|
||||
},
|
||||
{
|
||||
id: "trbt",
|
||||
title: "탁도",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "grssClfg",
|
||||
title: "총대장균군수",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "etc",
|
||||
title: "기타",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{ id: "feeHistory",
|
||||
title: "과태료부과내역",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 3
|
||||
},
|
||||
{
|
||||
id: "vltnDt",
|
||||
title: "부과일(위반일)",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "vltnMttr",
|
||||
title: "위반사항",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "levyAmt",
|
||||
title: "부과금액(천원)",
|
||||
visible: true,
|
||||
row: 2,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{ id: "totalSplyUswtrUtztnQnt", title: "연간보급수이용량(m³)", visible: true, row: 1, rowSpan: 2, colSpan: 1, },
|
||||
{ id: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)", visible: true, row: 1, rowSpan: 2, colSpan: 1 },
|
||||
{ id: "useQulity", title: "이용수질(필요시)", visible: true, row: 1, rowSpan: 1, colSpan: 4 },
|
||||
{ id: "ph", title: "pH", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "trbt", title: "탁도", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "grssClfg", title: "총대장균군수", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "etc", title: "기타", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "feeHistory", title: "과태료부과내역", visible: true, row: 1, rowSpan: 1, colSpan: 3 },
|
||||
{ id: "vltnDt", title: "부과일(위반일)", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "vltnMttr", title: "위반사항", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "levyAmt", title: "부과금액(천원)", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||
];
|
||||
|
||||
export const rainSttnDetailHeadListExport:CommonTableProps[] = [
|
||||
{ id: "totalSplyUswtrUtztnQnt",
|
||||
title: "연간보급수이용량(m³)",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1,
|
||||
},
|
||||
{ id: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{ id: "totalSplyUswtrUtztnQnt", title: "연간보급수이용량(m³)", visible: true, row: 1, rowSpan: 1, colSpan: 1, },
|
||||
{ id: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
|
||||
{ id: "ph", title: "pH",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
|
||||
},
|
||||
{
|
||||
id: "trbt",
|
||||
title: "탁도",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "grssClfg",
|
||||
title: "총대장균군수",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "etc",
|
||||
title: "기타",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{ id: "ph", title: "pH", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "trbt", title: "탁도", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "grssClfg", title: "총대장균군수", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "etc", title: "기타", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
|
||||
{
|
||||
id: "vltnDt",
|
||||
title: "부과일(위반일)",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "vltnMttr",
|
||||
title: "위반사항",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{
|
||||
id: "levyAmt",
|
||||
title: "부과금액(천원)",
|
||||
visible: true,
|
||||
row: 1,
|
||||
rowSpan: 1,
|
||||
colSpan: 1
|
||||
},
|
||||
{ id: "vltnDt", title: "부과일(위반일)", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "vltnMttr", title: "위반사항", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
{ id: "levyAmt", title: "부과금액(천원)", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||
];
|
||||
|
||||
@@ -222,10 +222,7 @@ export const rainSttnActionsExport: (set: any) => rainSttnActions = (
|
||||
rainSttnChkSearch: async (
|
||||
rusePk: string
|
||||
) => {
|
||||
const rainChkRes = await getFetch(
|
||||
fetchType.WR,
|
||||
`/reuseChk/rainy/${rusePk}`
|
||||
);
|
||||
const rainChkRes = await getFetch( fetchType.WR, `/reuseChk/rainy/${rusePk}` );
|
||||
|
||||
return set((state: rainSttnState) => ({
|
||||
rainSttn: {
|
||||
|
||||
@@ -123,7 +123,7 @@ export function RainFacility({
|
||||
if (rainMapExcelList.length > 0) {
|
||||
excelDownload(
|
||||
rainMapExcelList,
|
||||
"빗물재이용시설 현황",
|
||||
"빗물이용시설 현황",
|
||||
"sample_rainSttn.xlsx",
|
||||
"A1:W3"
|
||||
);
|
||||
|
||||
@@ -7,7 +7,15 @@ import { useEffect } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import { z } from "zod";
|
||||
|
||||
export default function HeadChModal({ headList, type }: { headList: z.infer<typeof sttnHeadListType>, type: string }) {
|
||||
export default function HeadChModal({
|
||||
headList,
|
||||
type,
|
||||
onSaved,
|
||||
}: {
|
||||
headList: z.infer<typeof sttnHeadListType>;
|
||||
type: string;
|
||||
onSaved?: () => void;
|
||||
}) {
|
||||
const { rainChSttnHead, rswtChSttnHead, htdflChSttnHead, pbnstChSttnHead } = useWrStore((state) => state);
|
||||
|
||||
|
||||
@@ -44,11 +52,12 @@ export default function HeadChModal({ headList, type }: { headList: z.infer<type
|
||||
} else if (type === 'PBN') {
|
||||
pbnstChSttnHead(valueList)
|
||||
}
|
||||
onSaved?.();
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<div>
|
||||
<div className="max-h-[95vh] overflow-y-auto">
|
||||
<Form {...form}>
|
||||
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ export default function SttnDetailModal({
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="">
|
||||
<Title
|
||||
title={
|
||||
type === "RNB"
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Reference in New Issue
Block a user