대시보드 차트 색상 수정, 모달 강우량 컬럼추가

This commit is contained in:
YangJinSoo94
2025-07-16 13:29:45 +09:00
parent 5015b8e0d9
commit d7db174c1d
4 changed files with 75 additions and 33 deletions
@@ -49,7 +49,7 @@ export default function DashBoardChart({searchYear = '', fcltyList = []}: facili
/**
* 차트 Config
*/
const colors = ["#FF6B6B", "#4ECDC4", "#45B7D1", "#96CEB4", "#FFEEAD", "#D4A5A5"];
const colors = ["#FF6B6B", "#4ECDC4", "#45B7D1", "#96CEB4", "#00b50c", "#D4A5A5"];
//유입하수량-강수량
const chartConfig_inflowRain = {
+71 -30
View File
@@ -55,6 +55,7 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
let maxsumFlow = 0;
let maxreturnAmnt = 0;
let maxefflAmnt = 0;
let maxinfoRnDay = 0;
// 초기값 설정
let mintotInflAmnt = parseNumber(filteredData[0]?.totInflAmnt);
@@ -62,37 +63,42 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
let minsumFlow = parseNumber(filteredData[0]?.sumFlow);
let minreturnAmnt = parseNumber(filteredData[0]?.returnAmnt);
let minefflAmnt = parseNumber(filteredData[0]?.efflAmnt);
let mininfoRnDay = parseNumber(filteredData[0]?.infoRnDay);
let avgtotInflAmnt = 0;
let avginflAmnt = 0;
let avgsumFlow = 0;
let avgreturnAmnt = 0;
let avgefflAmnt = 0;
let avginfoRnDay = 0;
filteredData.forEach((item: FlowRateModalInterface) => {
const totInflAmnt = parseNumber(item.totInflAmnt);
const inflAmnt = parseNumber(item.inflAmnt);
const sumFlow = parseNumber(item.sumFlow);
const returnAmnt = parseNumber(item.returnAmnt);
const efflAmnt = parseNumber(item.efflAmnt);
const infoRnDay = parseNumber(item.infoRnDay);
maxtotInflAmnt = Math.max(maxtotInflAmnt, totInflAmnt);
maxinflAmnt = Math.max(maxinflAmnt, inflAmnt);
maxsumFlow = Math.max(maxsumFlow, sumFlow);
maxreturnAmnt = Math.max(maxreturnAmnt, returnAmnt);
maxefflAmnt = Math.max(maxefflAmnt, efflAmnt);
maxinfoRnDay = Math.max(maxinfoRnDay, infoRnDay);
mintotInflAmnt = Math.min(mintotInflAmnt, totInflAmnt);
mininflAmnt = Math.min(mininflAmnt, inflAmnt);
minsumFlow = Math.min(minsumFlow, sumFlow);
minreturnAmnt = Math.min(minreturnAmnt, returnAmnt);
minefflAmnt = Math.min(minefflAmnt, efflAmnt);
mininfoRnDay = Math.min(mininfoRnDay, infoRnDay);
avgtotInflAmnt += totInflAmnt;
avginflAmnt += inflAmnt;
avgsumFlow += sumFlow;
avgreturnAmnt += returnAmnt;
avgefflAmnt += efflAmnt;
avginfoRnDay += infoRnDay;
});
const newFilteredData = [
@@ -103,6 +109,7 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
sumFlow: Math.round(avgsumFlow / filteredData.length * 10) / 10,
returnAmnt: Math.round(avgreturnAmnt / filteredData.length * 10) / 10,
efflAmnt: Math.round(avgefflAmnt / filteredData.length * 10) / 10,
infoRnDay: avginfoRnDay > 0 ? (Math.round(avginfoRnDay / filteredData.length * 10) / 10).toFixed(1) : '0.0',
},
{
msrDt: '최대',
@@ -111,6 +118,7 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
sumFlow: Math.round(maxsumFlow * 10) / 10,
returnAmnt: Math.round(maxreturnAmnt * 10) / 10,
efflAmnt: Math.round(maxefflAmnt * 10) / 10,
infoRnDay: maxinfoRnDay > 0 ? (Math.round(maxinfoRnDay * 10) / 10).toFixed(1) : '0.0',
},
{
msrDt: '최소',
@@ -119,6 +127,7 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
sumFlow: Math.round(minsumFlow * 10) / 10,
returnAmnt: Math.round(minreturnAmnt * 10) / 10,
efflAmnt: Math.round(minefflAmnt * 10) / 10,
infoRnDay: mininfoRnDay > 0 ? (Math.round(mininfoRnDay * 10) / 10).toFixed(1) : '0.0',
},
...filteredData
];
@@ -154,18 +163,20 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
ref={ref}
queryClick={filterData}
/>
<div className="h-[370px] overflow-y-auto overflow-x-hidden">
<UiTable
headName="유량현황"
tableData={copyYearList}
headlist={upHeadListFlowRateModalYear}
pageSize={0}
total={0}
cellClick={undefined}
onPageChange={() => {}}
className="h-[370px]"
boldArray={[0,1,2]}
/>
<div className="h-[370px] overflow-y-auto overflow-x-auto">
<div className="w-[120%]">
<UiTable
headName="유량현황"
tableData={copyYearList}
headlist={upHeadListFlowRateModalYear}
pageSize={0}
total={0}
cellClick={undefined}
onPageChange={() => {}}
className="h-[370px]"
boldArray={[0,1,2]}
/>
</div>
</div>
</TabsContent>
<TabsContent value="tab_term_summer">
@@ -178,10 +189,20 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
ref={ref}
queryClick={filterData}
/>
<div className="h-[370px] overflow-y-auto overflow-x-hidden">
<UiTable headName="유량현황" tableData={copyYearList} headlist={upHeadListFlowRateModalYear} pageSize={0} total={0} cellClick={undefined} onPageChange={() => {}} className="h-[370px]" boldArray={[0,1,2]}>
{null}
</UiTable>
<div className="h-[370px] overflow-y-auto overflow-x-auto">
<div className="w-[120%]">
<UiTable
headName="유량현황"
tableData={copyYearList}
headlist={upHeadListFlowRateModalYear}
pageSize={0}
total={0}
cellClick={undefined}
onPageChange={() => {}}
className="h-[370px]"
boldArray={[0,1,2]}
/>
</div>
</div>
</TabsContent>
<TabsContent value="tab_term_winter">
@@ -194,10 +215,20 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
ref={ref}
queryClick={filterData}
/>
<div className="h-[370px] overflow-y-auto overflow-x-hidden">
<UiTable headName="유량현황" tableData={copyYearList} headlist={upHeadListFlowRateModalYear} pageSize={0} total={0} cellClick={undefined} onPageChange={() => {}} className="h-[370px]" boldArray={[0,1,2]}>
{null}
</UiTable>
<div className="h-[370px] overflow-y-auto overflow-x-auto">
<div className="w-[120%]">
<UiTable
headName="유량현황"
tableData={copyYearList}
headlist={upHeadListFlowRateModalYear}
pageSize={0}
total={0}
cellClick={undefined}
onPageChange={() => {}}
className="h-[370px]"
boldArray={[0,1,2]}
/>
</div>
</div>
</TabsContent>
<TabsContent value="tab_term_chuncheon">
@@ -210,10 +241,20 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
ref={ref}
queryClick={filterData}
/>
<div className="h-[370px] overflow-y-auto overflow-x-hidden">
<UiTable headName="유량현황" tableData={copyYearList} headlist={upHeadListFlowRateModalYear} pageSize={0} total={0} cellClick={undefined} onPageChange={() => {}} className="h-[370px]" boldArray={[0,1,2]}>
{null}
</UiTable>
<div className="h-[370px] overflow-y-auto overflow-x-auto">
<div className="w-[120%]">
<UiTable
headName="유량현황"
tableData={copyYearList}
headlist={upHeadListFlowRateModalYear}
pageSize={0}
total={0}
cellClick={undefined}
onPageChange={() => {}}
className="h-[370px]"
boldArray={[0,1,2]}
/>
</div>
</div>
</TabsContent>
<TabsContent value="tab_term_rain">
@@ -226,10 +267,10 @@ export default function FlowRateModal(props: { fcltyName: string; facilityCd: st
ref={ref}
queryClick={filterData}
/>
<div className="h-[370px] overflow-y-auto overflow-x-hidden">
<UiTable headName="유량현황" tableData={copyYearList} headlist={upHeadListFlowRateModalYear} pageSize={0} total={0} cellClick={undefined} onPageChange={() => {}} className="h-[370px]" boldArray={[0,1,2]}>
{null}
</UiTable>
<div className="h-[370px] overflow-y-auto overflow-x-auto">
<div className="w-[120%]">
<UiTable headName="유량현황" tableData={copyYearList} headlist={upHeadListFlowRateModalYear} pageSize={0} total={0} cellClick={undefined} onPageChange={() => {}} className="h-[370px]" boldArray={[0,1,2]}/>
</div>
</div>
</TabsContent>
</UITab>
-1
View File
@@ -167,7 +167,6 @@ const selectFlowTerm : SelectDataType[] = [
// 유량 기간 구분
const selectFlowPanel : SelectDataType[] = [
{ text: "전체", val: '0'},
{ text: "3mm미만", val: '1'},
{ text: "3~10mm미만", val: '2'},
{ text: "10~20mm미만", val: '3'},
{ text: "20~30mm미만", val: '4'},
+3 -1
View File
@@ -60,6 +60,7 @@ export interface FlowRateModalInterface {
sumFlow : number | '',
returnAmnt : number | '',
efflAmnt : number | '',
infoRnDay : number | '',
}
export type FlowRateModalProps = {
msrDt : string,
@@ -146,7 +147,8 @@ const upHeadListFlowRateModal:TableUpperProps[] = [
{ id: "inflAmnt", title: "하수유입량(m³/일)", align:"right"},
{ id: "sumFlow", title: "연계처리량(m³/일)", align:"right"},
{ id: "returnAmnt", title: "총인 반류수량(m³/일)", align:"right"},
{ id: "efflAmnt", title: "방류량(m³/일)", align:"right"}
{ id: "efflAmnt", title: "방류량(m³/일)", align:"right"},
{ id: "infoRnDay", title: "강우량", align:"right"}
]
const modalFlowRateListYear:FlowRateModalProps[] = [