diff --git a/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx b/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx index f5ce87d59..3f3d4a3a5 100644 --- a/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx +++ b/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx @@ -1,11 +1,49 @@ import SearchForm from "@/components/module/SearchForm"; +import TabDataGrid from "@/components/module/TabDataGrid"; +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 { SewageReservoirPumpInfoListRvw } from "@/components/util/column/SewageReservoirPumpColumnRvw"; + const SewageReservoirPumpRvw = () => { + + const approveFunc = () => { + console.log('approveFunc'); + // 승인 로직 + }; + + const saveFunc = () => { + console.log('submit'); + // 저장 로직 + }; + + const reviewOpinionFunc = () => { + console.log('reviewOpinionFunc'); + // 검토의견 작성 + }; + + const returnFunc = () => { + console.log('returnFunc'); + // 반려 + }; + + return ( - <> - + <> + + +
+ + + + +
+ ); -} +}; -export default SewageReservoirPumpRvw; \ No newline at end of file +export default SewageReservoirPumpRvw; diff --git a/apps/st/src/components/util/column/SewageReservoirPumpColumnRvw.ts b/apps/st/src/components/util/column/SewageReservoirPumpColumnRvw.ts new file mode 100644 index 000000000..d02ea10c7 --- /dev/null +++ b/apps/st/src/components/util/column/SewageReservoirPumpColumnRvw.ts @@ -0,0 +1,215 @@ + +export const SewageReservoirPumpInfoListRvw = [{ + tabKey: 'a', + tabLabel: '하수저류시설', + rowStartNum: 3, // 3단 헤더 구조 (순번 rowspan="3") + fixedColumns: 2, // 순번, 시도, 시군구, 시설명까지 고정 + columns: [ + /* 1. 기본 정보 (Band: Left) */ + { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } }, + { name: 'SWGE_STRGE_NM', fieldName: 'SWGE_STRGE_NM', header: { text: '시설명' } }, + { name: 'ADDR', fieldName: 'ADDR', header: { text: '위치' } }, + { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } }, + + /* 2. 시설 제원 */ + { name: 'RN_DT', fieldName: 'RN_DT', header: { text: '가동개시\n년월일' } }, + { name: 'PL_DSGN_FRQNC', fieldName: 'PL_DSGN_FRQNC', header: { text: '계획설계빈도' } }, + { name: 'INS_PER1', fieldName: 'INS_PER1', header: { text: '침수예방' } }, + { name: 'INS_PER2', fieldName: 'INS_PER2', header: { text: '수질오염저감' } }, + { name: 'INS_PER3', fieldName: 'INS_PER3', header: { text: '하수\n재이용\n용도' } }, + { name: 'FAC_RES', fieldName: 'FAC_RES', header: { text: '시설구조(일반지하식,지하터널식,기타)' } }, + { name: 'DGR_AR', fieldName: 'DGR_AR', header: { text: '집수구역면적(㎢)' } }, + { name: 'SWGE_SGBS_CPCTY', fieldName: 'SWGE_SGBS_CPCTY', header: { text: '시설용량(㎥)' } }, + + /* 3. 펌프시설 (공통/1/2/3) */ + { name: 'TOT_CPCTY', fieldName: 'TOT_CPCTY', header: { text: '총양수량\n(㎥/min)' } }, + // 펌프1 + { name: 'PUMP_CALBR', fieldName: 'PUMP_CALBR', header: { text: '구경(mm)' } }, + { name: 'WP_CPCTY', fieldName: 'WP_CPCTY', header: { text: '대당 양수량' } }, + { name: 'PUMP_CO', fieldName: 'PUMP_CO', header: { text: '펌프대수' } }, + { name: 'PUMP_PREPAR_CO', fieldName: 'PUMP_PREPAR_CO', header: { text: '예비펌프대수' } }, + // 펌프2 + { name: 'PUMP_CALBR2', fieldName: 'PUMP_CALBR2', header: { text: '구경(mm)' } }, + { name: 'WP_CPCTY2', fieldName: 'WP_CPCTY2', header: { text: '대당 양수량' } }, + { name: 'PUMP_CO2', fieldName: 'PUMP_CO2', header: { text: '펌프대수' } }, + { name: 'PUMP_PREPAR_CO2', fieldName: 'PUMP_PREPAR_CO2', header: { text: '예비펌프대수' } }, + // 펌프3 + { name: 'PUMP_CALBR3', fieldName: 'PUMP_CALBR3', header: { text: '구경(mm)' } }, + { name: 'WP_CPCTY3', fieldName: 'WP_CPCTY3', header: { text: '대당 양수량' } }, + { name: 'PUMP_CO3', fieldName: 'PUMP_CO3', header: { text: '펌프대수' } }, + { name: 'PUMP_PREPAR_CO3', fieldName: 'PUMP_PREPAR_CO3', header: { text: '예비펌프대수' } }, + + /* 4. 부대시설 및 배수/저류 방식 */ + { name: 'FRE_FNNC', fieldName: 'FRE_FNNC', header: { text: '전처리시설(유/무)' } }, + { name: 'DORZEQP_FNNC', fieldName: 'DORZEQP_FNNC', header: { text: '탈취설비(유/무)' } }, + { name: 'SELF_ETRQ_FNNC', fieldName: 'SELF_ETRQ_FNNC', header: { text: '자가발전(유/무)' } }, + { name: 'DRA_MTH', fieldName: 'DRA_MTH', header: { text: '배수방식(자연배수,강제배수)' } }, + { name: 'ELEC_MTH', fieldName: 'ELEC_MTH', header: { text: '저류방식(직렬,병렬)' } }, + { name: 'ELEC_PRO_MAT', fieldName: 'ELEC_PRO_MAT', header: { text: '저류수\n처리방법' } }, + { name: 'DIS_WAT', fieldName: 'DIS_WAT', header: { text: '방류수역(또는 연계처리장명)' } }, + + /* 5. 최종처분량 및 방법 */ + { name: 'SDMT_TRE_CPCTY', fieldName: 'SDMT_TRE_CPCTY', header: { text: '침사' } }, + { name: 'IPRT_TRE_CPCTY', fieldName: 'IPRT_TRE_CPCTY', header: { text: '협잡물' } }, + { name: 'SDMT_TRE_MTH', fieldName: 'SDMT_TRE_MTH', header: { text: '침사' } }, + { name: 'IPRT_TRE_MTH', fieldName: 'IPRT_TRE_MTH', header: { text: '협잡물' } }, + + /* 6. 운영실적 */ + { name: 'YRSTP_RN_DYN', fieldName: 'YRSTP_RN_DYN', header: { text: '가동일수' } }, + { name: 'DSPLCMNT_AMNT', fieldName: 'DSPLCMNT_AMNT', header: { text: '총배수량\n(㎥/년)' } }, + { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } }, + ], + columnLayout: [ + { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] }, + 'SWGE_STRGE_NM', 'ADDR', 'YR_GBN', + 'RN_DT', 'PL_DSGN_FRQNC', + { + name: 'purposeGroup', + header: { text: '설치목적(O,X로 표기, 중복체크 가능)' }, + items: ['INS_PER1', 'INS_PER2', 'INS_PER3'] + }, + 'FAC_RES', 'DGR_AR', 'SWGE_SGBS_CPCTY', + { + name: 'pumpMainGroup', + header: { text: '펌프시설' }, + items: [ + 'TOT_CPCTY', + { name: 'p1Group', header: { text: '펌프시설1' }, items: ['PUMP_CALBR', 'WP_CPCTY', 'PUMP_CO', 'PUMP_PREPAR_CO'] }, + { name: 'p2Group', header: { text: '펌프시설2' }, items: ['PUMP_CALBR2', 'WP_CPCTY2', 'PUMP_CO2', 'PUMP_PREPAR_CO2'] }, + { name: 'p3Group', header: { text: '펌프시설3' }, items: ['PUMP_CALBR3', 'WP_CPCTY3', 'PUMP_CO3', 'PUMP_PREPAR_CO3'] } + ] + }, + { + name: 'subFacGroup', + header: { text: '부대시설' }, + items: ['FRE_FNNC', 'DORZEQP_FNNC', 'SELF_ETRQ_FNNC'] + }, + 'DRA_MTH', 'ELEC_MTH', 'ELEC_PRO_MAT', 'DIS_WAT', + { + name: 'disposalAmtGroup', + header: { text: '최종처분량(ton/년)' }, + items: ['SDMT_TRE_CPCTY', 'IPRT_TRE_CPCTY'] + }, + { + name: 'disposalMthGroup', + header: { text: '최종처분방법' }, + items: ['SDMT_TRE_MTH', 'IPRT_TRE_MTH'] + }, + { + name: 'opGroup', + header: { text: '운영실적' }, + items: ['YRSTP_RN_DYN', 'DSPLCMNT_AMNT'] + }, + 'RMK' + ] + }, + { + tabKey: 'b', + tabLabel: '빗물펌프장', + rowStartNum: 3, // 3단 헤더 구조 (순번 rowspan="3") + fixedColumns: 2, // 순번, 시도, 시군구, 시설명까지 고정 + columns: [ + /* 1. 기본 정보 (Band: Left) */ + { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } }, + { name: 'SWGE_STRGE_NM', fieldName: 'SWGE_STRGE_NM', header: { text: '시설명' } }, + { name: 'ADDR', fieldName: 'ADDR', header: { text: '위치' } }, + { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } }, + + /* 2. 시설 제원 */ + { name: 'FCT_KND', fieldName: 'FCT_KND', header: { text: '시설물종류' } }, + { name: 'RN_DT', fieldName: 'RN_DT', header: { text: '가동개시\n년월일' } }, + { name: 'PL_DSGN_FRQNC', fieldName: 'PL_DSGN_FRQNC', header: { text: '계획설계빈도' } }, + { name: 'DGR_AR', fieldName: 'DGR_AR', header: { text: '집수구역면적(㎢)' } }, + + /* 3. 유수지 및 흡수정 */ + { name: 'REV_FNNC', fieldName: 'REV_FNNC', header: { text: '유수지유무\n(유,무)' } }, + { name: 'REV_CPCTY', fieldName: 'REV_CPCTY', header: { text: '저류량(㎥)' } }, // 유수지 저류량 + { name: 'ABS_CPCTY', fieldName: 'ABS_CPCTY', header: { text: '저류량(㎥)' } }, // 흡수정 저류량 + { name: 'SWGE_SGBS_CPCTY', fieldName: 'SWGE_SGBS_CPCTY', header: { text: '시설용량(㎥)' } }, + + /* 4. 펌프시설 (공통/1/2/3) */ + { name: 'TOT_CPCTY', fieldName: 'TOT_CPCTY', header: { text: '총양수량\n(㎥/min)' } }, + // 펌프1 + { name: 'PUMP_CALBR', fieldName: 'PUMP_CALBR', header: { text: '구경(mm)' } }, + { name: 'WP_CPCTY', fieldName: 'WP_CPCTY', header: { text: '대당 양수량' } }, + { name: 'PUMP_CO', fieldName: 'PUMP_CO', header: { text: '펌프대수' } }, + { name: 'PUMP_PREPAR_CO', fieldName: 'PUMP_PREPAR_CO', header: { text: '예비펌프대수' } }, + // 펌프2 + { name: 'PUMP_CALBR2', fieldName: 'PUMP_CALBR2', header: { text: '구경(mm)' } }, + { name: 'WP_CPCTY2', fieldName: 'WP_CPCTY2', header: { text: '대당 양수량' } }, + { name: 'PUMP_CO2', fieldName: 'PUMP_CO2', header: { text: '펌프대수' } }, + { name: 'PUMP_PREPAR_CO2', fieldName: 'PUMP_PREPAR_CO2', header: { text: '예비펌프대수' } }, + // 펌프3 + { name: 'PUMP_CALBR3', fieldName: 'PUMP_CALBR3', header: { text: '구경(mm)' } }, + { name: 'WP_CPCTY3', fieldName: 'WP_CPCTY3', header: { text: '대당 양수량' } }, + { name: 'PUMP_CO3', fieldName: 'PUMP_CO3', header: { text: '펌프대수' } }, + { name: 'PUMP_PREPAR_CO3', fieldName: 'PUMP_PREPAR_CO3', header: { text: '예비펌프대수' } }, + + /* 5. 부대시설 및 기타 */ + { name: 'FRE_FNNC', fieldName: 'FRE_FNNC', header: { text: '전처리시설' } }, + { name: 'DORZEQP_FNNC', fieldName: 'DORZEQP_FNNC', header: { text: '탈취설비' } }, + { name: 'SELF_ETRQ_FNNC', fieldName: 'SELF_ETRQ_FNNC', header: { text: '자가발전' } }, + { name: 'DIS_WAT', fieldName: 'DIS_WAT', header: { text: '방류수역' } }, + + /* 6. 최종처분량 및 방법 */ + { name: 'SDMT_TRE_CPCTY', fieldName: 'SDMT_TRE_CPCTY', header: { text: '침사(량)' } }, + { name: 'IPRT_TRE_CPCTY', fieldName: 'IPRT_TRE_CPCTY', header: { text: '협잡물(량)' } }, + { name: 'SDMT_TRE_MTH', fieldName: 'SDMT_TRE_MTH', header: { text: '침사(방법)' } }, + { name: 'IPRT_TRE_MTH', fieldName: 'IPRT_TRE_MTH', header: { text: '협잡물(방법)' } }, + + /* 7. 운영실적 */ + { name: 'YRSTP_RN_DYN', fieldName: 'YRSTP_RN_DYN', header: { text: '가동일수' } }, + { name: 'DSPLCMNT_AMNT', fieldName: 'DSPLCMNT_AMNT', header: { text: '총배수량\n(㎥/년)' } }, + { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } }, + ], + columnLayout: [ + { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] }, + 'SWGE_STRGE_NM', 'ADDR', 'YR_GBN', 'FCT_KND', 'RN_DT', 'PL_DSGN_FRQNC', 'DGR_AR', + { + name: 'revGroup', + header: { text: '유수지' }, + items: ['REV_FNNC', 'REV_CPCTY'] + }, + { + name: 'absGroup', + header: { text: '흡수정' }, + items: ['ABS_CPCTY'] + }, + 'SWGE_SGBS_CPCTY', + { + name: 'pumpMainGroup', + header: { text: '펌프시설' }, + items: [ + 'TOT_CPCTY', + { name: 'p1Group', header: { text: '펌프시설1' }, items: ['PUMP_CALBR', 'WP_CPCTY', 'PUMP_CO', 'PUMP_PREPAR_CO'] }, + { name: 'p2Group', header: { text: '펌프시설2' }, items: ['PUMP_CALBR2', 'WP_CPCTY2', 'PUMP_CO2', 'PUMP_PREPAR_CO2'] }, + { name: 'p3Group', header: { text: '펌프시설3' }, items: ['PUMP_CALBR3', 'WP_CPCTY3', 'PUMP_CO3', 'PUMP_PREPAR_CO3'] } + ] + }, + { + name: 'subFacGroup', + header: { text: '부대시설' }, + items: ['FRE_FNNC', 'DORZEQP_FNNC', 'SELF_ETRQ_FNNC'] + }, + 'DIS_WAT', + { + name: 'disposalAmtGroup', + header: { text: '최종처분량(ton/년)' }, + items: ['SDMT_TRE_CPCTY', 'IPRT_TRE_CPCTY'] + }, + { + name: 'disposalMthGroup', + header: { text: '최종처분방법' }, + items: ['SDMT_TRE_MTH', 'IPRT_TRE_MTH'] + }, + { + name: 'opGroup', + header: { text: '운영실적' }, + items: ['YRSTP_RN_DYN', 'DSPLCMNT_AMNT'] + }, + 'RMK' + ] +} +]; \ No newline at end of file