{% extends "special_menu.html" %}
{% load i18n %}
{% block headjs %}
{% if request.user|HasPerm:"contenttypes.can_DevRTMonitorPage" %}
{% endif %}
{% endblock %}
{% block content %}
{% if request.user|HasPerm:"contenttypes.can_DevRTMonitorPage" %}
{% trans "设备监控" %}
| {% trans '设备名称' %} |
{% trans '序列号' %} |
{% trans '操作类型' %} |
{% trans '当前状态' %} |
{% trans '待执行命令条数' %} |
{% trans '操作' %} |
|
|
{% endif %}
{% endblock %}
{% block getdatalist %}
{% endblock %}
{% block addjs %}
{% if request.user|HasPerm:"contenttypes.can_DevRTMonitorPage" %}
var gdata = null;
var is_RM = true; //是否正在监控
var is_click = false; //主要是为了防止服务正在启动时,鼠标仍然悬浮在带有“服务未启动”的数据上,导致提示信息不能及时隐藏。
var show_tip = 0; //防止3S后刷新函数时,提示信息会消失。0:不显示提示信息,1:显示“服务未启动..”提示,2:显示“导出前,请停止监控。”提示。
$("#end_RM").hide();
$("#start_RM").hide();
$("#start_Service").hide();
$("#id_export").hide();
function show(obj)
{
show_tip=1;
$("#tooltip2").find("font").text(gettext("门禁服务未启动,请先点击左方启动服务按钮"));
if(!is_click) //点击“启动服务”时,is_click为true,即不显示此提示信息。
{
$("#tooltip2").css("visibility","visible");
}
}
function tip_show(obj)
{
// if(is_RM) // 用户点击导出按钮前,提示停止监控,如果需要,可以直接放开。
// {
// show_tip=2;
// $("#tooltip2").find("font").text(gettext("请先停止监控再导出!"));
// $("#tooltip2").css("visibility","visible");
// }
// else
// {
// show_tip=0;
// $("#tooltip2").css("visibility","hidden");
// }
}
function hide(obj)
{
show_tip=0;
$("#tooltip2").css("visibility","hidden");
}
//用于向服务器端获取实时数据
var row=null;
function OnRefresh()
{
document.getElementById("tooltip2").style.visibility="hidden";
getUrl='/{{ request.surl }}iaccess/GetDevLog/';
$.ajax({
type:"GET",
url:getUrl,
dataType:"json",
async:true,
success:function(rtlog)
{
rtlisthtml=""
row="row0";
if(rtlog.data.length != 0) //如果没有设备正在监控,所有按钮将不显示。
{
$("#id_export").show();
if(is_RM) //如果正在监控,才会显示停止监控按钮。
{
$("#end_RM").show();
}
}
for(var index in rtlog.data)
{
datas = rtlog.data[index];
if (datas.ret >= 0)
{
rtlisthtml += '';
}
else if(datas.ret < -1000 && datas.ret > -2000)//警告事件
{
if(datas.ret == -1003)
{
rtlisthtml += '
';
}
else
{
rtlisthtml += '
';
}
}
else//报警事件
{
rtlisthtml += '
';
}
var cmd=datas.op_type;
if(cmd.length>30)
{
cmd=datas.op_type.substr(0,26)+"...";
}
rtlisthtml += '| '+datas.devname+' | '
+ ''+datas.sn+' | '
+ ''+cmd+' | '
+ ''+datas.op_state+' | '
+ ''+datas.CmdCount+' | '
+ '{% trans '取消' %} |
'
if(row == "row0")
{
row = "row1";
}
else
{
row = "row0";
}
if(datas.ret == -1003)
{
$("#start_Service").show();
if(show_tip==1 && !is_click) //只有鼠标悬浮在一列上才会显示提示信息
{
$("#tooltip2").css("visibility","visible");
}
is_click=false;
}
else
{
$("#start_Service").hide();
}
}
if(show_tip==2)
{
$("#tooltip2").css("visibility","visible");
}
$("#id_monitor_events").find("#rt_content").empty();
$("#id_monitor_events").find("#rt_content").append(rtlisthtml);
if($("#id_monitor_events").find("#rt_content tr").length>0)
{
check_brower_version(true);
}
else
{
check_brower_version(false);
}
$("td[id^='device_'] a").click(function(){
if(confirm(gettext("确定要清除命令队列?")))
{
var val=$(this).parent().attr("value");
var operateURL = '/{{ request.surl }}iaccess/ClearCmdCache/?devid='+val;
$.ajax({
type:"POST",
url:operateURL,
dataType:"json",
async:false,
success:function(data)
{
if(data.ret>0)
{
alert(gettext("清除缓存命令成功!请及时手动同步数据到设备,以确保系统中和设备中权限一致!"));
}
},
error:function (XMLHttpRequest, textStatus, errorThrown)
{
alert(gettext("清除缓存命令失败!"));
}
});
}
});
if(is_RM)
{
window.setTimeout('OnRefresh()', 3000)//等3秒执行刷新函数
}
},
error:function (XMLHttpRequest, textStatus, errorThrown)
{
window.setTimeout('OnRefresh()', 3000)//等3秒执行刷新函数
}
});
}
window.setTimeout('OnRefresh()', 1000)//第一次刷新等1s执行刷新函数
$("#start_RM").click(function()
{
is_RM = true;
window.setTimeout('OnRefresh()', 1000);
$("#end_RM").show();
$("#start_RM").hide();
});
$("#end_RM").click(function()
{
is_RM = false;
window.setTimeout('OnRefresh()', 0);
$("#start_RM").show();
$("#end_RM").hide();
});
$("#start_Service").click(function()
{
is_click = true;
var URL = "/iaccess/startService/";
$.ajax({
type:"POST",
url:URL,
dataType:"text",
async:false,
success:function(data)
{
$("#start_Service").hide();
alert(gettext("门禁服务开启成功!"));
}
});
});
$("#id_export").click(function()
{
if(is_RM == 1)
{
alert(gettext("请先停止监控再导出!"));
}
else
{
var head = document.getElementById("rt_head");
var table = document.getElementById("rt_content");
var hang= table.rows.length;
var lie = table.rows[0].cells.length-1;
var data= "";
for (var i = 0; i < lie; i++)
{
data += head.rows[0].cells[i].innerHTML + (i == lie -1 ? "\r\n" : "\t");
}
for(var i = 0; i < hang; i++)
{
for(var j = 0; j < lie; j++)
{
cells_data = table.rows[i].cells[j].innerHTML.replace(/<.*?>/g,"").replace(/ /g,"");
cells_data = (cells_data == "") ? " " : cells_data;
data += cells_data + (j == lie -1 ? "\r\n" : "\t");
}
data += "\r\n";
}
$.ajax({
type:"POST",
dataType: "text",
data: {"data": data},
url:"/iclock/export_devRTMonitor/",
success:function(filename)
{
window.open("/tmp/"+filename);
$.ajax({
type:"POST",
dataType:"text",
data:"filename="+filename,
url:"/iclock/delete_tmpFile/",
success:function(ok)
{
}
});
}
})
}
});
{% else %}
alert(gettext("对不起,您没有访问该页面的权限,不能浏览更多信息!"));
window.location.href="/{{ request.surl }}accounts/login/";
{% endif %}
{% endblock %}