459 lines
27 KiB
Plaintext
459 lines
27 KiB
Plaintext
@{
|
|
ViewData["MainNum"] = "3";
|
|
ViewData["SubNum"] = "3";
|
|
ViewData["Title"] = "逆變器交叉分析";
|
|
}
|
|
|
|
<div class="container-fluid">
|
|
<div class="row flex-nowrap wrapper">
|
|
<div class="col-md-2 col-1 pl-0 pr-0 collapse width border-right sidebar vh-100">
|
|
|
|
<div class="list-group border-0 card text-center text-md-left" id="sidebar">
|
|
|
|
<div class="border bg-light rounded-top">
|
|
<div class="form-group p-2 m-0 rounded-top">
|
|
<input type="text" class="form-control form-control-lg shadow-inset-2 m-0" id="js_list_accordion_filter" placeholder="">
|
|
</div>
|
|
<div id="js_list_accordion" class="accordion accordion-hover accordion-clean js-list-filter">
|
|
<div class="card border-top-left-radius-0 border-top-right-radius-0">
|
|
<div class="card-header">
|
|
<a href="javascript:void(0);" class="card-title collapsed" data-toggle="collapse" data-target="#js_list_accordion-a" aria-expanded="false" data-filter-tags="settings">
|
|
<i class="fal fa-globe width-2 fs-xl"></i>
|
|
新北市
|
|
<span class="ml-auto">
|
|
<span class="collapsed-reveal">
|
|
<i class="fal fa-chevron-up fs-xl"></i>
|
|
</span>
|
|
<span class="collapsed-hidden">
|
|
<i class="fal fa-chevron-down fs-xl"></i>
|
|
</span>
|
|
</span>
|
|
</a>
|
|
</div>
|
|
<div id="js_list_accordion-a" class="collapse" data-parent="#js_list_accordion" style="">
|
|
<div class="card-body">
|
|
<ul class="list-group list-group-flush">
|
|
<li class="list-group-item">
|
|
<div class="d-flex justify-content-between">
|
|
<h4 class="font-weight-bold"><i class="fal fa-charging-station"></i> 新竹交大站</h4>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</div>
|
|
<ul class="list-group list-group-flush">
|
|
<li class="list-group-item pr-0 d-flex justify-content-between">
|
|
<a href="#"><i class="fal fa-tachometer-alt-slow"></i> 電錶 R001</a>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item pr-0 d-flex justify-content-between">
|
|
<a href="#"><i class="fal fa-sun"></i> 日照計 R002</a>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item pr-0 d-flex justify-content-between">
|
|
<a href="#"><i class="fal fa-thermometer-half"></i> 環境溫度計 R003</a>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item pr-0 d-flex justify-content-between">
|
|
<a href="#"><i class="fal fa-wind"></i> 風速計 R002</a>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item pr-0 d-flex justify-content-between">
|
|
<a href="#"><i class="fal fa-sun-dust"></i> 落塵計 R002</a>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item pr-0 d-flex justify-content-between">
|
|
<a href="#"><i class="fal fa-tint"></i> 濕度計 R002</a>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item pr-0 d-flex justify-content-between">
|
|
<a href="#"><i class="fal fa-server"></i> 逆變器 R002</a>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="list-group-item">
|
|
<div class="d-flex justify-content-between">
|
|
<h4 class="font-weight-bold"><i class="fal fa-charging-station"></i> 新竹動物園站</h4>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</div>
|
|
<li class="list-group-item">
|
|
<div class="d-flex justify-content-between">
|
|
<h4 class="font-weight-bold"><i class="fal fa-charging-station"></i> 新竹火車站</h4>
|
|
<div class="">
|
|
<input type="checkbox" class="" id="defaultUnchecked">
|
|
</div>
|
|
</div>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<a href="javascript:void(0);" class="card-title collapsed" data-toggle="collapse" data-target="#js_list_accordion-b" aria-expanded="false" data-filter-tags="merge">
|
|
<i class="fal fa-globe width-2 fs-xl"></i>
|
|
台南市
|
|
<span class="ml-auto">
|
|
<span class="collapsed-reveal">
|
|
<i class="fal fa-chevron-up fs-xl"></i>
|
|
</span>
|
|
<span class="collapsed-hidden">
|
|
<i class="fal fa-chevron-down fs-xl"></i>
|
|
</span>
|
|
</span>
|
|
</a>
|
|
</div>
|
|
<div id="js_list_accordion-b" class="collapse" data-parent="#js_list_accordion">
|
|
<div class="card-body">
|
|
放台南市list
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<a href="javascript:void(0);" class="card-title collapsed" data-toggle="collapse" data-target="#js_list_accordion-c" aria-expanded="false" data-filter-tags="backup">
|
|
<i class="fal fa-globe width-2 fs-xl"></i>
|
|
屏東縣
|
|
<span class="ml-auto">
|
|
<span class="collapsed-reveal">
|
|
<i class="fal fa-chevron-up fs-xl"></i>
|
|
</span>
|
|
<span class="collapsed-hidden">
|
|
<i class="fal fa-chevron-down fs-xl"></i>
|
|
</span>
|
|
</span>
|
|
</a>
|
|
</div>
|
|
<div id="js_list_accordion-c" class="collapse" data-parent="#js_list_accordion">
|
|
<div class="card-body">
|
|
<ul class="list-group">
|
|
<li class="list-group-item">
|
|
<span data-filter-tags="reports file">Reports</span>
|
|
</li>
|
|
<li class="list-group-item">
|
|
<span data-filter-tags="analytics graphs">Analytics</span>
|
|
</li>
|
|
<li class="list-group-item">
|
|
<span data-filter-tags="export download">Export</span>
|
|
</li>
|
|
<li class="list-group-item">
|
|
<span data-filter-tags="storage">Storage</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<span class="filter-message js-filter-message"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-auto px-0">
|
|
<a href="javascript:;" data-target=".sidebar" data-toggle="collapse" class="btn btn-default btn-xs btn-icon waves-effect waves-themed" style="border-radius: 0;"><i onclick="myfunc(this)" class="fal fa-angle-right fa-lg py-3"></i></a>
|
|
</div>
|
|
|
|
|
|
|
|
<main class="col px-5 pl-md-2 main">
|
|
<ol class="breadcrumb page-breadcrumb">
|
|
<li class="breadcrumb-item"><a href="javascript:void(0);">交叉分析</a></li>
|
|
<li class="breadcrumb-item active">@ViewData["Title"]</li>
|
|
<li class="position-absolute pos-top pos-right d-none d-sm-block"><span class="js-get-date"></span></li>
|
|
</ol>
|
|
<div class="subheader">
|
|
<h1 class="subheader-title">
|
|
<i class="subheader-icon fal fa-crosshairs"></i> @ViewData["Title"]
|
|
</h1>
|
|
</div>
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-xl-12">
|
|
<div id="panel-5" class="panel">
|
|
<div class="panel-container show">
|
|
<div class="panel-content">
|
|
<div class="mb-5 d-flex justify-content-start">
|
|
<div class="pr-3">
|
|
<div class="btn-group btn-group-md">
|
|
<button type="button" class="btn btn-success waves-effect waves-themed btn-change-searchType" id="Group0" onclick="changeType(0,this)">日</button>
|
|
<button type="button" class="btn btn-secondary waves-effect waves-themed btn-change-searchType" id="Group1" onclick="changeType(1,this)">日區間</button>
|
|
<button type="button" class="btn btn-secondary waves-effect waves-themed btn-change-searchType" id="Group2" onclick="changeType(2,this)">月</button>
|
|
<button type="button" class="btn btn-secondary waves-effect waves-themed btn-change-searchType" id="Group3" onclick="changeType(3,this)">年</button>
|
|
</div>
|
|
</div>
|
|
<div class="pr-3" id="quickSearchOption">
|
|
<button type="button" class="btn btn-secondary waves-effect waves-themed btn-change-quickSearch1" onclick="quickSearch(0)">今天</button>
|
|
<button type="button" class="btn btn-secondary waves-effect waves-themed btn-change-quickSearch2" onclick="quickSearch(1)">昨天</button>
|
|
</div>
|
|
|
|
<div class="pr-3">
|
|
<div class="btn-group" id="js-demo-nesting" role="group" aria-label="Button group with nested dropdown">
|
|
<input type="date" class="form-control" id="DateGet" />
|
|
</div>
|
|
<div class="btn-group" id="DateGettextdiv" role="group" aria-label="Button group with nested dropdown">
|
|
<input type="text" class="form-control" id="DateGettext" />
|
|
</div>
|
|
</div>
|
|
<div class="pr-3">
|
|
<button type="button" class="btn btn-secondary waves-effect waves-themed">查詢</button>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="mb-5">
|
|
<div class="card p-3 w-100">
|
|
<h5 class="font-weight-bold mb-3 pl-5 pb-3">總結</h5>
|
|
<table class="table m-0">
|
|
<thead>
|
|
<tr>
|
|
<th>時間</th>
|
|
<th>發電量(kWh)</th>
|
|
<th>發電小時</th>
|
|
<th>日射量(kWh/m2)</th>
|
|
<th>PR(%)</th>
|
|
<th>溫度修正PR(%)</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row">2021-05</th>
|
|
<td>126,121.7</td>
|
|
<td>119.04</td>
|
|
<td>140.39</td>
|
|
<td>84.8</td>
|
|
<td>91.9</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mb-5">
|
|
<div class="card p-3 w-100">
|
|
<div class="row mb-5 d-flex justify-content-end">
|
|
<div class="pr-3">
|
|
<div class="btn-group" id="js-demo-nesting" role="group" aria-label="Button group with nested dropdown">
|
|
<div class="btn-group" role="group">
|
|
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">選擇比較欄位 </button>
|
|
<div class="dropdown-menu">
|
|
<a class="dropdown-item" href="javascript:void(0)">2021 四月</a>
|
|
<a class="dropdown-item" href="javascript:void(0)">2021 三月</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pr-3">
|
|
<div class="btn-group" id="js-demo-nesting" role="group" aria-label="Button group with nested dropdown">
|
|
<div class="btn-group" role="group">
|
|
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">下載 </button>
|
|
<div class="dropdown-menu">
|
|
<a class="dropdown-item" href="javascript:void(0)">2021 四月</a>
|
|
<a class="dropdown-item" href="javascript:void(0)">2021 三月</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pr-3">
|
|
<button type="button" class="btn btn-secondary waves-effect waves-themed"><i class="fal fa-expand fs-md"></i></button>
|
|
</div>
|
|
|
|
</div>
|
|
<p>放圖表</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
</div>
|
|
|
|
@section Scripts{
|
|
<script>
|
|
var searchType = 0;//搜尋條件(日,日區間,月,年)
|
|
var datepicker;
|
|
var timerange;//選取時間
|
|
|
|
$(function () {
|
|
//#region 預設初始值
|
|
$('#DateGet').val(new Date().toISOString().substring(0, 10));
|
|
document.getElementById("DateGettextdiv").style.display = "none";//隱藏
|
|
$('#DateGet').attr('style', 'width:205px');
|
|
$('#DateGettext').attr('style', 'width:205px');
|
|
timerange = $('#DateGet').val();
|
|
//#endregion
|
|
|
|
})
|
|
|
|
function myfunc(div) {
|
|
var className = div.getAttribute("class");
|
|
if (className == "fal fa-angle-left fa-lg py-3") {
|
|
div.className = "fal fa-angle-right fa-lg py-3";
|
|
}
|
|
else {
|
|
div.className = "fal fa-angle-left fa-lg py-3";
|
|
}
|
|
}
|
|
|
|
//#region 更換搜尋條件(日,日區間,月,年)
|
|
function changeType(type, e) {
|
|
searchType = type;
|
|
if ($(".btn-change-searchType").hasClass("btn-success")) {
|
|
$(".btn-change-searchType").removeClass("btn-success").addClass("btn-secondary");
|
|
}
|
|
document.getElementById("DateGettextdiv").style.display = "none";//隱藏
|
|
document.getElementById("DateGet").style.display = "";//隱藏
|
|
$(e).removeClass("btn-secondary").addClass("btn-success");
|
|
switch (type) {
|
|
case 0: $('#DateGet').prop({ 'type': 'date' });
|
|
$(".btn-change-quickSearch1").html("今天");
|
|
$(".btn-change-quickSearch2").html("昨天");
|
|
var today = new Date().toISOString().substring(0, 10);
|
|
$('#DateGet').val(today);
|
|
break;
|
|
case 1:
|
|
|
|
//#region Date-Picker
|
|
datepicker = $('#DateGettext').daterangepicker({
|
|
autoUpdateInput: false,
|
|
locale: { format: 'YYYY/MM/DD' },
|
|
opens: 'left'
|
|
});
|
|
|
|
$('#DateGettext').on('apply.daterangepicker', function (ev, picker) {
|
|
$(this).val(picker.startDate.format('YYYY/MM/DD') + ' - ' + picker.endDate.format('YYYY/MM/DD'));
|
|
$(this).trigger('change');
|
|
});
|
|
|
|
$('#DateGettext').on('cancel.daterangepicker', function (ev, picker) {
|
|
$(this).val('');
|
|
$(this).trigger('change');
|
|
});
|
|
//#endregion
|
|
|
|
$(".btn-change-quickSearch1").html("近7天");
|
|
$(".btn-change-quickSearch2").html("近30天");
|
|
//#region 預設近7天
|
|
var today = new Date();
|
|
var dateLimit = new Date(new Date().setDate(today.getDate() - 7));
|
|
var today_format = today.toISOString().slice(0, 10).replace(/-/g, "/");
|
|
var dateLimit_format = dateLimit.toISOString().slice(0, 10).replace(/-/g, "/");
|
|
datepicker.data('daterangepicker').setStartDate(dateLimit_format);
|
|
datepicker.data('daterangepicker').setEndDate(today_format);
|
|
document.getElementById("DateGettextdiv").style.display = "";//隱藏
|
|
document.getElementById("DateGet").style.display = "none";//隱藏
|
|
//#endregion
|
|
$('#DateGettext').val(dateLimit_format + ' - ' + today_format);
|
|
|
|
break;
|
|
case 2: $('#DateGet').prop({ 'type': 'month' });
|
|
$(".btn-change-quickSearch1").html("本月");
|
|
$(".btn-change-quickSearch2").html("上個月");
|
|
var now_month = new Date().toISOString().substring(0, 7);
|
|
$('#DateGet').val(now_month);
|
|
break;
|
|
case 3:
|
|
$(".btn-change-quickSearch1").html("今年");
|
|
$(".btn-change-quickSearch2").html("去年");
|
|
var now_year = new Date().toISOString().substring(0, 4);
|
|
$('#DateGet').prop({ 'type': 'number', 'min': 1900, 'max': now_year, 'step': 1 });
|
|
$('#DateGet').val(now_year);
|
|
break;
|
|
}
|
|
if (type == 1) {
|
|
timerange = $('#DateGettext').val();
|
|
}
|
|
else {
|
|
timerange = $('#DateGet').val();
|
|
}
|
|
}
|
|
//#endregion
|
|
|
|
//#region 快速填入條件(EX.今昨天)
|
|
function quickSearch(day) {
|
|
switch (searchType) {
|
|
case 0:
|
|
if (day == 0) {
|
|
var today = new Date().toISOString().substring(0, 10);
|
|
$('#DateGet').val(today).trigger('change');
|
|
} else {
|
|
var dateLimit = new Date(new Date().setDate(new Date().getDate() - 1)).toISOString().substring(0, 10);
|
|
$('#DateGet').val(dateLimit).trigger('change');
|
|
}
|
|
break;
|
|
case 1:
|
|
if (day == 0) {
|
|
//#region 預設近7天
|
|
var today = new Date();
|
|
var dateLimit = new Date(new Date().setDate(today.getDate() - 7));
|
|
var today_format = today.toISOString().slice(0, 10).replace(/-/g, "/");
|
|
var dateLimit_format = dateLimit.toISOString().slice(0, 10).replace(/-/g, "/");
|
|
datepicker.data('daterangepicker').setStartDate(dateLimit_format);
|
|
datepicker.data('daterangepicker').setEndDate(today_format);
|
|
//#endregion
|
|
$('#DateGettext').val(dateLimit_format + ' - ' + today_format).trigger('change');
|
|
} else {
|
|
//#region 預設近30天
|
|
var today = new Date();
|
|
var dateLimit = new Date(new Date().setDate(today.getDate() - 30));
|
|
var today_format = today.toISOString().slice(0, 10).replace(/-/g, "/");
|
|
var dateLimit_format = dateLimit.toISOString().slice(0, 10).replace(/-/g, "/");
|
|
datepicker.data('daterangepicker').setStartDate(dateLimit_format);
|
|
datepicker.data('daterangepicker').setEndDate(today_format);
|
|
//#endregion
|
|
$('#DateGettext').val(dateLimit_format + ' - ' + today_format).trigger('change');
|
|
}
|
|
break;
|
|
case 2:
|
|
if (day == 0) {
|
|
var now_month = new Date().toISOString().substring(0, 7);
|
|
$('#DateGet').val(now_month).trigger('change');
|
|
} else {
|
|
var dateLimit = new Date(new Date().setMonth(new Date().getMonth() - 1)).toISOString().substring(0, 7);
|
|
$('#DateGet').val(dateLimit).trigger('change');
|
|
}
|
|
break;
|
|
case 3:
|
|
if (day == 0) {
|
|
var now_year = new Date().toISOString().substring(0, 4);
|
|
$('#DateGet').val(now_year).trigger('change');
|
|
} else {
|
|
var dateLimit = new Date(new Date().setFullYear(new Date().getFullYear() - 1)).toISOString().substring(0, 4);
|
|
$('#DateGet').val(dateLimit).trigger('change');
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
//#endregion
|
|
|
|
//#region 更換input
|
|
$('#DateGet').on('change', function () {
|
|
timerange = $('#DateGet').val();
|
|
});
|
|
//#endregion
|
|
|
|
//#region 更換inputtext
|
|
$('#DateGettext').on('change', function () {
|
|
timerange = $('#DateGettext').val();
|
|
});
|
|
//#endregion
|
|
</script>
|
|
}
|