362 lines
14 KiB
TypeScript
362 lines
14 KiB
TypeScript
import type { ColumnConfig } from "@/components/type/DataGrid.type";
|
|
import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary";
|
|
import { ValueType } from "realgrid";
|
|
|
|
/** 설치목적 O/X 표기 */
|
|
export const SEWAGE_RESERVOIR_OX_YN_VALUES = ["O", "X"] as const;
|
|
|
|
/** 시설구조(ST00040001 `fcltStrctCn`) */
|
|
export const SEWAGE_RESERVOIR_FCLT_STRCT_VALUES = [
|
|
"일반지하식",
|
|
"지하터널식",
|
|
"기타",
|
|
] as const;
|
|
export const SEWAGE_RESERVOIR_YN_VALUES = ["유", "무"] as const;
|
|
export const SEWAGE_RESERVOIR_MLTV_MTH_VALUES = ["자연배수", "강제배수"] as const;
|
|
export const SEWAGE_RESERVOIR_IMPD_MTH_VALUES = ["직렬", "병렬"] as const;
|
|
export const SEWAGE_RESERVOIR_IMPD_PRCS_MTHD_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,
|
|
},
|
|
};
|
|
}
|
|
|
|
function oxYnDropdownColumn(
|
|
col: Pick<ColumnConfig, "name" | "fieldName" | "header"> &
|
|
Partial<ColumnConfig>,
|
|
): ColumnConfig {
|
|
return dropdownColumn(col, SEWAGE_RESERVOIR_OX_YN_VALUES);
|
|
}
|
|
|
|
// 하수도 통계 관리 > 04.하수저류시설 및 빗물펌프장 > tab 1: 하수저류시설
|
|
export const SewageReservoirInpColumn = {
|
|
columns: [
|
|
// 행정구역
|
|
{ name: 'ctpvNm', fieldName: 'ctpvNm', header: { text: '시도' }, footer: { text: '합계' }, editable: false, styleName: 'rg-cell-fixed' },
|
|
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, styleName: 'rg-cell-fixed' },
|
|
|
|
// 기본 정보
|
|
{ name: 'fcltNm', fieldName: 'fcltNm', header: { text: '시설명' }, styleName: 'rg-cell-fixed' },
|
|
{ name: 'fcltPstnCn', fieldName: 'fcltPstnCn', header: { text: '위치' } },
|
|
{
|
|
name: 'oprtngStrtYmd',
|
|
fieldName: 'oprtngStrtYmd',
|
|
header: { text: '가동개시 년월일 yyyy-mm-dd' },
|
|
datetimeFormat: 'yyyy-MM-dd',
|
|
editor: {
|
|
type: 'date',
|
|
dropDownWhenClick: true,
|
|
datetimeFormat: 'yyyy-MM-dd',
|
|
},
|
|
},
|
|
{ name: 'planDesignFreqCnt', fieldName: 'planDesignFreqCnt', header: { text: '계획설계빈도' } },
|
|
|
|
// 설치목적 (O/X)
|
|
oxYnDropdownColumn({
|
|
name: "fldngPrvtnYn",
|
|
fieldName: "fldngPrvtnYn",
|
|
header: { text: "침수예방" },
|
|
}),
|
|
oxYnDropdownColumn({
|
|
name: "wqPlltnMtgtYn",
|
|
fieldName: "wqPlltnMtgtYn",
|
|
header: { text: "수질오염저감" },
|
|
}),
|
|
oxYnDropdownColumn({
|
|
name: "rtlztnUsgYn",
|
|
fieldName: "rtlztnUsgYn",
|
|
header: { text: "하수재이용용도" },
|
|
}),
|
|
|
|
// 시설 구조
|
|
dropdownColumn(
|
|
{
|
|
name: "fcltStrctCn",
|
|
fieldName: "fcltStrctCn",
|
|
header: { text: "시설구조" },
|
|
},
|
|
SEWAGE_RESERVOIR_FCLT_STRCT_VALUES,
|
|
),
|
|
|
|
// 집수구역면적
|
|
{ name: 'wtrStrgZoneArea', fieldName: 'wtrStrgZoneArea', header: { text: '집수구역면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
|
|
|
|
// 시설용량
|
|
{ name: 'impdFcltCpct', fieldName: 'impdFcltCpct', header: { text: '시설용량(m³)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
|
|
|
|
// 펌프시설 > 총양수량
|
|
{
|
|
name: 'grssPpqty',
|
|
fieldName: 'grssPpqty',
|
|
header: { text: '총양수량(m³/min)' },
|
|
editable: false,
|
|
footer: footerDecimal1,
|
|
valueType: ValueType.NUMBER,
|
|
dataFormat: '#,##0.0',
|
|
styleName: 'rg-cell-total',
|
|
computed: {
|
|
type: 'pumpGrossPpqty' as const,
|
|
pumpGroups: [
|
|
{
|
|
pumpCntField: 'pumpFcltN1PumpCnt',
|
|
rsrvPumpCntField: 'pumpFcltN1RsrvPumpCnt',
|
|
perPpqtyField: 'pumpFcltN1PerPpqty',
|
|
},
|
|
{
|
|
pumpCntField: 'pumpFcltN2PumpCnt',
|
|
rsrvPumpCntField: 'pumpFcltN2RsrvPumpCnt',
|
|
perPpqtyField: 'pumpFcltN2PerPpqty',
|
|
},
|
|
{
|
|
pumpCntField: 'pumpFcltN3PumpCnt',
|
|
rsrvPumpCntField: 'pumpFcltN3RsrvPumpCnt',
|
|
perPpqtyField: 'pumpFcltN3PerPpqty',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
|
|
// 펌프시설 1
|
|
{ name: 'pumpFcltN1DmtrExpln', fieldName: 'pumpFcltN1DmtrExpln', header: { text: '구경(mm)' } },
|
|
{ name: 'pumpFcltN1PerPpqty', fieldName: 'pumpFcltN1PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
|
|
{ name: 'pumpFcltN1PumpCnt', fieldName: 'pumpFcltN1PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
{ name: 'pumpFcltN1RsrvPumpCnt', fieldName: 'pumpFcltN1RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
|
|
// 펌프시설 2
|
|
{ name: 'pumpFcltN2DmtrExpln', fieldName: 'pumpFcltN2DmtrExpln', header: { text: '구경(mm)' } },
|
|
{ name: 'pumpFcltN2PerPpqty', fieldName: 'pumpFcltN2PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
|
|
{ name: 'pumpFcltN2PumpCnt', fieldName: 'pumpFcltN2PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
{ name: 'pumpFcltN2RsrvPumpCnt', fieldName: 'pumpFcltN2RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
|
|
// 펌프시설 3
|
|
{ name: 'pumpFcltN3DmtrExpln', fieldName: 'pumpFcltN3DmtrExpln', header: { text: '구경(mm)' } },
|
|
{ name: 'pumpFcltN3PerPpqty', fieldName: 'pumpFcltN3PerPpqty', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1, valueType: ValueType.NUMBER, dataFormat: '#,##0.0' },
|
|
{ name: 'pumpFcltN3PumpCnt', fieldName: 'pumpFcltN3PumpCnt', header: { text: '펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
{ name: 'pumpFcltN3RsrvPumpCnt', fieldName: 'pumpFcltN3RsrvPumpCnt', header: { text: '예비펌프대수' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
|
|
// 부대시설
|
|
dropdownColumn(
|
|
{
|
|
name: "prcsgFcltYn",
|
|
fieldName: "prcsgFcltYn",
|
|
header: { text: "전처리시설유무(유/무)" },
|
|
},
|
|
SEWAGE_RESERVOIR_YN_VALUES,
|
|
),
|
|
dropdownColumn(
|
|
{
|
|
name: "ddrztnEqpmYn",
|
|
fieldName: "ddrztnEqpmYn",
|
|
header: { text: "탈취설비유무(유/무)" },
|
|
},
|
|
SEWAGE_RESERVOIR_YN_VALUES,
|
|
),
|
|
dropdownColumn(
|
|
{
|
|
name: "oslfEtgtYn",
|
|
fieldName: "oslfEtgtYn",
|
|
header: { text: "자가발전유무(유/무)" },
|
|
},
|
|
SEWAGE_RESERVOIR_YN_VALUES,
|
|
),
|
|
|
|
// 배수 방식
|
|
dropdownColumn(
|
|
{
|
|
name: "mltvMthCn",
|
|
fieldName: "mltvMthCn",
|
|
header: { text: "배수방식(자연배수,강제배수)" },
|
|
},
|
|
SEWAGE_RESERVOIR_MLTV_MTH_VALUES,
|
|
),
|
|
|
|
// 저류 방식
|
|
dropdownColumn(
|
|
{
|
|
name: "impdMthCn",
|
|
fieldName: "impdMthCn",
|
|
header: { text: "저류방식(직렬,병렬)" },
|
|
},
|
|
SEWAGE_RESERVOIR_IMPD_MTH_VALUES,
|
|
),
|
|
|
|
// 저류수 처리방법
|
|
dropdownColumn(
|
|
{
|
|
name: "impdPrcsMthdCn",
|
|
fieldName: "impdPrcsMthdCn",
|
|
header: { text: "저류수처리방법(자체처리,연계처리)" },
|
|
},
|
|
SEWAGE_RESERVOIR_IMPD_PRCS_MTHD_VALUES,
|
|
),
|
|
|
|
// 방류 수역
|
|
{ name: 'dschgWtrsExpln', fieldName: 'dschgWtrsExpln', header: { text: '방류수역(또는 연계처리장명)' } },
|
|
|
|
// 최종처분량
|
|
{ name: 'prcptnLastDspsQnt', fieldName: 'prcptnLastDspsQnt', header: { text: '침사' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
{ name: 'ctmnLastDspsQnt', fieldName: 'ctmnLastDspsQnt', header: { text: '협잡물' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
|
|
// 최종처분방법
|
|
{ name: 'prcptnLastDspsMthdExpln', fieldName: 'prcptnLastDspsMthdExpln', header: { text: '침사' } },
|
|
{ name: 'ctmnLastDspsMthdExpln', fieldName: 'ctmnLastDspsMthdExpln', header: { text: '협잡물' } },
|
|
|
|
// 운영실적
|
|
{ name: 'oprtngDayCnt', fieldName: 'oprtngDayCnt', header: { text: '가동일수(일/년)' }, valueType: ValueType.NUMBER, dataFormat: '#,##0' }, // 3자리 수만 입력 가능
|
|
{ name: 'grssMltvQnt', fieldName: 'grssMltvQnt', header: { text: '총배수량(m³/년)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
|
|
|
|
// 비고
|
|
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
|
|
|
|
// Hidden Columns : 시스템 관리를 위한 값
|
|
{ name: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정구역코드' }, visible: false, },
|
|
{ name: 'fcltSn', fieldName: 'fcltSn', header: { text: '시설일련번호' }, visible: false, },
|
|
{ name: 'admdstNm', fieldName: 'admdstNm', header: { text: '행정구역명' }, visible: false },
|
|
],
|
|
|
|
columnLayout: [
|
|
{
|
|
name: 'adminArea',
|
|
hideChildHeaders: false,
|
|
header: { text: '행정구역' },
|
|
items: [
|
|
{ column: 'ctpvNm', footerUserSpans: [{ colspan: 3 }] },
|
|
'sggNm',
|
|
],
|
|
},
|
|
'fcltNm',
|
|
'fcltPstnCn',
|
|
'oprtngStrtYmd',
|
|
'planDesignFreqCnt',
|
|
|
|
{
|
|
name: 'installationPurpose',
|
|
hideChildHeaders: false,
|
|
header: { text: '설치목적(O,X로 표기, 중복체크가능)' },
|
|
items: [
|
|
'fldngPrvtnYn',
|
|
'wqPlltnMtgtYn',
|
|
'rtlztnUsgYn',
|
|
],
|
|
},
|
|
'fcltStrctCn',
|
|
'wtrStrgZoneArea',
|
|
'impdFcltCpct',
|
|
|
|
{
|
|
name: 'pumpSystem',
|
|
hideChildHeaders: false,
|
|
header: { text: '펌프시설' },
|
|
items: [
|
|
'grssPpqty',
|
|
{
|
|
name: 'pumpSystem1',
|
|
hideChildHeaders: false,
|
|
header: { text: '펌프시설1' },
|
|
items: [
|
|
'pumpFcltN1DmtrExpln',
|
|
'pumpFcltN1PerPpqty',
|
|
'pumpFcltN1PumpCnt',
|
|
'pumpFcltN1RsrvPumpCnt',
|
|
],
|
|
},
|
|
|
|
{
|
|
name: 'pumpSystem2',
|
|
hideChildHeaders: false,
|
|
header: { text: '펌프시설2' },
|
|
items: [
|
|
'pumpFcltN2DmtrExpln',
|
|
'pumpFcltN2PerPpqty',
|
|
'pumpFcltN2PumpCnt',
|
|
'pumpFcltN2RsrvPumpCnt',
|
|
],
|
|
},
|
|
|
|
{
|
|
name: 'pumpSystem3',
|
|
hideChildHeaders: false,
|
|
header: { text: '펌프시설3' },
|
|
items: [
|
|
'pumpFcltN3DmtrExpln',
|
|
'pumpFcltN3PerPpqty',
|
|
'pumpFcltN3PumpCnt',
|
|
'pumpFcltN3RsrvPumpCnt',
|
|
],
|
|
},
|
|
],
|
|
},
|
|
|
|
{
|
|
name: 'auxiliaryFacilities',
|
|
hideChildHeaders: false,
|
|
header: { text: '부대시설' },
|
|
items: [
|
|
'prcsgFcltYn',
|
|
'ddrztnEqpmYn',
|
|
'oslfEtgtYn',
|
|
],
|
|
},
|
|
'mltvMthCn',
|
|
'impdMthCn',
|
|
'impdPrcsMthdCn',
|
|
'dschgWtrsExpln',
|
|
|
|
{
|
|
name: 'finalDisposalAmount',
|
|
hideChildHeaders: false,
|
|
header: { text: '최종처분량(ton/년)' },
|
|
items: [
|
|
'prcptnLastDspsQnt',
|
|
'ctmnLastDspsQnt',
|
|
],
|
|
},
|
|
|
|
{
|
|
name: 'finalDisposalMethod',
|
|
hideChildHeaders: false,
|
|
header: { text: '최종처분방법' },
|
|
items: [
|
|
'prcptnLastDspsMthdExpln',
|
|
'ctmnLastDspsMthdExpln',
|
|
],
|
|
},
|
|
|
|
{
|
|
name: 'operationResults',
|
|
hideChildHeaders: false,
|
|
header: { text: '운영실적' },
|
|
items: [
|
|
'oprtngDayCnt',
|
|
'grssMltvQnt',
|
|
],
|
|
},
|
|
'rmrk',
|
|
'admdstCd',
|
|
'fcltSn',
|
|
'admdstNm'
|
|
],
|
|
|
|
rowStartNum: 3,
|
|
fixedColumns: 2,
|
|
tabKey: 'ST00040001',
|
|
tabLabel: '하수저류시설',
|
|
}; |