fix: 메뉴별 컬럼 1차 셋팅

This commit is contained in:
2025-12-29 14:58:47 +09:00
parent c6f13b35a1
commit 086478b41e
28 changed files with 2614 additions and 822 deletions
@@ -1,9 +1,237 @@
import SearchForm from "@/components/module/SearchForm";
import SearchForm from '@/components/module/SearchForm';
import DataGrid from '@/components/module/DataGrid';
import SubmitButton from '@/components/button/SumitButton';
import SaveButton from '@/components/button/SaveButton';
import LastYearDataButton from '@/components/button/LastYearDataButton';
import SubmitExceptionButton from '@/components/button/SubmitExceptionButton';
// 하수도 통계 관리 > 06. 공공하수처리시설
const PublicSewageFacilityMng = () => {
const columns = [
// 행정구역
{ name: 'sidoCd', fieldName: '시도', header: { text: '시도' } },
{ name: 'gugun', fieldName: '구군', header: { text: '구군' } },
// 시설명
{ name: 'bscFctNm', fieldName: '시설명', header: { text: '시설명(500m³/일 이상/미만)' } },
// 소재지
{ name: 'addr', fieldName: '소재지', header: { text: '소재지' } },
// 시설용량
{ name: 'fctCpc', fieldName: '시설용량', header: { text: '시설용량(500m³/일 이상/미만)' } },
// 시설용량 - (m³/일)
{ name: 'fctCpc1', fieldName: '물리적(시설용량)', header: { text: '물리적' } },
{ name: 'fctCpc2', fieldName: '생물학적(시설용량)', header: { text: '생물학적' } },
{ name: 'fctCpc3', fieldName: '고도(시설용량)', header: { text: '고도' } },
// 유입하수량
{ name: 'totInflAmntAve', fieldName: '유입하수량', header: { text: '유입하수량(500m³/일 이상/미만)' } },
// 유입하수량 - (m³/일)
{ name: 'pInflAmntAve', fieldName: '물리적(유입)', header: { text: '물리적' } },
{ name: 'oInflAmntAve', fieldName: '생물학적(유입)', header: { text: '생물학적' } },
{ name: 'aInflAmntAve', fieldName: '고도(유입)', header: { text: '고도' } },
// 방류량
{ name: 'totTputAve', fieldName: '방류량', header: { text: '방류량(500m³/일 이상/미만)' } },
// 방류량 - (m³/일)
{ name: 'pTputAve', fieldName: '물리적(방류)', header: { text: '물리적' } },
{ name: 'oTputAve', fieldName: '생물학적(방류)', header: { text: '생물학적' } },
{ name: 'aTputAve', fieldName: '고도(방류)', header: { text: '고도' } },
// 수질
{ name: 'inflAssctBfrWqltBod', fieldName: '유입BOD', header: { text: '유입BOD' } },
{ name: 'efflWqltBod', fieldName: '방류BOD', header: { text: '방류BOD' } },
{ name: 'inflAssctBfrWqltToc', fieldName: '유입TOC', header: { text: '유입TOC' } },
{ name: 'efflWqltToc', fieldName: '방류TOC', header: { text: '방류TOC' } },
{ name: 'inflAssctBfrWqltSs', fieldName: '유입SS', header: { text: '유입SS' } },
{ name: 'efflWqltSs', fieldName: '방류SS', header: { text: '방류SS' } },
{ name: 'inflAssctBfrWqltTn', fieldName: '유입T-N', header: { text: '유입T-N' } },
{ name: 'efflWqltTn', fieldName: '방류T-N', header: { text: '방류T-N' } },
{ name: 'inflAssctBfrWqltTp', fieldName: '유입T-P', header: { text: '유입T-P' } },
{ name: 'efflWqltTp', fieldName: '방류T-P', header: { text: '방류T-P' } },
{ name: 'inflAssctBfrWqltClfgrpcnt', fieldName: '유입총대장균군수', header: { text: '유입총대장균군수' } },
{ name: 'efflWqltClfgrpcnt', fieldName: '방류총대장균군수', header: { text: '방류총대장균군수' } },
// 처리특성
{ name: 'tmEfficiency', fieldName: '처리효율(%)', header: { text: '처리효율(%)' } },
{ name: 'pcLoad', fieldName: '처리부하량', header: { text: '처리부하량(kgBOD/D)' } },
{ name: 'trtFrfHanNm', fieldName: '처리방법', header: { text: '처리방법' } },
// 연계처리량
{ name: 'excretionsTot', fieldName: '분뇨', header: { text: '분뇨' } },
{ name: 'stkrsngWstwtrTot', fieldName: '축산', header: { text: '축산' } },
{ name: 'lchtTot', fieldName: '침출수', header: { text: '침출수' } },
{ name: 'etcTot', fieldName: '기타', header: { text: '기타' } },
// 시설정보
{ name: 'tel', fieldName: '전화번호', header: { text: '전화번호' } },
{ name: 'rnDt', fieldName: '준공일', header: { text: '준공일' } },
{ name: 'compDt', fieldName: '가동개시일', header: { text: '가동개시일' } },
{ name: 'tot', fieldName: '사업비', header: { text: '사업비' } },
// 방류수 소독방법
{ name: 'dsfctNm', fieldName: '방류수 소독방법', header: { text: '방류수 소독방법' } },
// 방류수역
{ name: 'wbsnNm', fieldName: '수계', header: { text: '수계' } },
{ name: 'rvNm', fieldName: '지류', header: { text: '지류' } },
{ name: 'mdmbsn', fieldName: '세부단위구역', header: { text: '세부단위구역' } },
{ name: 'efflWqltStndrdNm', fieldName: '지역구분', header: { text: '지역구분' } },
{ name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } },
{ name: 'lgbsnBod', fieldName: '목표수질(BOD)', header: { text: '목표수질(BOD)' } },
// 에너지
{ name: 'toeRt', fieldName: '에너지자립률(%)', header: { text: '에너지자립률(%)' } },
{ name: 'toeSum', fieldName: '계(TOE)', header: { text: '계(TOE)' } },
{ name: 'elcpwAmnt', fieldName: '총 전력사용량', header: { text: '총 전력사용량(kWh)' } },
{ name: 'toeQnty', fieldName: '자체 에너지사용량', header: { text: '자체 에너지사용량(TOE)' } },
// CO2
{ name: 'co2Emissions', fieldName: 'CO2배출량', header: { text: '하수처리량당 CO2배출량(kgCO2/m³)' } },
// 운영정보
{ name: 'oprClsNm', fieldName: '운영주체', header: { text: '운영주체(자체/공기업/민간대행)' } },
// 위탁현황
{ name: 'trstOprEtpNm', fieldName: '위탁업체명', header: { text: '위탁업체명' } },
{ name: 'yrstpTrstCst', fieldName: '위탁비용', header: { text: '위탁비용(백만원/년)' } },
{ name: 'trstOprDt', fieldName: '위탁계약기간', header: { text: '위탁계약기간(yyyy-mm-dd~yyyy-mm-dd)' } },
// 기타
{ name: 'cntrTrtFctNm', fieldName: '중심처리시설', header: { text: '중심처리시설' } },
{ name: 'totWtrQrm', fieldName: '직원총수', header: { text: '직원총수(명)' } },
{ name: 'safeAcdntCo', fieldName: '안전사고건수', header: { text: '안전사고건수' } },
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
];
const columnLayout = [
{
name: 'administrative',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sidoCd', 'gugun'],
},
'bscFctNm',
'addr',
'fctCpc',
{
name: 'facilityCapacityDetail',
hideChildHeaders: false,
header: { text: '(m³/일)' },
items: ['fctCpc1', 'fctCpc2', 'fctCpc3'],
},
'totInflAmntAve',
{
name: 'influentWaterDetail',
hideChildHeaders: false,
header: { text: '(m³/일)' },
items: ['pInflAmntAve', 'oInflAmntAve', 'aInflAmntAve'],
},
'totTputAve',
{
name: 'effluentWaterDetail',
hideChildHeaders: false,
header: { text: '(m³/일)' },
items: ['pTputAve', 'oTputAve', 'aTputAve'],
},
'inflAssctBfrWqltBod',
'efflWqltBod',
'inflAssctBfrWqltToc',
'efflWqltToc',
'inflAssctBfrWqltSs',
'efflWqltSs',
'inflAssctBfrWqltTn',
'efflWqltTn',
'inflAssctBfrWqltTp',
'efflWqltTp',
'inflAssctBfrWqltClfgrpcnt',
'efflWqltClfgrpcnt',
'tmEfficiency',
'pcLoad',
'trtFrfHanNm',
{
name: 'linkedTreatment',
hideChildHeaders: false,
header: { text: '연계처리량(m³/일) (500m³/일 이상/미만)' },
items: ['excretionsTot', 'stkrsngWstwtrTot', 'lchtTot', 'etcTot'],
},
'tel',
'rnDt',
'compDt',
'tot',
'dsfctNm',
{
name: 'dischargeArea',
hideChildHeaders: false,
header: { text: '방류수역' },
items: [
'wbsnNm',
'rvNm',
'mdmbsn',
'efflWqltStndrdNm',
{
name: 'mediumWatershed',
hideChildHeaders: false,
header: { text: '중권역' },
items: ['lgbsn', 'lgbsnBod'],
},
],
},
'toeRt',
{
name: 'energy',
hideChildHeaders: false,
header: { text: '연간 총 에너지 사용량(TOE)' },
items: ['toeSum', 'elcpwAmnt', 'toeQnty'],
},
'co2Emissions',
'oprClsNm',
{
name: 'consignmentStatus',
hideChildHeaders: false,
header: { text: '위탁현황' },
items: ['trstOprEtpNm', 'yrstpTrstCst', 'trstOprDt'],
},
'cntrTrtFctNm',
'totWtrQrm',
'safeAcdntCo',
'rmk',
];
const saveFunc = () => {
console.log('save');
// 저장 로직: 자동 계산 (합계 필드 계산) 후 저장
};
const submitFunc = () => {
console.log('submit');
// 제출 로직: 데이터 검증 후 제출 팝업 호출
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const SubmitExceptionFunc = () => {
console.log('submitException');
// 예외제출 로직
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
</div>
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={3} fixedColumns={2} />
</>
);
};
@@ -1,9 +1,174 @@
import SearchForm from "@/components/module/SearchForm";
import DataGrid from "@/components/module/DataGrid";
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
// 하수도 통계 관리 > 05. 펌프장
const PumpingStationMng = () => {
const columns = [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
// 기본 정보
{ name: 'treatmentFacilityName', fieldName: '처리장명', header: { text: '처리장명' } },
{ name: 'facilityName', fieldName: '시설명', header: { text: '시설명' } },
{ name: 'classification', fieldName: '구분(합류식 분류식)', header: { text: '구분(합류식 분류식)' } },
{ name: 'location', fieldName: '위치', header: { text: '위치' } },
{ name: 'operationDate', fieldName: '가동 년월일 yyyy-mm-dd', header: { text: '가동 년월일 yyyy-mm-dd' } },
// 계획 정보
{ name: 'planDrainageArea', fieldName: '계획배수면적(㎢)', header: { text: '계획배수면적(㎢)' } },
{ name: 'fairWeatherFlow', fieldName: '청천시(A)', header: { text: '청천시(A)' } },
{ name: 'rainyWeatherFlow', fieldName: '우천시(B)', header: { text: '우천시(B)' } },
{ name: 'rainwaterFlow', fieldName: '우수량(B-A)', header: { text: '우수량(B-A)' } },
// 배수능력
{ name: 'totalPumpCapacity', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' } },
// 배수능력 - 오수펌프(1)
{ name: 'sewagePump1Diameter', fieldName: '오수펌프(1) 구경(mm)', header: { text: '구경(mm)' } },
{ name: 'sewagePump1Capacity', fieldName: '오수펌프(1) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'sewagePump1Count', fieldName: '오수펌프(1) 펌프대수', header: { text: '펌프대수' } },
{ name: 'sewagePump1Reserve', fieldName: '오수펌프(1) 예비펌프대수', header: { text: '예비펌프대수' } },
// 배수능력 - 오수펌프(2)
{ name: 'sewagePump2Diameter', fieldName: '오수펌프(2) 구경(mm)', header: { text: '구경(mm)' } },
{ name: 'sewagePump2Capacity', fieldName: '오수펌프(2) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'sewagePump2Count', fieldName: '오수펌프(2) 펌프대수', header: { text: '펌프대수' } },
{ name: 'sewagePump2Reserve', fieldName: '오수펌프(2) 예비펌프대수', header: { text: '예비펌프대수' } },
// 배수능력 - 오수펌프(3)
{ name: 'sewagePump3Diameter', fieldName: '오수펌프(3) 구경(mm)', header: { text: '구경(mm)' } },
{ name: 'sewagePump3Capacity', fieldName: '오수펌프(3) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'sewagePump3Count', fieldName: '오수펌프(3) 펌프대수', header: { text: '펌프대수' } },
{ name: 'sewagePump3Reserve', fieldName: '오수펌프(3) 예비펌프대수', header: { text: '예비펌프대수' } },
// 배수능력 - 우수펌프(1)
{ name: 'rainwaterPump1Diameter', fieldName: '우수펌프(1) 구경(mm)', header: { text: '구경(mm)' } },
{ name: 'rainwaterPump1Capacity', fieldName: '우수펌프(1) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'rainwaterPump1Count', fieldName: '우수펌프(1) 펌프대수', header: { text: '펌프대수' } },
{ name: 'rainwaterPump1Reserve', fieldName: '우수펌프(1) 예비펌프대수', header: { text: '예비펌프대수' } },
// 배수능력 - 우수펌프(2)
{ name: 'rainwaterPump2Diameter', fieldName: '우수펌프(2) 구경(mm)', header: { text: '구경(mm)' } },
{ name: 'rainwaterPump2Capacity', fieldName: '우수펌프(2) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'rainwaterPump2Count', fieldName: '우수펌프(2) 펌프대수', header: { text: '펌프대수' } },
{ name: 'rainwaterPump2Reserve', fieldName: '우수펌프(2) 예비펌프대수', header: { text: '예비펌프대수' } },
// 배수능력 - 우수펌프(3)
{ name: 'rainwaterPump3Diameter', fieldName: '우수펌프(3) 구경(mm)', header: { text: '구경(mm)' } },
{ name: 'rainwaterPump3Capacity', fieldName: '우수펌프(3) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'rainwaterPump3Count', fieldName: '우수펌프(3) 펌프대수', header: { text: '펌프대수' } },
{ name: 'rainwaterPump3Reserve', fieldName: '우수펌프(3) 예비펌프대수', header: { text: '예비펌프대수' } },
// 기타
{ name: 'annualPowerUsage', fieldName: '연간전력사용량(kWh/년)', header: { text: '연간전력사용량(kWh/년)' } },
{ name: 'remarks', fieldName: '비고', header: { text: '비고' } },
];
const columnLayout = [
{
name: 'administrativeArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
'treatmentFacilityName',
'facilityName',
'classification',
'location',
'operationDate',
'planDrainageArea',
{
name: 'planFlowGroup',
hideChildHeaders: false,
header: { text: '계획시간대최대배수량(m³/hr)' },
items: ['fairWeatherFlow', 'rainyWeatherFlow', 'rainwaterFlow'],
},
{
name: 'drainageCapability',
hideChildHeaders: false,
header: { text: '배수능력' },
items: [
'totalPumpCapacity',
{
name: 'sewagePump1Group',
hideChildHeaders: false,
header: { text: '오수펌프(1)' },
items: ['sewagePump1Diameter', 'sewagePump1Capacity', 'sewagePump1Count', 'sewagePump1Reserve'],
},
{
name: 'sewagePump2Group',
hideChildHeaders: false,
header: { text: '오수펌프(2)' },
items: ['sewagePump2Diameter', 'sewagePump2Capacity', 'sewagePump2Count', 'sewagePump2Reserve'],
},
{
name: 'sewagePump3Group',
hideChildHeaders: false,
header: { text: '오수펌프(3)' },
items: ['sewagePump3Diameter', 'sewagePump3Capacity', 'sewagePump3Count', 'sewagePump3Reserve'],
},
{
name: 'rainwaterPump1Group',
hideChildHeaders: false,
header: { text: '우수펌프(1)' },
items: ['rainwaterPump1Diameter', 'rainwaterPump1Capacity', 'rainwaterPump1Count', 'rainwaterPump1Reserve'],
},
{
name: 'rainwaterPump2Group',
hideChildHeaders: false,
header: { text: '우수펌프(2)' },
items: ['rainwaterPump2Diameter', 'rainwaterPump2Capacity', 'rainwaterPump2Count', 'rainwaterPump2Reserve'],
},
{
name: 'rainwaterPump3Group',
hideChildHeaders: false,
header: { text: '우수펌프(3)' },
items: ['rainwaterPump3Diameter', 'rainwaterPump3Capacity', 'rainwaterPump3Count', 'rainwaterPump3Reserve'],
},
],
},
'annualPowerUsage',
'remarks',
];
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
</div>
<DataGrid columnInfo={{columns, columnLayout}} rowStartNum={3} isExcelImport={true} fixedColumns={3} />
</>
);
};
@@ -1,9 +1,45 @@
import SearchForm from "@/components/module/SearchForm";
import TabDataGrid from "@/components/module/TabDataGrid";
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import ReviewOpinionButton from "@/components/button/ReviewOpinionButton";
import ReturnButton from "@/components/button/ReturnButton";
import { SewagePipeMaintainMngColumnInfoList } from "@/components/util/column/SewagePipeMaintainMngColumn";
// 하수도 통계 관리 > 03. 하수관로 유지관리
const SewagePipeMaintainMng = () => {
const submitFunc = () => {
console.log('제출 로직 실행');
// TODO: 제출 API 호출
};
const saveFunc = () => {
console.log('저장 로직 실행');
// TODO: 저장 API 호출
};
const returnFunc = () => {
console.log('반려 로직 실행');
};
const reviewOpinionFunc = () => {
console.log('검토의견 작성 로직 실행');
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
<SubmitButton submitFunc={submitFunc} />
</div>
<TabDataGrid columnInfo={SewagePipeMaintainMngColumnInfoList} />
</>
);
};
@@ -3,8 +3,9 @@ import TabDataGrid from "@/components/module/TabDataGrid";
import ApproveButton from "@/components/button/ApproveButton";
import RejectButton from "@/components/button/RejectButton"
import { SewagePipeColumnInfoList } from "@/components/util/column/SewagePipeColumn";
import { SewagePipeMngColumnInfoList } from "@/components/util/column/SewagePipeMngColumn";
// 하수도 통계 관리 > 02. 하수관로
const SewagePipeMng = () => {
const approveFunc = () => {
@@ -24,7 +25,7 @@ const SewagePipeMng = () => {
<RejectButton rejectFunc={rejectFunc} />
<ApproveButton approveFunc={approveFunc} />
</div>
<TabDataGrid columnInfo={SewagePipeColumnInfoList}/>
<TabDataGrid columnInfo={SewagePipeMngColumnInfoList}/>
</>
);
};
@@ -1,9 +1,44 @@
import SearchForm from "@/components/module/SearchForm";
import TabDataGrid from "@/components/module/TabDataGrid";
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { SewageReservoirPumpMngColumnInfoList } from "@/components/util/column/SewageReservoirPumpMngColumn";
// 하수도 통계 관리 > 04. 하수저류 시설 및 빗물 펌프장
const SewageReservoirPumpMng = () => {
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const submitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={submitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SaveButton saveFunc={saveFunc} />
<SubmitButton submitFunc={submitFunc} />
</div>
<TabDataGrid columnInfo={SewageReservoirPumpMngColumnInfoList}/>
</>
);
};
@@ -4,10 +4,10 @@ import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import type { GridView, DataColumn, ColumnFooter } from "@/components/type/DataGrid.type";
import { getFooterSummary } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 01. 하수도 보급률
const SeweragePenetrationRateMng = () => {
const columns = [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
@@ -5,6 +5,7 @@ import RejectButton from "@/components/button/RejectButton";
import ReturnButton from "@/components/button/ReturnButton";
import ReviewOpinionButton from "@/components/button/ReviewOpinionButton";
// 하수도 통계 관리 > 00. 통계 입력 현황
const StatsInputSatusMng = () => {
const columns = [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
@@ -7,56 +7,56 @@ import ReturnButton from "@/components/button/ReturnButton";
const ExcretaTreatmentFacilityRvw = () => {
const columns = [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
const columns = [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
// 기본 정보
{ name: '시설명', fieldName: '시설명', header: { text: '시설명' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '소재지', fieldName: '소재지', header: { text: '소재지' } },
{ name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
{ name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
{ name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
{ name: '사업비(백만원)', fieldName: '사업비(백만원)', header: { text: '사업비(백만원)' } },
{ name: '시설용량(m3/일)', fieldName: '시설용량(m3/일)', header: { text: '시설용량(m3/일)' } },
{ name: '처리량(m3/일)', fieldName: '처리량(m3/일)', header: { text: '처리량(m3/일)' } },
{ name: '가동일수(일/년)', fieldName: '가동일수(일/년)', header: { text: '가동일수(일/년)' } },
// 기본 정보
{ name: '시설명', fieldName: '시설명', header: { text: '시설명' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '소재지', fieldName: '소재지', header: { text: '소재지' } },
{ name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
{ name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
{ name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
{ name: '사업비(백만원)', fieldName: '사업비(백만원)', header: { text: '사업비(백만원)' } },
{ name: '시설용량(m3/일)', fieldName: '시설용량(m3/일)', header: { text: '시설용량(m3/일)' } },
{ name: '처리량(m3/일)', fieldName: '처리량(m3/일)', header: { text: '처리량(m3/일)' } },
{ name: '가동일수(일/년)', fieldName: '가동일수(일/년)', header: { text: '가동일수(일/년)' } },
// 처리
{ name: '처리공법', fieldName: '처리공법', header: { text: '처리공법' } },
{ name: '연계처리장명', fieldName: '연계처리장명', header: { text: '연계처리장명' } },
{ name: '연계처리량', fieldName: '연계처리량', header: { text: '연계처리량' } },
// 처리
{ name: '처리공법', fieldName: '처리공법', header: { text: '처리공법' } },
{ name: '연계처리장명', fieldName: '연계처리장명', header: { text: '연계처리장명' } },
{ name: '연계처리량', fieldName: '연계처리량', header: { text: '연계처리량' } },
// 유입수질
{ name: 'BOD', fieldName: 'BOD', header: { text: 'BOD' } },
{ name: 'TOC', fieldName: 'TOC', header: { text: 'TOC' } },
{ name: 'SS', fieldName: 'SS', header: { text: 'SS' } },
{ name: 'T-N', fieldName: 'T-N', header: { text: 'T-N' } },
{ name: 'T-P', fieldName: 'T-P', header: { text: 'T-P' } },
{ name: '대장균군수', fieldName: '대장균군수', header: { text: '대장균군수' } },
// 유입수질
{ name: 'BOD', fieldName: 'BOD', header: { text: 'BOD' } },
{ name: 'TOC', fieldName: 'TOC', header: { text: 'TOC' } },
{ name: 'SS', fieldName: 'SS', header: { text: 'SS' } },
{ name: 'T-N', fieldName: 'T-N', header: { text: 'T-N' } },
{ name: 'T-P', fieldName: 'T-P', header: { text: 'T-P' } },
{ name: '대장균군수', fieldName: '대장균군수', header: { text: '대장균군수' } },
// 방류수질
{ name: '방류수질BOD', fieldName: '방류수질BOD', header: { text: 'BOD' } },
{ name: '방류수질TOC', fieldName: '방류수질TOC', header: { text: 'TOC' } },
{ name: '방류수질SS', fieldName: '방류수질SS', header: { text: 'SS' } },
{ name: '방류수질T-N', fieldName: '방류수질T-N', header: { text: 'T-N' } },
{ name: '방류수질T-P', fieldName: '방류수질T-P', header: { text: 'T-P' } },
{ name: '방류수질대장균군수', fieldName: '방류수질대장균군수', header: { text: '방류수질대장균군수' } },
// 방류수질
{ name: '방류수질BOD', fieldName: '방류수질BOD', header: { text: 'BOD' } },
{ name: '방류수질TOC', fieldName: '방류수질TOC', header: { text: 'TOC' } },
{ name: '방류수질SS', fieldName: '방류수질SS', header: { text: 'SS' } },
{ name: '방류수질T-N', fieldName: '방류수질T-N', header: { text: 'T-N' } },
{ name: '방류수질T-P', fieldName: '방류수질T-P', header: { text: 'T-P' } },
{ name: '방류수질대장균군수', fieldName: '방류수질대장균군수', header: { text: '방류수질대장균군수' } },
// 방류수역
{ name: '수계', fieldName: '수계', header: { text: '수계' } },
{ name: '지류', fieldName: '지류', header: { text: '지류' } },
{ name: '중권역', fieldName: '중권역', header: { text: '중권역' } },
{ name: '소권역', fieldName: '소권역', header: { text: '소권역' } },
// 방류수역
{ name: '수계', fieldName: '수계', header: { text: '수계' } },
{ name: '지류', fieldName: '지류', header: { text: '지류' } },
{ name: '중권역', fieldName: '중권역', header: { text: '중권역' } },
{ name: '소권역', fieldName: '소권역', header: { text: '소권역' } },
// 운영
{ name: '운영주체(자체/공기업,민간위탁)', fieldName: '운영주체(자체/공기업,민간위탁)', header: { text: '운영주체(자체/공기업,민간위탁)' } },
{ name: '직원총수(명)', fieldName: '직원총수(명)', header: { text: '직원총수(명)' } },
{ name: '안전사고건수(건,인/년)', fieldName: '안전사고건수(건,인/년)', header: { text: '안전사고건수(건,인/년)' } },
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
];
// 운영
{ name: '운영주체(자체/공기업,민간위탁)', fieldName: '운영주체(자체/공기업,민간위탁)', header: { text: '운영주체(자체/공기업,민간위탁)' } },
{ name: '직원총수(명)', fieldName: '직원총수(명)', header: { text: '직원총수(명)' } },
{ name: '안전사고건수(건,인/년)', fieldName: '안전사고건수(건,인/년)', header: { text: '안전사고건수(건,인/년)' } },
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
];
@@ -80,25 +80,25 @@ const ExcretaTreatmentFacilityRvw = () => {
'처리공법',
'연계처리장명',
'연계처리량',
{
{
name: 'groupB',
hideChildHeaders: false,
header: { text: '유입수질(mg/L,개/mL)' },
items: ['BOD','TOC','SS','T-N','T-P','대장균군수'],
items: ['BOD', 'TOC', 'SS', 'T-N', 'T-P', '대장균군수'],
},
{
name: 'groupC',
hideChildHeaders: false,
header: { text: '방류수질(mg/L,개/mL))' },
items: ['방류수질BOD','방류수질TOC','방류수질SS','방류수질T-N','방류수질T-P','방류수질대장균군수'],
items: ['방류수질BOD', '방류수질TOC', '방류수질SS', '방류수질T-N', '방류수질T-P', '방류수질대장균군수'],
},
{
name: 'groupD',
hideChildHeaders: false,
header: { text: '방류수역' },
items: ['수계','지류','중권역','소권역'],
items: ['수계', '지류', '중권역', '소권역'],
},
'운영주체(자체/공기업,민간위탁)',
'직원총수(명)',
@@ -106,7 +106,7 @@ const ExcretaTreatmentFacilityRvw = () => {
'rmk'
];
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -127,16 +127,15 @@ const ExcretaTreatmentFacilityRvw = () => {
};
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={{columns, columnLayout}} rowStartNum={2} isExcelImport={false} fixedColumns={2} />
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={2} isExcelImport={false} fixedColumns={2} />
</>
);
};
@@ -10,7 +10,7 @@ import { PrivateSewageFacilityInfoListRvw } from "@/components/util/column/Priva
const PrivateSewageFacilityRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const PrivateSewageFacilityRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={PrivateSewageFacilityInfoListRvw} isExcelImport={false}/>
<TabDataGrid columnInfo={PrivateSewageFacilityInfoListRvw} isExcelImport={false} />
</>
);
};
@@ -9,10 +9,10 @@ const PublicSewageFacilityRvw = () => {
const columns = [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '소재지', fieldName: '소재지', header: { text: '소재지' } },
//시설용량
{ name: '시설용량(500m3/일이상/미만)', fieldName: '시설용량(500m3/일이상/미만)', header: { text: '시설용량(500m3/일이상/미만)' } },
{ name: '시설용량(500m3/일이상/미만)', fieldName: '시설용량(500m3/일이상/미만)', header: { text: '시설용량(500m3/일이상/미만)' } },
{ name: '(시설용량)물리적', fieldName: '(시설용량)물리적', header: { text: '물리적' } },
{ name: '(시설용량)생물학적', fieldName: '(시설용량)생물학적', header: { text: '생물학적' } },
{ name: '(시설용량)고도', fieldName: '(시설용량)고도', header: { text: '고도' } },
@@ -44,14 +44,14 @@ const PublicSewageFacilityRvw = () => {
{ name: '처리효율(%)', fieldName: '처리효율(%)', header: { text: '처리효율(%)' } },
{ name: '처리부하량(kgBOD/D)', fieldName: '처리부하량(kgBOD/D)', header: { text: '처리부하량(kgBOD/D)' } },
{ name: '처리방법', fieldName: '처리방법', header: { text: '처리방법' } },
{ name: '(연계처리량)분뇨', fieldName: '(연계처리량)분뇨', header: { text: '분뇨' } },
{ name: '(연계처리량)축산', fieldName: '(연계처리량)축산', header: { text: '축산' } },
{ name: '(연계처리량)침출수', fieldName: '(연계처리량)침출수', header: { text: '침출수' } },
{ name: '(연계처리량)기타', fieldName: '(연계처리량)기타', header: { text: '기타' } },
{ name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
{ name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
{ name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
{ name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
{ name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
{ name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
{ name: '사업비(백만원)', fieldName: '사업비(백만원)', header: { text: '사업비(백만원)' } },
{ name: '방류수소독방법', fieldName: '방류수소독방법', header: { text: '방류수소독방법' } },
{ name: '수계', fieldName: '수계', header: { text: '수계' } },
@@ -89,23 +89,23 @@ const PublicSewageFacilityRvw = () => {
name: 'groupB',
hideChildHeaders: false,
header: { text: '(m3/일)' },
items: ['(시설용량)물리적','(시설용량)생물학적','(시설용량)고도'],
items: ['(시설용량)물리적', '(시설용량)생물학적', '(시설용량)고도'],
},
'유입하수량(500m3/일이상/미만)',
{
name: 'groupC',
hideChildHeaders: false,
header: { text: '(m3/일)' },
items: ['(유입하수량)물리적','(유입하수량)생물학적','(유입하수량)고도'],
items: ['(유입하수량)물리적', '(유입하수량)생물학적', '(유입하수량)고도'],
},
'방류량(500m3/일이상/미만)',
{
name: 'groupD',
hideChildHeaders: false,
header: { text: '(m3/일)' },
items: ['(방류량)물리적','(방류량)생물학적','(방류량)고도'],
items: ['(방류량)물리적', '(방류량)생물학적', '(방류량)고도'],
},
'유입BOD',
'방류BOD',
'유입TOC',
@@ -125,41 +125,41 @@ const PublicSewageFacilityRvw = () => {
name: 'groupE',
hideChildHeaders: false,
header: { text: '연계처리량(m3/일)(500m3/일 이상/ 미만)' },
items: ['(연계처리량)분뇨','(연계처리량)축산','(연계처리량)침출수','(연계처리량)기타'],
items: ['(연계처리량)분뇨', '(연계처리량)축산', '(연계처리량)침출수', '(연계처리량)기타'],
},
'전화번호',
'준공일',
'가동개시일',
'사업비(백만원)',
'방류수소독방법',
{
{
name: 'groupF',
hideChildHeaders: false,
header: { text: '방류수역' },
items: ['수계','지류','세부단위구역','지역구분',
{
name: 'groupG',
hideChildHeaders: false,
header: { text: '중권역' },
items: ['명칭','목표수질(BOD)'],
},
items: ['수계', '지류', '세부단위구역', '지역구분',
{
name: 'groupG',
hideChildHeaders: false,
header: { text: '중권역' },
items: ['명칭', '목표수질(BOD)'],
},
],
},
'에너지자립율(%)',
'에너지자체생산량(TOE)',
{
{
name: 'groupH',
hideChildHeaders: false,
header: { text: '연간 총 에너지 사용량(TOE)' },
items: ['계(TOE)','총전력사용량(KWh)','자체에너지사용량(TOE)'],
items: ['계(TOE)', '총전력사용량(KWh)', '자체에너지사용량(TOE)'],
},
'하수처리량당CO2배출량(KgCO2/m3)',
'운영주체(자체/공기업/민간대행)',
{
{
name: 'groupI',
hideChildHeaders: false,
header: { text: '위탁현황' },
items: ['위탁업체명','위탁비용(백만원/년)','위탁계약기간(yyyy-mm-dd~)'],
items: ['위탁업체명', '위탁비용(백만원/년)', '위탁계약기간(yyyy-mm-dd~)'],
},
'중심처리시설',
'직원총수(명)',
@@ -167,7 +167,7 @@ const PublicSewageFacilityRvw = () => {
'rmk'
];
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -188,16 +188,15 @@ const PublicSewageFacilityRvw = () => {
};
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={{columns, columnLayout}} rowStartNum={2} isExcelImport={false} fixedColumns={3} />
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={2} isExcelImport={false} fixedColumns={3} />
</>
);
};
@@ -10,7 +10,7 @@ const PumpingStationRvw = () => {
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
{ name: '펌프장명', fieldName: '펌프장명', header: { text: '펌프장명' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '처리장명', fieldName: '처리장명', header: { text: '처리장명' } },
{ name: '구분(합류식분류식)', fieldName: '구분(합류식분류식)', header: { text: '구분(합류식분류식)' } },
{ name: '위치', fieldName: '위치', header: { text: '위치' } },
@@ -31,7 +31,7 @@ const PumpingStationRvw = () => {
{ name: '오수펌프(2)양수량(m3/min)', fieldName: '오수펌프(2)양수량(m3/min)', header: { text: '양수량(m3/min)' } },
{ name: '오수펌프(2)펌프대수', fieldName: '오수펌프(2)펌프대수', header: { text: '펌프대수' } },
{ name: '오수펌프(2)예비대수', fieldName: '오수펌프(2)예비대수', header: { text: '예비대수' } },
//오수펌프(3)
//오수펌프(3)
{ name: '오수펌프(3)구경(mm)', fieldName: '오수펌프(3)구경(mm)', header: { text: '구경(mm)' } },
{ name: '오수펌프(3)양수량(m3/min)', fieldName: '오수펌프(3)양수량(m3/min)', header: { text: '양수량(m3/min)' } },
{ name: '오수펌프(3)펌프대수', fieldName: '오수펌프(3)펌프대수', header: { text: '펌프대수' } },
@@ -74,7 +74,7 @@ const PumpingStationRvw = () => {
name: 'groupB',
hideChildHeaders: false,
header: { text: '계획시간대최대배수량(m3/hr)' },
items: ['청천시(A)','우천시(B)','우수량(B-A)'],
items: ['청천시(A)', '우천시(B)', '우수량(B-A)'],
},
{
name: 'groupC',
@@ -88,7 +88,7 @@ const PumpingStationRvw = () => {
header: { text: '오수펌프(1)' },
items: ['오수펌프(1)구경(mm)', '오수펌프(1)양수량(m3/min)', '오수펌프(1)펌프대수', '오수펌프(1)예비대수'],
},
{
{
name: '오수펌프(2)',
hideChildHeaders: false,
header: { text: '오수펌프(2)' },
@@ -107,13 +107,13 @@ const PumpingStationRvw = () => {
header: { text: '우수펌프(1)' },
items: ['우수펌프(1)구경(mm)', '우수펌프(1)양수량(m3/min)', '우수펌프(1)펌프대수', '우수펌프(1)예비대수'],
},
{
{
name: '우수펌프(2)',
hideChildHeaders: false,
header: { text: '우수펌프(2)' },
items: ['우수펌프(2)구경(mm)', '우수펌프(2)양수량(m3/min)', '우수펌프(2)펌프대수', '우수펌프(2)예비대수'],
},
{
{
name: '우수펌프(3)',
hideChildHeaders: false,
header: { text: '우수펌프(3)' },
@@ -125,7 +125,7 @@ const PumpingStationRvw = () => {
'rmk',
];
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -146,16 +146,15 @@ const PumpingStationRvw = () => {
};
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={{columns, columnLayout}} rowStartNum={2} isExcelImport={false} fixedColumns={3} />
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={2} isExcelImport={false} fixedColumns={3} />
</>
);
};
@@ -11,7 +11,7 @@ import { SewageExcretaRelatedInfoListRvw } from "@/components/util/column/Sewage
const SewageExcretaRelatedRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -33,16 +33,16 @@ const SewageExcretaRelatedRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewageExcretaRelatedInfoListRvw} isExcelImport={false} />
<TabDataGrid columnInfo={SewageExcretaRelatedInfoListRvw} isExcelImport={false} />
</>
);
};
@@ -10,7 +10,7 @@ import { SewageExcretaSlurgeInfoList } from "@/components/util/column/SewageExcr
const SewageExcretaSlurgeRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewageExcretaSlurgeRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewageExcretaSlurgeInfoList} isExcelImport={false}/>
<TabDataGrid columnInfo={SewageExcretaSlurgeInfoList} isExcelImport={false} />
</>
);
};
@@ -10,7 +10,7 @@ import { SewagePipeMaintainColumnInfoListRvw } from "@/components/util/column/Se
const SewagePipeMaintainRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewagePipeMaintainRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewagePipeMaintainColumnInfoListRvw} isExcelImport={false}/>
<TabDataGrid columnInfo={SewagePipeMaintainColumnInfoListRvw} isExcelImport={false} />
</>
);
};
@@ -10,7 +10,7 @@ import { SewagePipeColumnInfoListRvw } from "@/components/util/column/SewagePipe
const SewagePipeRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewagePipeRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewagePipeColumnInfoListRvw}/>
<TabDataGrid columnInfo={SewagePipeColumnInfoListRvw} />
</>
);
};
@@ -10,7 +10,7 @@ import { SewageReservoirPumpInfoListRvw } from "@/components/util/column/SewageR
const SewageReservoirPumpRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewageReservoirPumpRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewageReservoirPumpInfoListRvw} isExcelImport={false}/>
<TabDataGrid columnInfo={SewageReservoirPumpInfoListRvw} isExcelImport={false} />
</>
);
};
@@ -10,7 +10,7 @@ import { SewerageFinanceInfoListRvw } from "@/components/util/column/SewerageFin
const SewerageFinanceRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewerageFinanceRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewerageFinanceInfoListRvw} isExcelImport={false} />
<TabDataGrid columnInfo={SewerageFinanceInfoListRvw} isExcelImport={false} />
</>
);
};
@@ -11,7 +11,7 @@ const SeweragePenetrationRateRvw = () => {
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '수계', fieldName: '수계', header: { text: '수계' } },
{ name: '수계', fieldName: '수계', header: { text: '수계' } },
{ name: 'bstrm', fieldName: '지류', header: { text: '지류' } },
{ name: 'mdbsn', fieldName: '세부단위유역', header: { text: '세부단위유역' } },
{ name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } },
@@ -30,7 +30,7 @@ const SeweragePenetrationRateRvw = () => {
{ name: '2차처리', fieldName: '2차처리', header: { text: '2차처리' } },
{ name: '3차처리', fieldName: '3차처리', header: { text: '3차처리' } },
//폐수처리인구(명)
{ name: '(폐수처리인구)합계', fieldName: '(폐수처리인구)합계', header: { text: '합계' } },
{ name: '(폐수처리인구)합계', fieldName: '(폐수처리인구)합계', header: { text: '합계' } },
{ name: '(폐수처리인구)1차처리', fieldName: '(폐수처리인구)1차처리', header: { text: '1차처리' } },
{ name: '(폐수처리인구)2차처리', fieldName: '(폐수처리인구)2차처리', header: { text: '2차처리' } },
{ name: '(폐수처리인구)3차처리', fieldName: '(폐수처리인구)3차처리', header: { text: '3차처리' } },
@@ -101,7 +101,7 @@ const SeweragePenetrationRateRvw = () => {
'rmk',
];
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -122,16 +122,15 @@ const SeweragePenetrationRateRvw = () => {
};
return (
<>
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={{columns, columnLayout}} rowStartNum={2} isExcelImport={false} fixedColumns={2} />
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={2} isExcelImport={false} fixedColumns={2} />
</>
);
};
@@ -10,7 +10,7 @@ import { SewerageServiceLevelInfoListRvw } from "@/components/util/column/Sewera
const SewerageServiceLevelRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewerageServiceLevelRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewerageServiceLevelInfoListRvw} isExcelImport={false} />
<TabDataGrid columnInfo={SewerageServiceLevelInfoListRvw} isExcelImport={false} />
</>
);
};
@@ -101,80 +101,80 @@ const StatsInputSatusRvw = () => {
name: 'groupB',
hideChildHeaders: false,
header: { text: '01. 하수도 보급율' },
items: ['제출자01', '연락처01', '지자체진행상태01','진행상태01'],
items: ['제출자01', '연락처01', '지자체진행상태01', '진행상태01'],
},
{
{
name: 'groupC',
hideChildHeaders: false,
header: { text: '02. 하수관로' },
items: ['제출자02', '연락처02', '지자체진행상태02','진행상태02'],
items: ['제출자02', '연락처02', '지자체진행상태02', '진행상태02'],
},
{
name: 'groupD',
hideChildHeaders: false,
header: { text: '03. 하수관로유지관리' },
items: ['제출자03', '연락처03', '지자체진행상태03', '진행상태03'],
},
{
name: 'groupE',
hideChildHeaders: false,
header: { text: '04. 하수저류시설' },
items: ['제출자04', '연락처04', '지자체진행상태04', '진행상태04'],
},
{
name: 'groupF',
hideChildHeaders: false,
header: { text: '05. 펌프장' },
items: ['제출자05', '연락처05', '지자체진행상태05', '진행상태05'],
},
{
name: 'groupG',
hideChildHeaders: false,
header: { text: '06. 공공하수처리시설' },
items: ['제출자06', '연락처06', '지자체진행상태06', '진행상태06'],
},
{
name: 'groupH',
hideChildHeaders: false,
header: { text: '07. 분뇨처리시설' },
items: ['제출자07', '연락처07', '지자체진행상태07', '진행상태07'],
},
{
name: 'groupI',
hideChildHeaders: false,
header: { text: '08. 개인하수처리시설' },
items: ['제출자08', '연락처08', '지자체진행상태08', '진행상태08'],
},
{
name: 'groupJ',
hideChildHeaders: false,
header: { text: '09. 하수도재정' },
items: ['제출자09', '연락처09', '지자체진행상태09', '진행상태09'],
},
{
name: 'groupK',
hideChildHeaders: false,
header: { text: '10. 물재이용' },
items: ['제출자10', '연락처10', '지자체진행상태10', '진행상태10'],
},
{
name: 'groupL',
hideChildHeaders: false,
header: { text: '11. 하수및분뇨찌꺼기' },
items: ['제출자11', '연락처11', '지자체진행상태11', '진행상태11'],
},
{
name: 'groupM',
hideChildHeaders: false,
header: { text: '12. 하수및분뇨관련사업' },
items: ['제출자12', '연락처12', '지자체진행상태12', '진행상태12'],
},
{
name: 'groupN',
hideChildHeaders: false,
header: { text: '13. 하수도서비스수준' },
items: ['제출자13', '연락처13', '지자체진행상태13', '진행상태13'],
}
{
name: 'groupD',
hideChildHeaders: false,
header: { text: '03. 하수관로유지관리' },
items: ['제출자03', '연락처03', '지자체진행상태03', '진행상태03'],
},
{
name: 'groupE',
hideChildHeaders: false,
header: { text: '04. 하수저류시설' },
items: ['제출자04', '연락처04', '지자체진행상태04', '진행상태04'],
},
{
name: 'groupF',
hideChildHeaders: false,
header: { text: '05. 펌프장' },
items: ['제출자05', '연락처05', '지자체진행상태05', '진행상태05'],
},
{
name: 'groupG',
hideChildHeaders: false,
header: { text: '06. 공공하수처리시설' },
items: ['제출자06', '연락처06', '지자체진행상태06', '진행상태06'],
},
{
name: 'groupH',
hideChildHeaders: false,
header: { text: '07. 분뇨처리시설' },
items: ['제출자07', '연락처07', '지자체진행상태07', '진행상태07'],
},
{
name: 'groupI',
hideChildHeaders: false,
header: { text: '08. 개인하수처리시설' },
items: ['제출자08', '연락처08', '지자체진행상태08', '진행상태08'],
},
{
name: 'groupJ',
hideChildHeaders: false,
header: { text: '09. 하수도재정' },
items: ['제출자09', '연락처09', '지자체진행상태09', '진행상태09'],
},
{
name: 'groupK',
hideChildHeaders: false,
header: { text: '10. 물재이용' },
items: ['제출자10', '연락처10', '지자체진행상태10', '진행상태10'],
},
{
name: 'groupL',
hideChildHeaders: false,
header: { text: '11. 하수및분뇨찌꺼기' },
items: ['제출자11', '연락처11', '지자체진행상태11', '진행상태11'],
},
{
name: 'groupM',
hideChildHeaders: false,
header: { text: '12. 하수및분뇨관련사업' },
items: ['제출자12', '연락처12', '지자체진행상태12', '진행상태12'],
},
{
name: 'groupN',
hideChildHeaders: false,
header: { text: '13. 하수도서비스수준' },
items: ['제출자13', '연락처13', '지자체진행상태13', '진행상태13'],
}
];
const approveFunc = () => {
@@ -200,14 +200,13 @@ const StatsInputSatusRvw = () => {
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={{columns, columnLayout}} rowStartNum={2} isExcelImport={false} fixedColumns={2} />
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={2} isExcelImport={false} fixedColumns={2} />
</>
);
}
@@ -11,7 +11,7 @@ import { WaterReuseInfoList } from "@/components/util/column/WaterReuseColumnRvw
const WaterReuseRvw = () => {
const approveFunc = () => {
const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -33,16 +33,16 @@ const WaterReuseRvw = () => {
return (
<>
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={WaterReuseInfoList} isExcelImport={false}/>
<TabDataGrid columnInfo={WaterReuseInfoList} isExcelImport={false} />
</>
);
};
@@ -28,7 +28,7 @@ export const SewageExcretaRelatedInfoListRvw=[
/* 4. 기타 및 비고 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
@@ -77,13 +77,12 @@ export const SewageExcretaSlurgeInfoList = [
{ name: 'dry2ndGroup', header: { text: '건조 후 처리(2차)' }, items: ['I_1CH_DRY_2CH_SM', 'I_1CH_DRY_2CH_REC', 'I_1CH_DRY_2CH_INC', 'I_1CH_DRY_2CH_FUE', 'I_1CH_DRY_2CH_RAW', 'I_1CH_DRY_2CH_COV', 'I_1CH_DRY_2CH_COM', 'I_1CH_DRY_2CH_FCT'] },
'I_1CH_CAR',
{ name: 'car2ndGroup', header: { text: '탄화 후 처리(2차)' }, items: ['I_1CH_CAR_2CH_SM', 'I_1CH_CAR_2CH_INC', 'I_1CH_CAR_2CH_FUE', 'I_1CH_CAR_2CH_FCT'] },
{
name: 'compostGroup',
header: { text: '퇴비화' },
{
name: 'compostGroup',
header: { text: '퇴비화' },
items: ['I_1CH_COM_FCT'] // 중첩 없이 바로 컬럼 name을 넣어 2단으로 완성
}
]
]
},
{
name: 'externalProcessGroup',
@@ -98,158 +97,158 @@ export const SewageExcretaSlurgeInfoList = [
tabLabel: '소화조 운영현황',
rowStartNum: 3, // 3단 헤더 구조 (소화조 운영현황 > 이용현황 > 항목)
columns: [
/* 1. 기본 시설 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: 'BSC_FCT_NM', fieldName: 'BSC_FCT_NM', header: { text: '하수\n처리장명' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 1. 기본 시설 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: 'BSC_FCT_NM', fieldName: 'BSC_FCT_NM', header: { text: '하수\n처리장명' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 2. 소화조 기본 운영 현황 */
{ name: 'DGSTR_FNNC', fieldName: 'DGSTR_FNNC', header: { text: '소화조 유/무\n(Y/N)선택' } },
{ name: 'DGSTR_CPC', fieldName: 'DGSTR_CPC', header: { text: '설계\n용량\n(㎥)' } },
{ name: 'DGSTR_OPR_CPC', fieldName: 'DGSTR_OPR_CPC', header: { text: '실제운전\n용량\n(㎥)' } },
{ name: 'DGSTR_IN', fieldName: 'DGSTR_IN', header: { text: '투입량\n(㎥/일)' } },
{ name: 'DGSTR_TS', fieldName: 'DGSTR_TS', header: { text: '투입 TS 농도\n(%)' } },
{ name: 'DGSTR_YRSTP_RN_DYN', fieldName: 'DGSTR_YRSTP_RN_DYN', header: { text: '가동일수\n(연간)' } },
{ name: 'DGSTR_OCCUR_GAS', fieldName: 'DGSTR_OCCUR_GAS', header: { text: '발생가스량\n(㎥/일)' } },
/* 2. 소화조 기본 운영 현황 */
{ name: 'DGSTR_FNNC', fieldName: 'DGSTR_FNNC', header: { text: '소화조 유/무\n(Y/N)선택' } },
{ name: 'DGSTR_CPC', fieldName: 'DGSTR_CPC', header: { text: '설계\n용량\n(㎥)' } },
{ name: 'DGSTR_OPR_CPC', fieldName: 'DGSTR_OPR_CPC', header: { text: '실제운전\n용량\n(㎥)' } },
{ name: 'DGSTR_IN', fieldName: 'DGSTR_IN', header: { text: '투입량\n(㎥/일)' } },
{ name: 'DGSTR_TS', fieldName: 'DGSTR_TS', header: { text: '투입 TS 농도\n(%)' } },
{ name: 'DGSTR_YRSTP_RN_DYN', fieldName: 'DGSTR_YRSTP_RN_DYN', header: { text: '가동일수\n(연간)' } },
{ name: 'DGSTR_OCCUR_GAS', fieldName: 'DGSTR_OCCUR_GAS', header: { text: '발생가스량\n(㎥/일)' } },
/* 3. 소화가스 이용현황 상세 (단위: ㎥/일) */
{ name: 'DGSTR_SM', fieldName: 'DGSTR_SM', header: { text: '계' } },
{ name: 'DGSTR_SLE', fieldName: 'DGSTR_SLE', header: { text: '판매' } },
{ name: 'DGSTR_ELTGNR', fieldName: 'DGSTR_ELTGNR', header: { text: '발전' } },
{ name: 'DGSTR_ONSLF', fieldName: 'DGSTR_ONSLF', header: { text: '자체활용' } },
{ name: 'DGSTR_ETC', fieldName: 'DGSTR_ETC', header: { text: '기타(CNG등)' } },
/* 4. 잉여 가스 및 비고 */
{ name: 'DGSTR_GAS', fieldName: 'DGSTR_GAS', header: { text: '잉여가스량\n(㎥/일)' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
/* 3. 소화가스 이용현황 상세 (단위: ㎥/일) */
{ name: 'DGSTR_SM', fieldName: 'DGSTR_SM', header: { text: '계' } },
{ name: 'DGSTR_SLE', fieldName: 'DGSTR_SLE', header: { text: '판매' } },
{ name: 'DGSTR_ELTGNR', fieldName: 'DGSTR_ELTGNR', header: { text: '발전' } },
{ name: 'DGSTR_ONSLF', fieldName: 'DGSTR_ONSLF', header: { text: '자체활용' } },
{ name: 'DGSTR_ETC', fieldName: 'DGSTR_ETC', header: { text: '기타(CNG등)' } },
/* 4. 잉여 가스 및 비고 */
{ name: 'DGSTR_GAS', fieldName: 'DGSTR_GAS', header: { text: '잉여가스량\n(㎥/일)' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
'BSC_FCT_NM',
'YR_GBN',
{
name: 'digesterMainGroup',
header: { text: '소화조 운영현황' },
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
'BSC_FCT_NM',
'YR_GBN',
{
name: 'digesterMainGroup',
header: { text: '소화조 운영현황' },
items: [
'DGSTR_FNNC',
'DGSTR_CPC',
'DGSTR_OPR_CPC',
'DGSTR_IN',
'DGSTR_TS',
'DGSTR_YRSTP_RN_DYN',
'DGSTR_OCCUR_GAS',
{
name: 'gasUsageGroup',
header: { text: '소화가스 이용현황(㎥/일)' },
items: [
'DGSTR_FNNC',
'DGSTR_CPC',
'DGSTR_OPR_CPC',
'DGSTR_IN',
'DGSTR_TS',
'DGSTR_YRSTP_RN_DYN',
'DGSTR_OCCUR_GAS',
{
name: 'gasUsageGroup',
header: { text: '소화가스 이용현황(㎥/일)' },
items: [
'DGSTR_SM',
'DGSTR_SLE',
'DGSTR_ELTGNR',
'DGSTR_ONSLF',
'DGSTR_ETC'
]
},
'DGSTR_GAS'
'DGSTR_SM',
'DGSTR_SLE',
'DGSTR_ELTGNR',
'DGSTR_ONSLF',
'DGSTR_ETC'
]
},
'RMK'
},
'DGSTR_GAS'
]
},
'RMK'
]
},
{
},
{
tabKey: 'c',
tabLabel: '하수찌꺼기 처리시설 운영현황',
rowStartNum: 2, // 2단 헤더 구조 (순번 rowspan="2")
columns: [
/* 1. 기본 시설 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: 'SLG_FCT_NM', fieldName: 'SLG_FCT_NM', header: { text: '찌꺼기처리시설명' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 1. 기본 시설 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: 'SLG_FCT_NM', fieldName: 'SLG_FCT_NM', header: { text: '찌꺼기처리시설명' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 2. 처리시설 운영현황 상세 */
{ name: 'TRT_METHOD', fieldName: 'TRT_METHOD', header: { text: '처리방식' } },
{ name: 'SLG_FCT_CPC', fieldName: 'SLG_FCT_CPC', header: { text: '시설용량\n(톤/일)' } },
{ name: 'OPR_CPC', fieldName: 'OPR_CPC', header: { text: '연간처리량\n(톤/년)' } },
{ name: 'ODY_RN_TIME', fieldName: 'ODY_RN_TIME', header: { text: '일평균\n가동시간\n(1~24)' } },
{ name: 'YRSTP_RN_DYN', fieldName: 'YRSTP_RN_DYN', header: { text: '연중 가동일\n(1~330)' } },
{ name: 'OPR_RT', fieldName: 'OPR_RT', header: { text: '가동율' } },
/* 2. 처리시설 운영현황 상세 */
{ name: 'TRT_METHOD', fieldName: 'TRT_METHOD', header: { text: '처리방식' } },
{ name: 'SLG_FCT_CPC', fieldName: 'SLG_FCT_CPC', header: { text: '시설용량\n(톤/일)' } },
{ name: 'OPR_CPC', fieldName: 'OPR_CPC', header: { text: '연간처리량\n(톤/년)' } },
{ name: 'ODY_RN_TIME', fieldName: 'ODY_RN_TIME', header: { text: '일평균\n가동시간\n(1~24)' } },
{ name: 'YRSTP_RN_DYN', fieldName: 'YRSTP_RN_DYN', header: { text: '연중 가동일\n(1~330)' } },
{ name: 'OPR_RT', fieldName: 'OPR_RT', header: { text: '가동율' } },
/* 3. 비고 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
/* 3. 비고 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
'SLG_FCT_NM',
'YR_GBN',
{
name: 'sludgeFctOprGroup',
header: { text: '처리시설 운영현황' },
items: [
'TRT_METHOD',
'SLG_FCT_CPC',
'OPR_CPC',
'ODY_RN_TIME',
'YRSTP_RN_DYN',
'OPR_RT'
]
},
'RMK'
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
'SLG_FCT_NM',
'YR_GBN',
{
name: 'sludgeFctOprGroup',
header: { text: '처리시설 운영현황' },
items: [
'TRT_METHOD',
'SLG_FCT_CPC',
'OPR_CPC',
'ODY_RN_TIME',
'YRSTP_RN_DYN',
'OPR_RT'
]
},
'RMK'
]
},
{
},
{
tabKey: 'd',
tabLabel: '분뇨찌꺼기 처리현황',
rowStartNum: 2, // 2단 헤더 구조 (순번 rowspan="2")
columns: [
/* 1. 기본 시설 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: 'ECSCS_NM', fieldName: 'ECSCS_NM', header: { text: '분 뇨\n처리장명' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 1. 기본 시설 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: 'ECSCS_NM', fieldName: 'ECSCS_NM', header: { text: '분 뇨\n처리장명' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 2. 발생량 지표 */
{ name: 'OCTY', fieldName: 'OCTY', header: { text: '발생량\n(A)=(B)+(C)\n(㎥/년)' } },
/* 2. 발생량 지표 */
{ name: 'OCTY', fieldName: 'OCTY', header: { text: '발생량\n(A)=(B)+(C)\n(㎥/년)' } },
/* 3. 처분량 상세 (단위: ㎥/년) */
{ name: 'PROCESS_CPCTY_SM', fieldName: 'PROCESS_CPCTY_SM', header: { text: '계(B)' } },
{ name: 'RUSE', fieldName: 'RUSE', header: { text: '재활용' } },
{ name: 'LAND_RCLM', fieldName: 'LAND_RCLM', header: { text: '육상매립' } },
{ name: 'INCNR', fieldName: 'INCNR', header: { text: '소각' } },
{ name: 'OCEAN_DPSL', fieldName: 'OCEAN_DPSL', header: { text: '해양투기' } },
{ name: 'FUEL', fieldName: 'FUEL', header: { text: '연료화' } },
{ name: 'ETC', fieldName: 'ETC', header: { text: '기타' } },
/* 3. 처분량 상세 (단위: ㎥/년) */
{ name: 'PROCESS_CPCTY_SM', fieldName: 'PROCESS_CPCTY_SM', header: { text: '계(B)' } },
{ name: 'RUSE', fieldName: 'RUSE', header: { text: '재활용' } },
{ name: 'LAND_RCLM', fieldName: 'LAND_RCLM', header: { text: '육상매립' } },
{ name: 'INCNR', fieldName: 'INCNR', header: { text: '소각' } },
{ name: 'OCEAN_DPSL', fieldName: 'OCEAN_DPSL', header: { text: '해양투기' } },
{ name: 'FUEL', fieldName: 'FUEL', header: { text: '연료화' } },
{ name: 'ETC', fieldName: 'ETC', header: { text: '기타' } },
/* 4. 미처분량 및 연계 정보 */
{ name: 'CYFD_CPCTY', fieldName: 'CYFD_CPCTY', header: { text: '미처분량\n(이월량)\n(C)\n(㎥/년)' } },
{ name: 'OUT_BSC_FCT_NM', fieldName: 'OUT_BSC_FCT_NM', header: { text: '타시설\n연계여부' } },
/* 5. 비고 및 의견 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
{ name: 'CHCKER_OPINION', fieldName: 'CHCKER_OPINION', header: { text: '검토자의견' } },
{ name: 'WRTER_OPINION', fieldName: 'WRTER_OPINION', header: { text: '사용자의견' } },
/* 4. 미처분량 및 연계 정보 */
{ name: 'CYFD_CPCTY', fieldName: 'CYFD_CPCTY', header: { text: '미처분량\n(이월량)\n(C)\n(㎥/년)' } },
{ name: 'OUT_BSC_FCT_NM', fieldName: 'OUT_BSC_FCT_NM', header: { text: '타시설\n연계여부' } },
/* 5. 비고 및 의견 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
{ name: 'CHCKER_OPINION', fieldName: 'CHCKER_OPINION', header: { text: '검토자의견' } },
{ name: 'WRTER_OPINION', fieldName: 'WRTER_OPINION', header: { text: '사용자의견' } },
],
columnLayout: [
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
'ECSCS_NM',
'YR_GBN',
'OCTY',
{
name: 'disposalAmntGroup',
header: { text: '처 분 량(㎥/년)' },
items: [
'PROCESS_CPCTY_SM',
'RUSE',
'LAND_RCLM',
'INCNR',
'OCEAN_DPSL',
'FUEL',
'ETC'
]
},
'CYFD_CPCTY',
'OUT_BSC_FCT_NM',
'RMK'
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
'ECSCS_NM',
'YR_GBN',
'OCTY',
{
name: 'disposalAmntGroup',
header: { text: '처 분 량(㎥/년)' },
items: [
'PROCESS_CPCTY_SM',
'RUSE',
'LAND_RCLM',
'INCNR',
'OCEAN_DPSL',
'FUEL',
'ETC'
]
},
'CYFD_CPCTY',
'OUT_BSC_FCT_NM',
'RMK'
]
}
}
];
@@ -1,134 +0,0 @@
export const SewagePipeColumnInfoList = [
{
columns: [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
{ name: 'menu_nm', fieldName: '구분', header: { text: '구분' } },
{ name: 'locg_status_nm', fieldName: '진행상황', header: { text: '진행상황' } },
{ name: 'locg_status', fieldName: '작성률', header: { text: '작성률' } },
{ name: 'locg_charger', fieldName: '작성자', header: { text: '작성자' } },
{ name: 'locg_cttpc', fieldName: '작성자 연락처', header: { text: '작성자 연락처' } },
{ name: 'locg_dept', fieldName: '작성자 부서', header: { text: '작성자 부서' } },
{ name: 'locg_job', fieldName: '작성자 직제', header: { text: '작성자 직제' } },
{ name: 'locg_cnfirm_nm', fieldName: '승인자', header: { text: '승인자' } },
{ name: 'locg_cnfirm_dept', fieldName: '승인자 부서', header: { text: '승인자 부서' } },
{ name: 'locg_cnfirm_job', fieldName: '승인자 직제', header: { text: '승인자 직제' } },
{ name: 'return_opinion_sm', fieldName: '반려 사유', header: { text: '반려 사유' } },
],
columnLayout: [
'sido',
'sgg',
'menu_nm',
{
name: 'groupA',
hideChildHeaders: false,
header: { text: '하수도사업자' },
items: ['locg_status_nm', 'locg_status', 'locg_charger', 'locg_cttpc', 'locg_dept', 'locg_job', 'locg_cnfirm_nm', 'locg_cnfirm_dept', 'locg_cnfirm_job', 'return_opinion_sm'],
},
],
rowStartNum: 2,
fixedColumns: 3,
tabKey: 'a',
tabLabel: '1번째 텝'
},
{
columns: [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
{ name: 'rvbsn', fieldName: '수계', header: { text: '수계' } },
{ name: 'bstrm', fieldName: '지류', header: { text: '지류' } },
{ name: 'mdbsn', fieldName: '세부단위유역', header: { text: '세부단위유역' } },
{ name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } },
{ name: 'mdmbsn', fieldName: '소권역', header: { text: '소권역' } },
{ name: 'specl_cntrpln_ar', fieldName: '특별대책지역', header: { text: '특별대책지역' } },
{ name: 'total_popl', fieldName: '총인구', header: { text: '총인구' } },
{ name: 'popl_sm', fieldName: '내국인', header: { text: '내국인' } },
{ name: 'frgnr_popl_sm', fieldName: '외국인', header: { text: '외국인' } },
{ name: 'area', fieldName: '행정참고자료면적(㎢)', header: { text: '행정참고자료면적(㎢)' } },
{ name: 'popltn_sm', fieldName: '총인구(명)', header: { text: '총인구(명)' } },
{ name: 'ar_sm', fieldName: '총면적(㎢)', header: { text: '총면적(㎢)' } },
{ name: 'swge_proc_zone_inner_sm', fieldName: '합계', header: { text: '합계' } },
{ name: 'pblswrg_popltn_sm', fieldName: '소계', header: { text: '소계' } },
{ name: 'pblswrg_prm_trt', fieldName: '물리적처리', header: { text: '물리적처리' } },
{ name: 'pblswrg_scd_trt', fieldName: '생물학적처리', header: { text: '생물학적처리' } },
{ name: 'pblswrg_tert_trt', fieldName: '고도처리', header: { text: '고도처리' } },
{ name: 'wstr_popltn_sm', fieldName: '소계', header: { text: '소계' } },
{ name: 'wstr_prm_trt', fieldName: '물리적처리', header: { text: '물리적처리' } },
{ name: 'wstr_scd_trt', fieldName: '생물학적처리', header: { text: '생물학적처리' } },
{ name: 'wstr_tert_trt', fieldName: '고도처리', header: { text: '고도처리' } },
{ name: 'not_conect_popltn', fieldName: '미접속인구', header: { text: '미접속인구' } },
{ name: 'swge_proc_zone_inner_ar', fieldName: '면적(㎢)', header: { text: '면적(㎢)' } },
{ name: 'swge_proc_zone_outer_sm', fieldName: '합계', header: { text: '합계' } },
{ name: 'town_unproc_popltn', fieldName: '미처리인구', header: { text: '미처리인구' } },
{ name: 'town_swtt_popltn', fieldName: '오수처리인구', header: { text: '오수처리인구' } },
{ name: 'town_wrrtn_popltn', fieldName: '정화조인구', header: { text: '정화조인구' } },
{ name: 'swge_proc_zone_outer_ar', fieldName: '면적(㎢)', header: { text: '면적(㎢)' } },
{ name: 'pblswrg_popltn_suprt', fieldName: '공공하수처리구역인구보급율(%)', header: { text: '공공하수처리구역인구보급율(%)' } },
{ name: 'adtrt_popltn_suprt', fieldName: '고도처리인구보급율(%)', header: { text: `고도처리인구보급율(%)` } },
{ name: 'swrg_instlrt', fieldName: '하수도설치율(%)', header: { text: '하수도설치율(%)' } },
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{
name: 'groupA',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
'rvbsn',
'bstrm',
{
name: 'groupB',
hideChildHeaders: false,
header: { text: '수계영향권별분류류' },
items: ['mdbsn', 'lgbsn', 'mdmbsn'],
},
'specl_cntrpln_ar',
{
name: 'groupC',
hideChildHeaders: false,
header: { text: '행정참고자료인구' },
items: ['total_popl', 'popl_sm', 'frgnr_popl_sm'],
},
'area',
'popltn_sm',
'ar_sm',
{
name: 'groupD',
hideChildHeaders: false,
header: { text: '하수처리구역내' },
items: [
'swge_proc_zone_inner_sm',
{
name: 'pblswrgGroup',
hideChildHeaders: false,
header: { text: '공공하수처리인구(명)' },
items: ['pblswrg_popltn_sm', 'pblswrg_prm_trt', 'pblswrg_scd_trt', 'pblswrg_tert_trt'],
},
{
name: 'wstrGroup',
hideChildHeaders: false,
header: { text: '폐수처리인구(명)' },
items: ['wstr_popltn_sm', 'wstr_prm_trt', 'wstr_scd_trt', 'wstr_tert_trt'],
},
'not_conect_popltn',
'swge_proc_zone_inner_ar'
],
},
{
name: 'groupE',
hideChildHeaders: false,
header: { text: '하수처리구역외' },
items: ['swge_proc_zone_outer_sm', 'town_swtt_popltn', 'town_unproc_popltn', 'town_wrrtn_popltn', 'swge_proc_zone_outer_ar'],
},
'pblswrg_popltn_suprt',
'adtrt_popltn_suprt',
'swrg_instlrt',
'rmk',
],
rowStartNum: 2,
fixedColumns: 1,
tabKey: 'b',
tabLabel: '2번째 텝'
},
]
@@ -1,300 +1,300 @@
const baseYear = new Date().getFullYear();
export const SewagePipeColumnInfoListRvw = [
{
tabKey: 'a',
tabLabel: '지역별 시설현황',
rowStartNum: 2, // Header가 4줄이므로 데이터 시작은 4행부터
fixedColumns: 1, // 순번, 시도, 시군구, 행정구역명, 행정코드까지 고정
columns: [
/* 기본 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
/* 하수정비 기본계획 */
{ name: 'TARGET_YR', fieldName: 'TARGET_YR', header: { text: '하수정보기본계획목표연도' } },
{ name: 'PIPL_IMPRMN_PLAN_EXTN', fieldName: 'PIPL_IMPRMN_PLAN_EXTN', header: { text: '총관로정비\n계획연장(m)' } },
{ name: 'PIPL_PLAN_EXTN', fieldName: 'PIPL_PLAN_EXTN', header: { text: '총계획연장(m)' } },
{ name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총시설연장(m)' } },
{ name: 'PIPL_SUPPRT', fieldName: 'PIPL_SUPPRT', header: { text: '하수관로\n보급률(%)' } },
/* 합류식(m) */
{ name: 'CMBN_PLAN_AR', fieldName: 'CMBN_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
{ name: 'CMBN_IMPRMN_PLAN_EXTN', fieldName: 'CMBN_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
{ name: 'CMBN_PLAN_EXTN', fieldName: 'CMBN_PLAN_EXTN', header: { text: '계획연장(m)' } },
{ name: 'CMBN_FCLTY_EXTN', fieldName: 'CMBN_FCLTY_EXTN', header: { text: '시설연장(m)' } },
{ name: 'CMBN_RCTGL_EXTN', fieldName: 'CMBN_RCTGL_EXTN', header: { text: '사각형(m)' } },
{ name: 'CMBN_CICLE_EXTN', fieldName: 'CMBN_CICLE_EXTN', header: { text: '원형(m)' } },
{ name: 'CMBN_OPSWR_EXTN', fieldName: 'CMBN_OPSWR_EXTN', header: { text: '개거(m)' } },
{ name: 'CMBN_SDGTTR_EXTN', fieldName: 'CMBN_SDGTTR_EXTN', header: { text: '측구(m)' } },
{
tabKey: 'a',
tabLabel: '지역별 시설현황',
rowStartNum: 2, // Header가 4줄이므로 데이터 시작은 4행부터
fixedColumns: 1, // 순번, 시도, 시군구, 행정구역명, 행정코드까지 고정
columns: [
/* 기본 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
/* 분류식 - 오수관로 */
{ name: 'PLTWTR_PLAN_AR', fieldName: 'PLTWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
{ name: 'PLTWTR_IMPRMN_PLAN_EXTN', fieldName: 'PLTWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
{ name: 'PLTWTR_PLAN_EXTN', fieldName: 'PLTWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
{ name: 'PLTWTR_FLCTY_EXTN', fieldName: 'PLTWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
{ name: 'PLTWTR_SQRE_EXTN', fieldName: 'PLTWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
{ name: 'PLTWTR_CICL_EXTN', fieldName: 'PLTWTR_CICL_EXTN', header: { text: '원형(m)' } },
/* 하수정비 기본계획 */
{ name: 'TARGET_YR', fieldName: 'TARGET_YR', header: { text: '하수정보기본계획목표연도' } },
{ name: 'PIPL_IMPRMN_PLAN_EXTN', fieldName: 'PIPL_IMPRMN_PLAN_EXTN', header: { text: '총관로정비\n계획연장(m)' } },
{ name: 'PIPL_PLAN_EXTN', fieldName: 'PIPL_PLAN_EXTN', header: { text: '총계획연장(m)' } },
{ name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총시설연장(m)' } },
{ name: 'PIPL_SUPPRT', fieldName: 'PIPL_SUPPRT', header: { text: '하수관로\n보급률(%)' } },
/* 분류식 - 우수관로 */
{ name: 'RAINWTR_PLAN_AR', fieldName: 'RAINWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
{ name: 'RAINWTR_IMPRMN_PLAN_EXTN', fieldName: 'RAINWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
{ name: 'RAINWTR_PLAN_EXTN', fieldName: 'RAINWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
{ name: 'RAINWTR_FLCTY_EXTN', fieldName: 'RAINWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
{ name: 'RAINWTR_SQRE_EXTN', fieldName: 'RAINWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
{ name: 'RAINWTR_CICL_EXTN', fieldName: 'RAINWTR_CICL_EXTN', header: { text: '원형(m)' } },
{ name: 'RAINWTR_OPSWR_EXTN', fieldName: 'RAINWTR_OPSWR_EXTN', header: { text: '개거(m)' } },
{ name: 'RAINWTR_SDGTTR_EXTN', fieldName: 'RAINWTR_SDGTTR_EXTN', header: { text: '측구(m)' } },
/* 합류식(m) */
{ name: 'CMBN_PLAN_AR', fieldName: 'CMBN_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
{ name: 'CMBN_IMPRMN_PLAN_EXTN', fieldName: 'CMBN_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
{ name: 'CMBN_PLAN_EXTN', fieldName: 'CMBN_PLAN_EXTN', header: { text: '계획연장(m)' } },
{ name: 'CMBN_FCLTY_EXTN', fieldName: 'CMBN_FCLTY_EXTN', header: { text: '시설연장(m)' } },
{ name: 'CMBN_RCTGL_EXTN', fieldName: 'CMBN_RCTGL_EXTN', header: { text: '사각형(m)' } },
{ name: 'CMBN_CICLE_EXTN', fieldName: 'CMBN_CICLE_EXTN', header: { text: '원형(m)' } },
{ name: 'CMBN_OPSWR_EXTN', fieldName: 'CMBN_OPSWR_EXTN', header: { text: '개거(m)' } },
{ name: 'CMBN_SDGTTR_EXTN', fieldName: 'CMBN_SDGTTR_EXTN', header: { text: '측구(m)' } },
/* 부속시설 */
{ name: 'MNHLE_SITE', fieldName: 'MNHLE_SITE', header: { text: '합류식맨홀(개소)' } },
{ name: 'PLTWTR_MNHLE_SITE', fieldName: 'PLTWTR_MNHLE_SITE', header: { text: '오수맨홀(개소)' } },
{ name: 'RAINWTR_MNHLE_SITE', fieldName: 'RAINWTR_MNHLE_SITE', header: { text: '우수맨홀(개소)' } },
{ name: 'PLTWTR_RCVR_SITE', fieldName: 'PLTWTR_RCVR_SITE', header: { text: '오수받이(개소)' } },
{ name: 'RAINWTR_RCVR_SITE', fieldName: 'RAINWTR_RCVR_SITE', header: { text: '빗물받이(개소)' } },
{ name: 'SOILSPLL_SITE', fieldName: 'SOILSPLL_SITE', header: { text: '우수토실(개소)' } },
{ name: 'SOILHOLE_SITE', fieldName: 'SOILHOLE_SITE', header: { text: '우수토구(개소)' } },
/* 분류식 - 오수관로 */
{ name: 'PLTWTR_PLAN_AR', fieldName: 'PLTWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
{ name: 'PLTWTR_IMPRMN_PLAN_EXTN', fieldName: 'PLTWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
{ name: 'PLTWTR_PLAN_EXTN', fieldName: 'PLTWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
{ name: 'PLTWTR_FLCTY_EXTN', fieldName: 'PLTWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
{ name: 'PLTWTR_SQRE_EXTN', fieldName: 'PLTWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
{ name: 'PLTWTR_CICL_EXTN', fieldName: 'PLTWTR_CICL_EXTN', header: { text: '원형(m)' } },
/* 대장 및 기타 */
{ name: 'SEWER_REGSTR_CMPT_EXTN', fieldName: 'SEWER_REGSTR_CMPT_EXTN', header: { text: '하수도대장전산화연장(m)' } },
{ name: 'SEWER_REGSTR_CMPT_RT', fieldName: 'SEWER_REGSTR_CMPT_RT', header: { text: '하수도대장전산화율(%)' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{
name: 'areaGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
'TARGET_YR',
'PIPL_IMPRMN_PLAN_EXTN',
'PIPL_PLAN_EXTN',
'PIPL_FCLTY_EXTN',
'PIPL_SUPPRT',
{
name: 'combinedGroup',
header: { text: '합류식(m)' },
items: [
'CMBN_PLAN_AR', 'CMBN_IMPRMN_PLAN_EXTN', 'CMBN_PLAN_EXTN', 'CMBN_FCLTY_EXTN',
{ name: 'cmbnAmGroup', header: { text: '암거' }, items: ['CMBN_RCTGL_EXTN', 'CMBN_CICLE_EXTN'] },
'CMBN_OPSWR_EXTN', 'CMBN_SDGTTR_EXTN'
/* 분류식 - 우수관로 */
{ name: 'RAINWTR_PLAN_AR', fieldName: 'RAINWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
{ name: 'RAINWTR_IMPRMN_PLAN_EXTN', fieldName: 'RAINWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
{ name: 'RAINWTR_PLAN_EXTN', fieldName: 'RAINWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
{ name: 'RAINWTR_FLCTY_EXTN', fieldName: 'RAINWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
{ name: 'RAINWTR_SQRE_EXTN', fieldName: 'RAINWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
{ name: 'RAINWTR_CICL_EXTN', fieldName: 'RAINWTR_CICL_EXTN', header: { text: '원형(m)' } },
{ name: 'RAINWTR_OPSWR_EXTN', fieldName: 'RAINWTR_OPSWR_EXTN', header: { text: '개거(m)' } },
{ name: 'RAINWTR_SDGTTR_EXTN', fieldName: 'RAINWTR_SDGTTR_EXTN', header: { text: '측구(m)' } },
/* 부속시설 */
{ name: 'MNHLE_SITE', fieldName: 'MNHLE_SITE', header: { text: '합류식맨홀(개소)' } },
{ name: 'PLTWTR_MNHLE_SITE', fieldName: 'PLTWTR_MNHLE_SITE', header: { text: '오수맨홀(개소)' } },
{ name: 'RAINWTR_MNHLE_SITE', fieldName: 'RAINWTR_MNHLE_SITE', header: { text: '우수맨홀(개소)' } },
{ name: 'PLTWTR_RCVR_SITE', fieldName: 'PLTWTR_RCVR_SITE', header: { text: '오수받이(개소)' } },
{ name: 'RAINWTR_RCVR_SITE', fieldName: 'RAINWTR_RCVR_SITE', header: { text: '빗물받이(개소)' } },
{ name: 'SOILSPLL_SITE', fieldName: 'SOILSPLL_SITE', header: { text: '우수토실(개소)' } },
{ name: 'SOILHOLE_SITE', fieldName: 'SOILHOLE_SITE', header: { text: '우수토구(개소)' } },
/* 대장 및 기타 */
{ name: 'SEWER_REGSTR_CMPT_EXTN', fieldName: 'SEWER_REGSTR_CMPT_EXTN', header: { text: '하수도대장전산화연장(m)' } },
{ name: 'SEWER_REGSTR_CMPT_RT', fieldName: 'SEWER_REGSTR_CMPT_RT', header: { text: '하수도대장전산화율(%)' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
},
{
name: 'sepGroup',
header: { text: '분류식(m)' },
items: [
{
name: 'foulPipeGroup',
header: { text: '오수관로' },
items: ['PLTWTR_PLAN_AR', 'PLTWTR_IMPRMN_PLAN_EXTN', 'PLTWTR_PLAN_EXTN', 'PLTWTR_FLCTY_EXTN',
{ name: 'foulAmGroup', header: { text: '암거' }, items: ['PLTWTR_SQRE_EXTN', 'PLTWTR_CICL_EXTN'] }]
},
{
name: 'rainPipeGroup',
header: { text: '우수관로' },
items: ['RAINWTR_PLAN_AR', 'RAINWTR_IMPRMN_PLAN_EXTN', 'RAINWTR_PLAN_EXTN', 'RAINWTR_FLCTY_EXTN',
{ name: 'rainAmGroup', header: { text: '암거' }, items: ['RAINWTR_SQRE_EXTN', 'RAINWTR_CICL_EXTN'] },
'RAINWTR_OPSWR_EXTN', 'RAINWTR_SDGTTR_EXTN']
}
],
},
'MNHLE_SITE',
{
name: 'fcltyGroup',
header: { text: '부속시설(개소)' },
items: [ 'PLTWTR_MNHLE_SITE', 'RAINWTR_MNHLE_SITE'],
},
, 'PLTWTR_RCVR_SITE', 'RAINWTR_RCVR_SITE', 'SOILSPLL_SITE', 'SOILHOLE_SITE','SEWER_REGSTR_CMPT_EXTN', 'SEWER_REGSTR_CMPT_RT',
'RMK'
]
},
// SewagePipeColumnInfoListRvw 배열에 두 번째 객체로 추가하시면 됩니다.
{
tabKey: 'b',
tabLabel: '시설별 설치현황',
rowStartNum: 5, // 4단 헤더 구조 반영
fixedColumns: 4, // 순번, 시도, 시군구, 행정구역명, 처리장코드, 처리장명, 용량, 구분까지 고정
columns: [
/* 기본 정보 및 처리장 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '하수처리장명', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
{ name: 'FCT_CPC', fieldName: 'FCT_CPC', header: { text: '하수처리\n시설용량\n(㎥/일)' } },
/* 처리구역면적(㎢) */
{ name: 'PROC_ZONE_SM', fieldName: 'PROC_ZONE_SM', header: { text: '합계' } },
{ name: 'CMBN_PROC_ZONE_AR', fieldName: 'CMBN_PROC_ZONE_AR', header: { text: '합류식' } },
{ name: 'SPRT_PROC_ZONE_AR', fieldName: 'SPRT_PROC_ZONE_AR', header: { text: '분류식' } },
/* 분류식화 (계산 필드용) */
{ name: 'SEP_RATE', fieldName: 'SEP_RATE', header: { text: '분류식화' } },
/* 배수설비(개소) */
{ name: 'DRNG_EQP_SM', fieldName: 'DRNG_EQP_SM', header: { text: '합계' } },
{ name: 'CMBN_DRNG_EQP', fieldName: 'CMBN_DRNG_EQP', header: { text: '합류식' } },
{ name: 'SPRT_DRNG_EQP_SM', fieldName: 'SPRT_DRNG_EQP_SM', header: { text: '합계(분류)' } },
{ name: 'SPRT_DRNG_EQP_CNNC', fieldName: 'SPRT_DRNG_EQP_CNNC', header: { text: '연결' } },
{ name: 'SPRT_DRNG_EQP_DCNNC', fieldName: 'SPRT_DRNG_EQP_DCNNC', header: { text: '미연결' } },
/* 하수관로 상세 */
{ name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총\n시설연장\n(m)' } },
/* 차집/오수간선(m) */
{ name: 'ICG_MNN_SM', fieldName: 'ICG_MNN_SM', header: { text: '합계' } },
{ name: 'ICG_EXTN', fieldName: 'ICG_EXTN', header: { text: '차집' } },
{ name: 'MNN_EXTN', fieldName: 'MNN_EXTN', header: { text: '오수간선' } },
/* 토실/토구(개소) */
{ name: '합류식', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'CMBN_SOILHOLE_SITE', fieldName: 'CMBN_SOILHOLE_SITE', header: { text: '우수토실(합류)' } },
{ name: 'SPRT_SOILHOLE_SITE', fieldName: 'SPRT_SOILHOLE_SITE', header: { text: '우수토실(분류)' } },
{ name: 'SPRT_SOILSPLL_SITE', fieldName: 'SPRT_SOILSPLL_SITE', header: { text: '우수토구(분류)' } },
/* 지선(m) */
{ name: 'BRNCHLN_SM', fieldName: 'BRNCHLN_SM', header: { text: '합계' } },
{ name: 'CMBN_BRNCHLN_EXTN', fieldName: 'CMBN_BRNCHLN_EXTN', header: { text: '합류식' } },
{ name: 'RAINWTR_BRNCHLN_EXTN', fieldName: 'RAINWTR_BRNCHLN_EXTN', header: { text: '우수' } },
{ name: 'PLTWTR_BRNCHLN_EXTN', fieldName: 'PLTWTR_BRNCHLN_EXTN', header: { text: '오수' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{
name: 'addrGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
'하수처리장명',
'FCT_CPC',
'구분',
{
name: 'areaGroup',
header: { text: '처리구역면적(㎢)' },
items: ['PROC_ZONE_SM', 'CMBN_PROC_ZONE_AR', 'SPRT_PROC_ZONE_AR'],
},
'SEP_RATE',
{
name: 'drainGroup',
header: { text: '배수설비(개소)' },
items: [
'DRNG_EQP_SM',
'CMBN_DRNG_EQP',
{
name: 'sepDrainGroup',
header: { text: '분류식' },
items: ['SPRT_DRNG_EQP_SM', 'SPRT_DRNG_EQP_CNNC', 'SPRT_DRNG_EQP_DCNNC']
}
],
},
{
name: 'pipeGroup',
header: { text: '하수관로' },
items: [
'PIPL_FCLTY_EXTN',
{
name: 'trunkGroup',
header: { text: '차집/오수간선(m)' },
items: ['ICG_MNN_SM', 'ICG_EXTN', 'MNN_EXTN']
},
{
name: 'siteGroup',
header: { text: '토실/토구(개소)' },
items: [
{
// '합류식' 그룹 생성
name: 'cmbnSiteGroup',
header: { text: '합류식' },
items: [
// '우수토실' 컬럼 (name이 'CMBN_SOILHOLE_SITE'인 컬럼의 헤더 텍스트를 '우수토실'로 매핑)
'CMBN_SOILHOLE_SITE'
]
columnLayout: [
{
name: 'areaGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
'TARGET_YR',
'PIPL_IMPRMN_PLAN_EXTN',
'PIPL_PLAN_EXTN',
'PIPL_FCLTY_EXTN',
'PIPL_SUPPRT',
{
name: 'combinedGroup',
header: { text: '합류식(m)' },
items: [
'CMBN_PLAN_AR', 'CMBN_IMPRMN_PLAN_EXTN', 'CMBN_PLAN_EXTN', 'CMBN_FCLTY_EXTN',
{ name: 'cmbnAmGroup', header: { text: '암거' }, items: ['CMBN_RCTGL_EXTN', 'CMBN_CICLE_EXTN'] },
'CMBN_OPSWR_EXTN', 'CMBN_SDGTTR_EXTN'
],
},
{
// '분류식' 그룹
name: 'sepSiteGroup',
header: { text: '분류식' },
items: ['SPRT_SOILHOLE_SITE', 'SPRT_SOILSPLL_SITE']
name: 'sepGroup',
header: { text: '분류식(m)' },
items: [
{
name: 'foulPipeGroup',
header: { text: '오수관로' },
items: ['PLTWTR_PLAN_AR', 'PLTWTR_IMPRMN_PLAN_EXTN', 'PLTWTR_PLAN_EXTN', 'PLTWTR_FLCTY_EXTN',
{ name: 'foulAmGroup', header: { text: '암거' }, items: ['PLTWTR_SQRE_EXTN', 'PLTWTR_CICL_EXTN'] }]
},
{
name: 'rainPipeGroup',
header: { text: '우수관로' },
items: ['RAINWTR_PLAN_AR', 'RAINWTR_IMPRMN_PLAN_EXTN', 'RAINWTR_PLAN_EXTN', 'RAINWTR_FLCTY_EXTN',
{ name: 'rainAmGroup', header: { text: '암거' }, items: ['RAINWTR_SQRE_EXTN', 'RAINWTR_CICL_EXTN'] },
'RAINWTR_OPSWR_EXTN', 'RAINWTR_SDGTTR_EXTN']
}
]
},
{
name: 'branchGroup',
header: { text: '지선(m)' },
items: [
'BRNCHLN_SM',
'CMBN_BRNCHLN_EXTN',
{
name: 'sepBranchGroup',
header: { text: '분류식' },
items: ['RAINWTR_BRNCHLN_EXTN', 'PLTWTR_BRNCHLN_EXTN']
}
]
}
],
},
'RMK'
]
},
],
},
'MNHLE_SITE',
{
name: 'fcltyGroup',
header: { text: '부속시설(개소)' },
items: ['PLTWTR_MNHLE_SITE', 'RAINWTR_MNHLE_SITE'],
},
'PLTWTR_RCVR_SITE', 'RAINWTR_RCVR_SITE', 'SOILSPLL_SITE', 'SOILHOLE_SITE', 'SEWER_REGSTR_CMPT_EXTN', 'SEWER_REGSTR_CMPT_RT',
'RMK'
]
},
// SewagePipeColumnInfoListRvw 배열에 두 번째 객체로 추가하시면 됩니다.
{
tabKey: 'b',
tabLabel: '시설별 설치현황',
rowStartNum: 5, // 4단 헤더 구조 반영
fixedColumns: 4, // 순번, 시도, 시군구, 행정구역명, 처리장코드, 처리장명, 용량, 구분까지 고정
columns: [
/* 기본 정보 및 처리장 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '하수처리장명', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
{ name: 'FCT_CPC', fieldName: 'FCT_CPC', header: { text: '하수처리\n시설용량\n(㎥/일)' } },
{
tabKey: 'c',
tabLabel: '관종별 현황',
rowStartNum: 2,
fixedColumns: 3, // 순번, 시도, 시군구, 행정구역명, 행정코드, 관종, 구분
columns: [
/* 기본 정보 */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
/* 처리구역면적(㎢) */
{ name: 'PROC_ZONE_SM', fieldName: 'PROC_ZONE_SM', header: { text: '합계' } },
{ name: 'CMBN_PROC_ZONE_AR', fieldName: 'CMBN_PROC_ZONE_AR', header: { text: '합류식' } },
{ name: 'SPRT_PROC_ZONE_AR', fieldName: 'SPRT_PROC_ZONE_AR', header: { text: '분류식' } },
{ name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 분류식화 (계산 필드용) */
{ name: 'SEP_RATE', fieldName: 'SEP_RATE', header: { text: '분류식화' } },
/* 총계 영역 */
{ name: 'TOTAL_EXTN_SUM', fieldName: 'TOTAL_EXTN_SUM', header: { text: '계' } },
{ name: 'LAYING_EXTN_SUM', fieldName: 'LAYING_EXTN_SUM', header: { text: '매설연장(m)' } },
{ name: 'REMVL_EXTN_SUM', fieldName: 'REMVL_EXTN_SUM', header: { text: '철거연장(m)' } },
/* 배수설비(개소) */
{ name: 'DRNG_EQP_SM', fieldName: 'DRNG_EQP_SM', header: { text: '합계' } },
{ name: 'CMBN_DRNG_EQP', fieldName: 'CMBN_DRNG_EQP', header: { text: '합류식' } },
{ name: 'SPRT_DRNG_EQP_SM', fieldName: 'SPRT_DRNG_EQP_SM', header: { text: '합계(분류)' } },
{ name: 'SPRT_DRNG_EQP_CNNC', fieldName: 'SPRT_DRNG_EQP_CNNC', header: { text: '연결' } },
{ name: 'SPRT_DRNG_EQP_DCNNC', fieldName: 'SPRT_DRNG_EQP_DCNNC', header: { text: '미연결' } },
/* 연도별 데이터 세트 (30Y ~ 01Y 반복) */
// XML 로직에 따라 30Y부터 01Y까지 순차적으로 생성합니다.
...Array.from({ length: 30 }, (_, i) => {
const yNum = (30 - i).toString().padStart(2, '0'); // 30, 29, ..., 01
return [
{ name: `TOTAL_EXTN_${yNum}Y`, fieldName: `TOTAL_EXTN_${yNum}Y`, header: { text: '계' } },
{ name: `LAYING_EXTN_${yNum}Y`, fieldName: `LAYING_EXTN_${yNum}Y`, header: { text: '매설연장(m)' } },
{ name: `REMVL_EXTN_${yNum}Y`, fieldName: `REMVL_EXTN_${yNum}Y`, header: { text: '철거연장(m)' } }
];
}).flat(),
/* 하수관로 상세 */
{ name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총\n시설연장\n(m)' } },
/* 당해년도 및 비고 */
{ name: 'LAYING_EXTN', fieldName: 'LAYING_EXTN', header: { text: '매설연장(m)' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{
name: 'addrGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
/* 차집/오수간선(m) */
{ name: 'ICG_MNN_SM', fieldName: 'ICG_MNN_SM', header: { text: '합계' } },
{ name: 'ICG_EXTN', fieldName: 'ICG_EXTN', header: { text: '차집' } },
{ name: 'MNN_EXTN', fieldName: 'MNN_EXTN', header: { text: '오수간선' } },
'SWRG_PIPE_NM',
'YR_GBN',
{
name: 'summaryGroup',
header: { text: '총계' },
items: ['TOTAL_EXTN_SUM', 'LAYING_EXTN_SUM', 'REMVL_EXTN_SUM'],
},
/* 반복 루프 수정 */
/* 토실/토구(개소) */
{ name: '합류식', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'CMBN_SOILHOLE_SITE', fieldName: 'CMBN_SOILHOLE_SITE', header: { text: '우수토실(합류)' } },
{ name: 'SPRT_SOILHOLE_SITE', fieldName: 'SPRT_SOILHOLE_SITE', header: { text: '우수토실(분류)' } },
{ name: 'SPRT_SOILSPLL_SITE', fieldName: 'SPRT_SOILSPLL_SITE', header: { text: '우수토구(분류)' } },
/* 지선(m) */
{ name: 'BRNCHLN_SM', fieldName: 'BRNCHLN_SM', header: { text: '합계' } },
{ name: 'CMBN_BRNCHLN_EXTN', fieldName: 'CMBN_BRNCHLN_EXTN', header: { text: '합류식' } },
{ name: 'RAINWTR_BRNCHLN_EXTN', fieldName: 'RAINWTR_BRNCHLN_EXTN', header: { text: '우수' } },
{ name: 'PLTWTR_BRNCHLN_EXTN', fieldName: 'PLTWTR_BRNCHLN_EXTN', header: { text: '오수' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{
name: 'addrGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
'하수처리장명',
'FCT_CPC',
'구분',
{
name: 'areaGroup',
header: { text: '처리구역면적(㎢)' },
items: ['PROC_ZONE_SM', 'CMBN_PROC_ZONE_AR', 'SPRT_PROC_ZONE_AR'],
},
'SEP_RATE',
{
name: 'drainGroup',
header: { text: '배수설비(개소)' },
items: [
'DRNG_EQP_SM',
'CMBN_DRNG_EQP',
{
name: 'sepDrainGroup',
header: { text: '분류식' },
items: ['SPRT_DRNG_EQP_SM', 'SPRT_DRNG_EQP_CNNC', 'SPRT_DRNG_EQP_DCNNC']
}
],
},
{
name: 'pipeGroup',
header: { text: '하수관로' },
items: [
'PIPL_FCLTY_EXTN',
{
name: 'trunkGroup',
header: { text: '차집/오수간선(m)' },
items: ['ICG_MNN_SM', 'ICG_EXTN', 'MNN_EXTN']
},
{
name: 'siteGroup',
header: { text: '토실/토구(개소)' },
items: [
{
// '합류식' 그룹 생성
name: 'cmbnSiteGroup',
header: { text: '합류식' },
items: [
// '우수토실' 컬럼 (name이 'CMBN_SOILHOLE_SITE'인 컬럼의 헤더 텍스트를 '우수토실'로 매핑)
'CMBN_SOILHOLE_SITE'
]
},
{
// '분류식' 그룹
name: 'sepSiteGroup',
header: { text: '분류식' },
items: ['SPRT_SOILHOLE_SITE', 'SPRT_SOILSPLL_SITE']
}
]
},
{
name: 'branchGroup',
header: { text: '지선(m)' },
items: [
'BRNCHLN_SM',
'CMBN_BRNCHLN_EXTN',
{
name: 'sepBranchGroup',
header: { text: '분류식' },
items: ['RAINWTR_BRNCHLN_EXTN', 'PLTWTR_BRNCHLN_EXTN']
}
]
}
],
},
'RMK'
]
},
{
tabKey: 'c',
tabLabel: '관종별 현황',
rowStartNum: 2,
fixedColumns: 3, // 순번, 시도, 시군구, 행정구역명, 행정코드, 관종, 구분
columns: [
/* 기본 정보 */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
{ name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 총계 영역 */
{ name: 'TOTAL_EXTN_SUM', fieldName: 'TOTAL_EXTN_SUM', header: { text: '계' } },
{ name: 'LAYING_EXTN_SUM', fieldName: 'LAYING_EXTN_SUM', header: { text: '매설연장(m)' } },
{ name: 'REMVL_EXTN_SUM', fieldName: 'REMVL_EXTN_SUM', header: { text: '철거연장(m)' } },
/* 연도별 데이터 세트 (30Y ~ 01Y 반복) */
// XML 로직에 따라 30Y부터 01Y까지 순차적으로 생성합니다.
...Array.from({ length: 30 }, (_, i) => {
const yNum = (30 - i).toString().padStart(2, '0'); // 30, 29, ..., 01
return [
{ name: `TOTAL_EXTN_${yNum}Y`, fieldName: `TOTAL_EXTN_${yNum}Y`, header: { text: '계' } },
{ name: `LAYING_EXTN_${yNum}Y`, fieldName: `LAYING_EXTN_${yNum}Y`, header: { text: '매설연장(m)' } },
{ name: `REMVL_EXTN_${yNum}Y`, fieldName: `REMVL_EXTN_${yNum}Y`, header: { text: '철거연장(m)' } }
];
}).flat(),
/* 당해년도 및 비고 */
{ name: 'LAYING_EXTN', fieldName: 'LAYING_EXTN', header: { text: '매설연장(m)' } },
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{
name: 'addrGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
'SWRG_PIPE_NM',
'YR_GBN',
{
name: 'summaryGroup',
header: { text: '총계' },
items: ['TOTAL_EXTN_SUM', 'LAYING_EXTN_SUM', 'REMVL_EXTN_SUM'],
},
/* 반복 루프 수정 */
...Array.from({ length: 30 }, (_, i) => {
const yrOffset = 29 - i; // 29, 28, 27... 순서
const yNum = (30 - i).toString().padStart(2, '0');
// [수정 포인트] 이미지(image_5444d1.png)처럼 무조건 "-XX년" 형식으로 표시
// 만약 29년 이전만 "XXXX년이전"으로 하고 싶다면 기존 로직 유지
const headerText = `-${yrOffset}년`;
const headerText = `-${yrOffset}년`;
return {
name: `yr${yNum}Group`,
@@ -304,64 +304,64 @@ export const SewagePipeColumnInfoListRvw = [
}),
{
name: 'currentYrGroup',
header: { text: `${baseYear}년` },
header: { text: `${baseYear}년` },
items: ['LAYING_EXTN'],
},
'RMK'
]
},
{
tabKey: 'd',
tabLabel: '관경별 현황',
rowStartNum: 2,
fixedColumns: 3, // 순번, 시도, 구군, 읍면동, 행정코드, 관종, 구분까지 고정
columns: [
/* 기본 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '구군' } },
{ name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
]
},
{
tabKey: 'd',
tabLabel: '관경별 현황',
rowStartNum: 2,
fixedColumns: 3, // 순번, 시도, 구군, 읍면동, 행정코드, 관종, 구분까지 고정
columns: [
/* 기본 정보 (Band: Left) */
{ name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: 'GUGUN', header: { text: '구군' } },
{ name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
{ name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
/* 총계 */
{ name: 'TOTAL_EXTN_M', fieldName: 'TOTAL_EXTN_M', header: { text: '총계(m)' } },
/* 총계 */
{ name: 'TOTAL_EXTN_M', fieldName: 'TOTAL_EXTN_M', header: { text: '총계(m)' } },
/* 원형(m) 관경별 상세 */
{ name: 'UNDER_200', fieldName: 'UNDER_200', header: { text: '200mm 미만' } },
{ name: 'OVER_200_UNDEV_300', fieldName: 'OVER_200_UNDEV_300', header: { text: '200mm이상~\n300mm미만' } },
{ name: 'OVER_300_UNDEV_500', fieldName: 'OVER_300_UNDEV_500', header: { text: '300mm이상~\n500mm미만' } },
{ name: 'OVER_500_UNDEV_800', fieldName: 'OVER_500_UNDEV_800', header: { text: '500mm이상~\n800mm미만' } }, // SQL상 OVER_500_UNDEV_500 오타 대응
{ name: 'OVER_800', fieldName: 'OVER_800', header: { text: '800mm 이상' } },
/* 원형(m) 관경별 상세 */
{ name: 'UNDER_200', fieldName: 'UNDER_200', header: { text: '200mm 미만' } },
{ name: 'OVER_200_UNDEV_300', fieldName: 'OVER_200_UNDEV_300', header: { text: '200mm이상~\n300mm미만' } },
{ name: 'OVER_300_UNDEV_500', fieldName: 'OVER_300_UNDEV_500', header: { text: '300mm이상~\n500mm미만' } },
{ name: 'OVER_500_UNDEV_800', fieldName: 'OVER_500_UNDEV_800', header: { text: '500mm이상~\n800mm미만' } }, // SQL상 OVER_500_UNDEV_500 오타 대응
{ name: 'OVER_800', fieldName: 'OVER_800', header: { text: '800mm 이상' } },
/* 사각형 및 기타 */
{ name: 'BOX', fieldName: 'BOX', header: { text: '사각형(m)' } },
{ name: 'ETC', fieldName: 'ETC', header: { text: '기타\n(측구/개거 등)' } },
/* 사각형 및 기타 */
{ name: 'BOX', fieldName: 'BOX', header: { text: '사각형(m)' } },
{ name: 'ETC', fieldName: 'ETC', header: { text: '기타\n(측구/개거 등)' } },
/* 의견 및 비고 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{
name: 'addrGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
'SWRG_PIPE_NM',
'YR_GBN',
'TOTAL_EXTN_M',
{
name: 'circleGroup',
header: { text: '원형(m)' },
items: [
'UNDER_200',
'OVER_200_UNDEV_300',
'OVER_300_UNDEV_500',
'OVER_500_UNDEV_800',
'OVER_800'
],
},
'BOX',
'ETC',
'RMK',
]
}
/* 의견 및 비고 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
{
name: 'addrGroup',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN'],
},
'SWRG_PIPE_NM',
'YR_GBN',
'TOTAL_EXTN_M',
{
name: 'circleGroup',
header: { text: '원형(m)' },
items: [
'UNDER_200',
'OVER_200_UNDEV_300',
'OVER_300_UNDEV_500',
'OVER_500_UNDEV_800',
'OVER_800'
],
},
'BOX',
'ETC',
'RMK',
]
}
]
@@ -0,0 +1,185 @@
/**
* 하수도 통계 관리 > 3.하수관로 유지 관리
* 2개 Tab : 컬럼 통합 관리
*/
export const SewagePipeMaintainMngColumnInfoList = [
// ========================================
// Tab 1: 개보수
// ========================================
{
columns: [
// 행정구역
{ name: 'SIDO', fieldName: '시도', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } },
// 개·보수관로 - 전체보수(m)
{ name: 'RPAIR_PIPE_SM', fieldName: '소계', header: { text: '소계' } },
{ name: 'RPAIR_CMBN_PIPE', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'RPAIR_RAINWTR_PIPE', fieldName: '우수', header: { text: '우수' } },
{ name: 'RPAIR_PLTWTR_PIPE', fieldName: '오수', header: { text: '오수' } },
// 개·보수관로 - 부분보수(개소)
{ name: 'RPAIR_PIPE_SM2', fieldName: '소계', header: { text: '소계' } },
{ name: 'RPAIR_CMBN_PIPE2', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'RPAIR_RAINWTR_PIPE2', fieldName: '우수', header: { text: '우수' } },
{ name: 'RPAIR_PLTWTR_PIPE2', fieldName: '오수', header: { text: '오수' } },
// 맨홀(개소)
{ name: 'MNHLE_SITE', fieldName: '합류식맨홀', header: { text: '합류식맨홀' } },
{ name: 'PLTWTR_MNHLE_SITE', fieldName: '오수맨홀', header: { text: '오수맨홀' } },
{ name: 'RAINWTR_MNHLE_SITE', fieldName: '우수맨홀', header: { text: '우수맨홀' } },
// 받이
{ name: 'PLTWTR_RCVR_SITE', fieldName: '오수받이(개소)', header: { text: '오수받이(개소)' } },
{ name: 'RAINWTR_RCVR_SITE', fieldName: '빗물받이(개소)', header: { text: '빗물받이(개소)' } },
// 토실, 토구
{ name: 'SOILSPLL_SITE', fieldName: '토실(개소)', header: { text: '토실(개소)' } },
{ name: 'SOILHOLE_SITE', fieldName: '토구(개소)', header: { text: '토구(개소)' } },
{ name: 'CCTV', fieldName: '수밀검사CCTV조사량(m)', header: { text: '수밀검사CCTV조사량(m)' } },
{ name: 'RMK', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{
name: 'group_admin',
header: { text: '행정구역' },
items: ['SIDO', 'GUGUN']
},
{
name: 'group_repair_main',
header: { text: '개·보수관로' },
items: [
{
name: 'group_full_repair',
header: { text: '전체보수(m)' },
items: [
'RPAIR_PIPE_SM',
'RPAIR_CMBN_PIPE',
{
name: 'group_full_sep',
header: { text: '분류식' },
items: ['RPAIR_RAINWTR_PIPE', 'RPAIR_PLTWTR_PIPE']
}
]
},
{
name: 'group_part_repair',
header: { text: '부분보수(개소)' },
items: [
'RPAIR_PIPE_SM2',
'RPAIR_CMBN_PIPE2',
{
name: 'group_part_sep',
header: { text: '분류식' },
items: ['RPAIR_RAINWTR_PIPE2', 'RPAIR_PLTWTR_PIPE2']
}
]
}
]
},
{
name: 'group_manhole',
header: { text: '맨홀(개소)' },
items: [
'MNHLE_SITE',
{
name: 'group_mh_sep',
header: { text: '분류식' },
items: ['PLTWTR_MNHLE_SITE', 'RAINWTR_MNHLE_SITE']
}
]
},
{
name: 'group_inlet',
header: { text: '받이' },
items: ['PLTWTR_RCVR_SITE', 'RAINWTR_RCVR_SITE']
},
{
name: 'group_chamber',
header: { text: '토실,토구' },
items: ['SOILSPLL_SITE', 'SOILHOLE_SITE']
},
'CCTV',
'RMK'
],
rowStartNum: 4,
fixedColumns: 1,
tabKey: 'repair',
tabLabel: '개보수'
},
// ========================================
// Tab 2: 관로준설
// ========================================
{
columns: [
{ name: 'SIDO', fieldName: '시도', header: { text: '시도' } },
{ name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } },
{ name: 'PIPL_FCLTY_EXTN', fieldName: '하수관로총시설연장(m)', header: { text: '하수관로총시설연장(m)' } },
// 준설연장 및 개소수
{ name: 'DRDG_PIPE_SM', fieldName: '합계', header: { text: '합계' } },
{ name: 'DRDG_CMBN_PIPE', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'DRDG_RAINWTR_PIPE', fieldName: '우수', header: { text: '우수' } },
{ name: 'DRDG_PLTWTR_PIPE', fieldName: '오수', header: { text: '오수' } },
{ name: 'MNHLE_SITE', fieldName: '맨홀(개소)', header: { text: '맨홀(개소)' } },
{ name: 'PLTWTR_RCVR_SITE', fieldName: '오·우수받이(개소)', header: { text: '오·우수받이(개소)' } },
{ name: 'SOILSPLL_SOILHOLE_SITE', fieldName: '토실·토구(개소)', header: { text: '토실·토구(개소)' } },
{ name: 'DRDG_TRGET_EXTN', fieldName: '준설 계획 연장(m)', header: { text: '준설 계획 연장(m)' } },
{ name: 'DRDG_TRGET_RT', fieldName: '계획대비 준설율(%)', header: { text: '계획대비 준설율(%)' } },
{ name: 'PIPL_FCLTY_RT', fieldName: '총시설연장대비 준설율(%)', header: { text: '총시설연장대비 준설율(%)' } },
// 준설실적
{ name: 'DRDG_ACMSLT_AMOUNT', fieldName: '금액(백만원)', header: { text: '금액(백만원)' } },
{ name: 'DRDG_ACMSLT_QY', fieldName: '준설량(m³)', header: { text: '준설량(m³)' } },
// 준설토사처리 (사용자 트리구조 반영)
{ name: 'DRDG_ACMSLT_UNTPC', fieldName: '준설토처리비(백만원)', header: { text: '준설토처리비(백만원)' } },
{ name: 'DRDG_ETND_SM', fieldName: '처리량 계(톤)', header: { text: '처리량 계(톤)' } },
{ name: 'RCLM', fieldName: '매립', header: { text: '매립' } },
{ name: 'OCEAN_DPSL', fieldName: '해양투기', header: { text: '해양투기' } },
{ name: 'RUSE', fieldName: '재활용', header: { text: '재활용' } },
{ name: 'ETC', fieldName: '기타(소각, 고형화, 시멘트원료 등)', header: { text: '기타(소각, 고형화, 시멘트원료 등)' } },
{ name: 'RMK', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{ name: 'group_admin', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
'PIPL_FCLTY_EXTN',
{
name: 'group_dredge_info',
header: { text: '준설연장 및 개소수' },
items: [
{
name: 'group_pipe',
header: { text: '관로(m)' },
items: [
'DRDG_PIPE_SM', 'DRDG_CMBN_PIPE',
{ name: 'group_sep', header: { text: '분류식' }, items: ['DRDG_RAINWTR_PIPE', 'DRDG_PLTWTR_PIPE'] }
]
},
'MNHLE_SITE', 'PLTWTR_RCVR_SITE', 'SOILSPLL_SOILHOLE_SITE'
]
},
'DRDG_TRGET_EXTN', 'DRDG_TRGET_RT', 'PIPL_FCLTY_RT',
{
name: 'group_perf',
header: { text: '준설실적' },
items: ['DRDG_ACMSLT_AMOUNT', 'DRDG_ACMSLT_QY']
},
{
name: 'group_soil_treat',
header: { text: '준설토사처리' },
items: ['DRDG_ACMSLT_UNTPC', 'DRDG_ETND_SM', 'RCLM', 'OCEAN_DPSL', 'RUSE', 'ETC']
},
'RMK'
],
rowStartNum: 4,
fixedColumns: 1,
tabKey: 'dredging',
tabLabel: '관로준설'
},
];
@@ -0,0 +1,800 @@
/**
* 하수도 통계 관리 > 2.하수관로
* 5개 Tab: 컬럼 통합 관리
*/
export const SewagePipeMngColumnInfoList = [
// ========================================
// Tab 1: 지역별 시설현황
// ========================================
{
columns: [
// 행정구역(고정)
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
// 기본 정보
{ name: 'targetYr', fieldName: '하수정비기본계획목표년도', header: { text: '하수정비기본계획목표년도' }},
{ name: 'piplImprnPlanExtn', fieldName: '총관로정비계획연장(m)', header: { text: '총관로정비계획연장(m)' }, editable: false },
{ name: 'piplPlanExtn', fieldName: '총계획연장(m)', header: { text: '총계획연장(m)' }, editable: false },
{ name: 'piplFcltyExtn', fieldName: '총시설연장(m)', header: { text: '총시설연장(m)' }, editable: false },
{ name: 'piplSupprt', fieldName: '하수관로보급률(%)', header: { text: '하수관로보급률(%)' }, editable: false },
// 합류식(m)
{ name: 'cmbnPlanAr', fieldName: '관로정비계획면적(㎢)', header: { text: '관로정비계획면적(㎢)' } },
{ name: 'cmbnImprnPlanExtn', fieldName: '관로정비계획연장(m)', header: { text: '관로정비계획연장(m)' } },
{ name: 'cmbnPlanExtn', fieldName: '계획연장(m)', header: { text: '계획연장(m)' }, editable: false },
{ name: 'cmbnFcltyExtn', fieldName: '시설연장(m)', header: { text: '시설연장(m)' }, editable: false },
{ name: 'cmbnRctglExtn', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
{ name: 'cmbnCicleExtn', fieldName: '원형(m)', header: { text: '원형(m)' } },
{ name: 'cmbnOpswrExtn', fieldName: '개거(m)', header: { text: '개거(m)' } },
{ name: 'cmbnSdgttrExtn', fieldName: '측구(m)', header: { text: '측구(m)' } },
// 분류식(m) > 오수관로
{ name: 'pltwtrPlanAr', fieldName: '관로정비계획면적(㎢)', header: { text: '관로정비계획면적(㎢)' } },
{ name: 'pltwtrImprnPlanExtn', fieldName: '관로정비계획연장(m)', header: { text: '관로정비계획연장(m)' } },
{ name: 'pltwtrPlanExtn', fieldName: '계획연장(m)', header: { text: '계획연장(m)' }, editable: false },
{ name: 'pltwtrFlctyExtn', fieldName: '시설연장(m)', header: { text: '시설연장(m)' }, editable: false },
{ name: 'pltwtrSqreExtn', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
{ name: 'pltwtrCiclExtn', fieldName: '원형(m)', header: { text: '원형(m)' } },
// 분류식(m) > 우수관로
{ name: 'rainwtrPlanAr', fieldName: '관로정비계획면적(㎢)', header: { text: '관로정비계획면적(㎢)' } },
{ name: 'rainwtrImprnPlanExtn', fieldName: '관로정비계획연장(m)', header: { text: '관로정비계획연장(m)' } },
{ name: 'rainwtrPlanExtn', fieldName: '계획연장(m)', header: { text: '계획연장(m)' }, editable: false },
{ name: 'rainwtrFlctyExtn', fieldName: '시설연장(m)', header: { text: '시설연장(m)' }, editable: false },
{ name: 'rainwtrSqreExtn', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
{ name: 'rainwtrCiclExtn', fieldName: '원형(m)', header: { text: '원형(m)' } },
{ name: 'rainwtrOpswrExtn', fieldName: '개거(m)', header: { text: '개거(m)' } },
{ name: 'rainwtrSdgttrExtn', fieldName: '측구(m)', header: { text: '측구(m)' } },
// 맨홀 및 기타 시설
{ name: 'mnhleSite', fieldName: '합류식맨홀(개소)', header: { text: '합류식맨홀(개소)' } },
{ name: 'pltwtrMnhleSite', fieldName: '오수맨홀(개소)', header: { text: '오수맨홀(개소)' } },
{ name: 'rainwtrMnhleSite', fieldName: '우수맨홀(개소)', header: { text: '우수맨홀(개소)' } },
{ name: 'pltwtrRcvrSite', fieldName: '오수받이(개소)', header: { text: '오수받이(개소)' } },
{ name: 'rainwtrRcvrSite', fieldName: '빗물받이(개소)', header: { text: '빗물받이(개소)' } },
{ name: 'soilspllSite', fieldName: '우수토실(개소)', header: { text: '우수토실(개소)' } },
{ name: 'soilholeSite', fieldName: '우수토구(개소)', header: { text: '우수토구(개소)' } },
// 하수도대장 전산화
{ name: 'sewerRegstrCmptExtn', fieldName: '하수도대장전산화연장(m)', header: { text: '하수도대장전산화연장(m)' } },
{ name: 'sewerRegstrCmptRt', fieldName: '하수도대장전산화율(%)', header: { text: '하수도대장전산화율(%)' }, editable: false },
// 비고
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
'targetYr',
'piplImprnPlanExtn',
'piplPlanExtn',
'piplFcltyExtn',
'piplSupprt',
{
name: 'combined',
hideChildHeaders: false,
header: { text: '합류식(m)' },
items: [
'cmbnPlanAr',
'cmbnImprnPlanExtn',
'cmbnPlanExtn',
'cmbnFcltyExtn',
{
name: 'cmbnCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['cmbnRctglExtn', 'cmbnCicleExtn'],
},
'cmbnOpswrExtn',
'cmbnSdgttrExtn',
],
},
{
name: 'separated',
hideChildHeaders: false,
header: { text: '분류식(m)' },
items: [
{
name: 'pollutedWater',
hideChildHeaders: false,
header: { text: '오수관로' },
items: [
'pltwtrPlanAr',
'pltwtrImprnPlanExtn',
'pltwtrPlanExtn',
'pltwtrFlctyExtn',
{
name: 'pltwtrCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['pltwtrSqreExtn', 'pltwtrCiclExtn'],
},
],
},
{
name: 'rainWater',
hideChildHeaders: false,
header: { text: '우수관로' },
items: [
'rainwtrPlanAr',
'rainwtrImprnPlanExtn',
'rainwtrPlanExtn',
'rainwtrFlctyExtn',
{
name: 'rainwtrCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['rainwtrSqreExtn', 'rainwtrCiclExtn'],
},
'rainwtrOpswrExtn',
'rainwtrSdgttrExtn',
],
},
],
},
'mnhleSite',
{
name: 'separatedManhole',
hideChildHeaders: false,
header: { text: '분류식' },
items: ['pltwtrMnhleSite', 'rainwtrMnhleSite'],
},
'pltwtrRcvrSite',
'rainwtrRcvrSite',
'soilspllSite',
'soilholeSite',
'sewerRegstrCmptExtn',
'sewerRegstrCmptRt',
'rmk',
],
rowStartNum: 4,
fixedColumns: 1,
tabKey: 'regionalFacilityStatus',
tabLabel: '지역별 시설현황'
},
// ========================================
// Tab 2: 시설별 설치현황
// ========================================
{
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
// 하수처리장 정보
{ name: 'bscFctNm', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
{ name: 'fctCpc', fieldName: '하수처리시설용량(m³/일)', header: { text: '하수처리시설용량(m³/일)' } },
// 처리구역면적(km²)
{ name: 'procZoneSm', fieldName: '합계', header: { text: '합계' }, editable: false },
{ name: 'cmbnProcZoneAr', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'sprtProcZoneAr', fieldName: '분류식', header: { text: '분류식' } },
// 분류식화율
{ name: 'sprtRt', fieldName: '분류식화율', header: { text: '분류식화율' }, editable: false },
// 배수설비(개소)
{ name: 'drngEqpSm', fieldName: '합계', header: { text: '합계' }, editable: false },
{ name: 'cmbnDrngEqp', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'sprtDrngEqpSm', fieldName: '소계', header: { text: '소계' }, editable: false },
{ name: 'sprtDrngEqpCnnc', fieldName: '연결', header: { text: '연결' } },
{ name: 'sprtDrngEqpDcnnc', fieldName: '미연결', header: { text: '미연결' } },
// 하수관로 - 총시설연장
{ name: 'piplFcltyExtn', fieldName: '총시설연장(m)', header: { text: '총시설연장(m)' }, editable: false },
// 차집/오수간선(m)
{ name: 'icgMnnSm', fieldName: '합계', header: { text: '합계' }, editable: false },
{ name: 'icgExtn', fieldName: '차집', header: { text: '차집' } },
{ name: 'mnnExtn', fieldName: '오수 간선', header: { text: '오수 간선' } },
// 토실/토구(개소) - 합류식
{ name: 'cmbnSoilholeSite', fieldName: '우수토실', header: { text: '우수토실' } },
// 토실/토구(개소) - 분류식
{ name: 'sprtSoilholeSite', fieldName: '우수토실', header: { text: '우수토실' } },
{ name: 'sprtSoilspllSite', fieldName: '우수토구', header: { text: '우수토구' } },
// 지선(m)
{ name: 'brnchlnSm', fieldName: '합계', header: { text: '합계' }, editable: false },
{ name: 'cmbnBrnchlnExtn', fieldName: '합류식', header: { text: '합류식' } },
{ name: 'rainwtrBrnchlnExtn', fieldName: '우수', header: { text: '우수' } },
{ name: 'pltwtrBrnchlnExtn', fieldName: '오수', header: { text: '오수' } },
// 비고
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
'bscFctNm',
'fctCpc',
{
name: 'procZone',
hideChildHeaders: false,
header: { text: '처리구역면적(km²)' },
items: ['procZoneSm', 'cmbnProcZoneAr', 'sprtProcZoneAr'],
},
'sprtRt',
{
name: 'drainEquip',
hideChildHeaders: false,
header: { text: '배수설비(개소)' },
items: [
'drngEqpSm',
'cmbnDrngEqp',
{
name: 'sprtDrainEquip',
hideChildHeaders: false,
header: { text: '분류식' },
items: ['sprtDrngEqpSm', 'sprtDrngEqpCnnc', 'sprtDrngEqpDcnnc'],
},
],
},
{
name: 'sewagePipe',
hideChildHeaders: false,
header: { text: '하수관로' },
items: [
'piplFcltyExtn',
{
name: 'interceptor',
hideChildHeaders: false,
header: { text: '차집/오수간선(m)' },
items: ['icgMnnSm', 'icgExtn', 'mnnExtn'],
},
{
name: 'soilHole',
hideChildHeaders: false,
header: { text: '토실/토구(개소)' },
items: [
{
name: 'cmbnSoilHole',
hideChildHeaders: false,
header: { text: '합류식' },
items: ['cmbnSoilholeSite'],
},
{
name: 'sprtSoilHole',
hideChildHeaders: false,
header: { text: '분류식' },
items: ['sprtSoilholeSite', 'sprtSoilspllSite'],
},
],
},
{
name: 'branchLine',
hideChildHeaders: false,
header: { text: '지선(m)' },
items: [
'brnchlnSm',
'cmbnBrnchlnExtn',
{
name: 'sprtBranchLine',
hideChildHeaders: false,
header: { text: '분류식' },
items: ['rainwtrBrnchlnExtn', 'pltwtrBrnchlnExtn'],
},
],
},
],
},
'rmk',
],
rowStartNum: 4,
fixedColumns: 3,
tabKey: 'facilityInstallationStatus',
tabLabel: '시설별 설치현황'
},
// ========================================
// Tab 3: 관종별 현황
// ========================================
{
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
// 관종
{ name: 'swrgPipeCd', fieldName: '관종', header: { text: '관종' } },
// 총계
{ name: 'totalSum', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'totalLayingExtn', fieldName: '매설연장(m)', header: { text: '매설연장(m)' }, editable: false },
{ name: 'totalRemvlExtn', fieldName: '철거연장(m)', header: { text: '철거연장(m)' }, editable: false },
// 1996년 이전 (22Y)
{ name: 'totalExtn22y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn22y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn22y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 1996년 (01Y)
{ name: 'totalExtn01y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn01y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn01y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 1997년 (02Y)
{ name: 'totalExtn02y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn02y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn02y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 1998년 (03Y)
{ name: 'totalExtn03y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn03y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn03y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 1999년 (04Y)
{ name: 'totalExtn04y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn04y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn04y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2000년 (05Y)
{ name: 'totalExtn05y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn05y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn05y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2001년 (06Y)
{ name: 'totalExtn06y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn06y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn06y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2002년 (07Y)
{ name: 'totalExtn07y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn07y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn07y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2003년 (08Y)
{ name: 'totalExtn08y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn08y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn08y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2004년 (09Y)
{ name: 'totalExtn09y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn09y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn09y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2005년 (10Y)
{ name: 'totalExtn10y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn10y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn10y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2006년 (11Y)
{ name: 'totalExtn11y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn11y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn11y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2007년 (12Y)
{ name: 'totalExtn12y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn12y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn12y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2008년 (13Y)
{ name: 'totalExtn13y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn13y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn13y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2009년 (14Y)
{ name: 'totalExtn14y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn14y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn14y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2010년 (15Y)
{ name: 'totalExtn15y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn15y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn15y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2011년 (16Y)
{ name: 'totalExtn16y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn16y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn16y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2012년 (17Y)
{ name: 'totalExtn17y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn17y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn17y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2013년 (18Y)
{ name: 'totalExtn18y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn18y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn18y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2014년 (19Y)
{ name: 'totalExtn19y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn19y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn19y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2015년 (20Y)
{ name: 'totalExtn20y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn20y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn20y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2016년 (21Y)
{ name: 'totalExtn21y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn21y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn21y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2017년 (23Y)
{ name: 'totalExtn23y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn23y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn23y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2018년 (24Y)
{ name: 'totalExtn24y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn24y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn24y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2019년 (25Y)
{ name: 'totalExtn25y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn25y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn25y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2020년 (26Y)
{ name: 'totalExtn26y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn26y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn26y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2021년 (27Y)
{ name: 'totalExtn27y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn27y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn27y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2022년 (28Y)
{ name: 'totalExtn28y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn28y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn28y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2023년 (29Y)
{ name: 'totalExtn29y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn29y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn29y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2024년 (30Y)
{ name: 'totalExtn30y', fieldName: '계', header: { text: '계' }, editable: false },
{ name: 'layingExtn30y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
{ name: 'remvlExtn30y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
// 2025년
{ name: 'layingExtn', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
// 비고
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
'swrgPipeCd',
{
name: 'totalGroup',
hideChildHeaders: false,
header: { text: '총계' },
items: ['totalSum', 'totalLayingExtn', 'totalRemvlExtn'],
},
{
name: 'year1996Before',
hideChildHeaders: false,
header: { text: '1996년 이전' },
items: ['totalExtn22y', 'layingExtn22y', 'remvlExtn22y'],
},
{
name: 'year1996',
hideChildHeaders: false,
header: { text: '1996년' },
items: ['totalExtn01y', 'layingExtn01y', 'remvlExtn01y'],
},
{
name: 'year1997',
hideChildHeaders: false,
header: { text: '1997년' },
items: ['totalExtn02y', 'layingExtn02y', 'remvlExtn02y'],
},
{
name: 'year1998',
hideChildHeaders: false,
header: { text: '1998년' },
items: ['totalExtn03y', 'layingExtn03y', 'remvlExtn03y'],
},
{
name: 'year1999',
hideChildHeaders: false,
header: { text: '1999년' },
items: ['totalExtn04y', 'layingExtn04y', 'remvlExtn04y'],
},
{
name: 'year2000',
hideChildHeaders: false,
header: { text: '2000년' },
items: ['totalExtn05y', 'layingExtn05y', 'remvlExtn05y'],
},
{
name: 'year2001',
hideChildHeaders: false,
header: { text: '2001년' },
items: ['totalExtn06y', 'layingExtn06y', 'remvlExtn06y'],
},
{
name: 'year2002',
hideChildHeaders: false,
header: { text: '2002년' },
items: ['totalExtn07y', 'layingExtn07y', 'remvlExtn07y'],
},
{
name: 'year2003',
hideChildHeaders: false,
header: { text: '2003년' },
items: ['totalExtn08y', 'layingExtn08y', 'remvlExtn08y'],
},
{
name: 'year2004',
hideChildHeaders: false,
header: { text: '2004년' },
items: ['totalExtn09y', 'layingExtn09y', 'remvlExtn09y'],
},
{
name: 'year2005',
hideChildHeaders: false,
header: { text: '2005년' },
items: ['totalExtn10y', 'layingExtn10y', 'remvlExtn10y'],
},
{
name: 'year2006',
hideChildHeaders: false,
header: { text: '2006년' },
items: ['totalExtn11y', 'layingExtn11y', 'remvlExtn11y'],
},
{
name: 'year2007',
hideChildHeaders: false,
header: { text: '2007년' },
items: ['totalExtn12y', 'layingExtn12y', 'remvlExtn12y'],
},
{
name: 'year2008',
hideChildHeaders: false,
header: { text: '2008년' },
items: ['totalExtn13y', 'layingExtn13y', 'remvlExtn13y'],
},
{
name: 'year2009',
hideChildHeaders: false,
header: { text: '2009년' },
items: ['totalExtn14y', 'layingExtn14y', 'remvlExtn14y'],
},
{
name: 'year2010',
hideChildHeaders: false,
header: { text: '2010년' },
items: ['totalExtn15y', 'layingExtn15y', 'remvlExtn15y'],
},
{
name: 'year2011',
hideChildHeaders: false,
header: { text: '2011년' },
items: ['totalExtn16y', 'layingExtn16y', 'remvlExtn16y'],
},
{
name: 'year2012',
hideChildHeaders: false,
header: { text: '2012년' },
items: ['totalExtn17y', 'layingExtn17y', 'remvlExtn17y'],
},
{
name: 'year2013',
hideChildHeaders: false,
header: { text: '2013년' },
items: ['totalExtn18y', 'layingExtn18y', 'remvlExtn18y'],
},
{
name: 'year2014',
hideChildHeaders: false,
header: { text: '2014년' },
items: ['totalExtn19y', 'layingExtn19y', 'remvlExtn19y'],
},
{
name: 'year2015',
hideChildHeaders: false,
header: { text: '2015년' },
items: ['totalExtn20y', 'layingExtn20y', 'remvlExtn20y'],
},
{
name: 'year2016',
hideChildHeaders: false,
header: { text: '2016년' },
items: ['totalExtn21y', 'layingExtn21y', 'remvlExtn21y'],
},
{
name: 'year2017',
hideChildHeaders: false,
header: { text: '2017년' },
items: ['totalExtn23y', 'layingExtn23y', 'remvlExtn23y'],
},
{
name: 'year2018',
hideChildHeaders: false,
header: { text: '2018년' },
items: ['totalExtn24y', 'layingExtn24y', 'remvlExtn24y'],
},
{
name: 'year2019',
hideChildHeaders: false,
header: { text: '2019년' },
items: ['totalExtn25y', 'layingExtn25y', 'remvlExtn25y'],
},
{
name: 'year2020',
hideChildHeaders: false,
header: { text: '2020년' },
items: ['totalExtn26y', 'layingExtn26y', 'remvlExtn26y'],
},
{
name: 'year2021',
hideChildHeaders: false,
header: { text: '2021년' },
items: ['totalExtn27y', 'layingExtn27y', 'remvlExtn27y'],
},
{
name: 'year2022',
hideChildHeaders: false,
header: { text: '2022년' },
items: ['totalExtn28y', 'layingExtn28y', 'remvlExtn28y'],
},
{
name: 'year2023',
hideChildHeaders: false,
header: { text: '2023년' },
items: ['totalExtn29y', 'layingExtn29y', 'remvlExtn29y'],
},
{
name: 'year2024',
hideChildHeaders: false,
header: { text: '2024년' },
items: ['totalExtn30y', 'layingExtn30y', 'remvlExtn30y'],
},
'layingExtn',
'rmk',
],
rowStartNum: 2,
fixedColumns: 2,
tabKey: 'pipeTypeStatus',
tabLabel: '관종별 현황'
},
// ========================================
// Tab 4: 관경별 현황
// ========================================
{
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
// 관종
{ name: 'swrgPipeCd', fieldName: '관종', header: { text: '관종' } },
// 총계(m) - 계산
{ name: 'totalDiameter', fieldName: '총계(m)', header: { text: '총계(m)' }, editable: false },
// 원형(m)
{ name: 'under200', fieldName: '200mm 미만', header: { text: '200mm 미만' } },
{ name: 'over200Undev300', fieldName: '200mm이상~300mm미만', header: { text: '200mm이상~300mm미만' } },
{ name: 'over300Undev500', fieldName: '300mm이상~500mm미만', header: { text: '300mm이상~500mm미만' } },
{ name: 'over500Undev500', fieldName: '500mm이상~800mm미만', header: { text: '500mm이상~800mm미만' } },
{ name: 'over800', fieldName: '800이상mm', header: { text: '800이상mm' } },
// 사각형(m)
{ name: 'box', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
// 기타(측구 개거 등)
{ name: 'etc', fieldName: '기타(측구 개거 등)', header: { text: '기타(측구 개거 등)' } },
// 비고
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
'swrgPipeCd',
'totalDiameter',
{
name: 'circular',
hideChildHeaders: false,
header: { text: '원형(m)' },
items: [
'under200',
'over200Undev300',
'over300Undev500',
'over500Undev500',
'over800',
],
},
'box',
'etc',
'rmk',
],
rowStartNum: 2,
fixedColumns: 1,
tabKey: 'pipeDiameterStatus',
tabLabel: '관경별 현황'
},
// ========================================
// Tab 5: 시설별 현황관리
// Tab 5-1: 행정구역별 연결 현황 (우측 그리드)
// ========================================
{
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
{ name: 'adstDong', fieldName: '행정구역명', header: { text: '행정구역명' } },
// 연결여부
{ name: 'iscan', fieldName: '연결여부', header: { text: '연결여부' } },
// 연결하수처리장
{ name: 'bscFctNm', fieldName: '연결하수처리장', header: { text: '연결하수처리장' } },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg', 'adstDong'],
},
'iscan',
'bscFctNm',
],
rowStartNum: 2,
fixedColumns: 1,
tabKey: 'administrativeAreaConnection',
tabLabel: '행정구역별 연결 현황'
},
// ========================================
// Tab 5-2: 하수처리장별 연결 현황 (좌측 그리드)
// ========================================
{
columns: [
// 하수처리장 정보
{ name: 'bscFctNm', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
{ name: 'fctCpc', fieldName: '용량', header: { text: '용량' } },
{ name: 'bscFctCd', fieldName: '하수처리장코드', header: { text: '하수처리장코드' } },
// 연결여부
{ name: 'iscan', fieldName: '연결여부', header: { text: '연결여부' } },
// 연결지역
{ name: 'nmlist', fieldName: '연결지역', header: { text: '연결지역' } },
],
columnLayout: [
'bscFctNm',
'fctCpc',
'bscFctCd',
'iscan',
'nmlist',
],
rowStartNum: 1,
fixedColumns: 1,
tabKey: 'treatmentPlantConnection',
tabLabel: '하수처리장별 연결 현황'
},
];
@@ -0,0 +1,481 @@
/**
* 하수도 통계 관리 > 4.하수저류시설 및 빗물펌프장
* 2개 Tab: 컬럼 통합 관리
*/
export const SewageReservoirPumpMngColumnInfoList = [
// ========================================
// Tab 1: 하수저류시설
// ========================================
{
columns: [
// 행정구역
{ name: 'sidoCd', fieldName: '시도코드', header: { text: '시도코드' }, hidden: true },
{ name: 'adstDstrCd', fieldName: '행정구역코드', header: { text: '행정구역코드' }, hidden: true },
{ name: 'adstCd', fieldName: '행정코드', header: { text: '행정코드' }, hidden: true },
{ name: 'rgnNm', fieldName: '지역명', header: { text: '지역명' }, hidden: true },
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
// 기본정보
{ name: 'swgeStrgeFctSeq', fieldName: '시설SEQ', header: { text: '시설SEQ' }, hidden: true },
{ name: 'swgeStrgeNm', fieldName: '시설명', header: { text: '시설명' } },
{ name: 'addr', fieldName: '위치', header: { text: '위치' } },
{ name: 'rnDt', fieldName: '가동개시 년월일 yyyy-mm-dd', header: { text: '가동개시 년월일 yyyy-mm-dd' } },
{ name: 'useYn', fieldName: '사용여부', header: { text: '사용여부' }, hidden: true },
{ name: 'closeDt', fieldName: '폐지일자', header: { text: '폐지일자' }, hidden: true },
// 계획설계빈도
{ name: 'designFrequency', fieldName: '계획설계빈도', header: { text: '계획설계빈도' } },
// 설치목적
{ name: 'floodingPrevention', fieldName: '침수예방', header: { text: '침수예방' } },
{ name: 'waterQualityReduction', fieldName: '수질오염저감', header: { text: '수질오염저감' } },
{ name: 'sewerageReuseUse', fieldName: '하수재이용용도', header: { text: '하수재이용용도' } },
// 시설정보
{ name: 'facilityStructure', fieldName: '시설구조(일반지하식,지하터널식,기타)', header: { text: '시설구조(일반지하식,지하터널식,기타)' } },
{ name: 'catchmentAreaSize', fieldName: '집수구역면적(㎢)', header: { text: '집수구역면적(㎢)' } },
{ name: 'facilityCapacity', fieldName: '시설용량(m³)', header: { text: '시설용량(m³)' } },
// 펌프시설 - 총양수량
{ name: 'totalPumpingCapacity', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' } },
// 펌프시설1
{ name: 'pump1Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pump1PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'pump1Count', fieldName: '펌프대수', header: { text: '펌프대수' } },
{ name: 'pump1StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
// 펌프시설2
{ name: 'pump2Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pump2PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'pump2Count', fieldName: '펌프대수', header: { text: '펌프대수' } },
{ name: 'pump2StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
// 펌프시설3
{ name: 'pump3Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pump3PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'pump3Count', fieldName: '펌프대수', header: { text: '펌프대수' } },
{ name: 'pump3StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
// 부대시설
{ name: 'preprocessingFacility', fieldName: '전처리시설유무(유/무)', header: { text: '전처리시설유무(유/무)' } },
{ name: 'odorRemovalEquipment', fieldName: '탈취설비유무(유/무)', header: { text: '탈취설비유무(유/무)' } },
{ name: 'selfGenerationEquipment', fieldName: '자가발전유무(유/무)', header: { text: '자가발전유무(유/무)' } },
// 배수및저류방식
{ name: 'drainageMethod', fieldName: '배수방식(자연배수,강제배수)', header: { text: '배수방식(자연배수,강제배수)' } },
{ name: 'storageMethod', fieldName: '저류방식(직렬,병렬)', header: { text: '저류방식(직렬,병렬)' } },
{ name: 'storageWaterTreatmentMethod', fieldName: '저류수처리방법(자체처리,연계처리)', header: { text: '저류수처리방법(자체처리,연계처리)' } },
{ name: 'dischargeDestination', fieldName: '방류수역(또는 연계처리장명)', header: { text: '방류수역(또는 연계처리장명)' } },
// 최종처분량
{ name: 'sedimentDisposalAmount', fieldName: '침사', header: { text: '침사' } },
{ name: 'debrisDisposalAmount', fieldName: '협잡물', header: { text: '협잡물' } },
// 최종처분방법
{ name: 'sedimentDisposalMethod', fieldName: '침사', header: { text: '침사' } },
{ name: 'debrisDisposalMethod', fieldName: '협잡물', header: { text: '협잡물' } },
// 운영실적
{ name: 'operationDaysPerYear', fieldName: '기동일수(일/년)', header: { text: '기동일수(일/년)' } },
{ name: 'totalDischargePerYear', fieldName: '총배수량(m³/년)', header: { text: '총배수량(m³/년)' } },
// 비고
{ name: 'remarks', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
// 행정구역
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
// 시설명
'swgeStrgeNm',
// 위치
'addr',
// 가동개시 년월일
'rnDt',
// 계획설계빈도
'designFrequency',
// 설치목적
{
name: 'installationPurpose',
hideChildHeaders: false,
header: { text: '설치목적(O,X로 표기, 중복체크가능)' },
items: [
'floodingPrevention',
'waterQualityReduction',
'sewerageReuseUse',
],
},
// 시설구조
'facilityStructure',
// 집수구역면적
'catchmentAreaSize',
// 시설용량
'facilityCapacity',
// 펌프시설
{
name: 'pumpSystem',
hideChildHeaders: false,
header: { text: '펌프시설' },
items: [
// 총양수량
'totalPumpingCapacity',
// 펌프시설1
{
name: 'pumpSystem1',
hideChildHeaders: false,
header: { text: '펌프시설1' },
items: [
'pump1Diameter',
'pump1PumpingCapacity',
'pump1Count',
'pump1StandbyCount',
],
},
// 펌프시설2
{
name: 'pumpSystem2',
hideChildHeaders: false,
header: { text: '펌프시설2' },
items: [
'pump2Diameter',
'pump2PumpingCapacity',
'pump2Count',
'pump2StandbyCount',
],
},
// 펌프시설3
{
name: 'pumpSystem3',
hideChildHeaders: false,
header: { text: '펌프시설3' },
items: [
'pump3Diameter',
'pump3PumpingCapacity',
'pump3Count',
'pump3StandbyCount',
],
},
],
},
// 부대시설
{
name: 'auxiliaryFacilities',
hideChildHeaders: false,
header: { text: '부대시설' },
items: [
'preprocessingFacility',
'odorRemovalEquipment',
'selfGenerationEquipment',
],
},
// 배수방식
'drainageMethod',
// 저류방식
'storageMethod',
// 저류수처리방법
'storageWaterTreatmentMethod',
// 방류수역
'dischargeDestination',
// 최종처분량
{
name: 'finalDisposalAmount',
hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' },
items: [
'sedimentDisposalAmount',
'debrisDisposalAmount',
],
},
// 최종처분방법
{
name: 'finalDisposalMethod',
hideChildHeaders: false,
header: { text: '최종처분방법' },
items: [
'sedimentDisposalMethod',
'debrisDisposalMethod',
],
},
// 운영실적
{
name: 'operationResults',
hideChildHeaders: false,
header: { text: '운영실적' },
items: [
'operationDaysPerYear',
'totalDischargePerYear',
],
},
// 비고
'remarks',
],
rowStartNum: 3,
fixedColumns: 2,
tabKey: 'sewageReservoir',
tabLabel: '하수저류시설',
},
// ========================================
// Tab 2: 빗물펌프장
// ========================================
{
columns: [
// 행정구역
{ name: 'sidoCd', fieldName: '시도코드', header: { text: '시도코드' }, hidden: true },
{ name: 'adstDstrCd', fieldName: '행정구역코드', header: { text: '행정구역코드' }, hidden: true },
{ name: 'adstCd', fieldName: '행정코드', header: { text: '행정코드' }, hidden: true },
{ name: 'rgnNm', fieldName: '지역명', header: { text: '지역명' }, hidden: true },
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
// 기본정보
{ name: 'swgeStrgeFctSeq', fieldName: '시설SEQ', header: { text: '시설SEQ' }, hidden: true },
{ name: 'swgeStrgeNm', fieldName: '시설명', header: { text: '시설명' } },
{ name: 'addr', fieldName: '위치', header: { text: '위치' } },
{ name: 'facRes', fieldName: '시설물종류', header: { text: '시설물종류' } },
{ name: 'rnDt', fieldName: '가동개시 년월일 yyyy-mm-dd', header: { text: '가동개시 년월일 yyyy-mm-dd' } },
// 계획설계빈도
{ name: 'plDsgnFrqnc', fieldName: '계획설계빈도', header: { text: '계획설계빈도' } },
// 집수구역면적
{ name: 'dgrAr', fieldName: '집수구역면적(㎢)', header: { text: '집수구역면적(㎢)' } },
// 유수지
{ name: 'revFnnc', fieldName: '유수지유무(유,무)', header: { text: '유수지유무(유,무)' } },
{ name: 'revCpcty', fieldName: '저류랑(m³)', header: { text: '저류랑(m³)' } },
// 흡수정
{ name: 'absCpcty', fieldName: '저류랑(m³)', header: { text: '저류랑(m³)' } },
// 펌프시설 - 총양수량
{ name: 'wpCpcty', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' } },
// 펌프시설1
{ name: 'pumpCalbr', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pumpHpCo', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'pumpCo', fieldName: '펌프대수', header: { text: '펌프대수' } },
{ name: 'pumpPreparCo', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
// 펌프시설2
{ name: 'pumpCalbr2', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pumpHpCo2', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'pumpCo2', fieldName: '펌프대수', header: { text: '펌프대수' } },
{ name: 'pumpPreparCo2', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
// 펌프시설3
{ name: 'pumpCalbr3', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pumpHpCo3', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
{ name: 'pumpCo3', fieldName: '펌프대수', header: { text: '펌프대수' } },
{ name: 'pumpPreparCo3', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
// 부대시설
{ name: 'dorZeqpFnnc', fieldName: '전처리시설유무(유/무)', header: { text: '전처리시설유무(유/무)' } },
{ name: 'selfEtrqFnnc', fieldName: '탈취설비유무(유/무)', header: { text: '탈취설비유무(유/무)' } },
{ name: 'freFnnc', fieldName: '자가발전유무(유/무)', header: { text: '자가발전유무(유/무)' } },
// 방류수역
{ name: 'disWat', fieldName: '방류수역', header: { text: '방류수역' } },
// 최종처분량
{ name: 'sdmtTreCpcty', fieldName: '침사', header: { text: '침사' } },
{ name: 'iprtTreCpcty', fieldName: '협잡물', header: { text: '협잡물' } },
// 최종처분방법
{ name: 'sdmtTreMth', fieldName: '침사', header: { text: '침사' } },
{ name: 'iprtTreMth', fieldName: '협잡물', header: { text: '협잡물' } },
// 운영실적
{ name: 'yrstpRnDyn', fieldName: '기동일수(일/년)', header: { text: '기동일수(일/년)' } },
{ name: 'dsplcmntAmnt', fieldName: '총배수량(m³/년)', header: { text: '총배수량(m³/년)' } },
// 비고
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
// 행정구역
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'sgg'],
},
// 시설명
'swgeStrgeNm',
// 위치
'addr',
// 시설물종류
'facRes',
// 가동개시 년월일
'rnDt',
// 계획설계빈도
'plDsgnFrqnc',
// 집수구역면적
'dgrAr',
// 유수지
{
name: 'reservoir',
hideChildHeaders: false,
header: { text: '유수지' },
items: [
'revFnnc',
'revCpcty',
],
},
// 흡수정
{
name: 'absorptionWell',
hideChildHeaders: false,
header: { text: '흡수정' },
items: [
'absCpcty',
],
},
// 펌프시설
{
name: 'pumpSystem',
hideChildHeaders: false,
header: { text: '펌프시설' },
items: [
// 총양수량
'wpCpcty',
// 펌프시설1
{
name: 'pumpSystem1',
hideChildHeaders: false,
header: { text: '펌프시설1' },
items: [
'pumpCalbr',
'pumpHpCo',
'pumpCo',
'pumpPreparCo',
],
},
// 펌프시설2
{
name: 'pumpSystem2',
hideChildHeaders: false,
header: { text: '펌프시설2' },
items: [
'pumpCalbr2',
'pumpHpCo2',
'pumpCo2',
'pumpPreparCo2',
],
},
// 펌프시설3
{
name: 'pumpSystem3',
hideChildHeaders: false,
header: { text: '펌프시설3' },
items: [
'pumpCalbr3',
'pumpHpCo3',
'pumpCo3',
'pumpPreparCo3',
],
},
],
},
// 부대시설
{
name: 'auxiliaryFacilities',
hideChildHeaders: false,
header: { text: '부대시설' },
items: [
'dorZeqpFnnc',
'selfEtrqFnnc',
'freFnnc',
],
},
// 방류수역
'disWat',
// 최종처분량
{
name: 'finalDisposalAmount',
hideChildHeaders: false,
header: { text: '최종처분량(ton/년)' },
items: [
'sdmtTreCpcty',
'iprtTreCpcty',
],
},
// 최종처분방법
{
name: 'finalDisposalMethod',
hideChildHeaders: false,
header: { text: '최종처분방법' },
items: [
'sdmtTreMth',
'iprtTreMth',
],
},
// 운영실적
{
name: 'operationResults',
hideChildHeaders: false,
header: { text: '운영실적' },
items: [
'yrstpRnDyn',
'dsplcmntAmnt',
],
},
// 비고
'rmk',
],
rowStartNum: 3,
fixedColumns: 2,
tabKey: 'rainfallPumpStation',
tabLabel: '빗물펌프장',
},
];