diff --git a/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx b/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx index d9086a940..71f41f254 100644 --- a/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx +++ b/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx @@ -1,141 +1,30 @@ import SearchForm from "@/components/module/SearchForm"; -import DataGrid from "@/components/module/DataGrid"; import SaveButton from "@/components/button/SaveButton"; import ApproveButton from "@/components/button/ApproveButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; import ReturnButton from "@/components/button/ReturnButton"; +import TabDataGrid from "@/components/module/TabDataGrid"; +import { ExcretaTreatmentFacilityInfoList } from "@/components/util/column/review/ExcretaTreatmentFacilityColumnRvw"; + const ExcretaTreatmentFacilityRvw = () => { - 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: '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: 'rmk', fieldName: '비고', header: { text: '비고' } }, - ]; - - - - const columnLayout = [ - { - name: 'groupA', - hideChildHeaders: false, - header: { text: '행정구역' }, - items: ['sido', 'sgg'], - }, - '시설명', - '구분', - '소재지', - '전화번호', - '준공일', - '가동개시일', - '사업비(백만원)', - '시설용량(m3/일)', - '처리량(m3/일)', - '가동일수(일/년)', - '처리공법', - '연계처리장명', - '연계처리량', - { - name: 'groupB', - hideChildHeaders: false, - header: { text: '유입수질(mg/L,개/mL)' }, - 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', '방류수질대장균군수'], - }, - - { - name: 'groupD', - hideChildHeaders: false, - header: { text: '방류수역' }, - items: ['수계', '지류', '중권역', '소권역'], - }, - '운영주체(자체/공기업,민간위탁)', - '직원총수(명)', - '안전사고건수(건,인/년)', - 'rmk' - ]; - - const approveFunc = () => { - console.log('approveFunc'); - // 승인 로직 - }; - - const saveFunc = () => { - console.log('submit'); - // 저장 로직 - }; - - const reviewOpinionFunc = () => { - console.log('reviewOpinionFunc'); - // 검토의견 작성 - }; - - const returnFunc = () => { - console.log('returnFunc'); - // 반려 - }; + const approveFunc = () => console.log('approveFunc'); + const saveFunc = () => console.log('submit'); + const reviewOpinionFunc = () => console.log('reviewOpinionFunc'); + const returnFunc = () => console.log('returnFunc'); return ( <> - +
- + ); }; diff --git a/apps/st/src/components/util/column/review/ExcretaTreatmentFacilityColumnRvw.ts b/apps/st/src/components/util/column/review/ExcretaTreatmentFacilityColumnRvw.ts new file mode 100644 index 000000000..4f57b1207 --- /dev/null +++ b/apps/st/src/components/util/column/review/ExcretaTreatmentFacilityColumnRvw.ts @@ -0,0 +1,88 @@ +export const ExcretaTreatmentFacilityInfoList = [ + { + tabKey: 'a', + tabLabel: '분뇨 처리 시설 현황', + rowStartNum: 2, // 2단 헤더 구조 + fixedColumns: 3, // 순번, 시도, 구군까지 고정 + columns: [ + /* 1. 행정구역 */ + { name: 'sido', fieldName: 'SIDO', header: { text: '시도' } }, + { name: 'sgg', fieldName: 'GUGUN', header: { text: '구군' } }, + + /* 2. 기본 정보 */ + { name: 'FCT_NM', fieldName: 'FCT_NM', header: { text: '시설명' } }, + { name: 'GBN', fieldName: 'GBN', header: { text: '구분' } }, + { name: 'ADDR', fieldName: 'ADDR', header: { text: '소재지' } }, + { name: 'TEL_NO', fieldName: 'TEL_NO', header: { text: '전화번호' } }, + { name: 'COMP_DT', fieldName: 'COMP_DT', header: { text: '준공일' } }, + { name: 'RN_DT', fieldName: 'RN_DT', header: { text: '가동개시일' } }, + { name: 'BSNS_CT', fieldName: 'BSNS_CT', header: { text: '사업비(백만원)' } }, + { name: 'FCT_CPC', fieldName: 'FCT_CPC', header: { text: '시설용량(㎥/일)' } }, + { name: 'TPUT_AMNT', fieldName: 'TPUT_AMNT', header: { text: '처리량(㎥/일)' } }, + { name: 'RN_DYN', fieldName: 'RN_DYN', header: { text: '가동일수(일/년)' } }, + + /* 3. 처리 관련 */ + { name: 'TRT_MTHD', fieldName: 'TRT_MTHD', header: { text: '처리공법' } }, + { name: 'LNK_FCT_NM', fieldName: 'LNK_FCT_NM', header: { text: '연계처리장명' } }, + { name: 'LNK_TPUT_AMNT', fieldName: 'LNK_TPUT_AMNT', header: { text: '연계처리량' } }, + + /* 4. 유입수질 (mg/L, 개/mL) */ + { name: 'IN_BOD', fieldName: 'IN_BOD', header: { text: 'BOD' } }, + { name: 'IN_TOC', fieldName: 'IN_TOC', header: { text: 'TOC' } }, + { name: 'IN_SS', fieldName: 'IN_SS', header: { text: 'SS' } }, + { name: 'IN_TN', fieldName: 'IN_TN', header: { text: 'T-N' } }, + { name: 'IN_TP', fieldName: 'IN_TP', header: { text: 'T-P' } }, + { name: 'IN_COLI', fieldName: 'IN_COLI', header: { text: '대장균군수' } }, + + /* 5. 방류수질 (mg/L, 개/mL) */ + { name: 'OUT_BOD', fieldName: 'OUT_BOD', header: { text: 'BOD' } }, + { name: 'OUT_TOC', fieldName: 'OUT_TOC', header: { text: 'TOC' } }, + { name: 'OUT_SS', fieldName: 'OUT_SS', header: { text: 'SS' } }, + { name: 'OUT_TN', fieldName: 'OUT_TN', header: { text: 'T-N' } }, + { name: 'OUT_TP', fieldName: 'OUT_TP', header: { text: 'T-P' } }, + { name: 'OUT_COLI', fieldName: 'OUT_COLI', header: { text: '대장균군수' } }, + + /* 6. 방류수역 */ + { name: 'WTR_SYS', fieldName: 'WTR_SYS', header: { text: '수계' } }, + { name: 'STRM', fieldName: 'STRM', header: { text: '지류' } }, + { name: 'MID_ZONE', fieldName: 'MID_ZONE', header: { text: '중권역' } }, + { name: 'SML_ZONE', fieldName: 'SML_ZONE', header: { text: '소권역' } }, + + /* 7. 운영 현황 */ + { name: 'OPR_MBY', fieldName: 'OPR_MBY', header: { text: '운영주체' } }, + { name: 'EMP_CNT', fieldName: 'EMP_CNT', header: { text: '직원총수(명)' } }, + { name: 'ACC_CNT', fieldName: 'ACC_CNT', header: { text: '안전사고건수' } }, + { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } }, + ], + columnLayout: [ + { + name: 'groupA', + header: { text: '행정구역' }, + items: ['sido', 'sgg'] + }, + 'FCT_NM', 'GBN', 'ADDR', 'TEL_NO', 'COMP_DT', 'RN_DT', 'BSNS_CT', 'FCT_CPC', 'TPUT_AMNT', 'RN_DYN', + 'TRT_MTHD', 'LNK_FCT_NM', 'LNK_TPUT_AMNT', + { + name: 'groupB', + header: { text: '유입수질(mg/L,개/mL)' }, + items: ['IN_BOD', 'IN_TOC', 'IN_SS', 'IN_TN', 'IN_TP', 'IN_COLI'], + }, + { + name: 'groupC', + header: { text: '방류수질(mg/L,개/mL)' }, + items: ['OUT_BOD', 'OUT_TOC', 'OUT_SS', 'OUT_TN', 'OUT_TP', 'OUT_COLI'], + }, + { + name: 'groupD', + header: { text: '방류수역' }, + items: ['WTR_SYS', 'STRM', 'MID_ZONE', 'SML_ZONE'], + }, + { + name: 'groupE', + header: { text: '운영현황' }, + items: ['OPR_MBY', 'EMP_CNT', 'ACC_CNT'] + }, + 'RMK' + ] + } +]; \ No newline at end of file