[feat]01.통계입력현황 단일탭 column 폴더 분리
This commit is contained in:
@@ -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 = () => {
|
||||
<ReturnButton returnFunc={returnFunc} />
|
||||
<SaveButton saveFunc={saveFunc} />
|
||||
</div>
|
||||
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={2} isExcelImport={false} fixedColumns={2} />
|
||||
<TabDataGrid columnInfo={StatsInputSatusInfoList} isExcelImport={false} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}))
|
||||
}));
|
||||
Reference in New Issue
Block a user