Merge branch 'iipbs/sn/dev' of https://www.onasys.co.kr:3000/ONAANDALL/frontend into iipbs/sn/dev
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import { usageProcData } from "@/app/store/matDmd/coMatRvw/headList";
|
import { usageProcData } from "@/app/store/matDmd/coMatRvw/headList";
|
||||||
import {
|
import {
|
||||||
DmdCoReqSchema,
|
DmdCoReqSchema,
|
||||||
@@ -148,9 +149,12 @@ export default function CoMatRvw() {
|
|||||||
|
|
||||||
const getSelCity = (val: string | number) => {
|
const getSelCity = (val: string | number) => {
|
||||||
const cityValue = String(val); // Ensure val is treated as a string
|
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);
|
setSelectSgg(data);
|
||||||
setObjSearch({ city: cityValue, sgg: "" });
|
setObjSearch({ city: cityValue, sgg: "0" });
|
||||||
};
|
};
|
||||||
|
|
||||||
const getSgg = (val: string | number) => {
|
const getSgg = (val: string | number) => {
|
||||||
@@ -191,6 +195,7 @@ export default function CoMatRvw() {
|
|||||||
selectClass={""}
|
selectClass={""}
|
||||||
selectArray={code.cityCd || []}
|
selectArray={code.cityCd || []}
|
||||||
onSelectValue={getSelCity}
|
onSelectValue={getSelCity}
|
||||||
|
value={objSearch.city}
|
||||||
/>
|
/>
|
||||||
<SelectBox
|
<SelectBox
|
||||||
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
||||||
@@ -198,6 +203,7 @@ export default function CoMatRvw() {
|
|||||||
selectClass={""}
|
selectClass={""}
|
||||||
selectArray={selectSgg || []}
|
selectArray={selectSgg || []}
|
||||||
onSelectValue={getSgg}
|
onSelectValue={getSgg}
|
||||||
|
value={objSearch.sgg}
|
||||||
/>
|
/>
|
||||||
<div className="col-span-7 w-full">
|
<div className="col-span-7 w-full">
|
||||||
<div className="flex flex-row items-center">
|
<div className="flex flex-row items-center">
|
||||||
@@ -241,7 +247,7 @@ export default function CoMatRvw() {
|
|||||||
<div className="space-y">
|
<div className="space-y">
|
||||||
<div className="flex flex-row w-full justify-end space-x-2 mt-6">
|
<div className="flex flex-row w-full justify-end space-x-2 mt-6">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (fromDate && toDate) {
|
if (fromDate && toDate) {
|
||||||
const fromNum = Number(fromDate);
|
const fromNum = Number(fromDate);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import { ruseUtzType } from "@/app/store/matDmd/ruseCaseMng/headList";
|
import { ruseUtzType } from "@/app/store/matDmd/ruseCaseMng/headList";
|
||||||
import { excelDownload, getCity } from "@/components/lib/func/commom";
|
import { excelDownload, getCity } from "@/components/lib/func/commom";
|
||||||
import RuseCaseMngExcel from "@/components/ui/modal/coMat/ruseCaseMng/ruseCaseMngExcelModal";
|
import RuseCaseMngExcel from "@/components/ui/modal/coMat/ruseCaseMng/ruseCaseMngExcelModal";
|
||||||
@@ -60,9 +61,13 @@ export default function RuseCaseMng() {
|
|||||||
(item: { val: string; text: string }) => item.val === cityValue
|
(item: { val: string; text: string }) => item.val === cityValue
|
||||||
)?.text;
|
)?.text;
|
||||||
setSidoCd(cityText || "");
|
setSidoCd(cityText || "");
|
||||||
const data = getCity(cityValue, code.sggCd);
|
const data =
|
||||||
|
cityValue === "0"
|
||||||
|
? [{ val: "0", text: "전체" }]
|
||||||
|
: getCity(cityValue, code.sggCd);
|
||||||
setSelectSgg(data);
|
setSelectSgg(data);
|
||||||
setObjSearch({ city: cityValue, sgg: "" });
|
setSigunguCd("");
|
||||||
|
setObjSearch({ city: cityValue, sgg: "0" });
|
||||||
};
|
};
|
||||||
|
|
||||||
// 시군구 선택
|
// 시군구 선택
|
||||||
@@ -198,6 +203,7 @@ export default function RuseCaseMng() {
|
|||||||
selectClass={""}
|
selectClass={""}
|
||||||
selectArray={code.cityCd || []}
|
selectArray={code.cityCd || []}
|
||||||
onSelectValue={getSelCity}
|
onSelectValue={getSelCity}
|
||||||
|
value={objSearch.city}
|
||||||
/>
|
/>
|
||||||
<SelectBox
|
<SelectBox
|
||||||
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
||||||
@@ -205,6 +211,7 @@ export default function RuseCaseMng() {
|
|||||||
selectClass={""}
|
selectClass={""}
|
||||||
selectArray={selectSgg || []}
|
selectArray={selectSgg || []}
|
||||||
onSelectValue={getSgg}
|
onSelectValue={getSgg}
|
||||||
|
value={objSearch.sgg}
|
||||||
/>
|
/>
|
||||||
<SelectBox
|
<SelectBox
|
||||||
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
className="col-span-2 w-1/3 h-full text-2xl ml-4"
|
||||||
@@ -216,7 +223,7 @@ export default function RuseCaseMng() {
|
|||||||
}}
|
}}
|
||||||
value={selectUtz || ruseUtzType[0]?.val}
|
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
|
<SearchInput
|
||||||
className={"col-span-2 w-1/3 text-2xl"}
|
className={"col-span-2 w-1/3 text-2xl"}
|
||||||
label=""
|
label=""
|
||||||
@@ -231,7 +238,7 @@ export default function RuseCaseMng() {
|
|||||||
<div className="space-y">
|
<div className="space-y">
|
||||||
<div className="flex flex-row space-x-2">
|
<div className="flex flex-row space-x-2">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
selectRuseCaseMng(
|
selectRuseCaseMng(
|
||||||
false,
|
false,
|
||||||
@@ -249,7 +256,7 @@ export default function RuseCaseMng() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsExcelOpen(true);
|
setIsExcelOpen(true);
|
||||||
}}
|
}}
|
||||||
@@ -257,7 +264,7 @@ export default function RuseCaseMng() {
|
|||||||
엑셀등록
|
엑셀등록
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={`${btnClass} green`}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
selectRuseCaseMng(
|
selectRuseCaseMng(
|
||||||
true,
|
true,
|
||||||
@@ -270,12 +277,11 @@ export default function RuseCaseMng() {
|
|||||||
);
|
);
|
||||||
// download()
|
// download()
|
||||||
}}
|
}}
|
||||||
className={"green"}
|
|
||||||
>
|
>
|
||||||
다운로드
|
엑셀다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
excelDownload(
|
excelDownload(
|
||||||
[[]],
|
[[]],
|
||||||
@@ -341,4 +347,3 @@ export default function RuseCaseMng() {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import { type RvwHistTableType } from "@/app/store/matDmd/coMatRvw/type";
|
import { type RvwHistTableType } from "@/app/store/matDmd/coMatRvw/type";
|
||||||
import {
|
import {
|
||||||
confirmToast,
|
confirmToast,
|
||||||
@@ -61,7 +62,10 @@ export default function RuseRvwHstry() {
|
|||||||
|
|
||||||
const getSelCity = (val: string | number) => {
|
const getSelCity = (val: string | number) => {
|
||||||
const cityValue = String(val); // Ensure val is treated as a string
|
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);
|
setSelectSgg(data);
|
||||||
setObjSearch({ city: cityValue, sgg: "0" });
|
setObjSearch({ city: cityValue, sgg: "0" });
|
||||||
};
|
};
|
||||||
@@ -239,6 +243,7 @@ export default function RuseRvwHstry() {
|
|||||||
selectClass={""}
|
selectClass={""}
|
||||||
selectArray={code.cityCd || []}
|
selectArray={code.cityCd || []}
|
||||||
onSelectValue={getSelCity}
|
onSelectValue={getSelCity}
|
||||||
|
value={objSearch.city}
|
||||||
>
|
>
|
||||||
{""}
|
{""}
|
||||||
</SelectBox>
|
</SelectBox>
|
||||||
@@ -248,6 +253,7 @@ export default function RuseRvwHstry() {
|
|||||||
selectClass={""}
|
selectClass={""}
|
||||||
selectArray={selectSgg || []}
|
selectArray={selectSgg || []}
|
||||||
onSelectValue={getSgg}
|
onSelectValue={getSgg}
|
||||||
|
value={objSearch.sgg}
|
||||||
>
|
>
|
||||||
{""}
|
{""}
|
||||||
</SelectBox>
|
</SelectBox>
|
||||||
@@ -299,14 +305,14 @@ export default function RuseRvwHstry() {
|
|||||||
<div className="space-y">
|
<div className="space-y">
|
||||||
<div className="flex flex-row space-x-2">
|
<div className="flex flex-row space-x-2">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
getButtonSearch();
|
getButtonSearch();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button size={"sm"} onClick={confrirmToast} disabled={regAuthrtYn==='N'}>
|
<Button className={btnClass} onClick={confrirmToast} disabled={regAuthrtYn==='N'}>
|
||||||
저장
|
저장
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -69,7 +69,10 @@ export default function CoSttn() {
|
|||||||
const getSelCity = useCallback(
|
const getSelCity = useCallback(
|
||||||
(val: string | number) => {
|
(val: string | number) => {
|
||||||
const cityValue = String(val);
|
const cityValue = String(val);
|
||||||
const data = getCity(cityValue, code.sggCd);
|
const data =
|
||||||
|
cityValue === "0"
|
||||||
|
? [{ val: "0", text: "전체" }]
|
||||||
|
: getCity(cityValue, code.sggCd);
|
||||||
setSelectSgg(data);
|
setSelectSgg(data);
|
||||||
// 시/도를 변경하면 시/군/구는 '전체'("0")로 초기화합니다.
|
// 시/도를 변경하면 시/군/구는 '전체'("0")로 초기화합니다.
|
||||||
setObjSearch({ city: cityValue, sgg: "0" });
|
setObjSearch({ city: cityValue, sgg: "0" });
|
||||||
@@ -216,11 +219,10 @@ export default function CoSttn() {
|
|||||||
</SearchFormLeft>
|
</SearchFormLeft>
|
||||||
<SearchFormRight className="w-3/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="flex flex-row 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>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsResetSelection(true);
|
setIsResetSelection(true);
|
||||||
@@ -232,7 +234,6 @@ export default function CoSttn() {
|
|||||||
등록
|
등록
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
/* 저장 로직 */
|
/* 저장 로직 */
|
||||||
@@ -250,14 +251,12 @@ export default function CoSttn() {
|
|||||||
수정
|
수정
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={`${btnClass} green`}
|
className={`${btnClass} green`}
|
||||||
onClick={excelClick}
|
onClick={excelClick}
|
||||||
>
|
>
|
||||||
다운로드
|
엑셀다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={`${btnClass}`}
|
className={`${btnClass}`}
|
||||||
onClick={(initPassword)}
|
onClick={(initPassword)}
|
||||||
>
|
>
|
||||||
@@ -357,4 +356,3 @@ export default function CoSttn() {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ export default function DrgtSttn() {
|
|||||||
}}
|
}}
|
||||||
selectClass="ml-4 text-2xl"
|
selectClass="ml-4 text-2xl"
|
||||||
/>
|
/>
|
||||||
<span className="ml-2 text-center">~</span>
|
<span className="ml-2 text-center self-center">~</span>
|
||||||
<DateMonthPicker
|
<DateMonthPicker
|
||||||
field={{
|
field={{
|
||||||
value: toDate ?? "",
|
value: toDate ?? "",
|
||||||
@@ -212,7 +212,7 @@ export default function DrgtSttn() {
|
|||||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
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">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
let sidoText: string = '';
|
let sidoText: string = '';
|
||||||
let sggText: string | string[] = '';
|
let sggText: string | string[] = '';
|
||||||
@@ -247,14 +247,12 @@ export default function DrgtSttn() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={`${btnClass} green`}
|
className={`${btnClass} green`}
|
||||||
onClick={excelClick}
|
onClick={excelClick}
|
||||||
>
|
>
|
||||||
다운로드
|
엑셀다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={onViewMapClick}
|
onClick={onViewMapClick}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ export default function LdrmntCoSttn() {
|
|||||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
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">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
ldrmntSearch(false, pageNation, '20', computeCityNm(), searchTxt || "");
|
ldrmntSearch(false, pageNation, '20', computeCityNm(), searchTxt || "");
|
||||||
isResetPage(true)
|
isResetPage(true)
|
||||||
@@ -218,7 +218,6 @@ export default function LdrmntCoSttn() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsExcelOpen({ isModal: true });
|
setIsExcelOpen({ isModal: true });
|
||||||
@@ -228,14 +227,12 @@ export default function LdrmntCoSttn() {
|
|||||||
엑셀등록
|
엑셀등록
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={() => excelDownloadClick()}
|
onClick={() => excelDownloadClick()}
|
||||||
>
|
>
|
||||||
다운로드
|
다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={`${btnClass} green`}
|
className={`${btnClass} green`}
|
||||||
onClick={excelClick}
|
onClick={excelClick}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import type { customHtdflBdst } from "@/app/store/ruseFcltMng/fcltReg/htdflReg";
|
import type { customHtdflBdst } from "@/app/store/ruseFcltMng/fcltReg/htdflReg";
|
||||||
import { tableData } from "@/components/lib/func/commom";
|
import { tableData } from "@/components/lib/func/commom";
|
||||||
import HtdflRegForm from "@/components/ui/form/fcltReg/htdflReg/htdflRegForm";
|
import HtdflRegForm from "@/components/ui/form/fcltReg/htdflReg/htdflRegForm";
|
||||||
@@ -114,7 +115,7 @@ export default function Home() {
|
|||||||
/>
|
/>
|
||||||
<div className="flex flex-row space-x-2 items-center">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (searchTxt && searchTxt.length > 0) {
|
if (searchTxt && searchTxt.length > 0) {
|
||||||
htdflNmSearch(String(0), searchTxt);
|
htdflNmSearch(String(0), searchTxt);
|
||||||
@@ -126,7 +127,7 @@ export default function Home() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => setIsNewReg(!issNewReg)}
|
onClick={() => setIsNewReg(!issNewReg)}
|
||||||
disabled={regAuthrtYn === "N"}
|
disabled={regAuthrtYn === "N"}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import {
|
import {
|
||||||
rainRegSize,
|
rainRegSize,
|
||||||
type customRainBdst,
|
type customRainBdst,
|
||||||
@@ -126,8 +127,7 @@ export default function Home() {
|
|||||||
/>
|
/>
|
||||||
<div className="flex flex-row space-x-2 items-center">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
className=""
|
className={btnClass}
|
||||||
size={"sm"}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
rainSearch(searchTxt || "", 1, laeSeCd);
|
rainSearch(searchTxt || "", 1, laeSeCd);
|
||||||
//rainSearch(searchTxt || "", pageNation, "41");
|
//rainSearch(searchTxt || "", pageNation, "41");
|
||||||
@@ -136,8 +136,7 @@ export default function Home() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
className=""
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsNewReg(!issNewReg);
|
setIsNewReg(!issNewReg);
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import {
|
import {
|
||||||
rswtRegSize,
|
rswtRegSize,
|
||||||
type customRswtBdst,
|
type customRswtBdst,
|
||||||
@@ -139,8 +140,7 @@ export default function Home() {
|
|||||||
/>
|
/>
|
||||||
<div className="flex flex-row space-x-2 items-center">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
className=""
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
rswtBdstSearch(searchTxt || "", pageNation,laeSeCd);
|
rswtBdstSearch(searchTxt || "", pageNation,laeSeCd);
|
||||||
}}
|
}}
|
||||||
@@ -148,8 +148,7 @@ export default function Home() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={`${btnClass} mr-4`}
|
||||||
className="mr-4"
|
|
||||||
onClick={() => setIsNewReg(!issNewReg)}
|
onClick={() => setIsNewReg(!issNewReg)}
|
||||||
disabled={regAuthrtYn === "N"}
|
disabled={regAuthrtYn === "N"}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ export default function HtdflSttn() {
|
|||||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
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">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
htdflSttnSearch(false, 1,htdflSttnSize, String(getConValue()), fcltNm, code.cityCd, code.sggCd);
|
htdflSttnSearch(false, 1,htdflSttnSize, String(getConValue()), fcltNm, code.cityCd, code.sggCd);
|
||||||
isResetPage(true)
|
isResetPage(true)
|
||||||
@@ -192,14 +192,12 @@ export default function HtdflSttn() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={`${btnClass} green`}
|
className={`${btnClass} green`}
|
||||||
onClick={excelClick}
|
onClick={excelClick}
|
||||||
>
|
>
|
||||||
다운로드
|
엑셀다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsChHead(true);
|
setIsChHead(true);
|
||||||
@@ -245,6 +243,7 @@ export default function HtdflSttn() {
|
|||||||
...item,
|
...item,
|
||||||
visible: item.visible ?? false,
|
visible: item.visible ?? false,
|
||||||
}))}
|
}))}
|
||||||
|
onSaved={() => setIsChHead(false)}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -261,4 +260,3 @@ export default function HtdflSttn() {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -236,6 +236,7 @@ export default function PbnstSttn() {
|
|||||||
...item,
|
...item,
|
||||||
visible: item.visible ?? false,
|
visible: item.visible ?? false,
|
||||||
}))}
|
}))}
|
||||||
|
onSaved={() => setIsChHead(false)}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -261,4 +262,3 @@ export default function PbnstSttn() {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* 빗물재이용시설 현황
|
* 빗물이용시설 현황
|
||||||
*/
|
*/
|
||||||
"use client";
|
"use client";
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
@@ -160,7 +160,7 @@ export default function RainSttn() {
|
|||||||
if (rainSttn.excelList.length > 0) {
|
if (rainSttn.excelList.length > 0) {
|
||||||
excelDownload(
|
excelDownload(
|
||||||
rainSttn.excelList,
|
rainSttn.excelList,
|
||||||
"빗물재이용시설 현황",
|
"빗물이용시설 현황",
|
||||||
"sample_rainSttn.xlsx",
|
"sample_rainSttn.xlsx",
|
||||||
"A1:W3"
|
"A1:W3"
|
||||||
);
|
);
|
||||||
@@ -228,7 +228,7 @@ export default function RainSttn() {
|
|||||||
<SearchFormRight className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
<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">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
rainSttnSearch(
|
rainSttnSearch(
|
||||||
false,
|
false,
|
||||||
@@ -244,14 +244,12 @@ export default function RainSttn() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={`${btnClass} green`}
|
className={`${btnClass} green`}
|
||||||
onClick={excelClick}
|
onClick={excelClick}
|
||||||
>
|
>
|
||||||
다운로드
|
엑셀다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsChHead(true);
|
setIsChHead(true);
|
||||||
@@ -286,9 +284,7 @@ export default function RainSttn() {
|
|||||||
</div>
|
</div>
|
||||||
<UiModal
|
<UiModal
|
||||||
open={isChHead}
|
open={isChHead}
|
||||||
onOpenChange={() => {
|
onOpenChange={() => setIsChHead(!isChHead)}
|
||||||
setIsChHead(!isChHead);
|
|
||||||
}}
|
|
||||||
bodyClass={""}
|
bodyClass={""}
|
||||||
body={
|
body={
|
||||||
<HeadChModal
|
<HeadChModal
|
||||||
@@ -297,6 +293,7 @@ export default function RainSttn() {
|
|||||||
...item,
|
...item,
|
||||||
visible: item.visible ?? false,
|
visible: item.visible ?? false,
|
||||||
}))}
|
}))}
|
||||||
|
onSaved={() => setIsChHead(false)}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -305,7 +302,7 @@ export default function RainSttn() {
|
|||||||
onOpenChange={() => {
|
onOpenChange={() => {
|
||||||
setDetailModal({ ...detailModal, isOpen: !detailModal.isOpen });
|
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} />}
|
body={<SttnDetailModal type={"RNB"} formObj={detailModal.data} />}
|
||||||
/>
|
/>
|
||||||
</ContentsDiv>
|
</ContentsDiv>
|
||||||
@@ -313,4 +310,3 @@ export default function RainSttn() {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ export default function RswtSttn() {
|
|||||||
className="w-2/12 mx-5 flex flex-col items-center justify-center space-x-2 ">
|
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">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
rswtSttnSearch(false, 1, rswtSttnSize, String(getConValue()), fcltNm, code as unknown as Record<string, SelectDataType[]>);
|
rswtSttnSearch(false, 1, rswtSttnSize, String(getConValue()), fcltNm, code as unknown as Record<string, SelectDataType[]>);
|
||||||
isResetPage(true)
|
isResetPage(true)
|
||||||
@@ -197,14 +197,12 @@ export default function RswtSttn() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={`${btnClass} green`}
|
className={`${btnClass} green`}
|
||||||
onClick={excelClick}
|
onClick={excelClick}
|
||||||
>
|
>
|
||||||
다운로드
|
엑셀다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
|
||||||
className={btnClass}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsChHead(true);
|
setIsChHead(true);
|
||||||
@@ -248,6 +246,7 @@ export default function RswtSttn() {
|
|||||||
visible: item.visible ?? false,
|
visible: item.visible ?? false,
|
||||||
}))}
|
}))}
|
||||||
type={"RST"}
|
type={"RST"}
|
||||||
|
onSaved={() => setIsChHead(false)}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
@@ -265,4 +264,3 @@ export default function RswtSttn() {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import {
|
import {
|
||||||
rainPageSize,
|
rainPageSize,
|
||||||
type rainChkZodType,
|
type rainChkZodType,
|
||||||
@@ -273,7 +274,7 @@ export default function Page() {
|
|||||||
<SearchDiv>
|
<SearchDiv>
|
||||||
<SearchFormLeft>
|
<SearchFormLeft>
|
||||||
<div className="col-span-2 flex flex-row space-x-2">
|
<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>
|
</Label>
|
||||||
<SelectBox
|
<SelectBox
|
||||||
@@ -288,7 +289,7 @@ export default function Page() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-2 flex flex-row space-x-2">
|
<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>
|
</Label>
|
||||||
<SelectBox
|
<SelectBox
|
||||||
@@ -304,7 +305,7 @@ export default function Page() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-2 flex flex-row space-x-2">
|
<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>
|
</Label>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
@@ -315,11 +316,11 @@ export default function Page() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</SearchFormLeft>
|
</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="space-y">
|
||||||
<div className="flex flex-row space-x-2">
|
<div className="flex flex-row space-x-2">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
cellClick();
|
cellClick();
|
||||||
}}
|
}}
|
||||||
@@ -327,7 +328,7 @@ export default function Page() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
clickDelete(deleteIdx, selFcltDiv);
|
clickDelete(deleteIdx, selFcltDiv);
|
||||||
}}
|
}}
|
||||||
@@ -340,7 +341,7 @@ export default function Page() {
|
|||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
chkUpdateTable(selFcltDiv);
|
chkUpdateTable(selFcltDiv);
|
||||||
}}
|
}}
|
||||||
@@ -358,7 +359,7 @@ export default function Page() {
|
|||||||
</TooltipProvider>
|
</TooltipProvider>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsRegExcel(!isRegExcel);
|
setIsRegExcel(!isRegExcel);
|
||||||
}}
|
}}
|
||||||
@@ -366,7 +367,7 @@ export default function Page() {
|
|||||||
>
|
>
|
||||||
결과등록
|
결과등록
|
||||||
</Button>
|
</Button>
|
||||||
<Button color="green" size={"sm"} onClick={excelClick}>
|
<Button color="green" className={btnClass} onClick={excelClick}>
|
||||||
양식받기
|
양식받기
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import { excelToPbnPrfData } from "@/app/store/prfmncReg/pbnstPrfmncReg/excel";
|
import { excelToPbnPrfData } from "@/app/store/prfmncReg/pbnstPrfmncReg/excel";
|
||||||
import {
|
import {
|
||||||
initValInUsage,
|
initValInUsage,
|
||||||
@@ -230,8 +231,8 @@ export default function PrfmncPrfmncReg() {
|
|||||||
<div className="col-span-4">
|
<div className="col-span-4">
|
||||||
<SearchDiv>
|
<SearchDiv>
|
||||||
<SearchFormLeft>
|
<SearchFormLeft>
|
||||||
<div className="col-span-2 flex flex-row space-x-2">
|
<div className="col-span-3 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>
|
</Label>
|
||||||
<SelectBox
|
<SelectBox
|
||||||
@@ -245,8 +246,8 @@ export default function PrfmncPrfmncReg() {
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-2 flex flex-row space-x-2">
|
<div className="col-span-3 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>
|
</Label>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
@@ -259,11 +260,11 @@ export default function PrfmncPrfmncReg() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</SearchFormLeft>
|
</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="space-y">
|
||||||
<div className="flex flex-row space-x-2">
|
<div className="flex flex-row space-x-2">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setIsReset(true);
|
setIsReset(true);
|
||||||
}}
|
}}
|
||||||
@@ -271,7 +272,7 @@ export default function PrfmncPrfmncReg() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
onSave();
|
onSave();
|
||||||
}}
|
}}
|
||||||
@@ -280,7 +281,7 @@ export default function PrfmncPrfmncReg() {
|
|||||||
저장
|
저장
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (cellNum === undefined) {
|
if (cellNum === undefined) {
|
||||||
toast.error("하수처리재이용시설을 선택해주세요.");
|
toast.error("하수처리재이용시설을 선택해주세요.");
|
||||||
@@ -293,7 +294,7 @@ export default function PrfmncPrfmncReg() {
|
|||||||
>
|
>
|
||||||
파일등록
|
파일등록
|
||||||
</Button>
|
</Button>
|
||||||
<Button color="green" size={"sm"} onClick={excelClick}>
|
<Button color="green" className={btnClass} onClick={excelClick}>
|
||||||
양식받기
|
양식받기
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import { rainPageSize } from "@/app/store/prfmncReg/chkgdnReg/rainChkgdn";
|
import { rainPageSize } from "@/app/store/prfmncReg/chkgdnReg/rainChkgdn";
|
||||||
import { rswtPageSize } from "@/app/store/prfmncReg/chkgdnReg/rswrtChkgdn";
|
import { rswtPageSize } from "@/app/store/prfmncReg/chkgdnReg/rswrtChkgdn";
|
||||||
import { excelDownload, yearOptions } from "@/components/lib/func/commom";
|
import { excelDownload, yearOptions } from "@/components/lib/func/commom";
|
||||||
@@ -222,7 +223,7 @@ export default function Page() {
|
|||||||
<div className="space-y">
|
<div className="space-y">
|
||||||
<div className="flex flex-row space-x-2">
|
<div className="flex flex-row space-x-2">
|
||||||
<Button
|
<Button
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
cellClick();
|
cellClick();
|
||||||
}}
|
}}
|
||||||
@@ -231,12 +232,12 @@ export default function Page() {
|
|||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
color="green"
|
color="green"
|
||||||
size={"sm"}
|
className={btnClass}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
excelDown();
|
excelDown();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
다운로드
|
엑셀다운로드
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -292,4 +293,3 @@ export default function Page() {
|
|||||||
</ContentsDiv>
|
</ContentsDiv>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import type { RainStatProps } from "@/app/store/stats/rainStat";
|
import type { RainStatProps } from "@/app/store/stats/rainStat";
|
||||||
import { excelDownload, tableData, yearOptions } from "@/components/lib/func/commom";
|
import { excelDownload, tableData, yearOptions } from "@/components/lib/func/commom";
|
||||||
import { downloadExcel } from "@common/business_components";
|
import { downloadExcel } from "@common/business_components";
|
||||||
@@ -247,13 +248,13 @@ export default function RainStat() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-row space-x-2 items-center">
|
<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>
|
||||||
<Button className="" size={"sm"} onClick={() => excelClick()}>
|
<Button className={btnClass} onClick={() => excelClick()}>
|
||||||
다운로드
|
다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button className="" size={"sm"} onClick={() => excelDetailDownLoad()}>
|
<Button className={btnClass} onClick={() => excelDetailDownLoad()}>
|
||||||
전체통계다운로드
|
전체통계다운로드
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { useWrStore } from "@/app/store";
|
import { useWrStore } from "@/app/store";
|
||||||
|
import { btnClass } from "@/app/store/common/code";
|
||||||
import type { RswtStatProps } from "@/app/store/stats/rswtStat";
|
import type { RswtStatProps } from "@/app/store/stats/rswtStat";
|
||||||
import { excelDownload, tableData, yearOptions } from "@/components/lib/func/commom";
|
import { excelDownload, tableData, yearOptions } from "@/components/lib/func/commom";
|
||||||
import {
|
import {
|
||||||
@@ -246,8 +247,7 @@ export default function RswtStat() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="flex flex-row space-x-2 items-center">
|
<div className="flex flex-row space-x-2 items-center">
|
||||||
<Button
|
<Button
|
||||||
className=""
|
className={btnClass}
|
||||||
size="sm"
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
searchRswtStatList(searchYear, code.cityCd,code.rswtBdstType)
|
searchRswtStatList(searchYear, code.cityCd,code.rswtBdstType)
|
||||||
}}
|
}}
|
||||||
@@ -255,15 +255,13 @@ export default function RswtStat() {
|
|||||||
조회
|
조회
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
className=""
|
className={btnClass}
|
||||||
size="sm"
|
|
||||||
onClick={excelClick}
|
onClick={excelClick}
|
||||||
>
|
>
|
||||||
다운로드
|
다운로드
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
className=""
|
className={btnClass}
|
||||||
size="sm"
|
|
||||||
onClick={excelDetailDownLoad}
|
onClick={excelDetailDownLoad}
|
||||||
>
|
>
|
||||||
전체통계다운로드
|
전체통계다운로드
|
||||||
|
|||||||
@@ -10,574 +10,107 @@ export const sttnHeadListType = z.array(
|
|||||||
);
|
);
|
||||||
|
|
||||||
export const rainSttHeadListExport: z.infer<typeof sttnHeadListType> = [
|
export const rainSttHeadListExport: z.infer<typeof sttnHeadListType> = [
|
||||||
{
|
{ id: "cityText", title: "시도", visible: true, },
|
||||||
id: "cityText",
|
{ id: "sggText", title: "시군구", visible: true, },
|
||||||
title: "시도",
|
{ id: "bdstNm", title: "건축물명", visible: true, },
|
||||||
visible: true,
|
{ id: "daddr", title: "주소", visible: true, },
|
||||||
},
|
{ id: "bdsgUsgText", title: "건축물용도", visible: true, },
|
||||||
{
|
{ id: "frstArchPrmsnDt", title: "최초건축허가일시", visible: true, },
|
||||||
id: "sggText",
|
{ id: "archArea", title: "건축면적", visible: true, },
|
||||||
title: "시군구",
|
{ id: "chBuildingYn", title: "증축・개축・재축여부", visible: true, },
|
||||||
visible: true,
|
{ id: "lawTrgtYn", title: "법적의무대상여부", visible: true, },
|
||||||
},
|
{ id: "instlCmptnDt", 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: "pntfColKnd",
|
{ id: "pntfColArea", title: "집수지점면적", visible: true, },
|
||||||
title: "집수지점종류",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "pntfColArea",
|
|
||||||
title: "집수지점면적",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{ id: "dtfcltCpct", title: "저류조용량", visible: true, },
|
||||||
id: "dtfcltCpct",
|
{ id: "filtrTrtmfctYn", title: "여과처리시설유무", visible: true, },
|
||||||
title: "저류조용량",
|
{ id: "filtrTrtmfctCpct", title: "여과처리시설용량", visible: true, },
|
||||||
visible: true,
|
{ id: "filtrTrtmfctPrs", title: "여과처리시설처리공정", visible: true, },
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "filtrTrtmfctYn",
|
|
||||||
title: "여과처리시설유무",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "filtrTrtmfctCpct",
|
|
||||||
title: "여과처리시설용량",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "filtrTrtmfctPrs",
|
|
||||||
title: "여과처리시설처리공정",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{ id: "instlCstSprtYn", title: "설치지원비용여부", visible: true, },
|
||||||
id: "instlCstSprtYn",
|
{ id: "instlCstSprtAmt", title: "설치지원비용", visible: true, },
|
||||||
title: "설치지원비용여부",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "instlCstSprtAmt",
|
|
||||||
title: "설치지원비용",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{ id: "grntchBdstCertYn", title: "녹색건축물인증여부", visible: true, },
|
||||||
id: "grntchBdstCertYn",
|
{ id: "grntchBdstCertYr", title: "녹색건축물인증년도", visible: true, },
|
||||||
title: "녹색건축물인증여부",
|
{ id: "grntchBdstCertNo", title: "녹색건축물인증번호", visible: true, },
|
||||||
visible: true,
|
{ id: "grntchBdstCertGrdText", title: "녹색건축물인증등급", visible: true, },
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "grntchBdstCertYr",
|
|
||||||
title: "녹색건축물인증년도",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "grntchBdstCertNo",
|
|
||||||
title: "녹색건축물인증번호",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "grntchBdstCertGrdText",
|
|
||||||
title: "녹색건축물인증등급",
|
|
||||||
visible: true,
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// id는 다확인해야함
|
// id는 다확인해야함
|
||||||
export const rainSttNodeListExport: CommonTableProps[] = [
|
export const rainSttNodeListExport: CommonTableProps[] = [
|
||||||
{
|
{ id: "bdnstInfo", title: "건축물정보", visible: true, row: 1, rowSpan: 1, colSpan: 10, },
|
||||||
id: "bdnstInfo",
|
{ id: "rainFcltInfo", title: "빗물이용시설정보", visible: true, row: 1, rowSpan: 1, colSpan: 7, },
|
||||||
title: "건축물정보",
|
{ id: "insenInfo", title: "인센티브 정보", visible: true, row: 1, rowSpan: 1, colSpan: 6, },
|
||||||
visible: true,
|
{ id: "adminDiv", title: "행정구역", visible: true, row: 2, upName: "bdnstInfo", rowSpan: 1, colSpan: 2, },
|
||||||
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번째줄 시작
|
// 3번째줄 시작
|
||||||
{
|
{ id: "cityText", title: "시도", visible: true, upName: "adminDiv", row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
id: "cityText",
|
{ id: "sggText", title: "시군구", visible: true, upName: "adminDiv", row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
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번째 줄
|
// 2번째 줄
|
||||||
// 1번째 줄 건축물정보 아래의 행으로 만들 헤더
|
// 1번째 줄 건축물정보 아래의 행으로 만들 헤더
|
||||||
{
|
{ id: "bdstNm", title: "건축물명", visible: true, upName: "bdnstInfo", row: 2, rowSpan: 2, colSpan: 1, },
|
||||||
id: "bdstNm",
|
{ id: "daddr", title: "주소", visible: true, upName: "bdnstInfo", row: 2, rowSpan: 2, colSpan: 1, },
|
||||||
title: "건축물명",
|
{ id: "bdsgUsgText", title: "건축물용도", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||||
visible: true,
|
{ id: "frstArchPrmsnDt", title: "최초건축허가일시", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||||
upName: "bdnstInfo",
|
{ id: "archArea", title: "건축면적(m²)", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||||
row: 2,
|
{ id: "chBuildingYn", title: "증축・개축・재축여부", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||||
rowSpan: 2,
|
{ id: "lawTrgtYn", title: "법적의무대상여부", upName: "bdnstInfo", visible: true, row: 2, rowSpan: 2, colSpan: 1, },
|
||||||
colSpan: 1,
|
{ id: "instlCmptnDt", title: "설치완료일시", upName: "bdnstInfo", visible: true, 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: "pntfColKnd",
|
{ id: "pntfColArea", title: "면적(m²)", upName: "pntfCol", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
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: "dtfcltCpct",
|
{ id: "filtrTrtmfctYn", title: "여과처리시설유무", upName: "filtrTrtmfct", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
title: "저류조용량(m³)",
|
{ id: "filtrTrtmfctCpct", title: "여과처리시설용량(m³)", upName: "filtrTrtmfct", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
upName: "rainFcltInfo",
|
{ id: "filtrTrtmfctPrs", title: "여과처리시설처리공정", upName: "filtrTrtmfct", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
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: "filtrTrtmfct",
|
{ id: "instlCstSprtYn", title: "설치지원비용여부", upName: "instlCstSprt", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
title: "여과등 처리시설",
|
{ id: "instlCstSprtAmt", title: "설치지원비용(원)", upName: "instlCstSprt", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
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: "grntchBdstCertYn",
|
{ id: "grntchBdstCertYr", title: "인증년도", upName: "grntchBdstCert", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
title: "인증여부",
|
{ id: "grntchBdstCertNo", title: "인증번호", upName: "grntchBdstCert", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
upName: "grntchBdstCert",
|
{ id: "grntchBdstCertGrdText", title: "인증등급", upName: "grntchBdstCert", visible: true, row: 3, rowSpan: 1, colSpan: 1, },
|
||||||
visible: true,
|
{ id: "grntchBdstCert", title: "녹색건축물인증", upName: "insenInfo", visible: true, row: 2, rowSpan: 1, colSpan: 4, },
|
||||||
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[] = [
|
export const rainSttnDetailNodeListExport:CommonTableProps[] = [
|
||||||
{ id: "totalSplyUswtrUtztnQnt",
|
{ id: "totalSplyUswtrUtztnQnt", title: "연간보급수이용량(m³)", visible: true, row: 1, rowSpan: 2, colSpan: 1, },
|
||||||
title: "연간보급수이용량(m³)",
|
{ id: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)", visible: true, row: 1, rowSpan: 2, colSpan: 1 },
|
||||||
visible: true,
|
{ id: "useQulity", title: "이용수질(필요시)", visible: true, row: 1, rowSpan: 1, colSpan: 4 },
|
||||||
row: 1,
|
{ id: "ph", title: "pH", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||||
rowSpan: 2,
|
{ id: "trbt", title: "탁도", visible: true, row: 2, rowSpan: 1, colSpan: 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: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)",
|
{ id: "feeHistory", title: "과태료부과내역", visible: true, row: 1, rowSpan: 1, colSpan: 3 },
|
||||||
visible: true,
|
{ id: "vltnDt", title: "부과일(위반일)", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||||
row: 1,
|
{ id: "vltnMttr", title: "위반사항", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||||
rowSpan: 2,
|
{ id: "levyAmt", title: "부과금액(천원)", visible: true, row: 2, rowSpan: 1, colSpan: 1 },
|
||||||
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[] = [
|
export const rainSttnDetailHeadListExport:CommonTableProps[] = [
|
||||||
{ id: "totalSplyUswtrUtztnQnt",
|
{ id: "totalSplyUswtrUtztnQnt", title: "연간보급수이용량(m³)", visible: true, row: 1, rowSpan: 1, colSpan: 1, },
|
||||||
title: "연간보급수이용량(m³)",
|
{ id: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||||
visible: true,
|
|
||||||
row: 1,
|
|
||||||
rowSpan: 1,
|
|
||||||
colSpan: 1,
|
|
||||||
},
|
|
||||||
{ id: "totalRuseFcltUtztnQnt", title: "연간빗물이용량(m³)",
|
|
||||||
visible: true,
|
|
||||||
row: 1,
|
|
||||||
rowSpan: 1,
|
|
||||||
colSpan: 1
|
|
||||||
},
|
|
||||||
|
|
||||||
{ id: "ph", title: "pH",
|
{ id: "ph", title: "pH", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||||
visible: true,
|
{ id: "trbt", title: "탁도", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||||
row: 1,
|
{ id: "grssClfg", title: "총대장균군수", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||||
rowSpan: 1,
|
{ id: "etc", title: "기타", visible: true, row: 1, rowSpan: 1, colSpan: 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: "trbt",
|
{ id: "levyAmt", title: "부과금액(천원)", visible: true, row: 1, rowSpan: 1, colSpan: 1 },
|
||||||
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
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -222,10 +222,7 @@ export const rainSttnActionsExport: (set: any) => rainSttnActions = (
|
|||||||
rainSttnChkSearch: async (
|
rainSttnChkSearch: async (
|
||||||
rusePk: string
|
rusePk: string
|
||||||
) => {
|
) => {
|
||||||
const rainChkRes = await getFetch(
|
const rainChkRes = await getFetch( fetchType.WR, `/reuseChk/rainy/${rusePk}` );
|
||||||
fetchType.WR,
|
|
||||||
`/reuseChk/rainy/${rusePk}`
|
|
||||||
);
|
|
||||||
|
|
||||||
return set((state: rainSttnState) => ({
|
return set((state: rainSttnState) => ({
|
||||||
rainSttn: {
|
rainSttn: {
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ export function RainFacility({
|
|||||||
if (rainMapExcelList.length > 0) {
|
if (rainMapExcelList.length > 0) {
|
||||||
excelDownload(
|
excelDownload(
|
||||||
rainMapExcelList,
|
rainMapExcelList,
|
||||||
"빗물재이용시설 현황",
|
"빗물이용시설 현황",
|
||||||
"sample_rainSttn.xlsx",
|
"sample_rainSttn.xlsx",
|
||||||
"A1:W3"
|
"A1:W3"
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -7,7 +7,15 @@ import { useEffect } from "react";
|
|||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { z } from "zod";
|
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);
|
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') {
|
} else if (type === 'PBN') {
|
||||||
pbnstChSttnHead(valueList)
|
pbnstChSttnHead(valueList)
|
||||||
}
|
}
|
||||||
|
onSaved?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div>
|
<div className="max-h-[95vh] overflow-y-auto">
|
||||||
<Form {...form}>
|
<Form {...form}>
|
||||||
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
|
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ export default function SttnDetailModal({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="">
|
||||||
<Title
|
<Title
|
||||||
title={
|
title={
|
||||||
type === "RNB"
|
type === "RNB"
|
||||||
|
|||||||
Reference in New Issue
Block a user