89 lines
3.7 KiB
TypeScript
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 |