refactor: 02. 하수관로 tab 구조 개선 & grid footer 설정 수정
- 개별 컬럼 정의 파일들을 리스트로 묶어 TabDataGrid에 직접 전달하는 방식으로 변경 - footerSummary.ts에 포맷별(정수/소수점) 설정 객체 추가 및 export - SeweragePenetrationRateMngColumn.ts 파일에 footer 적용
This commit is contained in:
@@ -1,29 +1,63 @@
|
||||
import SearchForm from "@/components/module/SearchForm";
|
||||
import TabDataGrid from "@/components/module/TabDataGrid";
|
||||
import ApproveButton from "@/components/button/ApproveButton";
|
||||
import RejectButton from "@/components/button/RejectButton"
|
||||
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 { SewagePipeMngColumnInfoList } from "@/components/util/column/management/SewagePipeMngColumn";
|
||||
import { RegionalFacilityColumn } from "@/components/util/column/management/sewagePipe/RegionalFacility";
|
||||
import { FacilityInstallColumn } from "@/components/util/column/management/sewagePipe/FacilityInstall";
|
||||
import { PipeTypeColumn } from "@/components/util/column/management/sewagePipe/PipeTypeStatus";
|
||||
import { PipeDiameterColumn } from "@/components/util/column/management/sewagePipe/PipeDiameterStatus";
|
||||
import { ManholeStatusColumn } from "@/components/util/column/management/sewagePipe/ManholeStatus";
|
||||
import {
|
||||
AdminAreaConnectionColumn,
|
||||
TreatmentPlantConnectionColumn
|
||||
} from "@/components/util/column/management/sewagePipe/ConnectionStatus";
|
||||
|
||||
// 하수도 통계 관리 > 02. 하수관로
|
||||
const SewagePipeMng = () => {
|
||||
|
||||
const approveFunc = () => {
|
||||
console.log('appoved');
|
||||
// 승인 요청 로직
|
||||
// tab List
|
||||
const SewagePipeMngColumnInfoList = [
|
||||
RegionalFacilityColumn,
|
||||
FacilityInstallColumn,
|
||||
PipeTypeColumn,
|
||||
PipeDiameterColumn,
|
||||
ManholeStatusColumn,
|
||||
// 일단 각 tab으로 구현
|
||||
TreatmentPlantConnectionColumn,
|
||||
AdminAreaConnectionColumn
|
||||
];
|
||||
|
||||
const submitFunc = () => {
|
||||
console.log('submit');
|
||||
// 제출 로직
|
||||
};
|
||||
|
||||
const rejectFunc = () => {
|
||||
console.log('reject');
|
||||
// 보완 요청 로직
|
||||
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]">
|
||||
<RejectButton rejectFunc={rejectFunc} />
|
||||
<ApproveButton approveFunc={approveFunc} />
|
||||
<SubmitButton submitFunc={submitFunc} />
|
||||
<SaveButton saveFunc={saveFunc} />
|
||||
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
|
||||
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
|
||||
</div>
|
||||
<TabDataGrid columnInfo={SewagePipeMngColumnInfoList}/>
|
||||
</>
|
||||
|
||||
@@ -10,7 +10,6 @@ import { SeweragePenetrationRateMngColumnInfo } from "@/components/util/column/m
|
||||
// 하수도 통계 관리 > 01. 하수도 보급률
|
||||
const SeweragePenetrationRateMng = () => {
|
||||
|
||||
// 로직은 그대로 유지
|
||||
const submitFunc = () => {
|
||||
console.log('submit');
|
||||
// 제출 로직
|
||||
|
||||
@@ -1,800 +0,0 @@
|
||||
/**
|
||||
* 하수도 통계 관리 > 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: '하수처리장별 연결 현황'
|
||||
},
|
||||
];
|
||||
@@ -1,23 +1,4 @@
|
||||
import type { GridView, DataColumn } from "@/components/type/DataGrid.type";
|
||||
import { getFooterSummary } from "@/components/util/grid/footerSummary";
|
||||
|
||||
// Footer 설정 생성 함수
|
||||
const createSumFooter = (format: string) => ({
|
||||
expression: 'sum' as const,
|
||||
numberFormat: format,
|
||||
valueCallback: (grid: GridView, column: DataColumn) => {
|
||||
return getFooterSummary(grid, column);
|
||||
},
|
||||
});
|
||||
|
||||
// 1. 정수형 : #,##0
|
||||
const footerInt = createSumFooter('#,##0');
|
||||
|
||||
// 2. 소수점 3자리 : #,##0.000
|
||||
const footerDecimal3 = createSumFooter('#,##0.000');
|
||||
|
||||
// 3. 소수점 1자리 : #,##0.0
|
||||
const footerDecimal1 = createSumFooter('#,##0.0');
|
||||
import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary";
|
||||
|
||||
/**
|
||||
* 하수도 통계 관리 > 01. 하수도 보급률
|
||||
@@ -29,8 +10,8 @@ export const SeweragePenetrationRateMngColumnInfo = {
|
||||
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
|
||||
{
|
||||
name: 'sgg',
|
||||
fieldName: '구군',
|
||||
header: { text: '구군' },
|
||||
fieldName: '시군구',
|
||||
header: { text: '시군구' },
|
||||
footer: { text: '합계' },
|
||||
editable: false
|
||||
},
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
// 하수도 통계 관리 > 02.하수관로 > tab 6. 시설별 현황관리
|
||||
|
||||
// Tab 6-1: 행정구역별 연결 현황 (우측 그리드)
|
||||
export const AdminAreaConnectionColumn = {
|
||||
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 6-2: 하수처리장별 연결 현황 (좌측 그리드)
|
||||
export const TreatmentPlantConnectionColumn = {
|
||||
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,137 @@
|
||||
// 하수도 통계 관리 > 02.하수관로 > tab 2. 시설별 설치현황
|
||||
|
||||
export const FacilityInstallColumn = {
|
||||
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: '시설별 설치현황'
|
||||
};
|
||||
@@ -0,0 +1,328 @@
|
||||
// 하수도 통계 관리 > 02.하수관로 > tab 5. 맨홀 현황
|
||||
|
||||
export const ManholeStatusColumn = {
|
||||
columns: [
|
||||
// 행정구역
|
||||
{ name: 'a1', fieldName: '시도', header: { text: '시도' } },
|
||||
{ name: 'a2', fieldName: '시군구', header: { text: '시군구' } },
|
||||
|
||||
// 집중강우중점관리구역구분
|
||||
{ name: 'a3', fieldName: '집중강우중점관리구역구분', header: { text: '집중강우중점관리구역구분' } },
|
||||
|
||||
// 연도별총계 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'b1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'b2', fieldName: '주철', header: { text: '주철' }, editable: false },
|
||||
{ name: 'b3', fieldName: '주철(조화)', header: { text: '주철(조화)' }, editable: false },
|
||||
{ name: 'b4', fieldName: '콘크리트', header: { text: '콘크리트' }, editable: false },
|
||||
{ name: 'b5', fieldName: '기타', header: { text: '기타' }, editable: false },
|
||||
// 연도별총계 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'b6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' }, editable: false },
|
||||
|
||||
// 2015년 이전 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'c1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'c2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'c3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'c4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'c5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2015년 이전 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'c6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2015년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'd1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'd2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'd3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'd4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'd5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2015년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'd6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2016년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'e1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'e2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'e3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'e4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'e5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2016년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'e6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2017년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'f1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'f2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'f3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'f4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'f5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2017년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'f6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2018년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'g1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'g2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'g3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'g4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'g5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2018년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'g6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2019년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'h1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'h2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'h3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'h4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'h5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2019년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'h6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2020년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'i1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'i2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'i3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'i4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'i5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2020년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'i6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2021년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'j1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'j2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'j3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'j4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'j5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2021년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'j6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2022년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'k1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'k2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'k3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'k4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'k5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2022년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'k6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2023년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'l1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'l2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'l3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'l4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'l5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2023년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'l6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2024년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'm1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'm2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'm3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'm4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'm5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2024년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'm6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 2025년 - 맨홀뚜껑 재질(개)
|
||||
{ name: 'n1', fieldName: '계', header: { text: '계' }, editable: false },
|
||||
{ name: 'n2', fieldName: '주철', header: { text: '주철' } },
|
||||
{ name: 'n3', fieldName: '주철(조화)', header: { text: '주철(조화)' } },
|
||||
{ name: 'n4', fieldName: '콘크리트', header: { text: '콘크리트' } },
|
||||
{ name: 'n5', fieldName: '기타', header: { text: '기타' } },
|
||||
// 2025년 - 추락방지시설설치맨홀(개)
|
||||
{ name: 'n6', fieldName: '추락방지시설설치맨홀(개)', header: { text: '추락방지시설설치맨홀(개)' } },
|
||||
|
||||
// 비고
|
||||
{ name: 'z1', fieldName: '비고', header: { text: '비고' } },
|
||||
],
|
||||
columnLayout: [
|
||||
{
|
||||
name: 'adminArea',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '행정구역' },
|
||||
items: ['a1', 'a2'],
|
||||
},
|
||||
'a3',
|
||||
{
|
||||
name: 'yearlyTotal',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '연도별총계' },
|
||||
items: [
|
||||
{
|
||||
name: 'yearlyTotalMaterial',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['b1', 'b2', 'b3', 'b4', 'b5'],
|
||||
},
|
||||
'b6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'before2015',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2015년 이전' },
|
||||
items: [
|
||||
{
|
||||
name: 'before2015Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['c1', 'c2', 'c3', 'c4', 'c5'],
|
||||
},
|
||||
'c6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2015',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2015년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2015Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['d1', 'd2', 'd3', 'd4', 'd5'],
|
||||
},
|
||||
'd6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2016',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2016년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2016Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['e1', 'e2', 'e3', 'e4', 'e5'],
|
||||
},
|
||||
'e6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2017',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2017년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2017Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['f1', 'f2', 'f3', 'f4', 'f5'],
|
||||
},
|
||||
'f6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2018',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2018년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2018Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['g1', 'g2', 'g3', 'g4', 'g5'],
|
||||
},
|
||||
'g6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2019',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2019년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2019Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['h1', 'h2', 'h3', 'h4', 'h5'],
|
||||
},
|
||||
'h6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2020',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2020년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2020Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['i1', 'i2', 'i3', 'i4', 'i5'],
|
||||
},
|
||||
'i6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2021',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2021년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2021Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['j1', 'j2', 'j3', 'j4', 'j5'],
|
||||
},
|
||||
'j6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2022',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2022년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2022Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['k1', 'k2', 'k3', 'k4', 'k5'],
|
||||
},
|
||||
'k6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2023',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2023년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2023Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['l1', 'l2', 'l3', 'l4', 'l5'],
|
||||
},
|
||||
'l6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2024',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2024년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2024Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['m1', 'm2', 'm3', 'm4', 'm5'],
|
||||
},
|
||||
'm6',
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'year2025',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '2025년' },
|
||||
items: [
|
||||
{
|
||||
name: 'year2025Material',
|
||||
hideChildHeaders: false,
|
||||
header: { text: '맨홀뚜껑 재질(개)' },
|
||||
items: ['n1', 'n2', 'n3', 'n4', 'n5'],
|
||||
},
|
||||
'n6',
|
||||
],
|
||||
},
|
||||
'z1',
|
||||
],
|
||||
rowStartNum: 3,
|
||||
fixedColumns: 2,
|
||||
tabKey: 'manholeStatus',
|
||||
tabLabel: '맨홀 현황'
|
||||
};
|
||||
@@ -0,0 +1,60 @@
|
||||
// 하수도 통계 관리 > 02.하수관로 > tab 4. 관경별 현황
|
||||
|
||||
export const PipeDiameterColumn = {
|
||||
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: '관경별 현황'
|
||||
};
|
||||
@@ -0,0 +1,374 @@
|
||||
// 하수도 통계 관리 > 02.하수관로 > tab 3. 관종별 현황
|
||||
|
||||
export const PipeTypeColumn = {
|
||||
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: '관종별 현황'
|
||||
};
|
||||
@@ -0,0 +1,153 @@
|
||||
// 하수도 통계 관리 > 02.하수관로 > tab 1. 지역별 시설현황
|
||||
|
||||
export const RegionalFacilityColumn = {
|
||||
columns: [
|
||||
// 행정구역(고정)
|
||||
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
|
||||
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' }, footer: { 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: '지역별 시설현황'
|
||||
};
|
||||
@@ -1,5 +1,6 @@
|
||||
import type { GridView, DataColumn } from "@/components/type/DataGrid.type";
|
||||
|
||||
// 그리드 푸터 합계 계산 함수 (계산 로직)
|
||||
export const getFooterSummary = (grid: GridView, column: DataColumn) => {
|
||||
// 데이터 소스에서 직접 합계 계산
|
||||
const dataSource = grid.getDataSource();
|
||||
@@ -8,6 +9,7 @@ export const getFooterSummary = (grid: GridView, column: DataColumn) => {
|
||||
|
||||
for (let i = 0; i < rowCount; i++) {
|
||||
const cellValue = dataSource.getValue(i, column.fieldName);
|
||||
|
||||
// 문자열인 경우 숫자로 변환
|
||||
const numericValue = typeof cellValue === 'string'
|
||||
? Number(String(cellValue).replace(/,/g, ''))
|
||||
@@ -19,4 +21,25 @@ export const getFooterSummary = (grid: GridView, column: DataColumn) => {
|
||||
}
|
||||
|
||||
return sum;
|
||||
};
|
||||
};
|
||||
|
||||
// Footer 설정 객체 생성 함수
|
||||
const createSumFooter = (format: string) => ({
|
||||
expression: 'sum' as const,
|
||||
numberFormat: format,
|
||||
valueCallback: (grid: GridView, column: DataColumn) => {
|
||||
return getFooterSummary(grid, column);
|
||||
},
|
||||
});
|
||||
|
||||
// 1. 정수형 : #,##0
|
||||
export const footerInt = createSumFooter('#,##0');
|
||||
|
||||
// 2. 소수점 1자리 : #,##0.0
|
||||
export const footerDecimal1 = createSumFooter('#,##0.0');
|
||||
|
||||
// 3. 소수점 2자리 : #,##0.00
|
||||
export const footerDecimal2 = createSumFooter('#,##0.00');
|
||||
|
||||
// 4. 소수점 3자리 : #,##0.000
|
||||
export const footerDecimal3 = createSumFooter('#,##0.000');
|
||||
Reference in New Issue
Block a user