卡片修改、電站資訊-即時資訊:今日的圖更改取累積日照前一小時的差額

This commit is contained in:
wanling040@gmail.com 2022-08-04 10:21:57 +08:00
parent d22ca6f12d
commit ed1b3d212c
18 changed files with 216 additions and 214 deletions

View File

@ -356,7 +356,7 @@ namespace SolarPower.Controllers
PowerIrradianceChart powerIrradianceTodayChart = new PowerIrradianceChart(); PowerIrradianceChart powerIrradianceTodayChart = new PowerIrradianceChart();
powerIrradianceTodayChart.Labels = powerIrradianceToday.Select(x => x.Label).ToList(); powerIrradianceTodayChart.Labels = powerIrradianceToday.Select(x => x.Label).ToList();
powerIrradianceTodayChart.PowerDatas = powerIrradianceToday.Select(x => x.PowerData).ToList(); powerIrradianceTodayChart.PowerDatas = powerIrradianceToday.Select(x => x.PowerData).ToList();
powerIrradianceTodayChart.IrradianceDatas = powerIrradianceToday.Select(x => x.IrradianceData).ToList(); powerIrradianceTodayChart.IrradianceDatas = powerIrradianceToday.Select(x => x.IrrDayHourData).ToList();
powerIrradianceTodayChart.TemperatureDatas = powerIrradianceToday.Select(x => x.TemperatureData).ToList(); powerIrradianceTodayChart.TemperatureDatas = powerIrradianceToday.Select(x => x.TemperatureData).ToList();
chartUptoDate.ChartToday = powerIrradianceTodayChart; chartUptoDate.ChartToday = powerIrradianceTodayChart;

View File

@ -95,6 +95,7 @@ namespace SolarPower.Models
public double PowerData { get; set; } public double PowerData { get; set; }
public double IrradianceData { get; set; } public double IrradianceData { get; set; }
public double TemperatureData { get; set; } public double TemperatureData { get; set; }
public double IrrDayHourData { get; set; }
} }
public class PowerIrradianceChart public class PowerIrradianceChart
@ -202,6 +203,7 @@ namespace SolarPower.Models
/// 累計日照 /// 累計日照
/// </summary> /// </summary>
public double IrrDay { get; set; } public double IrrDay { get; set; }
public double IrrDayHour { get; set; }
} }
public class ExceptionEmailInfo public class ExceptionEmailInfo

View File

@ -212,7 +212,7 @@ namespace SolarPower.Repository.Implement
{ {
try try
{ {
var sql_power = @$"SELECT DATE_FORMAT(ps.timestamp,'%H %p') AS Label, ps.KWH AS PowerData, pyr.Irradiance AS IrradianceData, pyr.Temperature AS TemperatureData var sql_power = @$"SELECT DATE_FORMAT(ps.timestamp,'%H %p') AS Label, ps.KWH AS PowerData, pyr.IrrDayHour AS IrrDayHourData, pyr.Temperature AS TemperatureData
FROM power_station_history_hour ps FROM power_station_history_hour ps
LEFT JOIN sensor_history_hour pyr ON ps.PowerStationId = pyr.PowerStationId AND DATE_FORMAT(ps.timestamp, '%Y-%m-%d %H') = DATE_FORMAT(pyr.timestamp, '%Y-%m-%d %H') LEFT JOIN sensor_history_hour pyr ON ps.PowerStationId = pyr.PowerStationId AND DATE_FORMAT(ps.timestamp, '%Y-%m-%d %H') = DATE_FORMAT(pyr.timestamp, '%Y-%m-%d %H')
WHERE ps.PowerStationId = @PowerStationId WHERE ps.PowerStationId = @PowerStationId
@ -681,7 +681,7 @@ namespace SolarPower.Repository.Implement
{ // range 查詢同一天 { // range 查詢同一天
range2 = @$" AND DATE_FORMAT(C.`TIMESTAMP`,'%Y-%m-%d') BETWEEN '{ d1 }' AND '{ d2 }'"; range2 = @$" AND DATE_FORMAT(C.`TIMESTAMP`,'%Y-%m-%d') BETWEEN '{ d1 }' AND '{ d2 }'";
sql = $@" SELECT C.TIMESTAMP, C.KWH AS KWH,C.SOLARHOUR, C.PR, sql = $@" SELECT C.TIMESTAMP, C.KWH AS KWH,C.SOLARHOUR, C.PR,
P.Irradiance, P.Temperature AS Temp , C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR P.Irradiance, P.IrrDayHour, P.Temperature AS Temp , C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR
FROM power_station_history_hour C FROM power_station_history_hour C
LEFT JOIN sensor_history_hour P ON P.`TIMESTAMP` =C.`TIMESTAMP` AND P.PowerStationId = C.PowerStationId LEFT JOIN sensor_history_hour P ON P.`TIMESTAMP` =C.`TIMESTAMP` AND P.PowerStationId = C.PowerStationId
WHERE C.PowerStationId = {post.PowerstationId}{range2} "; WHERE C.PowerStationId = {post.PowerstationId}{range2} ";
@ -696,7 +696,7 @@ namespace SolarPower.Repository.Implement
// LEFT JOIN sensor_history_day P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m-%d') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m-%d') AND P.PowerStationId = C.PowerStationId // LEFT JOIN sensor_history_day P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m-%d') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m-%d') AND P.PowerStationId = C.PowerStationId
// join power_station_history_month m on DATE_FORMAT(P.TIMESTAMP, '%Y-%m') = DATE_FORMAT(m.TIMESTAMP, '%Y-%m') AND m.PowerStationId = C.PowerStationId // join power_station_history_month m on DATE_FORMAT(P.TIMESTAMP, '%Y-%m') = DATE_FORMAT(m.TIMESTAMP, '%Y-%m') AND m.PowerStationId = C.PowerStationId
// WHERE C.PowerStationId = {post.PowerstationId}{range} order by C.TIMESTAMP"; // WHERE C.PowerStationId = {post.PowerstationId}{range} order by C.TIMESTAMP";
sql = $@" SELECT C.TIMESTAMP, C.TODAYKWH AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR sql = $@" SELECT C.TIMESTAMP, C.TODAYKWH AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.IrrDayHour, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR
FROM power_station_history_day C FROM power_station_history_day C
LEFT JOIN sensor_history_day P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m-%d') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m-%d') AND P.PowerStationId = C.PowerStationId LEFT JOIN sensor_history_day P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m-%d') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m-%d') AND P.PowerStationId = C.PowerStationId
WHERE C.PowerStationId = {post.PowerstationId}{range} order by C.TIMESTAMP"; break; WHERE C.PowerStationId = {post.PowerstationId}{range} order by C.TIMESTAMP"; break;
@ -704,16 +704,16 @@ namespace SolarPower.Repository.Implement
} }
break; break;
case 1: // day 沒有 dateRange - 月 case 1: // day 沒有 dateRange - 月
sql = $@" SELECT C.TIMESTAMP, {kwh} AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR sql = $@" SELECT C.TIMESTAMP, {kwh} AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.IrrDayHour, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR
FROM {usedb} C FROM {usedb} C
LEFT JOIN {pyrdb} P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m-%d') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m-%d') AND P.PowerStationId = C.PowerStationId LEFT JOIN {pyrdb} P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m-%d') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m-%d') AND P.PowerStationId = C.PowerStationId
WHERE C.PowerStationId = {post.PowerstationId}{range} order by C.TIMESTAMP"; break; WHERE C.PowerStationId = {post.PowerstationId}{range} order by C.TIMESTAMP"; break;
case 2: // month 單月 case 2: // month 單月
//sql = $@" SELECT C.TIMESTAMP, C.MONTHKWH AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR //sql = $@" SELECT C.TIMESTAMP, C.MONTHKWH AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.IrrDayHour, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR
// FROM power_station_history_month C // FROM power_station_history_month C
// LEFT JOIN sensor_history_month P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m') AND P.PowerStationId = C.PowerStationId // LEFT JOIN sensor_history_month P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m') AND P.PowerStationId = C.PowerStationId
// WHERE C.PowerStationId = {post.PowerstationId}{range}"; // WHERE C.PowerStationId = {post.PowerstationId}{range}";
sql = $@" SELECT C.TIMESTAMP, C.MONTHKWH AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR sql = $@" SELECT C.TIMESTAMP, C.MONTHKWH AS KWH, C.SOLARHOUR, C.PR, P.Irradiance, P.IrrDayHour, P.Temperature AS Temp ,C.KWHKWP, P.IrrDay, 0 AS DiffSOLARHOUR, C.PR avgPR
FROM power_station_history_month C FROM power_station_history_month C
LEFT JOIN sensor_history_month P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m') AND P.PowerStationId = C.PowerStationId LEFT JOIN sensor_history_month P ON DATE_FORMAT(P.TIMESTAMP, '%Y-%m') = DATE_FORMAT(C.TIMESTAMP, '%Y-%m') AND P.PowerStationId = C.PowerStationId
WHERE C.PowerStationId = {post.PowerstationId}{range}"; WHERE C.PowerStationId = {post.PowerstationId}{range}";

View File

@ -11,7 +11,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row flex-nowrap wrapper"> <div class="row flex-nowrap wrapper">
<div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto"> <div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto">
<div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 90%"> <div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 300px">
<div class="border bg-light rounded-top"> <div class="border bg-light rounded-top">
<div class="form-group p-2 m-0 rounded-top"> <div class="form-group p-2 m-0 rounded-top">
@ -482,8 +482,8 @@
'<input type="checkbox" class="" name="selectedInverterLayer2[]" >' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" >' +
'</div>' + '</div>' +
'<a href="javascript:;" class="" data-toggle="collapse" data-target="#cp-' + index1 + '-' + index2 + ' > .card-body" aria-expanded="true">' + '<a href="javascript:;" class="" data-toggle="collapse" data-target="#cp-' + index1 + '-' + index2 + ' > .card-body" aria-expanded="true">' +
'<span class="collapsed-hidden"><h5 class="font-weight-bold mb-0">' + powerStationkey + '<i class="fal fa-chevron-down fs-xl ml-2"></i></h5></span>' + '<span class="collapsed-hidden"><h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + powerStationkey + '<i class="fal fa-chevron-down fs-xl ml-2"></i></h5></span>' +
'<span class="collapsed-reveal"><h5 class="font-weight-bold mb-0">' + powerStationkey + '<i class="fal fa-chevron-up fs-xl ml-2"></i></h5></span>' + '<span class="collapsed-reveal"><h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + powerStationkey + '<i class="fal fa-chevron-up fs-xl ml-2"></i></h5></span>' +
'</a>' + '</a>' +
'</div>' + '</div>' +
'<div class="card-body p-0 collapse show">' + '<div class="card-body p-0 collapse show">' +

View File

@ -13,12 +13,12 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row flex-nowrap wrapper"> <div class="row flex-nowrap wrapper">
<div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto"> <div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto">
<div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 90%"> <div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width:300px">
<div class="border bg-light rounded-top"> <div class="border bg-light rounded-top">
<div class="form-group p-2 m-0 rounded-top"> <div class="form-group p-2 m-0 rounded-top" style="width:300px">
<input type="text" class="form-control form-control-lg shadow-inset-2 m-0" id="js_list_accordion_filter" placeholder=""> <input type="text" class="form-control form-control-lg shadow-inset-2 m-0" id="js_list_accordion_filter" placeholder="">
</div> </div>
<div id="js_list_accordion" class="accordion accordion-hover accordion-clean js-list-filter"> <div id="js_list_accordion" class="accordion accordion-hover accordion-clean js-list-filter" style="width:300px">
</div> </div>
<span class="filter-message js-filter-message"></span> <span class="filter-message js-filter-message"></span>
</div> </div>
@ -75,36 +75,36 @@
<div class="frame-wrap"> <div class="frame-wrap">
<div class="row mb-5"> <div class="row mb-5">
<div class="card-group"> <div class="card-group">
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4>
<div class="ml-auto">kW h</div> <div class="ml-auto">kW h</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p id="today_kwh_label">當日發電量</p> <p id="today_kwh_label">今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwh">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwh">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>總發電量</p> <p>總</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwh">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwh">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
@if (ViewBag.myUser.Role.Auths.Contains("ShowMoney")) @if (ViewBag.myUser.Role.Auths.Contains("ShowMoney"))
{ {
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-dollar-sign mr-1"></span> <span id="money-card-title">發電金額</span></h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-dollar-sign mr-1"></span> <span id="money-card-title">發電金額</span></h4>
<div class="ml-auto">NTD</div> <div class="ml-auto">NTD</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p id="today_money_label">當日發電金額</p> <p id="today_money_label">發電金額</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_money">0</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_money">0</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p id="money-card-subtitle-total">總發金額</p> <p id="money-card-subtitle-total">總發金額</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_money">0</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_money">0</span></p>
</div> </div>
</div> </div>
@ -112,67 +112,67 @@
} }
else else
{ {
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 日照度</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 累積日照量</h4>
<div class="ml-auto">W/m<sup>2</sup></div> <div class="ml-auto">Wh/m<sup>2</sup></div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p id="today_irradiance_label">當日日照度</p> <p id="today_irradiance_label">今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>平均日照度(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_irradiance">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
} }
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4>
<div class="ml-auto">%</div> <div class="ml-auto">%</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p id="today_PR_label">當日PR值</p> <p id="today_PR_label">今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>平均 PR 值(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_PR">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
<div class="ml-auto">hr</div> <div class="ml-auto">kWh/kWp</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p id="today_kwhkwp_label">當日日均發電度數 </p> <p id="today_kwhkwp_label">今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>平均日均發電度數(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwhkwp">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-cow mr-1"></span> 減碳量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-cow mr-1"></span> 減碳量</h4>
<div class="ml-auto">kG</div> <div class="ml-auto">kG</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p id="today_carbon_label">當日減碳量</p> <p id="today_carbon_label">今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>總減碳量</p> <p>總</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p>
</div> </div>
</div> </div>
@ -338,7 +338,7 @@
$("#today_kwhkwp_label").html(timename + "日均發電度數"); $("#today_kwhkwp_label").html(timename + "日均發電度數");
$("#today_PR_label").html(timename + "PR值"); $("#today_PR_label").html(timename + "PR值");
$("#today_carbon_label").html(timename + "減碳量"); $("#today_carbon_label").html(timename + "減碳量");
$("#today_irradiance_label").html(timename + "日照度"); $("#today_irradiance_label").html(timename + "累積日照量");
if (type == 1) { if (type == 1) {
timerange = $('#DateGettext').val(); timerange = $('#DateGettext').val();
@ -556,7 +556,7 @@
data: listtemperature data: listtemperature
},{ },{
type: 'line', type: 'line',
label: '日照度(W/㎡)', label: '累積日照度(Wh/㎡)',
borderColor: 'rgb(190, 45, 45)', borderColor: 'rgb(190, 45, 45)',
pointBackgroundColor: 'rgb(190, 45, 45)', pointBackgroundColor: 'rgb(190, 45, 45)',
pointBorderColor: 'rgb(190, 45, 45)', pointBorderColor: 'rgb(190, 45, 45)',
@ -576,7 +576,7 @@
options: { options: {
title: { title: {
display: true, display: true,
text: '發電量及日照度' text: '發電量及累積日照量'
}, },
legend: { legend: {
display: true, display: true,
@ -701,7 +701,7 @@
'<div class="">' + '<div class="">' +
'<input type="checkbox" class="mr-2" name="selectedPowerStationLayer2[]" value="' + powerStation.id + '" valueName ="' + powerStation.name + '">' + '<input type="checkbox" class="mr-2" name="selectedPowerStationLayer2[]" value="' + powerStation.id + '" valueName ="' + powerStation.name + '">' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold">' + powerStation.name + '</h5>' + '<h5 class="font-weight-bold" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + powerStation.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
}); });

View File

@ -11,7 +11,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row flex-nowrap wrapper"> <div class="row flex-nowrap wrapper">
<div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto"> <div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto">
<div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 90%"> <div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width:300px">
<div class="border bg-light rounded-top"> <div class="border bg-light rounded-top">
<div class="form-group p-2 m-0 rounded-top"> <div class="form-group p-2 m-0 rounded-top">
@ -514,8 +514,8 @@
'<input type="checkbox" class="" name="selectedDeviceLayer2[]" >' + '<input type="checkbox" class="" name="selectedDeviceLayer2[]" >' +
'</div>' + '</div>' +
'<a href="javascript:;" class="" data-toggle="collapse" data-target="#cp-' + index1 + '-' + index2 + ' > .card-body" aria-expanded="true">' + '<a href="javascript:;" class="" data-toggle="collapse" data-target="#cp-' + index1 + '-' + index2 + ' > .card-body" aria-expanded="true">' +
'<span class="collapsed-hidden"><h5 class="font-weight-bold mb-0">' + powerStationkey + '<i class="fal fa-chevron-down fs-xl ml-2"></i></h5></span>' + '<span class="collapsed-hidden"><h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + powerStationkey + '<i class="fal fa-chevron-down fs-xl ml-2"></i></h5></span>' +
'<span class="collapsed-reveal"><h5 class="font-weight-bold mb-0">' + powerStationkey + '<i class="fal fa-chevron-up fs-xl ml-2"></i></h5></span>' + '<span class="collapsed-reveal"><h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + powerStationkey + '<i class="fal fa-chevron-up fs-xl ml-2"></i></h5></span>' +
'</a>' + '</a>' +
'</div>' + '</div>' +
'<div class="card-body p-0 collapse show">' + '<div class="card-body p-0 collapse show">' +

View File

@ -13,7 +13,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row flex-nowrap wrapper"> <div class="row flex-nowrap wrapper">
<div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto"> <div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto">
<div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 90%"> <div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 300px">
<div class="border bg-light rounded-top"> <div class="border bg-light rounded-top">
<div class="form-group p-2 m-0 rounded-top"> <div class="form-group p-2 m-0 rounded-top">
@ -421,7 +421,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }
@ -431,7 +431,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }

View File

@ -634,12 +634,12 @@
if ($.inArray(parseInt(val.cityId), ids) > -1) { if ($.inArray(parseInt(val.cityId), ids) > -1) {
$('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > "); $('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > ");
$('#station_' + val.id).append("<input type='checkbox' class='custom-control-input'name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' checked>"); $('#station_' + val.id).append("<input type='checkbox' class='custom-control-input'name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' checked>");
$('#station_' + val.id).append("<label class='custom-control-label' style='white-space:nowrap;' for='check_" + val.id + "'>" + val.name + "</label>"); $('#station_' + val.id).append("<label class='custom-control-label' style=' text-overflow: ellipsis; -webkit-line-clamp: 3;white-space: normal;' for='check_" + val.id + "'>" + val.name + "</label>");
powerids.push(String(val.id)); powerids.push(String(val.id));
} else { } else {
$('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > "); $('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > ");
$('#station_' + val.id).append("<input type='checkbox' class='custom-control-input'name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' >"); $('#station_' + val.id).append("<input type='checkbox' class='custom-control-input'name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' >");
$('#station_' + val.id).append("<label class='custom-control-label' style='white-space:nowrap;' for='check_" + val.id + "'>" + val.name + "</label>"); $('#station_' + val.id).append("<label class='custom-control-label' style=' text-overflow: ellipsis; -webkit-line-clamp: 3;white-space: normal;' for='check_" + val.id + "'>" + val.name + "</label>");
if ($.inArray(parseInt(val.id), powerids) > -1) { if ($.inArray(parseInt(val.id), powerids) > -1) {
powerids.splice($.inArray(parseInt(val.id), powerids), 1); powerids.splice($.inArray(parseInt(val.id), powerids), 1);

View File

@ -18,89 +18,89 @@
@*<div class="row mb-5">*@ @*<div class="row mb-5">*@
<div class="row mb-5" style="display: flex; justify-content: center;"> <div class="row mb-5" style="display: flex; justify-content: center;">
<div class="card-group"> <div class="card-group">
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4>
<div class="ml-auto">kW h</div> <div class="ml-auto">kW h</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日總發電量</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwh">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwh">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>累積發電量</p> <p>總計</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwh">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwh">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 日照度</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 累積日照量</h4>
<div class="ml-auto">W/m<sup>2</sup></div> <div class="ml-auto">Wh/m<sup>2</sup></div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日累積日照量</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日均累積日照量(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_irradiance">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4>
<div class="ml-auto">%</div> <div class="ml-auto">%</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日 PR 值</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>平均 PR 值(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_PR">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
<div class="ml-auto">hr</div> <div class="ml-auto">kWh/kWp</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日均發電度數(kwh/kwp)</p> <p>日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日均發電度數 (30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-cow mr-1"></span> 減碳量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-cow mr-1"></span> 減碳量</h4>
<div class="ml-auto">kG</div> <div class="ml-auto">kG</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日減碳量</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>總減碳量</p> <p>總</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
@if (ViewBag.myUser.Role.Auths.Contains("ShowMoney")) @if (ViewBag.myUser.Role.Auths.Contains("ShowMoney"))
{ {
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 自建躉售</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 自建躉售</h4>
<div class="ml-auto">NTD</div> <div class="ml-auto">NTD</div>
@ -112,7 +112,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 租建躉售</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 租建躉售</h4>
<div class="ml-auto">NTD</div> <div class="ml-auto">NTD</div>
@ -124,7 +124,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 自發自用</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 自發自用</h4>
<div class="ml-auto">NTD</div> <div class="ml-auto">NTD</div>
@ -389,7 +389,7 @@
'<div class="row">' + '<div class="row">' +
'<div class="col-12">' + '<div class="col-12">' +
'<div>今日發電量(kW h)' + item.today_kWh.toFixed(2) + '</div>'+ '<div>今日發電量(kW h)' + item.today_kWh.toFixed(2) + '</div>'+
'<div>今日日照度(W/m<sup>2</sup>)' + item.today_irradiance + '</div>'+ '<div>今日累積日照量(Wh/m<sup>2</sup>)' + item.today_irradiance + '</div>'+
'<div>日均發電度數(kwh/kwp)' + item.today_kwhkwp.toFixed(2) + '</div>' + '<div>日均發電度數(kwh/kwp)' + item.today_kwhkwp.toFixed(2) + '</div>' +
'<div>裝置容量(kWp)' + item.generatingCapacity.toFixed(3) + '</div>' + '<div>裝置容量(kWp)' + item.generatingCapacity.toFixed(3) + '</div>' +
'<div>掛錶日期:' + item.electricityMeterAt + '</div>' + '<div>掛錶日期:' + item.electricityMeterAt + '</div>' +

View File

@ -13,7 +13,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row flex-nowrap wrapper"> <div class="row flex-nowrap wrapper">
<div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto"> <div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto">
<div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 90%"> <div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width:300px">
<div class="border bg-light rounded-top"> <div class="border bg-light rounded-top">
<div class="form-group p-2 m-0 rounded-top"> <div class="form-group p-2 m-0 rounded-top">
@ -518,7 +518,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }
@ -528,7 +528,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }

View File

@ -577,12 +577,12 @@
if ($.inArray(parseInt(val.cityId), ids) > -1) { if ($.inArray(parseInt(val.cityId), ids) > -1) {
$('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > "); $('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > ");
$('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' checked>"); $('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' checked>");
$('#station_' + val.id).append("<label class='custom-control-label' style='white-space:nowrap;' for='check_" + val.id + "'>" + val.name + "</label>"); $('#station_' + val.id).append("<label class='custom-control-label' style=' text-overflow: ellipsis; -webkit-line-clamp: 3;white-space: normal;' for='check_" + val.id + "'>" + val.name + "</label>");
powerids.push(String(val.id)); powerids.push(String(val.id));
} else { } else {
$('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > "); $('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > ");
$('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' >"); $('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' >");
$('#station_' + val.id).append("<label class='custom-control-label' style='white-space:nowrap;' for='check_" + val.id + "'>" + val.name + "</label>"); $('#station_' + val.id).append("<label class='custom-control-label' style=' text-overflow: ellipsis; -webkit-line-clamp: 3;white-space: normal;' for='check_" + val.id + "'>" + val.name + "</label>");
if ($.inArray(parseInt(val.id), powerids) > -1) { if ($.inArray(parseInt(val.id), powerids) > -1) {
powerids.splice($.inArray(parseInt(val.id), powerids), 1); powerids.splice($.inArray(parseInt(val.id), powerids), 1);

View File

@ -663,12 +663,12 @@
if ($.inArray(parseInt(val.cityId), ids) > -1) { if ($.inArray(parseInt(val.cityId), ids) > -1) {
$('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > "); $('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > ");
$('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' checked>"); $('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' checked>");
$('#station_' + val.id).append("<label class='custom-control-label' style='white-space:nowrap;' for='check_" + val.id + "'>" + val.name + "</label>"); $('#station_' + val.id).append("<label class='custom-control-label' style=' text-overflow: ellipsis; -webkit-line-clamp: 3;white-space: normal;' for='check_" + val.id + "'>" + val.name + "</label>");
powerids.push(String(val.id)); powerids.push(String(val.id));
} else { } else {
$('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > "); $('#CheckPowerStation').append("<div class='col-2 mb-2 custom-control custom-checkbox custom-control-inline' style='min-width:180px;' id='station_" + val.id + "' > ");
$('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' >"); $('#station_' + val.id).append("<input type='checkbox' class='custom-control-input' name='check_power_station[]' id='check_" + val.id + "' value='" + val.id + "' >");
$('#station_' + val.id).append("<label class='custom-control-label' style='white-space:nowrap;' for='check_" + val.id + "'>" + val.name + "</label>"); $('#station_' + val.id).append("<label class='custom-control-label' style=' text-overflow: ellipsis; -webkit-line-clamp: 3;white-space: normal;' for='check_" + val.id + "'>" + val.name + "</label>");
if ($.inArray(parseInt(val.id), powerids) > -1) { if ($.inArray(parseInt(val.id), powerids) > -1) {
powerids.splice($.inArray(parseInt(val.id), powerids), 1); powerids.splice($.inArray(parseInt(val.id), powerids), 1);

View File

@ -13,7 +13,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row flex-nowrap wrapper"> <div class="row flex-nowrap wrapper">
<div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto"> <div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto">
<div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 90%"> <div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 300px">
<div class="border bg-light rounded-top"> <div class="border bg-light rounded-top">
<div class="form-group p-2 m-0 rounded-top"> <div class="form-group p-2 m-0 rounded-top">
@ -436,7 +436,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }
@ -446,7 +446,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }

View File

@ -76,7 +76,7 @@
</div> </div>
<div class="row mb-5 px-3"> <div class="row mb-5 px-3">
<div class="card-group"> <div class="card-group">
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4>
<div class="ml-auto">kW h</div> <div class="ml-auto">kW h</div>
@ -92,66 +92,66 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 日照度</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 累積日照量</h4>
<div class="ml-auto">W/㎡</div> <div class="ml-auto">Wh/㎡</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日日照量</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日平均累積日照度(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_irradiance">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4>
<div class="ml-auto">%</div> <div class="ml-auto">%</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日 PR 值</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>平均 PR 值(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_PR">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
<div class="ml-auto">hr</div> <div class="ml-auto">kWh/kWp</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日均發電度數(kwh/kwp)</p> <p>日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日均發電度數(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 減碳量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 減碳量</h4>
<div class="ml-auto">kG</div> <div class="ml-auto">kG</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日減碳量</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>累積減碳量</p> <p>總計</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p>
</div> </div>
</div> </div>
@ -240,7 +240,7 @@
<th>平均日照</th> <th>平均日照</th>
@if (ViewBag.myUser.Role.Auths.Contains("ShowMoney")) @if (ViewBag.myUser.Role.Auths.Contains("ShowMoney"))
{ {
<th>今日收入</th> <th>發電金額</th>
} }
<th>掛表日期</th> <th>掛表日期</th>
<th>狀況</th> <th>狀況</th>
@ -284,7 +284,7 @@
<th>平均日照</th> <th>平均日照</th>
@if (ViewBag.myUser.Role.Auths.Contains("ShowMoney")) @if (ViewBag.myUser.Role.Auths.Contains("ShowMoney"))
{ {
<th>今日收入</th> <th>發電金額</th>
} }
<th>掛表日期</th> <th>掛表日期</th>
<th>狀況</th> <th>狀況</th>

View File

@ -311,16 +311,16 @@
if (stationOverview.solarType == 0) { if (stationOverview.solarType == 0) {
$("#money-card-title").html("發電金額"); $("#money-card-title").html("發電金額");
$("#money-card-subtitle-total").html("總發電金額"); $("#money-card-subtitle-total").html("總");
$("#money-card-subtitle-avg").html("今日發電金額"); $("#money-card-subtitle-avg").html("今日");
} else if (stationOverview.solarType == 1) { } else if (stationOverview.solarType == 1) {
$("#money-card-title").html("租金收入"); $("#money-card-title").html("租金收入");
$("#money-card-subtitle-total").html("總租金收入"); $("#money-card-subtitle-total").html("總");
$("#money-card-subtitle-avg").html("今日租金收入"); $("#money-card-subtitle-avg").html("今日");
} else { } else {
$("#money-card-title").html("省電費用"); $("#money-card-title").html("省電費用");
$("#money-card-subtitle-total").html("總省電費用"); $("#money-card-subtitle-total").html("總");
$("#money-card-subtitle-avg").html("今日省電費用"); $("#money-card-subtitle-avg").html("今日");
} }
hideLoading(); hideLoading();
}, 'json'); }, 'json');
@ -385,7 +385,7 @@
data: chartToday.powerDatas data: chartToday.powerDatas
}, { }, {
type: 'line', type: 'line',
label: '日照度', label: '累積日照量',
yAxisID: 'B', yAxisID: 'B',
borderColor: 'rgb(190, 45, 45)', borderColor: 'rgb(190, 45, 45)',
pointBackgroundColor: 'rgb(190, 45, 45)', pointBackgroundColor: 'rgb(190, 45, 45)',
@ -443,7 +443,7 @@
}, },
scaleLabel: { scaleLabel: {
display: true, display: true,
labelString: 'W/㎡' labelString: 'Wh/㎡'
} }
}, { }, {
id: 'C', id: 'C',
@ -477,7 +477,7 @@
data: chart7day.powerDatas data: chart7day.powerDatas
}, { }, {
type: 'line', type: 'line',
label: '日照度', label: '累積日照量',
yAxisID: 'B', yAxisID: 'B',
borderColor: 'rgb(190, 45, 45)', borderColor: 'rgb(190, 45, 45)',
pointBackgroundColor: 'rgb(190, 45, 45)', pointBackgroundColor: 'rgb(190, 45, 45)',
@ -535,7 +535,7 @@
}, },
scaleLabel: { scaleLabel: {
display: true, display: true,
labelString: 'W/㎡' labelString: 'Wh/㎡'
} }
}, { }, {
id: 'C', id: 'C',
@ -569,7 +569,7 @@
data: chartMonth.powerDatas data: chartMonth.powerDatas
}, { }, {
type: 'line', type: 'line',
label: '日照度', label: '累積日照量',
yAxisID: 'B', yAxisID: 'B',
borderColor: 'rgb(190, 45, 45)', borderColor: 'rgb(190, 45, 45)',
pointBackgroundColor: 'rgb(190, 45, 45)', pointBackgroundColor: 'rgb(190, 45, 45)',
@ -627,7 +627,7 @@
}, },
scaleLabel: { scaleLabel: {
display: true, display: true,
labelString: 'W/㎡' labelString: 'Wh/㎡'
} }
}, { }, {
id: 'C', id: 'C',
@ -661,7 +661,7 @@
data: chartYear.powerDatas data: chartYear.powerDatas
}, { }, {
type: 'line', type: 'line',
label: '日照度', label: '累積日照量',
yAxisID: 'B', yAxisID: 'B',
borderColor: 'rgb(190, 45, 45)', borderColor: 'rgb(190, 45, 45)',
pointBackgroundColor: 'rgb(190, 45, 45)', pointBackgroundColor: 'rgb(190, 45, 45)',
@ -719,7 +719,7 @@
}, },
scaleLabel: { scaleLabel: {
display: true, display: true,
labelString: 'W/㎡' labelString: 'Wh/㎡'
} }
}, { }, {
id: 'C', id: 'C',
@ -2692,7 +2692,7 @@
'<td>' + val.timestamp + '</td>' + '<td>' + val.timestamp + '</td>' +
'<td>' + (toThousands(val.kwh.toFixed(2))) + '</td>' + '<td>' + (toThousands(val.kwh.toFixed(2))) + '</td>' +
'<td>' + (toThousands(val.kwhkwp.toFixed(2))) + '</td>' + '<td>' + (toThousands(val.kwhkwp.toFixed(2))) + '</td>' +
'<td>' + (toThousands(val.irrDay.toFixed(2))) + '</td>' + '<td>' + (toThousands(val.irrDayHour.toFixed(2))) + '</td>' + //irrDay
//'<td>' + val.irradiance.toFixed(2) + '</td>' + //'<td>' + val.irradiance.toFixed(2) + '</td>' +
'<td>' + (toThousands(val.pr.toFixed(2))) + '</td>' + '<td>' + (toThousands(val.pr.toFixed(2))) + '</td>' +
'<td>' + (toThousands(val.temp.toFixed(2))) + '</td>' + '<td>' + (toThousands(val.temp.toFixed(2))) + '</td>' +
@ -2763,7 +2763,7 @@
animation: false animation: false
}, },
title: { title: {
text: '發電量及日照度' text: '發電量及累積日照量'
}, },
xAxis: { xAxis: {
categories: listmonth, categories: listmonth,
@ -2777,7 +2777,7 @@
showEmpty: false showEmpty: false
}, { }, {
title: { title: {
text: "W/㎡" text: "Wh/㎡"
}, },
id: "B", id: "B",
opposite: true, opposite: true,
@ -2814,7 +2814,7 @@
zIndex: 4 zIndex: 4
}, { }, {
type: 'spline', type: 'spline',
name: "日照(W/㎡)", name: "累積日照(Wh/㎡)",
data: listirradiance, data: listirradiance,
yAxis: "B", yAxis: "B",
color: "rgb(190, 45, 45)", color: "rgb(190, 45, 45)",

View File

@ -61,7 +61,7 @@
<th>時間</th> <th>時間</th>
<th>發電量(kWh)</th> <th>發電量(kWh)</th>
<th>日均發電度數</th> <th>日均發電度數</th>
<th>累積日照量(W/m2)</th> <th>累積日照量(Wh/m2)</th>
<th>PR(%)</th> <th>PR(%)</th>
<th>溫度(℃)</th> <th>溫度(℃)</th>
</tr> </tr>
@ -85,7 +85,7 @@
<th>時間</th> <th>時間</th>
<th>發電量(kWh)</th> <th>發電量(kWh)</th>
<th>日均發電度數</th> <th>日均發電度數</th>
<th>累積日照量(W/m2)</th> <th>累積日照量(Wh/m2)</th>
@*<th>日照量(W/m2)</th>*@ @*<th>日照量(W/m2)</th>*@
<th>PR(%)</th> <th>PR(%)</th>
<th>溫度(℃)</th> <th>溫度(℃)</th>

View File

@ -1,22 +1,22 @@
<div class="row mb-5" style="display: flex; justify-content: center;"> <div class="row mb-5" style="display: flex; justify-content: center;">
<div class="card-group"> <div class="card-group">
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> 發電量</h4>
<div class="ml-auto">kW h</div> <div class="ml-auto">kW h</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日發電量</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwh">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwh">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>累積發電量</p> <p>總計</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwh">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_kwh">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card money-card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-dollar-sign mr-1"></span> <span id="money-card-title">發電金額</span></h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-dollar-sign mr-1"></span> <span id="money-card-title">發電金額</span></h4>
<div class="ml-auto">NTD</div> <div class="ml-auto">NTD</div>
@ -32,66 +32,66 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col card irradiance-card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 日照度</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span> 累積日照量</h4>
<div class="ml-auto">W/m<sup>2</sup></div> <div class="ml-auto">Wh/m<sup>2</sup></div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>即時日照度</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_irradiance">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>平均日照度(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_irradiance">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_irradiance">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-bolt mr-1"></span> PR值</h4>
<div class="ml-auto">%</div> <div class="ml-auto">%</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日 PR 值</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_PR">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>平均 PR 值(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_PR">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_PR">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-sun mr-1"></span>日均發電度數</h4>
<div class="ml-auto">hr</div> <div class="ml-auto">kWh/kWp</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日均發電度數(kwh/kwp)</p> <p>日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_kwhkwp">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>日均發電度數(30天)</p> <p>30天平均</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="avg_kwhkwp">0.00</span></p>
</div> </div>
</div> </div>
</div> </div>
<div class="col card px-0 mx-2 my-2" style="min-width: 16rem; max-width: 16rem;"> <div class="col card px-0 mx-2 my-2" style="min-width: 14rem; max-width: 14rem;">
<div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap"> <div class="card-header bg-fusion-25 py-2 pr-3 d-flex align-items-center flex-wrap">
<h4 class="mb-0 font-weight-bold"><span class="fal fa-cow mr-1"></span> 減碳量</h4> <h4 class="mb-0 font-weight-bold"><span class="fal fa-cow mr-1"></span> 減碳量</h4>
<div class="ml-auto">kG</div> <div class="ml-auto">kG</div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>今日減碳量</p> <p>今日</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="today_carbon">0.00</span></p>
</div> </div>
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<p>累積減碳量</p> <p>總計</p>
<p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p> <p><span class="color-info-700 fs-xl font-weight-bold" id="total_carbon">0.00</span></p>
</div> </div>
</div> </div>

View File

@ -13,7 +13,7 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row flex-nowrap wrapper"> <div class="row flex-nowrap wrapper">
<div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto"> <div class="col-auto pr-0 collapse border-right sidebar vh-100 overflow-auto">
<div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 90%"> <div class="list-group border-0 card text-center text-md-left" id="sidebar" style="width: 300px">
<div class="border bg-light rounded-top"> <div class="border bg-light rounded-top">
<div class="form-group p-2 m-0 rounded-top"> <div class="form-group p-2 m-0 rounded-top">
@ -666,7 +666,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '" checked>' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }
@ -676,7 +676,7 @@
'<div class="mr-2">' + '<div class="mr-2">' +
'<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' + '<input type="checkbox" class="" name="selectedInverterLayer2[]" value="' + inverter.id + '" valueName ="' + inverter.name + '">' +
'</div>' + '</div>' +
'<h5 class="font-weight-bold mb-0">' + inverter.name + '</h5>' + '<h5 class="font-weight-bold mb-0" style="overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 3; -webkit-box-orient: vertical;white-space: normal;">' + inverter.name + '</h5>' +
'</div>' + '</div>' +
'</li>'; '</li>';
} }
@ -824,7 +824,7 @@
}) })
str += "<th>小時<br />發電量<br />(kWh)</th>"; str += "<th>小時<br />發電量<br />(kWh)</th>";
str += "<th>小時<br />發電量<br />百分比<br />(%)</th>"; str += "<th>小時<br />發電量<br />百分比<br />(%)</th>";
str += "<th>累積<br />日照量<br />(W/㎡)</th>"; str += "<th>累積<br />日照量<br />(Wh/㎡)</th>";
str += "<th>小時<br />平均<br />模組<br />溫度<br />(°C)</th>"; str += "<th>小時<br />平均<br />模組<br />溫度<br />(°C)</th>";
if (rel.data.showMoney == 1) { if (rel.data.showMoney == 1) {
str += "<th>小時<br />售電<br />金額<br />(NTD)</th>"; str += "<th>小時<br />售電<br />金額<br />(NTD)</th>";
@ -842,7 +842,7 @@
str += "<th>日照小時(hr)</th>"; str += "<th>日照小時(hr)</th>";
str += "<th>日均發電度數</th>"; str += "<th>日均發電度數</th>";
str += "<th>PR%</th>"; str += "<th>PR%</th>";
str += "<th>累積<br />日照量<br />(W/㎡)</th>"; str += "<th>累積<br />日照量<br />(Wh/㎡)</th>";
str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>"; str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>";
if (rel.data.showMoney == 1) { if (rel.data.showMoney == 1) {
str += "<th>日<br />售電金額<br />(NTD)</th>"; str += "<th>日<br />售電金額<br />(NTD)</th>";
@ -860,7 +860,7 @@
str += "<th>日照小時(hr)</th>"; str += "<th>日照小時(hr)</th>";
str += "<th>日均發電度數</th>"; str += "<th>日均發電度數</th>";
str += "<th>PR%</th>"; str += "<th>PR%</th>";
str += "<th>累積<br />日照量<br />(W/㎡)</th>"; str += "<th>累積<br />日照量<br />(Wh/㎡)</th>";
str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>"; str += "<th>日<br />平均<br />模組溫度<br />(°C)</th>";
if (rel.data.showMoney == 1) { if (rel.data.showMoney == 1) {
str += "<th>日<br />售電金額<br />(NTD)</th>"; str += "<th>日<br />售電金額<br />(NTD)</th>";
@ -895,7 +895,7 @@
str += "<th>日照小時(hr)</th>"; str += "<th>日照小時(hr)</th>";
str += "<th>日均發電度數</th>"; str += "<th>日均發電度數</th>";
str += "<th>PR%</th>"; str += "<th>PR%</th>";
str += "<th>累積<br />日照量<br />(W/㎡)</th>"; str += "<th>累積<br />日照量<br />(Wh/㎡)</th>";
str += "<th>月<br />平均<br />模組溫度<br />(°C)</th>"; str += "<th>月<br />平均<br />模組溫度<br />(°C)</th>";
if (rel.data.showMoney == 1) { if (rel.data.showMoney == 1) {
str += "<th>月<br />售電金額<br />(NTD)</th>"; str += "<th>月<br />售電金額<br />(NTD)</th>";