From 93d090b23fbb2d3cc27ce0b58fa6029268dec822 Mon Sep 17 00:00:00 2001 From: rsone001 Date: Fri, 16 Jan 2026 11:48:24 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=2000.=20=ED=86=B5=EA=B3=84=20=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=20=ED=98=84=ED=99=A9=20valueType,numberFormat=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80,=EC=BB=AC=EB=9F=BC=EB=AA=85=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statistics/review/StatsInputStatusRvw.tsx | 23 +++++--- .../review/StatsInputStatusColumnRvw.ts | 43 -------------- .../review/StatsInputStatusRvwColumn.ts | 57 +++++++++++++++++++ 3 files changed, 73 insertions(+), 50 deletions(-) delete mode 100644 apps/st/src/components/util/column/review/StatsInputStatusColumnRvw.ts create mode 100644 apps/st/src/components/util/column/review/StatsInputStatusRvwColumn.ts diff --git a/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx b/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx index 3dfca17d1..501507ff4 100644 --- a/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx +++ b/apps/st/src/components/statistics/review/StatsInputStatusRvw.tsx @@ -7,8 +7,9 @@ import ApproveButton from "@/components/button/ApproveButton"; import ReviewOpinionButton from "@/components/button/ReviewOpinionButton"; import ReturnButton from "@/components/button/ReturnButton"; -import { StatsInputStatusInfoList } from "@/components/util/column/review/StatsInputStatusColumnRvw"; +import { StatsInputStatusInfoList } from "@/components/util/column/review/StatsInputStatusRvwColumn"; +// 하수도 통계 관리 00. 통계 입력 현황 const StatsInputStatusRvw = () => { const [rowData, setRowData] = useState[]>([]); @@ -31,13 +32,21 @@ const StatsInputStatusRvw = () => { return ( <> -
- - - - +
+
+ + + + +
- + ); } diff --git a/apps/st/src/components/util/column/review/StatsInputStatusColumnRvw.ts b/apps/st/src/components/util/column/review/StatsInputStatusColumnRvw.ts deleted file mode 100644 index a51fb9401..000000000 --- a/apps/st/src/components/util/column/review/StatsInputStatusColumnRvw.ts +++ /dev/null @@ -1,43 +0,0 @@ - -const rawStatsInputStatusList = { - columns: [ - { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } }, - { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } }, - { name: 'STATUS', fieldName: 'STATUS', header: { text: '진행상태' } }, - - ...[1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15].flatMap(num => { - const id = num.toString(); - return [ - { name: `LOCG_CHARGER_${id}`, fieldName: `LOCG_CHARGER_${id}`, header: { text: '제출자' } }, - { name: `LOCG_CTTPC_${id}`, fieldName: `LOCG_CTTPC_${id}`, header: { text: '연락처' } }, - { name: `LOCG_STATUS_NM_${id}`, fieldName: `LOCG_STATUS_NM_${id}`, header: { text: '지자체진행상태' } }, - { name: `STATUS_${id}`, fieldName: `STATUS_${id}`, header: { text: '진행상태' } } - ]; - }), - ], - columnLayout: [ - { name: 'addrGroup', header: { text: '구분' }, items: ['SIDO', 'GUGUN'] }, - 'STATUS', - { name: 'group01', header: { text: '01. 하수도보급율' }, items: ['LOCG_CHARGER_1', 'LOCG_CTTPC_1', 'LOCG_STATUS_NM_1', 'STATUS_1'] }, - { name: 'group02', header: { text: '02. 하수관로' }, items: ['LOCG_CHARGER_3', 'LOCG_CTTPC_3', 'LOCG_STATUS_NM_3', 'STATUS_3'] }, - { name: 'group03', header: { text: '03. 하수관로유지관리' }, items: ['LOCG_CHARGER_4', 'LOCG_CTTPC_4', 'LOCG_STATUS_NM_4', 'STATUS_4'] }, - { name: 'group04', header: { text: '04. 하수저류시설' }, items: ['LOCG_CHARGER_5', 'LOCG_CTTPC_5', 'LOCG_STATUS_NM_5', 'STATUS_5'] }, - { name: 'group05', header: { text: '05. 펌프장' }, items: ['LOCG_CHARGER_6', 'LOCG_CTTPC_6', 'LOCG_STATUS_NM_6', 'STATUS_6'] }, - { name: 'group06', header: { text: '06. 공공하수처리시설' }, items: ['LOCG_CHARGER_7', 'LOCG_CTTPC_7', 'LOCG_STATUS_NM_7', 'STATUS_7'] }, - { name: 'group07', header: { text: '07. 분뇨처리시설' }, items: ['LOCG_CHARGER_8', 'LOCG_CTTPC_8', 'LOCG_STATUS_NM_8', 'STATUS_8'] }, - { name: 'group08', header: { text: '08. 개인하수처리시설' }, items: ['LOCG_CHARGER_9', 'LOCG_CTTPC_9', 'LOCG_STATUS_NM_9', 'STATUS_9'] }, - { name: 'group09', header: { text: '09. 하수도재정' }, items: ['LOCG_CHARGER_10', 'LOCG_CTTPC_10', 'LOCG_STATUS_NM_10', 'STATUS_10'] }, - { name: 'group10', header: { text: '10. 물재이용' }, items: ['LOCG_CHARGER_11', 'LOCG_CTTPC_11', 'LOCG_STATUS_NM_11', 'STATUS_11'] }, - { name: 'group11', header: { text: '11. 하수및분뇨찌꺼기' }, items: ['LOCG_CHARGER_12', 'LOCG_CTTPC_12', 'LOCG_STATUS_NM_12', 'STATUS_12'] }, - { name: 'group12', header: { text: '12. 하수및분뇨관련사업' }, items: ['LOCG_CHARGER_13', 'LOCG_CTTPC_13', 'LOCG_STATUS_NM_13', 'STATUS_13'] }, - { name: 'group13', header: { text: '13. 하수도서비스수준' }, items: ['LOCG_CHARGER_15', 'LOCG_CTTPC_15', 'LOCG_STATUS_NM_15', 'STATUS_15'] } - ] - }; - -export const StatsInputStatusInfoList = { - ...rawStatsInputStatusList, - columns: rawStatsInputStatusList.columns.map(col => ({ - ...col, - editable: false - })) -}; \ No newline at end of file diff --git a/apps/st/src/components/util/column/review/StatsInputStatusRvwColumn.ts b/apps/st/src/components/util/column/review/StatsInputStatusRvwColumn.ts new file mode 100644 index 000000000..4a4afb95d --- /dev/null +++ b/apps/st/src/components/util/column/review/StatsInputStatusRvwColumn.ts @@ -0,0 +1,57 @@ +import { ValueType } from "realgrid"; + +/** + 하수도 통계 관리 00. 통계 입력 현황 + * 단일 Tab + */ +const StatsInputStatusInfoColumnRaw = { + columns: [ + { name: 'sido', fieldName: '시도', header: { text: '시도' } }, + { name: 'gugun', fieldName: '시군구', header: { text: '시군구' } }, + { name: 'status', fieldName: '진행상태', header: { text: '진행상태' } }, + + // 동적 컬럼 생성 (1~15번 그룹) + ...[1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15].flatMap(num => { + const id = num.toString(); + return [ + // fieldName을 header.text와 동일하게 수정 (단, 데이터 구분을 위해 ID 포함) + { name: `locg_charger_${id}`, fieldName: `제출자_${id}`, header: { text: '제출자' } }, + { name: `locg_cttpc_${id}`, fieldName: `연락처_${id}`, header: { text: '연락처' } }, + { name: `locg_status_nm_${id}`, fieldName: `지자체진행상태_${id}`, header: { text: '지자체진행상태' } }, + { name: `status_${id}`, fieldName: `진행상태_${id}`, header: { text: '진행상태' } } + ]; + }), + ], + + columnLayout: [ + { + name: 'addrGroup', + header: { text: '구분' }, + items: ['sido', 'gugun'] + }, + 'status', + { name: 'group01', header: { text: '01. 하수도보급율' }, items: ['locg_charger_1', 'locg_cttpc_1', 'locg_status_nm_1', 'status_1'] }, + { name: 'group02', header: { text: '02. 하수관로' }, items: ['locg_charger_3', 'locg_cttpc_3', 'locg_status_nm_3', 'status_3'] }, + { name: 'group03', header: { text: '03. 하수관로유지관리' }, items: ['locg_charger_4', 'locg_cttpc_4', 'locg_status_nm_4', 'status_4'] }, + { name: 'group04', header: { text: '04. 하수저류시설' }, items: ['locg_charger_5', 'locg_cttpc_5', 'locg_status_nm_5', 'status_5'] }, + { name: 'group05', header: { text: '05. 펌프장' }, items: ['locg_charger_6', 'locg_cttpc_6', 'locg_status_nm_6', 'status_6'] }, + { name: 'group06', header: { text: '06. 공공하수처리시설' }, items: ['locg_charger_7', 'locg_cttpc_7', 'locg_status_nm_7', 'status_7'] }, + { name: 'group07', header: { text: '07. 분뇨처리시설' }, items: ['locg_charger_8', 'locg_cttpc_8', 'locg_status_nm_8', 'status_8'] }, + { name: 'group08', header: { text: '08. 개인하수처리시설' }, items: ['locg_charger_9', 'locg_cttpc_9', 'locg_status_nm_9', 'status_9'] }, + { name: 'group09', header: { text: '09. 하수도재정' }, items: ['locg_charger_10', 'locg_cttpc_10', 'locg_status_nm_10', 'status_10'] }, + { name: 'group10', header: { text: '10. 물재이용' }, items: ['locg_charger_11', 'locg_cttpc_11', 'locg_status_nm_11', 'status_11'] }, + { name: 'group11', header: { text: '11. 하수및분뇨찌꺼기' }, items: ['locg_charger_12', 'locg_cttpc_12', 'locg_status_nm_12', 'status_12'] }, + { name: 'group12', header: { text: '12. 하수및분뇨관련사업' }, items: ['locg_charger_13', 'locg_cttpc_13', 'locg_status_nm_13', 'status_13'] }, + { name: 'group13', header: { text: '13. 하수도서비스수준' }, items: ['locg_charger_15', 'locg_cttpc_15', 'locg_status_nm_15', 'status_15'] } + ] +}; +/** + * 최종 Export 객체 (수정 불가 설정 적용) + */ +export const StatsInputStatusInfoList = { + ...StatsInputStatusInfoColumnRaw, + columns: StatsInputStatusInfoColumnRaw.columns.map(col => ({ + ...col, + editable: false + })) +}; \ No newline at end of file