diff --git a/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx b/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx index b393fa02a..e5b70343e 100644 --- a/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx +++ b/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx @@ -6,106 +6,10 @@ import LastYearDataButton from "@/components/button/LastYearDataButton"; import SubmitExceptionButton from "@/components/button/SubmitExceptionButton"; import { useState } from "react"; +import { ExcretaTreatmentFacilityMngColumn } from "@/components/util/column/management/ExcretaTreatmentFacilityMngColumn" // 하수도 통계 관리 > 07. 분뇨처리시설 const ExcretaTreatmentFacilityMng = () => { - const columns = [ - // 행정구역 - { name: 'sido', fieldName: '시도', header: { text: '시도' } }, - { name: 'gugun', fieldName: '시군구', header: { text: '시군구' } }, - - // 기본 정보 - { name: 'ecscs_nm', fieldName: '시설명', header: { text: '시설명' } }, - { name: 'locplcs', fieldName: '소재지', header: { text: '소재지' } }, - { name: 'telno', fieldName: '전화번호', header: { text: '전화번호' } }, - - // 날짜 정보 - { name: 'comp_dt', fieldName: '준공일 yyyy-mm-dd', header: { text: '준공일 yyyy-mm-dd' } }, - { name: 'rn_dt', fieldName: '가동개시일 yyyy-mm-dd', header: { text: '가동개시일 yyyy-mm-dd' } }, - - // 사업비/용량 정보 - { name: 'wct', fieldName: '사업비', header: { text: '사업비(백만원)' } }, - { name: 'ecscs_cpcty', fieldName: '시설용량', header: { text: '시설용량(m³/일)' } }, - { name: 'process_cpcty', fieldName: '처리량', header: { text: '처리량(m³/일)' } }, - { name: 'opr_daycnt', fieldName: '가동일수', header: { text: '가동일수(일/년)' } }, - - // 처리 공법 및 연계 - { name: 'trt_msrc', fieldName: '처리공법', header: { text: '처리공법' } }, - { name: 'cntc_prcplt', fieldName: '연계처리장명', header: { text: '연계처리장명' } }, - { name: 'assct_trt_cpc', fieldName: '연계처리량', header: { text: '연계처리량(m³/일)' } }, - - // 유입수질 (TOC만 포함) - { name: 'infl_wqlt_bod', fieldName: '유입BOD', header: { text: 'BOD' } }, - { name: 'infl_wqlt_toc', fieldName: '유입TOC', header: { text: 'TOC' } }, - { name: 'infl_wqlt_ss', fieldName: '유입SS', header: { text: 'SS' } }, - { name: 'infl_wqlt_tn', fieldName: '유입T-N', header: { text: 'T-N' } }, - { name: 'infl_wqlt_tp', fieldName: '유입T-P', header: { text: 'T-P' } }, - { name: 'infl_wqlt_clfgrpcnt', fieldName: '유입대장균군수', header: { text: '대장균군수' } }, - - // 방류수질 (TOC만 포함) - { name: 'effl_wqlt_bod', fieldName: '방류BOD', header: { text: 'BOD' } }, - { name: 'effl_wqlt_toc', fieldName: '방류TOC', header: { text: 'TOC' } }, - { name: 'effl_wqlt_ss', fieldName: '방류SS', header: { text: 'SS' } }, - { name: 'effl_wqlt_tn', fieldName: '방류T-N', header: { text: 'T-N' } }, - { name: 'effl_wqlt_tp', fieldName: '방류T-P', header: { text: 'T-P' } }, - { name: 'effl_wqlt_clfgrpcnt', fieldName: '방류대장균군수', header: { text: '대장균군수' } }, - - // 방류수역 - { name: 'rvbsn', fieldName: '수계', header: { text: '수계' } }, - { name: 'bstrm', fieldName: '지류', header: { text: '지류' } }, - { name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } }, - { name: 'mdmbsn', fieldName: '소권역', header: { text: '소권역' } }, - - // 운영 정보 - { name: 'oper_mth', fieldName: '운영주체(자체/공기업/민간위탁)', header: { text: '운영주체(자체/공기업/민간위탁)' } }, - { name: 'cntc_prcplt_cpc', fieldName: '직원총수', header: { text: '직원총수(명)' } }, - { name: 'safe_acdnt_co', fieldName: '안전사고건수', header: { text: '안전사고건수(건/인/년)' } }, - - // 기타 - { name: 'rmk', fieldName: '비고', header: { text: '비고' } }, - ]; - const columnLayout = [ - { - name: 'adminGroup', - hideChildHeaders: false, - header: { text: '행정구역' }, - items: ['sido', 'gugun'], - }, - 'ecscs_nm', - 'locplcs', - 'telno', - 'comp_dt', - 'rn_dt', - 'wct', - 'ecscs_cpcty', - 'process_cpcty', - 'opr_daycnt', - 'trt_msrc', - 'cntc_prcplt', - 'assct_trt_cpc', - { - name: 'influenceGroup', - hideChildHeaders: false, - header: { text: '유입수질(mg/L, 개/mL)' }, - items: ['infl_wqlt_bod', 'infl_wqlt_toc', 'infl_wqlt_ss', 'infl_wqlt_tn', 'infl_wqlt_tp', 'infl_wqlt_clfgrpcnt'], - }, - { - name: 'effluentGroup', - hideChildHeaders: false, - header: { text: '방류수질(mg/L, 개/mL)' }, - items: ['effl_wqlt_bod', 'effl_wqlt_toc', 'effl_wqlt_ss', 'effl_wqlt_tn', 'effl_wqlt_tp', 'effl_wqlt_clfgrpcnt'], - }, - { - name: 'dischargeGroup', - hideChildHeaders: false, - header: { text: '방류수역' }, - items: ['rvbsn', 'bstrm', 'lgbsn', 'mdmbsn'], - }, - 'oper_mth', - 'cntc_prcplt_cpc', - 'safe_acdnt_co', - 'rmk', - ]; const submitExceptionFunc = () => { console.log('submit exception'); @@ -117,16 +21,16 @@ const ExcretaTreatmentFacilityMng = () => { // 지난년도 데이터 가져오기 로직 }; - const saveFunc = () => { - console.log('save'); - // 저장 로직 - }; - const submitFunc = () => { console.log('submit'); // 제출 로직 }; + const saveFunc = () => { + console.log('save'); + // 저장 로직 + }; + const [rowData, setRowData] = useState[]>([]); return ( @@ -135,12 +39,10 @@ const ExcretaTreatmentFacilityMng = () => {
-
-
- + ); }; diff --git a/apps/st/src/components/util/column/management/ExcretaTreatmentFacilityMngColumn.ts b/apps/st/src/components/util/column/management/ExcretaTreatmentFacilityMngColumn.ts new file mode 100644 index 000000000..5a81539a7 --- /dev/null +++ b/apps/st/src/components/util/column/management/ExcretaTreatmentFacilityMngColumn.ts @@ -0,0 +1,112 @@ +import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary"; + +/** + * 하수도 통계 관리 > 07. 분뇨처리시설 + * 단일 Tab + */ +export const ExcretaTreatmentFacilityMngColumn = { + columns: [ + // 행정구역 + { name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false }, + { name: 'gugun', fieldName: '시군구', header: { text: '시군구' } }, + + // 기본 정보 + { name: 'ecscs_nm', fieldName: '시설명', header: { text: '시설명' } }, + { name: 'locplcs', fieldName: '소재지', header: { text: '소재지' } }, + { name: 'telno', fieldName: '전화번호', header: { text: '전화번호' } }, + + // 날짜 정보 + { name: 'comp_dt', fieldName: '준공일 yyyy-mm-dd', header: { text: '준공일 yyyy-mm-dd' } }, + { name: 'rn_dt', fieldName: '가동개시일 yyyy-mm-dd', header: { text: '가동개시일 yyyy-mm-dd' } }, + + // 사업비/용량 정보 + { name: 'wct', fieldName: '사업비(백만원)', header: { text: '사업비(백만원)' }, footer: footerInt }, + { name: 'ecscs_cpcty', fieldName: '시설용량(m³/일)', header: { text: '시설용량(m³/일)' } }, + { name: 'process_cpcty', fieldName: '처리량(m³/일)', header: { text: '처리량(m³/일)' }, footer: footerDecimal1 }, + { name: 'opr_daycnt', fieldName: '가동일수(일/년)', header: { text: '가동일수(일/년)' }, footer: footerInt }, + + // 처리 공법 및 연계 + { name: 'trt_msrc', fieldName: '처리공법', header: { text: '처리공법' } }, + { name: 'cntc_prcplt', fieldName: '연계처리장명', header: { text: '연계처리장명' } }, + { name: 'assct_trt_cpc', fieldName: '연계처리량(m³/일)', header: { text: '연계처리량(m³/일)' } }, + + // 유입수질 + { name: 'infl_wqlt_bod', fieldName: '유입BOD', header: { text: 'BOD' }, footer: footerDecimal3 }, + { name: 'infl_wqlt_toc', fieldName: '유입TOC', header: { text: 'TOC' }, footer: footerDecimal3 }, + { name: 'infl_wqlt_ss', fieldName: '유입SS', header: { text: 'SS' }, footer: footerDecimal3 }, + { name: 'infl_wqlt_tn', fieldName: '유입T-N', header: { text: 'T-N' }, footer: footerDecimal3 }, + { name: 'infl_wqlt_tp', fieldName: '유입T-P', header: { text: 'T-P' }, footer: footerDecimal3 }, + { name: 'infl_wqlt_clfgrpcnt', fieldName: '유입대장균군수', header: { text: '대장균군수' }, footer: footerDecimal3 }, + + // 방류수질 + { name: 'effl_wqlt_bod', fieldName: '방류BOD', header: { text: 'BOD' }, footer: footerDecimal3 }, + { name: 'effl_wqlt_toc', fieldName: '방류TOC', header: { text: 'TOC' }, footer: footerDecimal3 }, + { name: 'effl_wqlt_ss', fieldName: '방류SS', header: { text: 'SS' }, footer: footerDecimal3 }, + { name: 'effl_wqlt_tn', fieldName: '방류T-N', header: { text: 'T-N' }, footer: footerDecimal3 }, + { name: 'effl_wqlt_tp', fieldName: '방류T-P', header: { text: 'T-P' }, footer: footerDecimal3 }, + { name: 'effl_wqlt_clfgrpcnt', fieldName: '방류대장균군수', header: { text: '대장균군수' }, footer: footerDecimal3 }, + + // 방류수역 + { name: 'rvbsn', fieldName: '수계', header: { text: '수계' } }, + { name: 'bstrm', fieldName: '지류', header: { text: '지류' } }, + { name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } }, + { name: 'mdmbsn', fieldName: '소권역', header: { text: '소권역' } }, + + // 운영 정보 + { name: 'oper_mth', fieldName: '운영주체(자체/공기업/민간위탁)', header: { text: '운영주체(자체/공기업/민간위탁)' } }, + { name: 'cntc_prcplt_cpc', fieldName: '직원총수(명)', header: { text: '직원총수(명)' }, footer: footerInt }, + { name: 'administration_opiton', fieldName: '행정직(명)', header: { text: '행정직(명)' }, footer: footerInt }, // 운영에만 존재하는 컬럼 + { name: 'technology_option', fieldName: '기술직(명)', header: { text: '기술직(명)' }, footer: footerInt }, // 운영에만 존재하는 컬럼 + { name: 'etc_option', fieldName: '기타(명)', header: { text: '기타(명)' }, footer: footerInt }, // 운영에만 존재하는 컬럼 + { name: 'safe_acdnt_co', fieldName: '안전사고건수(건/인/년)', header: { text: '안전사고건수(건/인/년)' }, footer: footerInt }, + + // 기타 + { name: 'rmk', fieldName: '비고', header: { text: '비고' } }, + ], + + columnLayout: [ + { + name: 'adminGroup', + hideChildHeaders: false, + header: { text: '행정구역' }, + items: ['sido', 'gugun'], + }, + 'ecscs_nm', + 'locplcs', + 'telno', + 'comp_dt', + 'rn_dt', + 'wct', + 'ecscs_cpcty', + 'process_cpcty', + 'opr_daycnt', + 'trt_msrc', + 'cntc_prcplt', + 'assct_trt_cpc', + { + name: 'influenceGroup', + hideChildHeaders: false, + header: { text: '유입수질(mg/L, 개/mL)' }, + items: ['infl_wqlt_bod', 'infl_wqlt_toc', 'infl_wqlt_ss', 'infl_wqlt_tn', 'infl_wqlt_tp', 'infl_wqlt_clfgrpcnt'], + }, + { + name: 'effluentGroup', + hideChildHeaders: false, + header: { text: '방류수질(mg/L, 개/mL)' }, + items: ['effl_wqlt_bod', 'effl_wqlt_toc', 'effl_wqlt_ss', 'effl_wqlt_tn', 'effl_wqlt_tp', 'effl_wqlt_clfgrpcnt'], + }, + { + name: 'dischargeGroup', + hideChildHeaders: false, + header: { text: '방류수역' }, + items: ['rvbsn', 'bstrm', 'lgbsn', 'mdmbsn'], + }, + 'oper_mth', + 'cntc_prcplt_cpc', + 'administration_opiton', + 'technology_option', + 'etc_option', + 'safe_acdnt_co', + 'rmk', + ] +}; \ No newline at end of file