feat : 07.분뇨처리시섪valueType,numberFormat 추가,컬럼명 변경
This commit is contained in:
@@ -1,16 +1,18 @@
|
||||
import { useState } from "react";
|
||||
|
||||
import { DataGrid } from "@rsone/components";
|
||||
import { TabDataGrid } from "@rsone/components";
|
||||
import SearchForm from "@/components/module/SearchForm";
|
||||
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 { ExcretaTreatmentFacilityInfoList } from "@/components/util/column/review/ExcretaTreatmentFacilityColumnRvw";
|
||||
import { ExcretaTreatmentFacilityInfoList } from "@/components/util/column/review/ExcretaTreatmentFacilityRvwColumn";
|
||||
|
||||
// 하수도 통계 관리 07.분뇨처리 시설
|
||||
const ExcretaTreatmentFacilityRvw = () => {
|
||||
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
|
||||
|
||||
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
|
||||
|
||||
const approveFunc = () => console.log('approveFunc');
|
||||
const saveFunc = () => console.log('submit');
|
||||
@@ -20,13 +22,15 @@ const ExcretaTreatmentFacilityRvw = () => {
|
||||
return (
|
||||
<>
|
||||
<SearchForm userMenual={true} fctName={true} />
|
||||
<div className="card !py-0">
|
||||
<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>
|
||||
<DataGrid columnInfo={ExcretaTreatmentFacilityInfoList} isExcelImport={false} rowStartNum= {2} fixedColumns={2} rowData={rowData} setRowData={setRowData} />
|
||||
</div>
|
||||
<TabDataGrid columnInfo={ExcretaTreatmentFacilityInfoList} isExcelImport={false} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
export const rawExcretaTreatmentFacilityInfoList = {
|
||||
|
||||
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'
|
||||
]
|
||||
};
|
||||
export const ExcretaTreatmentFacilityInfoList = {
|
||||
...rawExcretaTreatmentFacilityInfoList,
|
||||
columns: rawExcretaTreatmentFacilityInfoList.columns.map(col => ({
|
||||
...col,
|
||||
editable: false
|
||||
}))
|
||||
};
|
||||
@@ -0,0 +1,118 @@
|
||||
import { ValueType } from "realgrid";
|
||||
|
||||
// 하수도 통계 관리 07.분뇨처리 시설
|
||||
const rawServiceLevelList = [
|
||||
{
|
||||
tabKey: 'a',
|
||||
tabLabel: '민원',
|
||||
rowStartNum: 2,
|
||||
fixedColumns: 2,
|
||||
columns: [
|
||||
/* 1. 기본 정보 */
|
||||
{ name: 'SIDO', fieldName: '시도', header: { text: '시도' } },
|
||||
{ name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } },
|
||||
{ name: 'YR_GBN', fieldName: '구분', header: { text: '구분' } },
|
||||
|
||||
/* 2. 하수처리 인구 */
|
||||
{ name: 'POPLTN_SM', fieldName: '하수처리인구(명)', header: { text: '하수처리인구\n(명)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
|
||||
/* 3. 민원유형 (단위: 건) */
|
||||
{ name: 'CVPL_CM', fieldName: '총계(민원)', header: { text: '총계' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CVPL_DCWTR_QLTWTR', fieldName: '악취', header: { text: '악취' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CVPL_BSML', fieldName: '하수관로', header: { text: '하수관로' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CVPL_FIVW', fieldName: '배수설비', header: { text: '배수설비' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CVPL_POLLUTN_ACDNT', fieldName: '맨홀', header: { text: '맨홀' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CVPL_SSOS', fieldName: '정화조', header: { text: '정화조' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CVPL_CHRGE', fieldName: '하수도요금', header: { text: '하수도요금' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CVPL_ETC', fieldName: '기타(민원)', header: { text: '기타' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
|
||||
/* 4. 성과 지표 및 비고 */
|
||||
{ name: 'STDR_POPLTN_PER_CVPL', fieldName: '기준인구당 민원건수(건/10,000명)', header: { text: '기준인구당\n민원건수\n(건/10,000명)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
|
||||
{ name: 'RMK', fieldName: '비고', header: { text: '비고' } }
|
||||
],
|
||||
columnLayout: [
|
||||
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
|
||||
'YR_GBN',
|
||||
'POPLTN_SM',
|
||||
{
|
||||
name: 'complaintTypeGroup',
|
||||
header: { text: '민원유형(건)' },
|
||||
items: [
|
||||
'CVPL_CM',
|
||||
'CVPL_DCWTR_QLTWTR',
|
||||
'CVPL_BSML',
|
||||
'CVPL_FIVW',
|
||||
'CVPL_POLLUTN_ACDNT',
|
||||
'CVPL_SSOS',
|
||||
'CVPL_CHRGE',
|
||||
'CVPL_ETC'
|
||||
]
|
||||
},
|
||||
'STDR_POPLTN_PER_CVPL',
|
||||
'RMK'
|
||||
]
|
||||
},
|
||||
{
|
||||
tabKey: 'b',
|
||||
tabLabel: '주민친화시설',
|
||||
rowStartNum: 2,
|
||||
fixedColumns: 5,
|
||||
columns: [
|
||||
/* 1. 기본 및 시설 정보 */
|
||||
{ name: 'SIDO', fieldName: '시도', header: { text: '시도' } },
|
||||
{ name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } },
|
||||
{ name: 'BSC_FCT_NM', fieldName: '처리장명', header: { text: '처리장명' } },
|
||||
{ name: 'FCT_CPC', fieldName: '시설용량(㎥/일)', header: { text: '시설용량\n(㎥/일)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'YR_GBN', fieldName: '구분', header: { text: '구분' } },
|
||||
|
||||
/* 2. 처리장 전체 면적 */
|
||||
{ name: 'PRCPLT_AR', fieldName: '처리장 면적(㎡)', header: { text: '처리장\n면적(㎡)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0.0' },
|
||||
|
||||
/* 3. 주민친화시설 면적 상세 (단위: ㎡) */
|
||||
{ name: 'TOTAL_AR', fieldName: '총계(시설)', header: { text: '총계' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'RESTRM_AR', fieldName: '휴게시설', header: { text: '휴게시설' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CHILDPLAY_AR', fieldName: '어린이놀이공간', header: { text: '어린이놀이공간' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'ALSFC_AR', fieldName: '체력단련시설', header: { text: '체력단련시설' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'PLGRND_AR', fieldName: '운동시설', header: { text: '운동시설' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'PRKPLCE_AR', fieldName: '주차장', header: { text: '주차장' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'CTLSTT_AR', fieldName: '교육 및 문화시설', header: { text: '교육 및\n문화시설' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'NRPRK_AR', fieldName: '습지조성(생태공원)', header: { text: '습지조성\n(생태공원)' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
{ name: 'ETC_AR', fieldName: '기타(시설)', header: { text: '기타' }, valueType: ValueType.NUMBER, numberFormat: '#,##0' },
|
||||
|
||||
/* 4. 비고 */
|
||||
{ name: 'RMK', fieldName: '비고', header: { text: '비고' } }
|
||||
],
|
||||
columnLayout: [
|
||||
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
|
||||
'BSC_FCT_NM',
|
||||
'FCT_CPC',
|
||||
'YR_GBN',
|
||||
'PRCPLT_AR',
|
||||
{
|
||||
name: 'friendlyFacilityGroup',
|
||||
header: { text: '주민친화시설 면적(㎡)' },
|
||||
items: [
|
||||
'TOTAL_AR',
|
||||
'RESTRM_AR',
|
||||
'CHILDPLAY_AR',
|
||||
'ALSFC_AR',
|
||||
'PLGRND_AR',
|
||||
'PRKPLCE_AR',
|
||||
'CTLSTT_AR',
|
||||
'NRPRK_AR',
|
||||
'ETC_AR'
|
||||
]
|
||||
},
|
||||
'RMK'
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
export const ExcretaTreatmentFacilityInfoList = rawServiceLevelList.map(tab => ({
|
||||
...tab,
|
||||
columns: tab.columns.map(col => ({
|
||||
...col,
|
||||
editable: false
|
||||
}))
|
||||
}));
|
||||
Reference in New Issue
Block a user