feat : 00. 통계 입력 현황
valueType,numberFormat 추가,컬럼명 변경
This commit is contained in:
@@ -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<Record<string, string | number>[]>([]);
|
||||
|
||||
@@ -31,13 +32,21 @@ const StatsInputStatusRvw = () => {
|
||||
return (
|
||||
<>
|
||||
<SearchForm userMenual={true} />
|
||||
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
|
||||
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
|
||||
<ApproveButton approveFunc={approveFunc} />
|
||||
<ReturnButton returnFunc={returnFunc} />
|
||||
<SaveButton saveFunc={saveFunc} />
|
||||
<div className="card !py-0">
|
||||
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
|
||||
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
|
||||
<ApproveButton approveFunc={approveFunc} />
|
||||
<ReturnButton returnFunc={returnFunc} />
|
||||
<SaveButton saveFunc={saveFunc} />
|
||||
</div>
|
||||
</div>
|
||||
<DataGrid columnInfo={StatsInputStatusInfoList} isExcelImport={false} rowStartNum={2} fixedColumns={2} rowData={rowData} setRowData={setRowData} />
|
||||
<DataGrid
|
||||
columnInfo={StatsInputStatusInfoList}
|
||||
isExcelImport={false}
|
||||
rowStartNum={2}
|
||||
fixedColumns={2}
|
||||
rowData={rowData}
|
||||
setRowData={setRowData} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}))
|
||||
};
|
||||
@@ -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
|
||||
}))
|
||||
};
|
||||
Reference in New Issue
Block a user