Merge branch 'iipbs/sn/dev'
This commit is contained in:
@@ -23,6 +23,7 @@ import LoadingOverlay from '@/components/ui/LoadingBar';
|
|||||||
import useReportTab from './useReportTab';
|
import useReportTab from './useReportTab';
|
||||||
import useStore from '@/store/useStore';
|
import useStore from '@/store/useStore';
|
||||||
import { CtpvSggPrcsFcltSelectBox } from '@/components/ui/ctpvSggPrcsFcltSelectBox';
|
import { CtpvSggPrcsFcltSelectBox } from '@/components/ui/ctpvSggPrcsFcltSelectBox';
|
||||||
|
import useSearchModalStore from '@/store/useSearchModalStore';
|
||||||
import { useReportTabStore } from '@/store/useReportTabStore';
|
import { useReportTabStore } from '@/store/useReportTabStore';
|
||||||
import ReportFilesModal from './reportFilesModal'; // 파일목록모달
|
import ReportFilesModal from './reportFilesModal'; // 파일목록모달
|
||||||
|
|
||||||
@@ -47,19 +48,31 @@ interface ReportTabProps {
|
|||||||
|
|
||||||
const ReportTab: React.FC<ReportTabProps> = ({ open, isSearch = true, ctpvNm, sggNm }) => {
|
const ReportTab: React.FC<ReportTabProps> = ({ open, isSearch = true, ctpvNm, sggNm }) => {
|
||||||
|
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
// const [isLoading, setIsLoading] = useState(false);
|
||||||
const [isResetPage, setIsResetPage] = useState<boolean>(false);
|
const [isResetPage, setIsResetPage] = useState<boolean>(false);
|
||||||
const [isResetSelection, setIsResetSelection] = useState<boolean>(false);
|
const [isResetSelection, setIsResetSelection] = useState<boolean>(false);
|
||||||
const [showTable, setShowTable] = useState(false);
|
const [showTable, setShowTable] = useState(false);
|
||||||
const [tableData, setTableData] = useState<any[]>([]);
|
// const [tableData, setTableData] = useState<any[]>([]);
|
||||||
const [tableCount, setTableCount] = useState(0);
|
// const [tableCount, setTableCount] = useState(0);
|
||||||
const [curPage, setCurPage] = useState(1);
|
// const [curPage, setCurPage] = useState(1);
|
||||||
const [yearFilter, setYearFilter] = useState({ start: "", end: "" });
|
// const [yearFilter, setYearFilter] = useState({ start: "", end: "" });
|
||||||
const [ctpvCd, setCtpvCd] = useState('0');
|
const [ctpvCd, setCtpvCd] = useState('0');
|
||||||
const [sggCd, setSggCd] = useState('0');
|
const [sggCd, setSggCd] = useState('0');
|
||||||
const [reportGubun, setReportGubun] = useState("0");
|
const [reportGubun, setReportGubun] = useState("0");
|
||||||
const [clsfSystmSn, setClsfSystmSn] = useState(''); // 자료관 기본계획 일련번호
|
const [clsfSystmSn, setClsfSystmSn] = useState(''); // 자료관 기본계획 일련번호
|
||||||
|
|
||||||
|
const {
|
||||||
|
tableData,
|
||||||
|
tableCount,
|
||||||
|
isLoading,
|
||||||
|
yearFilter,
|
||||||
|
curPage,
|
||||||
|
setTableData,
|
||||||
|
setTableCount,
|
||||||
|
setIsLoading,
|
||||||
|
setYearFilter,
|
||||||
|
setCurPage
|
||||||
|
} = useSearchModalStore();
|
||||||
const { ctpv, sgg } = useStore();
|
const { ctpv, sgg } = useStore();
|
||||||
const {
|
const {
|
||||||
isOpen: isReportFilesModalOpen,
|
isOpen: isReportFilesModalOpen,
|
||||||
|
|||||||
@@ -12,9 +12,7 @@
|
|||||||
* 🔗 사용 API
|
* 🔗 사용 API
|
||||||
* - 시설물 조회: GET /v1/fclts (sewerage-service)
|
* - 시설물 조회: GET /v1/fclts (sewerage-service)
|
||||||
*/
|
*/
|
||||||
import { useEffect, useState } from 'react';
|
|
||||||
import { downloadExcelWithKoreanHeaders } from '@common/business_components/ui';
|
import { downloadExcelWithKoreanHeaders } from '@common/business_components/ui';
|
||||||
import axios from 'axios';
|
|
||||||
import {
|
import {
|
||||||
MS_SWAGE_PPL_USE_CODES, MS_SWAGE_MHL_CODES, MS_SWAGE_MHL_USE_CODES,
|
MS_SWAGE_PPL_USE_CODES, MS_SWAGE_MHL_CODES, MS_SWAGE_MHL_USE_CODES,
|
||||||
MsSwagePplExcelCol, SwtrmtFcltExcelCol, SwtrmtPrcsZoneExcelCol, MsSwageMhlExcelCol, ExclnSewagePumpExcelCol, stofcbrExcelCol
|
MsSwagePplExcelCol, SwtrmtFcltExcelCol, SwtrmtPrcsZoneExcelCol, MsSwageMhlExcelCol, ExclnSewagePumpExcelCol, stofcbrExcelCol
|
||||||
@@ -22,11 +20,11 @@ import {
|
|||||||
import { getData } from "@/components/lib/api";
|
import { getData } from "@/components/lib/api";
|
||||||
import { BASIC_TYPES } from './basicTab';
|
import { BASIC_TYPES } from './basicTab';
|
||||||
import { formatDisplayData } from '@/components/lib/utils/formatDisplayValue';
|
import { formatDisplayData } from '@/components/lib/utils/formatDisplayValue';
|
||||||
import useStore from '../../../store/useStore';
|
import useStore from '@/store/useStore';
|
||||||
import GisApp from "@common/business_components/ui/map/lib/gis.core";
|
import GisApp from "@common/business_components/ui/map/lib/gis.core";
|
||||||
import { confirmToast } from '@/components/ui/toast'
|
import { confirmToast } from '@/components/ui/toast'
|
||||||
import { toast } from "react-hot-toast";
|
import { toast } from "react-hot-toast";
|
||||||
import useSearchModalStore from '../../../store/useSearchModalStore';
|
import useSearchModalStore from '@/store/useSearchModalStore';
|
||||||
import { swagePplCqlFilters } from './swagePpl';
|
import { swagePplCqlFilters } from './swagePpl';
|
||||||
import { swagePrcsFcltCqlFilters } from './swagePrcsFclt';
|
import { swagePrcsFcltCqlFilters } from './swagePrcsFclt';
|
||||||
import { swagePrcsZoneCqlFilters } from './swagePrcsZone';
|
import { swagePrcsZoneCqlFilters } from './swagePrcsZone';
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
import { getDcData } from '@/components/lib/api';
|
import { getDcData } from '@/components/lib/api';
|
||||||
import { fileDownload } from '@/utils';
|
import { fileDownload } from '@/utils';
|
||||||
import { useReportTabStore } from '@/store/useReportTabStore';
|
import { useReportTabStore } from '@/store/useReportTabStore';
|
||||||
import useSearchModalStore from '@/app/store/useSearchModalStore';
|
import useSearchModalStore from '@/store/useSearchModalStore';
|
||||||
|
|
||||||
export type Folder = {
|
export type Folder = {
|
||||||
clsfSystmSn: string;
|
clsfSystmSn: string;
|
||||||
|
|||||||
@@ -44,7 +44,15 @@ export const useReportTabStore = create<useReportTabStoreType>((set, get) => ({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
fetchDcFiles: async (clsfSystmNm: string) => {
|
fetchDcFiles: async (clsfSystmNm: string) => {
|
||||||
const { getDcFiles } = useReportTab();
|
const getDcFiles = async (clsfSystmSn: string): Promise<ReportDataFile[]> => {
|
||||||
|
if (!clsfSystmSn) {
|
||||||
|
console.error("clsfSystmSn is required to get files.");
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const queryString = 'clsfSystmSn=' + clsfSystmSn;
|
||||||
|
const result = await getDcData(`/api/v1/dc/file${queryString ? `?${queryString}` : ''}`);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
const { dcFiles } = get();
|
const { dcFiles } = get();
|
||||||
try {
|
try {
|
||||||
const result = await getDcFiles(clsfSystmNm);
|
const result = await getDcFiles(clsfSystmNm);
|
||||||
|
|||||||
Reference in New Issue
Block a user