{% 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 %}