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

167 lines
5.4 KiB
TypeScript

import type { ColumnConfig } from "@/components/type/DataGrid.type";
import { footerDecimal1 } from "@/components/util/grid/footerSummary";
import { ValueType } from "realgrid";
/** 건축물용도(`bdstTypCn`) */
export const RAINFALL_UTIL_FACT_BDST_TYP_VALUES = [
"종합운동장",
"실내체육관",
"공공업무시설",
"공공기관청사",
"공동주택",
"학교",
"대규모점포",
"골프장",
"기타",
] as const;
/** 법적의무대상여부(`lglTrgtYn`) */
export const RAINFALL_UTIL_FACT_LGL_TRGT_YN_VALUES = ["대상", "미대상"] as const;
/** 이용용도(`exlnUtlzUsgExpln`) */
export const RAINFALL_UTIL_FACT_EXLN_UTLZ_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 3: 빗물이용시설현황
export const RainFallUtilFactStatusInpColumn = {
columns: [
// 행정구역
{ name: 'ctpvNm', fieldName: 'ctpvNm', header: { text: '시도' }, footer: { text: '합계' }, editable: false, styleName: 'rg-cell-readonly' },
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' } },
// 시설명
{ name: 'fcltNm', fieldName: 'fcltNm', header: { text: '시설명' } },
// 건축물용도
dropdownColumn(
{
name: 'bdstTypCn',
fieldName: 'bdstTypCn',
header: { text: '건축물용도' },
},
RAINFALL_UTIL_FACT_BDST_TYP_VALUES,
),
// 위치(주소)
{ name: 'fcltPstnCn', fieldName: 'fcltPstnCn', header: { text: '위치(주소)' } },
// 법적의무대상여부(대상/미대상)
dropdownColumn(
{
name: 'lglTrgtYn',
fieldName: 'lglTrgtYn',
header: { text: '법적의무대상여부(대상/미대상)' },
},
RAINFALL_UTIL_FACT_LGL_TRGT_YN_VALUES,
),
// 설치완료일 yyyy-mm-dd
{
name: 'cmptYmd',
fieldName: 'cmptYmd',
header: { text: '설치완료일 yyyy-mm-dd' },
datetimeFormat: 'yyyy-MM-dd',
editor: {
type: 'date' as const,
dropDownWhenClick: true,
datetimeFormat: 'yyyy-MM-dd',
},
},
// 설치비(백만원)
{ name: 'instlAmt', fieldName: 'instlAmt', header: { text: '설치비(백만원)' }, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 집수면 종류
{ name: 'rcptMynCn', fieldName: 'rcptMynCn', header: { text: '집수면 종류' } },
// 여과등처리시설유무(유:처리시설종류,무:미설치)
{ name: 'filtrPrcsFcltYnExpln', fieldName: 'filtrPrcsFcltYnExpln', header: { text: '여과등처리시설유무(유:처리시설종류,무:미설치)' } },
// 저류조용량(m³)
{ name: 'impdCpct', fieldName: 'impdCpct', header: { text: '저류조용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 연간이용량(m³/년)
{ name: 'anlUseQnt', fieldName: 'anlUseQnt', header: { text: '연간이용량(m³/년)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
// 이용용도
dropdownColumn(
{
name: 'exlnUtlzUsgExpln',
fieldName: 'exlnUtlzUsgExpln',
header: { text: '이용용도' },
},
RAINFALL_UTIL_FACT_EXLN_UTLZ_USG_VALUES,
),
// 연간운영비(백만원/년)
{ name: 'anlOperAmt', fieldName: 'anlOperAmt', 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: ['ctpvNm', 'sggNm']
},
'fcltNm',
'bdstTypCn',
'fcltPstnCn',
'lglTrgtYn',
'cmptYmd',
'instlAmt',
'rcptMynCn',
'filtrPrcsFcltYnExpln',
'impdCpct',
'anlUseQnt',
'exlnUtlzUsgExpln',
'anlOperAmt',
'rmrk',
'admdstCd',
'admdstNm',
'fcltSn',
],
rowStartNum: 2,
fixedColumns: 0,
tabKey: 'ST00100003',
tabLabel: '빗물이용시설현황'
};