[feat]하수 저류시설 및 빗물 펌프장

This commit is contained in:
yangsein
2025-12-26 11:41:36 +09:00
parent cda8044183
commit deaf1b53ee
2 changed files with 257 additions and 4 deletions
@@ -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 (
<>
<SearchForm userMenual={true} />
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
<ApproveButton approveFunc={approveFunc} />
<ReturnButton returnFunc={returnFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewageReservoirPumpInfoListRvw} isExcelImport={false}/>
</>
);
}
};
export default SewageReservoirPumpRvw;
export default SewageReservoirPumpRvw;
@@ -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'
]
}
];