diff --git a/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx b/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx
index 7d4039d91..5cb29539c 100644
--- a/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx
+++ b/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx
@@ -1,187 +1,14 @@
import SearchForm from "@/components/module/SearchForm";
-import DataGrid from "@/components/module/DataGrid";
+import TabDataGrid from "@/components/module/TabDataGrid";
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 { StatsInputSatusInfoList } from "@/components/util/column/review/StatsInputSatusColumnRvw";
+
const StatsInputSatusRvw = () => {
- const rawColumns = [
- { name: 'sido', fieldName: '시도', header: { text: '시도' } },
- { name: 'sgg', fieldName: '구군', header: { text: '구군' } },
-
- { name: '진행상태', fieldName: '진행상태', header: { text: '진행상태' } },
- //01번
- { name: '제출자01', fieldName: '제출자01', header: { text: '제출자' } },
- { name: '연락처01', fieldName: '연락처01', header: { text: '연락처' } },
- { name: '지자체진행상태01', fieldName: '지자체진행상태01', header: { text: '지자체진행상태' } },
- { name: '진행상태01', fieldName: '진행상태01', header: { text: '진행상태' } },
- //02번
- { name: '제출자02', fieldName: '제출자02', header: { text: '제출자' } },
- { name: '연락처02', fieldName: '연락처02', header: { text: '연락처' } },
- { name: '지자체진행상태02', fieldName: '지자체진행상태02', header: { text: '지자체진행상태' } },
- { name: '진행상태02', fieldName: '진행상태02', header: { text: '진행상태' } },
- // 03번
- { name: '제출자03', fieldName: '제출자03', header: { text: '제출자' } },
- { name: '연락처03', fieldName: '연락처03', header: { text: '연락처' } },
- { name: '지자체진행상태03', fieldName: '지자체진행상태03', header: { text: '지자체진행상태' } },
- { name: '진행상태03', fieldName: '진행상태03', header: { text: '진행상태' } },
-
- // 04번
- { name: '제출자04', fieldName: '제출자04', header: { text: '제출자' } },
- { name: '연락처04', fieldName: '연락처04', header: { text: '연락처' } },
- { name: '지자체진행상태04', fieldName: '지자체진행상태04', header: { text: '지자체진행상태' } },
- { name: '진행상태04', fieldName: '진행상태04', header: { text: '진행상태' } },
-
- // 05번
- { name: '제출자05', fieldName: '제출자05', header: { text: '제출자' } },
- { name: '연락처05', fieldName: '연락처05', header: { text: '연락처' } },
- { name: '지자체진행상태05', fieldName: '지자체진행상태05', header: { text: '지자체진행상태' } },
- { name: '진행상태05', fieldName: '진행상태05', header: { text: '진행상태' } },
-
- // 06번
- { name: '제출자06', fieldName: '제출자06', header: { text: '제출자' } },
- { name: '연락처06', fieldName: '연락처06', header: { text: '연락처' } },
- { name: '지자체진행상태06', fieldName: '지자체진행상태06', header: { text: '지자체진행상태' } },
- { name: '진행상태06', fieldName: '진행상태06', header: { text: '진행상태' } },
-
- // 07번
- { name: '제출자07', fieldName: '제출자07', header: { text: '제출자' } },
- { name: '연락처07', fieldName: '연락처07', header: { text: '연락처' } },
- { name: '지자체진행상태07', fieldName: '지자체진행상태07', header: { text: '지자체진행상태' } },
- { name: '진행상태07', fieldName: '진행상태07', header: { text: '진행상태' } },
-
- // 08번
- { name: '제출자08', fieldName: '제출자08', header: { text: '제출자' } },
- { name: '연락처08', fieldName: '연락처08', header: { text: '연락처' } },
- { name: '지자체진행상태08', fieldName: '지자체진행상태08', header: { text: '지자체진행상태' } },
- { name: '진행상태08', fieldName: '진행상태08', header: { text: '진행상태' } },
-
- // 09번
- { name: '제출자09', fieldName: '제출자09', header: { text: '제출자' } },
- { name: '연락처09', fieldName: '연락처09', header: { text: '연락처' } },
- { name: '지자체진행상태09', fieldName: '지자체진행상태09', header: { text: '지자체진행상태' } },
- { name: '진행상태09', fieldName: '진행상태09', header: { text: '진행상태' } },
-
- // 10번
- { name: '제출자10', fieldName: '제출자10', header: { text: '제출자' } },
- { name: '연락처10', fieldName: '연락처10', header: { text: '연락처' } },
- { name: '지자체진행상태10', fieldName: '지자체진행상태10', header: { text: '지자체진행상태' } },
- { name: '진행상태10', fieldName: '진행상태10', header: { text: '진행상태' } },
-
- // 11번
- { name: '제출자11', fieldName: '제출자11', header: { text: '제출자' } },
- { name: '연락처11', fieldName: '연락처11', header: { text: '연락처' } },
- { name: '지자체진행상태11', fieldName: '지자체진행상태11', header: { text: '지자체진행상태' } },
- { name: '진행상태11', fieldName: '진행상태11', header: { text: '진행상태' } },
-
- // 12번
- { name: '제출자12', fieldName: '제출자12', header: { text: '제출자' } },
- { name: '연락처12', fieldName: '연락처12', header: { text: '연락처' } },
- { name: '지자체진행상태12', fieldName: '지자체진행상태12', header: { text: '지자체진행상태' } },
- { name: '진행상태12', fieldName: '진행상태12', header: { text: '진행상태' } },
-
- // 13번
- { name: '제출자13', fieldName: '제출자13', header: { text: '제출자' } },
- { name: '연락처13', fieldName: '연락처13', header: { text: '연락처' } },
- { name: '지자체진행상태13', fieldName: '지자체진행상태13', header: { text: '지자체진행상태' } },
- { name: '진행상태13', fieldName: '진행상태13', header: { text: '진행상태' } },
- { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
- ];
-
- const columns = rawColumns.map(col => ({
- ...col,
- editable: false
- }));
-
- const columnLayout = [
- {
- name: 'groupA',
- hideChildHeaders: false,
- header: { text: '행정구역' },
- items: ['sido', 'sgg'],
- },
- '진행상태',
- {
- name: 'groupB',
- hideChildHeaders: false,
- header: { text: '01. 하수도 보급율' },
- items: ['제출자01', '연락처01', '지자체진행상태01', '진행상태01'],
- },
- {
- name: 'groupC',
- hideChildHeaders: false,
- header: { text: '02. 하수관로' },
- items: ['제출자02', '연락처02', '지자체진행상태02', '진행상태02'],
- },
- {
- name: 'groupD',
- hideChildHeaders: false,
- header: { text: '03. 하수관로유지관리' },
- items: ['제출자03', '연락처03', '지자체진행상태03', '진행상태03'],
- },
- {
- name: 'groupE',
- hideChildHeaders: false,
- header: { text: '04. 하수저류시설' },
- items: ['제출자04', '연락처04', '지자체진행상태04', '진행상태04'],
- },
- {
- name: 'groupF',
- hideChildHeaders: false,
- header: { text: '05. 펌프장' },
- items: ['제출자05', '연락처05', '지자체진행상태05', '진행상태05'],
- },
- {
- name: 'groupG',
- hideChildHeaders: false,
- header: { text: '06. 공공하수처리시설' },
- items: ['제출자06', '연락처06', '지자체진행상태06', '진행상태06'],
- },
- {
- name: 'groupH',
- hideChildHeaders: false,
- header: { text: '07. 분뇨처리시설' },
- items: ['제출자07', '연락처07', '지자체진행상태07', '진행상태07'],
- },
- {
- name: 'groupI',
- hideChildHeaders: false,
- header: { text: '08. 개인하수처리시설' },
- items: ['제출자08', '연락처08', '지자체진행상태08', '진행상태08'],
- },
- {
- name: 'groupJ',
- hideChildHeaders: false,
- header: { text: '09. 하수도재정' },
- items: ['제출자09', '연락처09', '지자체진행상태09', '진행상태09'],
- },
- {
- name: 'groupK',
- hideChildHeaders: false,
- header: { text: '10. 물재이용' },
- items: ['제출자10', '연락처10', '지자체진행상태10', '진행상태10'],
- },
- {
- name: 'groupL',
- hideChildHeaders: false,
- header: { text: '11. 하수및분뇨찌꺼기' },
- items: ['제출자11', '연락처11', '지자체진행상태11', '진행상태11'],
- },
- {
- name: 'groupM',
- hideChildHeaders: false,
- header: { text: '12. 하수및분뇨관련사업' },
- items: ['제출자12', '연락처12', '지자체진행상태12', '진행상태12'],
- },
- {
- name: 'groupN',
- hideChildHeaders: false,
- header: { text: '13. 하수도서비스수준' },
- items: ['제출자13', '연락처13', '지자체진행상태13', '진행상태13'],
- }
- ];
-
+
const approveFunc = () => {
console.log('approveFunc');
};
@@ -207,7 +34,7 @@ const StatsInputSatusRvw = () => {
-
+
>
);
}
diff --git a/apps/st/src/components/util/column/review/StatsInputSatusColumnRvw.ts b/apps/st/src/components/util/column/review/StatsInputSatusColumnRvw.ts
new file mode 100644
index 000000000..586cb30e7
--- /dev/null
+++ b/apps/st/src/components/util/column/review/StatsInputSatusColumnRvw.ts
@@ -0,0 +1,50 @@
+// 1. 원본 데이터 정의 (데이터 구조와 레이아웃 정의)
+const rawStatsInputStatusList = [
+ {
+ tabKey: 'a',
+ tabLabel: '통계 입력현황 검증',
+ rowStartNum: 2,
+ fixedColumns: 2,
+ 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 StatsInputSatusInfoList = rawStatsInputStatusList.map(tab => ({
+ ...tab,
+ columns: tab.columns.map(col => ({
+ ...col,
+ editable: false
+ }))
+}));
\ No newline at end of file