Files
frontend/apps/st/src/components/util/column/input/waterReuse/RecycledWaterStatusInpColumn.ts
T

196 lines
6.4 KiB
TypeScript

import { ValueType } from "realgrid";
import type { ColumnConfig } from "@/components/type/DataGrid.type";
import { footerDecimal1 } from "@/components/util/grid/footerSummary";
/** 시설물용도/개발사업종류(`bldgSeCn`) */
export const RECYCLED_WATER_BLDG_SE_VALUES = [
"숙박업",
"목욕장업",
"공장",
"발전시설",
"대규모점포",
"물류시설",
"운수시설",
"업무시설",
"교정시설",
"방송국",
"전신전화국",
"기타제반법령에의한시설물",
"관광단지의개발사업",
"도시개발사업",
"산업단지개발사업",
"택지개발사업",
"기타",
] as const;
/** 법적의무대상여부(`lglTrgtYn`) */
export const RECYCLED_WATER_LGL_TRGT_YN_VALUES = ["대상", "미대상"] as const;
/** 중수도용도(`mnUsgCn`) */
export const RECYCLED_WATER_MN_USG_VALUES = [
"청소화장실용수",
"세척살수용수",
"조경용수",
"친수용수",
"하천등유지용수",
"공업용수",
] as const;
function dropdownColumn(
col: Pick<ColumnConfig, "name" | "fieldName" | "header"> &
Partial<ColumnConfig>,
options: readonly string[],
): ColumnConfig {
const values = [...options];
return {
...col,
values,
labels: values,
lookupDisplay: true,
editor: {
type: "dropdown",
domainOnly: true,
textReadOnly: true,
commitOnSelect: true,
dropDownWhenClick: true,
values,
labels: values,
},
};
}
// 하수도 통계 관리 > 10. 물 재이용 > tab 2: 중수도 현황
export const RecycledWaterStatusInpColumn = {
columns: [
// 행정구역
{ name: 'ctpvNm', fieldName: 'ctpvNm', header: { text: '시도' }, footer: { text: '합계' }, editable: false, styleName: 'rg-cell-readonly' },
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, styleName: 'rg-cell-readonly' },
// 건축물명/개발사업명
{ name: 'fcltNm', fieldName: 'fcltNm', header: { text: '건축물명/개발사업명' } },
// 시설물용도/개발사업종류
dropdownColumn(
{
name: 'bldgSeCn',
fieldName: 'bldgSeCn',
header: { text: '시설물용도/개발사업종류' },
},
RECYCLED_WATER_BLDG_SE_VALUES,
),
// 주소
{ name: 'fcltPstnCn', fieldName: 'fcltPstnCn', header: { text: '주소' } },
// 법적의무대상여부(대상/미대상)
dropdownColumn(
{
name: 'lglTrgtYn',
fieldName: 'lglTrgtYn',
header: { text: '법적의무대상여부(대상/미대상)' },
},
RECYCLED_WATER_LGL_TRGT_YN_VALUES,
),
// 설치완료일(년-월-일)
{
name: 'cmptnStrtYmd',
fieldName: 'cmptnStrtYmd',
header: { text: '설치완료일(년-월-일)' },
datetimeFormat: 'yyyy-MM-dd',
editor: {
type: 'date' as const,
dropDownWhenClick: true,
datetimeFormat: 'yyyy-MM-dd',
},
},
// 가동개시일(년-월-일)
{
name: 'oprtngStrtYmd',
fieldName: 'oprtngStrtYmd',
header: { text: '가동개시일(년-월-일)' },
datetimeFormat: 'yyyy-MM-dd',
editor: {
type: 'date' as const,
dropDownWhenClick: true,
datetimeFormat: 'yyyy-MM-dd',
},
},
// 시설현황
{ name: 'archWholArea', fieldName: 'archWholArea', header: { text: '건축연면적(m²)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
{ name: 'prcsCpct', fieldName: 'prcsCpct', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 물 사용량(m³/일)
{ name: 'wtrUseQnt', fieldName: 'wtrUseQnt', header: { text: '물 사용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 중수도이용량(m³/일)
{ name: 'ruswtrUtztnQnt', fieldName: 'ruswtrUtztnQnt', header: { text: '중수도이용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 대체수이용량(m³/일)
{ name: 'sbstCntUtztnQnt', fieldName: 'sbstCntUtztnQnt', header: { text: '대체수이용량(m³/일)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 중수도용도
dropdownColumn(
{
name: 'mnUsgCn',
fieldName: 'mnUsgCn',
header: { text: '중수도용도' },
},
RECYCLED_WATER_MN_USG_VALUES,
),
// 연간운영비(백만원/년)
{ name: 'ruswtrOperAmt', fieldName: 'ruswtrOperAmt', header: { text: '연간운영비(백만원/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
// hidden
{ name: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정구역코드' }, visible: false, },
{ name: 'admdstNm', fieldName: 'admdstNm', header: { text: '행정구역명' }, visible: false },
{ name: 'fcltSn', fieldName: 'fcltSn', header: { text: '시설물일련번호' }, visible: false },
],
columnLayout: [
{
name: 'group_admin',
header: { text: '행정구역' },
items: [
{ column: 'ctpvNm', footerUserSpans: [{ colspan: 2 }] },
'sggNm',
],
},
'fcltNm',
'bldgSeCn',
'fcltPstnCn',
'lglTrgtYn',
'cmptnStrtYmd',
'oprtngStrtYmd',
{
name: 'group_facility_status',
header: { text: '시설현황' },
items: [
'archWholArea',
'prcsCpct'
]
},
'wtrUseQnt',
'ruswtrUtztnQnt',
'sbstCntUtztnQnt',
'mnUsgCn',
'ruswtrOperAmt',
'rmrk',
'admdstCd',
'admdstNm',
'fcltSn',
],
rowStartNum: 2,
fixedColumns: 0,
tabKey: 'ST00100002',
tabLabel: '중수도 현황'
};