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
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"> 今天 </option>
|
|
<option value="86400"> 昨天</option>
|
|
<option value="172800"> 前天</option>
|
|
<option value="259200"> 前2天</option>
|
|
<option value="345600"> 前3天</option>
|
|
<option value="432000"> 前4天</option>
|
|
<option value="518400"> 前5天</option>
|
|
<option value="604800"> 前6天</option>
|
|
<option value="691200"> 前7天 </option>
|
|
</select>
|
|
|
|
<select id="lines">
|
|
<option value="0"> 全部线路 </option>
|
|
</select>
|
|
<select id="channels">
|
|
<option value="0"> 全部通道 </option>
|
|
<option value="1"> 通道1 </option>
|
|
<option value="2"> 通道2 </option>
|
|
<option value="3"> 通道3 </option>
|
|
<option value="4"> 通道4 </option>
|
|
|
|
</select>
|
|
|
|
<input type="button" id="btn-refresh" value=" 查询 " />
|
|
|
|
<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>
|