Files
frontend/apps/sn/app/(map-layout)/map/components/popupComponent/SwtrmtFclt.tsx
T

89 lines
3.7 KiB
TypeScript

'use client'
import React, { useState,useEffect } from 'react'
import Modal from '@/components/ui/modal';
import { VerticalTable } from '@/components/ui/verticalTable';
import { UiTable } from '@common/business_components/ui';
import { Button } from '@common/components/ui';
import { useDcTree, flattenFolders, getFileDownload, addFileName, type FlattenedFolder} from '../../searchModal/searchModalReportApi';
// 하수처리시설
const headList = [
{ id: "title", title: "하수도정비 기본계획보고서" },
];
const modalHeadList = [
{ id: "no", title: "번호" },
{ id: "year", title: "승인연도" },
{ id: "cad", title: '평면도' },
{ id: "fileNm", title: "파일명" },
{ id: "date", title: "입력시간" },
]
const SwtrmtFclt = ({ gisObject }: { gisObject: any }) => {
const [isModalOpen, setIsModalOpen] = useState(false);
const [modalTitle, setModalTitle] = useState<string>('');
const [dcDataOne, setDcDataOne] = useState<FlattenedFolder|undefined>({});
const openModal = (title: string) => {
setIsModalOpen(true);
setModalTitle(title)
};
const closeModal = () => {
setIsModalOpen(false);
};
const ctpvNm = gisObject?.ctpv_nm;
//const reportOriginData = useDcTree(ctpvNm);
const reportOriginData = useDcTree("강원특별자치도");
useEffect(() => {
const fetch = async () => {
if (!reportOriginData || reportOriginData.length === 0) {
return;
}
const reportData = flattenFolders(reportOriginData);
let filterReportData = [...reportData];
if (gisObject && gisObject.sgg_nm !== undefined && gisObject.sgg_nm !== "") { // 시군구검색
//const sggNm = gisObject?.sgg_nm;
const sggNm = "강릉시";
filterReportData = filterReportData.filter(item => item.sigungu === sggNm);
}
addFileName(filterReportData).then(data => {
filterReportData = data.filter(item => item.filePath !== undefined && item.filePath !== "");
if (filterReportData !== undefined && filterReportData.length > 0) {
setDcDataOne(filterReportData[0]);
}
});
console.log("filterReportData", filterReportData);
};
fetch();
}, [reportOriginData]);
// 하수도정비기본계획 filedownload 핸들러
const handleFileDownloadClick = () => {
if (dcDataOne && dcDataOne !== undefined && dcDataOne.fileSn !== undefined && dcDataOne.fileSn !== ""
&& dcDataOne.filePath !== undefined && dcDataOne.filePath !== "" && dcDataOne.fileName !== undefined && dcDataOne.fileName !== "" ) {
console.log("dcDataOne", dcDataOne);
getFileDownload(String(dcDataOne.fileSn), String(dcDataOne.fileName), String(dcDataOne.filePath));
}
};
//cad: <Button onClick={() => openModal('하수도대장 평면도')}>평면도</Button>,
return (
<div>
<VerticalTable
children={{
title: <Button className="gray" onClick={() => handleFileDownloadClick()}>다운로드</Button>
}} headName='디지털 자료관 연계정보' tableData={[]} headlist={headList} pageSize={20} total={0} cellClick={undefined} isEditable={true} onPageChange={function (page: number): void {
throw new Error("Function not implemented.");
}}></VerticalTable>
{/* <Modal isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} closeModal={closeModal}>
<div className='grid grid-col-2'>
<UiTable headName={modalTitle} tableData={[]} headlist={modalHeadList} pageSize={20} total={0} cellClick={undefined} onPageChange={function (page: number): void {
throw new Error("Function not implemented.");
}
}></UiTable>
</div>
</Modal> */}
</div>
)
}
export default SwtrmtFclt