dashbord 校區即時契約容量圖表 | 報表棟別改多選

This commit is contained in:
Celeste 2023-08-23 14:33:39 +08:00
parent 0f675b4eba
commit 2c02b75baa
3 changed files with 1747 additions and 1484 deletions

View File

@ -166,7 +166,7 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row h-100">
<div class="col-sm-12 col-lg-4"> <div class="col-sm-12 col-lg-4">
<div class="row" id="sysSubBtnList"></div> <div class="row" id="sysSubBtnList"></div>
</div> </div>
@ -182,9 +182,9 @@
<div class="panel-hdr"> <div class="panel-hdr">
<h2>本月/上月用電比較 (kWh)</h2> <h2>本月/上月用電比較 (kWh)</h2>
</div> </div>
<div class="panel-container show"> <div class="panel-container show h-100">
<div class="panel-content poisition-relative"> <div class="panel-content poisition-relative h-100">
<div style="width: 100%; min-height: 270px"> <div style="width: 100%; min-height: 450px">
<canvas class="chart" id="eveMonElecChart"></canvas> <canvas class="chart" id="eveMonElecChart"></canvas>
</div> </div>
</div> </div>
@ -192,12 +192,30 @@
</div> </div>
</div> </div>
<div class="col-4"> <div class="col-4">
<div id="panel-3" class="panel" style="height: calc(100% - 1.5rem)"> <div class="row h-100">
<div class="panel-hdr"> <div class="col-12 h-50">
<h2>契約容量</h2> <div id="panel-3"
class="panel"
style="height: calc(100% - 1.5rem)">
<div class="panel-hdr">
<h2>即時契約容量占比 - 第一校區</h2>
</div>
<div class="panel-container show h-100">
<div class="h-100 py-2" id="contractValueChart"></div>
</div>
</div>
</div> </div>
<div class="panel-container h-100 show"> <div class="col-12 h-50">
<div class="h-100" id="contractValueChart"></div> <div id="panel-3"
class="panel"
style="height: calc(100% - 1.5rem)">
<div class="panel-hdr">
<h2>即時契約容量占比 - 第一校區</h2>
</div>
<div class="panel-container h-100 show">
<div class="h-100 py-2" id="contractValueChart2"></div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -268,6 +286,7 @@
var errRecChart = null; var errRecChart = null;
var errChkChart = null; var errChkChart = null;
var contractValueChart = null; var contractValueChart = null;
var contractValueChart2 = null;
var loadedCnt = 0; var loadedCnt = 0;
var chartDataCnt = { var chartDataCnt = {
alarmCnt: 0, alarmCnt: 0,
@ -283,6 +302,8 @@
show3DModel(); show3DModel();
getSubList(); getSubList();
getAutDemVal(); getAutDemVal();
getContractValueChange("Arean1");
getContractValueChange("Arean2");
}); });
function demoSubList() { function demoSubList() {
@ -405,19 +426,46 @@
myBaja.setSubscribeElectricmeterByBql(tempOrdPath); myBaja.setSubscribeElectricmeterByBql(tempOrdPath);
myBaja.setSubscribeElectricmeterCallBack(function (data) { myBaja.setSubscribeElectricmeterCallBack(function (data) {
console.log(data.point_name);
if (data.point_name == "P") { if (data.point_name == "P") {
let value = parseFloat(data.value).roundDecimal(2); let value = parseFloat(data.value).roundDecimal(2);
$("#insPower").text(value); $("#insPower").text(value);
// $("#insPowerPer").text((value / 4).roundDecimal(2)); // $("#insPowerPer").text((value / 4).roundDecimal(2));
$("#insPowerPer").text((value / contractCapacity).roundDecimal(2)); $("#insPowerPer").text((value / contractCapacity).roundDecimal(2));
chartContractValue((value / contractCapacity).roundDecimal(2) * 100);
} }
}); });
myBaja.setSubscribeElectricmeterEndCallBack(function () { myBaja.setSubscribeElectricmeterEndCallBack(function () {
chkBajaLoaded(); chkBajaLoaded();
}); });
} }
let contractCapacityForchart1, contractCapacityForchart2;
function getContractValueChange(compus) {
let devPath = `Data/${compus}`;
BajaSubscribeElectricmeterByBql({ devicePath: devPath }, (data) => {
let value = data.find(({ point_name }) => point_name === "P")?.value;
if (compus === "Arean1") {
if (data.some(({ point_name }) => point_name === "Capacity")) {
contractCapacityForchart1 = data.find(
({ point_name }) => point_name === "Capacity"
)?.value;
}
chartContractValue(
"contractValueChart",
(value / contractCapacityForchart1).roundDecimal(2) * 100
);
} else {
if (data.some(({ point_name }) => point_name === "Capacity")) {
contractCapacityForchart2 = data.find(
({ point_name }) => point_name === "Capacity"
)?.value;
}
chartContractValue(
"contractValueChart2",
(value / contractCapacityForchart2).roundDecimal(2) * 100
);
}
});
}
//從 baja 取得電表用電量 //從 baja 取得電表用電量
function getElectricBaja() { function getElectricBaja() {
@ -521,7 +569,6 @@
(data) => { (data) => {
const cur = new Date().getMonth(); const cur = new Date().getMonth();
const pre = new Date().getMonth() - 1; const pre = new Date().getMonth() - 1;
console.log(data.data);
let curMonthData = data.data.filter( let curMonthData = data.data.filter(
(x) => x.timestamp.$date.$month === cur (x) => x.timestamp.$date.$month === cur
); );
@ -780,10 +827,6 @@
// 圖表 - 本月即上月用電量 // 圖表 - 本月即上月用電量
function chartEveMonsElec(curMonData, prevMonData) { function chartEveMonsElec(curMonData, prevMonData) {
console.log(
curMonData.map((x) => x.sum),
prevMonData.map((x) => x.sum)
);
let eveMonElecChartCanvas = $("#eveMonElecChart").get(0).getContext("2d"); let eveMonElecChartCanvas = $("#eveMonElecChart").get(0).getContext("2d");
let eveMonElecChartData = { let eveMonElecChartData = {
@ -1058,8 +1101,8 @@
} }
// 圖表 - 取得契約容量 // 圖表 - 取得契約容量
function chartContractValue(value) { function chartContractValue(ele, value) {
var chartDom = document.getElementById("contractValueChart"); var chartDom = document.getElementById(ele);
contractValueChart = echarts.init(chartDom, null, { contractValueChart = echarts.init(chartDom, null, {
renderer: "canvas", renderer: "canvas",
useDirtyRect: false, useDirtyRect: false,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff