You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

323 lines
9.6 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>照片统计</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="styles/style.css" rel="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script language="javascript" type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<table border=0 borderColorLight="#99ccff" borderColorDark="#FFFFFF" cellpadding=4 cellspacing=0 width="100%">
<tr>
<td colspan="2">
<input type="datetime-local" id="start-time" /> - <input type="datetime-local" id="end-time" value="" />
<select id="dt" onclick="javascript:ChangeDateTime(this);">
<option value="0"> &nbsp; &nbsp; 今天 &nbsp; &nbsp; </option>
<option value="86400"> &nbsp; &nbsp; 昨天</option>
<option value="172800"> &nbsp; &nbsp; 前天</option>
<option value="259200"> &nbsp; &nbsp; 前2天</option>
<option value="345600"> &nbsp; &nbsp; 前3天</option>
<option value="432000"> &nbsp; &nbsp; 前4天</option>
<option value="518400"> &nbsp; &nbsp; 前5天</option>
<option value="604800"> &nbsp; &nbsp; 前6天</option>
<option value="691200"> &nbsp; &nbsp; 前7天 &nbsp; &nbsp; </option>
</select>
&nbsp; &nbsp;
<select id="lines">
<option value="0"> &nbsp; &nbsp; 全部线路 &nbsp; &nbsp; </option>
</select>
<select id="channels">
<option value="0"> &nbsp; &nbsp; 全部通道 &nbsp; &nbsp; </option>
<option value="1"> &nbsp; &nbsp; 通道1 &nbsp; &nbsp; </option>
<option value="2"> &nbsp; &nbsp; 通道2 &nbsp; &nbsp; </option>
<option value="3"> &nbsp; &nbsp; 通道3 &nbsp; &nbsp; </option>
<option value="4"> &nbsp; &nbsp; 通道4 &nbsp; &nbsp; </option>
</select>
&nbsp; &nbsp;
<input type="button" id="btn-refresh" value=" 查询 " />
&nbsp; &nbsp; &nbsp; &nbsp;
<span id="term-cnt"></span><span id="rpt-date"></span>
</td>
</tr>
</table>
<br>
<div id="div-result">
<table id="tbl-result" border="1" borderColorLight="#DCDCDC" borderColorDark="#FFFFFF" cellpadding="16" cellspacing="0" class="fixedheader thinborder">
<thead>
<tr>
<th>序号</th>
<th>Id</th>
<th>线路</th>
<th>杆塔</th>
<th>装置名称</th>
<th>规约</th>
<th>最后心跳时间</th>
<th>当天第一张照片时间</th>
<th>照片最后接收时间</th>
<th>重启次数</th>
<th>最后重启时间</th>
<th>装置Id</th>
<th>照片数量</th>
</tr>
</thead>
<tbody id="tbody-result"></tbody>
</table>
</div>
<br>
</body>
<script language="javascript" type="text/javascript">
<!--
var xhr = null;
$('#btn-refresh').click(function() {
loadData();
});
$('#channels').change(function() {
loadData();
});
$('#btn-yesterday').click(function() {
var dt = new Date();
dt.setHours(0, 0, 0);
var endTime = parseInt(dt.getTime() / 1000);
loadData(endTime - 86400, endTime);
});
$('#btn-thedaybeforeyst').click(function() {
var dt = new Date();
dt.setHours(0, 0, 0);
var endTime = parseInt(dt.getTime() / 1000);
loadData(endTime - 172800, endTime - 86400);
});
$('#lines').change(function() {
loadData();
});
function ChangeDateTime(src)
{
var offset = $(src).val() * 1000;
var dt = new Date();
var timezone = dt.getTimezoneOffset() * 60000;
dt.setHours(0, 0, 0);
var ts = dt.getTime();
ts -= ts % 1000;
var endTime = parseInt(dt.getTime() / 1000);
document.querySelector('#start-time').valueAsNumber = ts - timezone - offset;
document.querySelector('#end-time').valueAsNumber = ts - timezone + 86399000 - offset;
loadData();
}
function ConvertProtocolName(p)
{
if (p == 0)
{
return "Unknown";
}
else if (p == 0xFF00)
{
return "I1";
}
else if (p == 0xFF01)
{
return "安徽";
}
else if (p == 0xFF02)
{
return "江苏";
}
else if (p == 0xFF03)
{
return "湖南";
}
else if (p == 0xFF04)
{
return "浙江";
}
else if (p == 0xFF05)
{
return "河南";
}
else if (p == 0xFF06)
{
return "郑州";
}
else if (p == 0xFF10)
{
return "陕西";
}
return "";
}
function loadData() {
var dt = new Date();
var startTime = parseInt(document.querySelector('#start-time').valueAsNumber / 1000);
var endTime = parseInt(document.querySelector('#end-time').valueAsNumber / 1000);
startTime += dt.getTimezoneOffset() * 60;
endTime += dt.getTimezoneOffset() * 60 + 1;
// console.log(startTime + " endTime=" + endTime + " timezone=" + dt.getTimezoneOffset());
var line_id = $("#lines").val();
var channel = $('#channels').val();
localStorage.setItem("startTime", startTime);
localStorage.setItem("endTime", endTime - 1);
localStorage.setItem("lineId", line_id);
localStorage.setItem("channel", channel);
var tableResult = $('#tbl-result')[0];
while (tableResult.rows.length > 1)
{
tableResult.deleteRow(tableResult.rows.length - 1);
}
var dt = new Date(startTime * 1000);
$('#term-cnt').text();
// $('#rpt-date').text(dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate());
var urlTarget = '/rpts/api/queryPhoto.php';
var params = {'st': startTime, 'et': endTime, 'lineId': line_id, 'channel': channel};
if (xhr != null) {
xhr.abort();
}
xhr = $.getJSON(urlTarget, params, function(result) {
$('#term-cnt').text("装置数量:" + result.data.length);
var tableResult = $('#tbody-result')[0];
for (var idx = 0; idx < result.data.length; idx++)
{
var td1 = idx + 1;
var td2 = result.data[idx].id;
var td3 = '<span class="longtext" title="' + result.data[idx].line_name + '">' + result.data[idx].line_name + '</span>';
var td4 = '<span class="longtext" title="' + result.data[idx].tower_name + '">' + result.data[idx].tower_name + '</span>';
var td5 = result.data[idx].display_name;
var td6 = ConvertProtocolName(result.data[idx].protocol);
var hbDetailUrl = "hb.html?term_id=" + result.data[idx].id + "&cmdid=" + result.data[idx].cmdid + "&st=" + startTime + "&et=" + endTime;
var td7 = "<a href=\"" + hbDetailUrl + "\" target=\"_blank\">" + result.data[idx].last_heartbeat + "</a>";
var td8 = result.data[idx].min_photo_time;
var td9 = result.data[idx].recv_time;
var td10 = result.data[idx].reboot_cnt;
var str = '';
if (result.data[idx].boot_time != null)
{
str += result.data[idx].boot_time;
}
var biDetailUrl = "basicinfo.html?term_id=" + result.data[idx].id + "&cmdid=" + result.data[idx].cmdid + "&st=" + startTime + "&et=" + endTime + "&channel=" + channel;
var td11 = "<a href=\"" + biDetailUrl + "\" target=\"_blank\">" + str + "</a>";
var detailUrl = "photoDetail.html?term_id=" + result.data[idx].id + "&cmdid=" + result.data[idx].cmdid + "&st=" + startTime + "&et=" + endTime + "&channel=" + channel;
var td12 = "<a href=\"" + detailUrl + "\" target=\"_blank\">" + result.data[idx].cmdid + "</a>";
var td13 = result.data[idx].cnt;
var tr = AppendTable(tableResult, td1, td2, td3, td4, td5, td6, td7, td8, td9, td10, td11, td12, td13);
if (result.data[idx].min_photo_time != '' && result.data[idx].min_photo_time.substr(0, 2) != '00')
{
tr.classList.add('green')
}
}
});
}
$(document).ready(function(){
var dt = new Date();
var timezone = dt.getTimezoneOffset() * 60000;
var startTime = localStorage.getItem("startTime");
var endTime = localStorage.getItem("endTime");
if (startTime != null && endTime != null) {
document.querySelector('#start-time').valueAsNumber = startTime * 1000 - timezone;
document.querySelector('#end-time').valueAsNumber = endTime * 1000 - timezone;
} else {
dt.setHours(0, 0, 0);
var ts = dt.getTime();
ts -= ts % 1000;
document.querySelector('#start-time').valueAsNumber = ts - timezone;
document.querySelector('#end-time').valueAsNumber = ts - timezone + 86399000;
}
var channel = localStorage.getItem("channel");
if (channel != null) {
$('#channels').val(channel);
}
var lineId = localStorage.getItem("lineId");
if (lineId == null || lineId == 0) {
$('#btn-refresh').click();
}
var urlTarget = '/rpts/api/queryLine.php';
var params = {};
$.getJSON(urlTarget, params, function(result) {
var existed = false;
for (var idx = 0; idx < result.length; idx++)
{
$("#lines").append("<option value='" + result[idx].id + "'>" + result[idx].vname + " - " + result[idx].name + "</option>");
if (result[idx].id == lineId) {
existed = true;
}
}
if (existed) {
$("#lines").val(lineId);
}
$('#btn-refresh').click();
});
});
function AppendTable(table)
{
if (arguments.length <= 1) return false;
var tr = table.insertRow(-1);
for (idx = 1; idx < arguments.length; idx++)
{
var td = tr.insertCell(-1);
td.innerHTML = arguments[idx];
}
return tr;
}
// -->
</script>
</html>