<%@page import="com.fgkj.dto.User_inf"%>
|
<%@page import="com.fgkj.actions.ActionUtil"%>
|
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
Locale l = (Locale)session.getAttribute("WW_TRANS_I18N_LOCALE");
|
%>
|
|
<%
|
Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组
|
String user_logo = "";
|
for(Cookie cookie : cookies){
|
if("user_logo".equals(cookie.getName())) {
|
user_logo = cookie.getValue();
|
}
|
}
|
//System.out.println(user_logo);
|
%>
|
<%@taglib uri="/struts-tags" prefix="s" %>
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<base href="<%=basePath%>">
|
|
<title></title>
|
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
|
<meta http-equiv="expires" content="0">
|
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
<meta http-equiv="description" content="This is my page">
|
|
<!--
|
<link rel="stylesheet" type="text/css" href="styles.css">
|
-->
|
<link rel="shortcut icon" href="images/<%=user_logo %>/favicon.ico">
|
<link rel="stylesheet" type="text/css" href="pages/css/base.css" />
|
<link rel="stylesheet" type="text/css" href="css/basic.css" />
|
<link rel="stylesheet" type="text/css" href="css/nocontent.css" />
|
<link rel="stylesheet" type="text/css" href="css/loading.css">
|
<link rel="stylesheet" type="text/css" href="css/badge.css">
|
<link rel="stylesheet" type="text/css" href="css/scrollBar.css">
|
<link rel="stylesheet" href="jqueryui/jquery-ui.css">
|
<link rel="stylesheet" href="pages/css/pages/top.css">
|
<!-- font-awesome-4.7.0 -->
|
<link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.min.css">
|
<link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome-animation.min.css">
|
<!-- <link rel="stylesheet" type="text/css" href="css/web-status.css"> -->
|
<link rel="stylesheet" type="text/css" href="css/web-status-outline.css">
|
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
|
<script type="text/javascript" src="js/base.js"></script>
|
<script type="text/javascript" src="js/nocontent.js"></script>
|
<script type="text/javascript" src="js/loading.js"></script>
|
</head>
|
|
<body>
|
<!--头部内容开始-->
|
<div id="top">
|
<div id="top_cont">
|
|
<img src="User_ChartAction!serchByInfo?json={Chart_file:<%= user_logo %>,Chart_name:chart_logo}" alt="" title="" />
|
<div class="batt-state">
|
|
<div class="list">
|
<div class="list-contain"><s:text name='Power_cut'/><s:text name='Computer_room'/><s:text name='Num'/>:<a href="batt-state-manage.jsp?station_state=2" class="badge default" id="poweroff_num"><span class="num">0</span></a></div> <!-- 机房停电数 -->
|
</div>
|
<div class="list">
|
<div class="list-contain">续航不足机房数:<a href="batt-life-manage.jsp?is_stand=1" class="badge default" id="weak_home"><span class="num">0</span></a></div> <!-- 机房续航不足数 -->
|
</div>
|
<div class="list">
|
<div class="list-contain"><s:text name="Batt"/><s:text name="Alarm"/><s:text name="Num"/>:<a href="elewarn.jsp" class="badge danger" id="batt_alarm_num"><span class="num">0</span></a></div> <!-- 电池告警数 -->
|
</div>
|
<div class="list">
|
<div class="list-contain"><s:text name="Capacity"/>落后单体数:<a href="taskplan.jsp" class="badge default" id="batt_low_num"><span class="num">0</span></a></div> <!-- 落后单体数 -->
|
</div>
|
<div class="list">
|
<div class="list-contain"><s:text name="Equipment"/><s:text name="Alarm"/><s:text name="Num"/> :<a href="equipWarn1.jsp" class="badge danger" id="dev_alarm_num"><span class="num">0</span></a></div> <!-- 设备告警数 -->
|
</div>
|
|
<div class="list">
|
<div class="list-contain">
|
核容测试设备数:<a href="javascript:void(0);" class="badge default" id="nuclear_test"><span class="num">0</span></a>
|
</div>
|
</div>
|
</div>
|
<!-- <div class="weather">
|
<iframe width="300" scrolling="no" height="21" frameborder="0" allowtransparency="true" src="http://i.tianqi.com/index.php?c=code&id=1&color=%23&icon=1&wind=0&num=1&site=12"></iframe>
|
<div class="weather-detail">
|
<div class="ele-mask"></div>
|
<iframe id="weatherDetail" name="weather_inc" src="http://i.tianqi.com/index.php?c=code&id=13" width="650" height="221" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
|
</div>
|
</div> -->
|
<!-- web端状态 -->
|
<div class="web-status">
|
<div class="cell-list progressbar data-disk" title="服务器数据磁盘总量:99GB;剩余:55.9GB">
|
<div class="progress"><div class="progress-label">加载...</div></div>
|
</div>
|
<!-- CPU占用率 -->
|
<div class="cell-list progressbar cpu" title="cpu使用率: 20%">
|
<div class="progress"><div class="progress-label">加载...</div></div>
|
</div>
|
<!-- 内存占用率 -->
|
<div class="cell-list progressbar memory" title="内存占有率:40%">
|
<div class="progress"><div class="progress-label">加载...</div></div>
|
</div>
|
<!-- 连接数 -->
|
<div class="cell-list progressbar thread-link" title="连接数: 80/1000">
|
<div class="progress"><div class="progress-label">加载...</div></div>
|
</div>
|
<div class="cell-list sql-link">
|
<img src="image/sql_link_good.gif" alt="实时更新数据状态" title="服务器实时更新数据:正常">
|
</div>
|
<div class="cell-list web-link">
|
<img src="image/web_link_good.gif" alt="服务器连接状态" title="服务器连接:正常">
|
</div>
|
<div class="cell-list behind-ele">
|
<img src="image/webStatus/behind_normal.gif" alt="落后单体监测线程" title="落后单体监测线程:正常">
|
</div>
|
<div class="cell-list warning-ele">
|
<img src="image/webStatus/warning_normal.gif" alt="告警监测线程" title="告警监测线程:正常">
|
</div>
|
<div class="cell-list plan-ele">
|
<img src="image/webStatus/plan_normal.gif" alt="放电计划监测线程" title="放电计划监测线程:正常">
|
</div>
|
<div class="cell-list break-ele" style="display: none;">
|
<img src="image/webStatus/break_ele_normal.gif" alt="机房停电监测线程" title="机房停电监测线程:正常">
|
</div>
|
<div class="cell-list control">
|
<img src="image/webStatus/control_normal.gif" alt="线程监控程序" title="线程监控程序运行:正常">
|
</div>
|
<div class="cell-list voice">
|
<i class="fa fa-bell" title="关闭语音播报"></i>
|
<i class="fa fa-bell-slash" title="开启语音播报"></i>
|
</div>
|
<!-- <div class="cell-list full-screen-top">
|
<i class="fa fa-arrows" title="退出全屏"></i>
|
<i class="fa fa-arrows-alt" title="开启全屏"></i>
|
</div> -->
|
<div class="cell-list server-time" style="white-space: nowrap">
|
2018-11-26 00:00:00
|
</div>
|
<div class="cell-list batt-count" style="white-space: nowrap; color: #FF0000;">
|
电池总数:<span class="batt-num">0</span> , 机房总数:<span class="dev-num">0</span>
|
|
</div>
|
</div>
|
<div class="international">
|
<c:choose>
|
<c:when test="${sessionScope.WW_TRANS_I18N_LOCALE eq 'en_US'}">
|
<a href="javascript:;" value="CH">简体中文</a>
|
<span>|</span>
|
<a href="javascript:;" value="US" class="inter_action">English</a>
|
</c:when>
|
<c:when test="${sessionScope.WW_TRANS_I18N_LOCALE != 'en_US'}">
|
<a href="javascript:;" value="CH" class="inter_action">简体中文</a>
|
<span>|</span>
|
<a href="javascript:;" value="US">English</a>
|
</c:when>
|
</c:choose>
|
</div>
|
<!--用户登录后显示用户名鼠标经过显示下拉菜单-->
|
<div id="sign_out">
|
<a href="javascript:void(0)" id="user_name"></a>
|
<ul>
|
<li class="triangle"></li>
|
<li><a href="pwdChange.jsp" target="_self"><s:text name="Change_password"></s:text></a></li>
|
<li><a href="javascript:exitUser()" id="li_a"><s:text name="Logging_out"></s:text></a></li>
|
</ul>
|
</div>
|
<!--结束-->
|
</div>
|
</div>
|
<!-- 滚动条 -->
|
<div id="scrollBar" class="scroll-bar">
|
<div class="scroll-content">
|
<div class="scroll-list list-one">
|
<a href="#" class="no-content-scroll"></a>
|
</div>
|
<div class="scroll-list list-two"></div>
|
</div>
|
</div>
|
<div id="navNuclearTest" class="hide">
|
<div class="navNuclearTest-container">
|
<div class="navNuclearTest-content">
|
<div class="navNuclearTest-header clearfix">
|
<span class="navNuclearTest-title"><i class="fa fa-navicon mr5"></i>核容测试</span>
|
<div class="navNuclearTest-close fr mr10">
|
<a href="btsStatus1.jsp?status=1" target="btsStatus1" class="fa fa-file-text-o mr10" title="更多详情"></a>
|
<i class="fa fa-close" title="关闭"></i>
|
</div>
|
</div>
|
<div id="navNuclearTest-data">
|
<div class="nuclearTest-tbl-header"></div>
|
<div class="nuclearTest-tbl-body"></div>
|
</div>
|
</div>
|
<div class="navNuclearTest-mask"></div>
|
</div>
|
</div>
|
</body>
|
<script type="text/javascript">
|
// 检测页面是否被访问
|
var pageIsVisit = false;
|
;(function($) {
|
// 隐藏的原型
|
var hiddenProperty = 'hidden' in document ? 'hidden' :
|
'webkitHidden' in document ? 'webkitHidden' :
|
'mozHidden' in document ? 'mozHidden' :
|
null;
|
|
// 页面初始化
|
if (!document[hiddenProperty]) {
|
pageIsVisit = true;
|
}else{
|
pageIsVisit = false;
|
}
|
|
|
var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
|
var onVisibilityChange = function(){
|
if (!document[hiddenProperty]) {
|
pageIsVisit = true;
|
}else{
|
pageIsVisit = false;
|
}
|
}
|
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
|
})(jQuery);
|
</script>
|
<script src="pages/js/base.js"></script>
|
<script src="pages/js/common.js"></script>
|
<script src="js/dev.js"></script>
|
<script src="js/createTab.js"></script>
|
<script type="text/javascript" src="js/scrollBar.js"></script>
|
<script type="text/javascript" src="js/VoiceUtil.js"></script>
|
<script type="text/javascript" src="js/rightmenu.js"></script>
|
<script type="text/javascript" src="src/layui.all.js"></script>
|
<script type="text/javascript">
|
//检测页面缓存的版本号是否为最新
|
if(typeof(checkAPPVersion) == 'function') {
|
checkAPPVersion(function(stats, oVersion, nVersion) { // 检测版本号
|
if(!stats) {
|
var layer = layui.layer;
|
layer.open({
|
title: '系统提示',
|
content: '当前版本号:'+oVersion+'<br>最新版本号:'+nVersion+"<br>请手动清除浏览器缓存"
|
});
|
}
|
});
|
}else {
|
layer.open({
|
title: '系统提示',
|
content: '当前版本号:未知<br>最新版本号:未知<br>请手动清除浏览器缓存'
|
});
|
}
|
|
$(document).ready(function(){
|
//setUserName(); //设置用户名称
|
|
searchRecentlyAlarm(); //查询最近30秒的设备和电池告警
|
|
var lanuage=$('#top_cont .international .inter_action').attr('value');
|
$('#top_cont .international a').click(function() {
|
//alert();
|
temp = $(this).attr('value');
|
if(temp != lanuage){
|
lanuage=temp;
|
$('#top_cont .international a').removeClass('inter_action');
|
$(this).addClass('inter_action');
|
$.post("I18nAction!SetLocale","lanuage="+lanuage,function(data){
|
console.info(data);
|
parent.location.reload();
|
window.location.reload();
|
});
|
}
|
});
|
searchAlm(pageIsVisit); //查询电池告警总数(我在base.js里)
|
searchlowmon(); //查询落后单体总数
|
searchpoweroff(); //查询机房停电总数
|
searchdevalarm(); //查询设备实时告警总数
|
searchnotcomplan(); //查询未放电的计划总数
|
searchWeakHome(); //查询机房续航不足的个数
|
/* setInterval(function(){
|
searchlowmon(); //查询落后单体总数
|
searchpoweroff(); //查询机房停电总数
|
searchdevalarm(); //查询设备实时告警总数
|
searchnotcomplan(); //查询未放电的计划总数
|
},5000); */
|
});
|
var alarm_string = '<s:text name="Alarm" />'; //告警
|
var change_string= '<s:text name="Change" />'; //更换
|
var avg_string = '<s:text name="Average" />'; //平均值
|
|
//查询落后单体总数
|
function searchlowmon(){
|
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchlowmon, 5000);
|
return;
|
}
|
|
$.ajax({
|
type: "post",
|
url: "BadBatt_monAction!searchNums",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval("("+data+")");
|
var model = eval("("+data.result+")");
|
$('#batt_low_num .num').text(model.sum);
|
setTimeout(searchlowmon, 5000);
|
},
|
error:function() {
|
setTimeout(searchlowmon, 5000);
|
}
|
});
|
}
|
|
//查询机房停电总数
|
function searchpoweroffOld(){
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchpoweroffOld, 5000);
|
return;
|
}
|
|
$.ajax({
|
type: "post",
|
url: "BattPower_offAction!serchPowerOff",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval("("+data+")");
|
var model = eval("("+data.result+")");
|
$('#poweroff_num .num').text(model.sum);
|
setTimeout(searchpoweroff, 5000);
|
},
|
error:function() {
|
setTimeout(searchpoweroff, 5000);
|
}
|
});
|
}
|
|
//查询机房停电总数
|
function searchpoweroff(){
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchpoweroff, 5000);
|
return;
|
}
|
$.ajax({
|
type: "post",
|
url: "Bts_station_stateAction_action_serchByState",
|
async:true,
|
dataType:'json',
|
data:null,
|
success: function(data){
|
var model = eval("("+data.result+")");
|
//console.info(model);
|
$('#poweroff_num .num').text(model.newsum);
|
setTimeout(searchpoweroff, 5000);
|
},
|
error:function() {
|
setTimeout(searchpoweroff, 5000);
|
}
|
});
|
}
|
|
//查询设备告警总数
|
function searchdevalarm(){
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchdevalarm, 5000);
|
return;
|
}
|
$.ajax({
|
type: "post",
|
url: "Batt_devalarm_dataAction!searchNums",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval("("+data+")");
|
var model = eval("("+data.result+")");
|
$('#dev_alarm_num .num').text(model.sum);
|
setTimeout(searchdevalarm, 5000);
|
},
|
error:function() {
|
setTimeout(searchdevalarm, 5000);
|
}
|
});
|
}
|
|
//查询放电计划延迟总数
|
function searchnotcomplan(){
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchnotcomplan, 5000);
|
return;
|
}
|
$.ajax({
|
type: "post",
|
url: "BattDischarge_planAction!searchNums",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval("("+data+")");
|
var model = eval("("+data.result+")");
|
$('#discharge_plan_num').text(model.sum);
|
setTimeout(searchnotcomplan, 5000);
|
},
|
error:function() {
|
setTimeout(searchnotcomplan, 5000);
|
}
|
});
|
}
|
|
// 机房续航不足个数
|
function searchWeakHome() {
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchWeakHome, 5000);
|
return;
|
}
|
$.ajax({
|
type: 'post'
|
,async: true
|
,url: 'Batt_enduranceAction!serchxuhangNotInThree'
|
,data: null
|
,dataType: 'json'
|
,success: function(res) {
|
var rs = JSON.parse(res.result);
|
$('#weak_home .num').text(rs.sum);
|
|
setTimeout(searchWeakHome, 5000);
|
}
|
});
|
}
|
|
// 查询所有的设备数
|
searchAllDevNum();
|
function searchAllDevNum() {
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchAllDevNum, 5000);
|
return;
|
}
|
$.ajax({
|
type: 'post'
|
,async: true
|
,url: 'BattInfAction!serchByDeviceId'
|
,data: null
|
,dataType: 'json'
|
,success: function(res) {
|
var rs = JSON.parse(res.result);
|
if(rs.code == 1) {
|
var sum = rs.sum;
|
$('.cell-list.batt-count .dev-num').text(sum);
|
// $('.batt-state .dev-num').text(sum);
|
}
|
|
// 延时执行
|
setTimeout(searchAllDevNum, 5000);
|
}
|
});
|
}
|
|
// 查询所有的电池组数
|
searchAllEleGroupNum();
|
function searchAllEleGroupNum() {
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchAllEleGroupNum, 5000);
|
return;
|
}
|
$.ajax({
|
type: 'post'
|
,async: true
|
,url: 'BattInfAction!serchByInstall_count'
|
,data: null
|
,dataType: 'json'
|
,success: function(res) {
|
var rs = JSON.parse(res.result);
|
if(rs.code == 1) {
|
var sum = rs.sum;
|
$('.cell-list.batt-count .batt-num').text(sum);
|
//$('.batt-state .batt-num').text(sum);
|
}
|
// 延时执行
|
setTimeout(searchAllEleGroupNum, 5000);
|
}
|
});
|
}
|
|
|
$(function(){
|
$.ajax({
|
type: "post",
|
url: "User_infAction!searchUname",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
//console.info(data);
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
if(model.code == 1){
|
$('#user_name').text(model.msgN);
|
limitWidth();
|
}else{
|
alert(model.msg);
|
window.location.href="login.jsp";
|
}
|
}
|
});
|
});
|
|
|
// 添加天气插件和电池信息长度控制
|
$(function() {
|
limitWidth();
|
});
|
|
// 限制显示个数
|
function limitWidth() {
|
var top = $('#top').width();
|
var batt_state = $('#top .batt-state').width() + 260;
|
var sign_out = $('#sign_out').width() + 60;
|
var sumWidth = batt_state + sign_out;
|
var battList = $('#top .batt-state .list').not('.show-none').length;
|
if(sumWidth > top) {
|
$('#top .batt-state .list').eq(battList-1).addClass('show-none');
|
limitWidth();
|
}else {
|
return;
|
}
|
}
|
|
// 天气插件
|
function addWeather() {
|
var weather = $('#top .weather');
|
weather.text(" ");
|
var weather_show = $('<iframe width="300" scrolling="no" height="21" frameborder="0" allowtransparency="true" src="http://i.tianqi.com/index.php?c=code&id=1&color=%23&icon=1&wind=0&num=1&site=12 "></iframe>');
|
var weather_detail = $('<div class="weather-detail"></div>');
|
var weather_mask = $('<div class="ele-mask"></div>');
|
var weather_hide = $('<iframe id="weatherDetail" name="weather_inc" src="http://i.tianqi.com/index.php?c=code&id=13" width="650" height="221" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>');
|
|
weather_detail.append(weather_mask);
|
weather_detail.append(weather_hide);
|
|
weather.append(weather_show);
|
weather.append(weather_detail);
|
}
|
|
|
/**
|
* 监测用户30秒内是否没有进行操作,未操作则自动进入登录页面
|
*/
|
$(function(){
|
var inter;
|
|
var flag = isLogin(location.href);
|
if(flag){
|
//console.info('跳过登录');
|
return;
|
}
|
var lastTime = new Date().getTime();
|
setCookietemp("lastTime",lastTime,8888);
|
var currentTime = new Date().getTime();
|
var timeOut = 30 * 60 * 1000; //设置超时时间: 30分
|
|
/* 鼠标移动事件 */
|
$(document).mouseover(function(){
|
lastTime = new Date().getTime(); //更新操作时间
|
setCookietemp("lastTime",lastTime,8888);
|
});
|
|
//判断用户多久没有进行鼠标操作,超过30分钟自动退出登录
|
function testTime(){
|
currentTime = new Date().getTime(); //更新当前时间
|
//console.info(lastTime);
|
lastTime = parseInt(getCookie("lastTime"));
|
if(currentTime - lastTime > timeOut){ //判断是否超时
|
window.clearTimeout(inter);
|
setCookietemp("isTimeout",'1',8888);
|
|
//alert("您长时间未操作,请重新登录!");
|
exitUser();
|
}else{
|
inter = setTimeout(testTime,1000);
|
}
|
}
|
//testTime();
|
/* 定时器 间隔1秒检测是否长时间未操作页面 */
|
//inter = window.setInterval(testTime, 1000);
|
});
|
|
var warnAlarmData = [];
|
//console.info(warnAlarmData);
|
var options = {
|
'speed': 4,
|
'lng': 10,
|
'initData':[],
|
'oldData': [],
|
'newData':[]
|
};
|
var scrollBar = new ScrollBar(options);
|
|
$(window).resize(function() {
|
scrollBar.checkWidth();
|
});
|
|
scrollBar.startTimer();
|
|
$('#scrollBar').mouseover(function() {
|
scrollBar.stopTimer();
|
});
|
$('#scrollBar').mouseout(function() {
|
scrollBar.startTimer();
|
});
|
|
//点击电池告警
|
$('#scrollBar').on('click', 'a.ele-warn', function() {
|
var datas = $(this).data();
|
//console.info(datas);
|
searchBattAlarm(datas);
|
});
|
|
//点击设备告警
|
$('#scrollBar').on('click', 'a.equip-warn', function() {
|
var datas = $(this).data();
|
//console.info(datas);
|
searchDevAlarm(datas);
|
});
|
searchBattAndDevAlarm();
|
/* setInterval(function() {
|
searchBattAndDevAlarm();
|
}, 3000); */
|
|
/**
|
*
|
* 实时查询告警信息
|
*/
|
function searchBattAndDevAlarm(){
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchBattAndDevAlarm, 3000);
|
return;
|
}
|
$.ajax({
|
type:"post",
|
url: "Battalarm_dataAction!serchTopAlmTen",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
//console.info(model.data);
|
filterWarnData(model.data);
|
}else{
|
|
}
|
setTimeout(searchBattAndDevAlarm, 3000);
|
},
|
error:function() {
|
setTimeout(searchBattAndDevAlarm, 3000);
|
}
|
});
|
}
|
|
// 根据查询的告警的结果设置scrollBar的值
|
function filterWarnData(warnData) {
|
var temp = getNewArrByAnotherArr(warnAlarmData);
|
// 遍历查询的结果判断其中哪些是最新的数据
|
for(var i=0; i<warnData.length; i++) {
|
if(!checkWarnDataIsNew(warnData[i])) {
|
if(temp.length<scrollBar.opts.lng) {
|
temp.push(warnData[i]);
|
}else {
|
temp.pop();
|
temp.push(warnData[i]);
|
}
|
scrollBar.opts.newData.unshift(warnData[i]);
|
}
|
}
|
warnAlarmData = temp;
|
}
|
|
seachServerTime();
|
//获取服务器上的时间
|
function seachServerTime(){
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(seachServerTime, 1000);
|
return;
|
}
|
$.ajax({
|
type:"post",
|
url: "User_infAction!searchServerTime",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
$('.server-time').text(model.msg);
|
}else{
|
|
}
|
setTimeout(seachServerTime, 1000);
|
},
|
error:function() {
|
setTimeout(seachServerTime, 2000);
|
}
|
});
|
}
|
|
// 监测当前的告警信息是否为最新的告警
|
function checkWarnDataIsNew(warnData) {
|
var rs = 0;
|
var isExist = 0;
|
for(var i=0;i<warnAlarmData.length; i++) {
|
if(warnAlarmData[i].note == warnData.note) {
|
isExist = 1;
|
break;
|
}
|
}
|
|
if(isExist) {
|
rs = 1;
|
}
|
|
return rs;
|
}
|
// 将一个数组赋给另一个数组避免引用传递
|
function getNewArrByAnotherArr(arr) {
|
var rs = [];
|
|
for(var i=0; i<arr.length; i++) {
|
rs.push(arr[i]);
|
}
|
|
return rs;
|
}
|
|
//查询电池告警信息
|
function searchBattAlarm(data){
|
//console.info(data);
|
$.ajax({
|
type:"post",
|
url: "Battalarm_dataAction!serchBatt_alarm",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify({
|
BattGroupId:data.battGroupId,
|
MonNum:data.monNum,
|
alm_id:data.almId,
|
alm_start_time:data.almStartTime
|
}),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
var obj = model.data[0];
|
console.info(obj);
|
if(obj.alm_cleared_type == 0){
|
//实时告警
|
window.open("elewarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
|
}else{
|
//历史告警
|
window.open("eleHistoryWarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
|
}
|
}else{
|
alert("该告警已经恢复");
|
//window.open("eleHistoryWarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
|
}
|
}
|
});
|
}
|
|
//查询电池告警信息
|
function searchDevAlarm(data){
|
//console.info(data);
|
$.ajax({
|
type:"post",
|
url: "Batt_devalarm_dataAction!serchDev_alarm",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify({
|
dev_id:data.almId,
|
alm_type:data.almSignalId,
|
alm_start_time:data.almStartTime,
|
}),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
var obj = model.data[0];
|
console.info(obj);
|
if(obj.alm_cleared_type == 0){
|
window.open("equipWarn1.jsp?home="+obj.stationName);
|
}else{
|
window.open("equipHistWarn1.jsp?home="+obj.stationName);
|
}
|
}else{
|
alert("该告警已经恢复");
|
}
|
}
|
});
|
}
|
|
//查询最近30内的设备和电池告警并播报语音
|
function searchRecentlyAlarm(){
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchRecentlyAlarm, 5000);
|
return;
|
}
|
$.ajax({
|
type: "post",
|
url: "Battalarm_dataAction!serchIn30",
|
async:true,
|
dataType:'json',
|
data:null,
|
success: function(data){
|
//console.info(data);
|
var model = eval("("+data.result+")");
|
//console.info(model);
|
if(model.code == 1){
|
var alarm_str = "";
|
for(var i=0;i<model.data.length;i++){
|
var obj = model.data[i];
|
alarm_str += obj.note+";";
|
}
|
voice.play(alarm_str,searchRecentlyAlarm);
|
}else{
|
setTimeout(searchRecentlyAlarm, 5000);
|
}
|
},
|
error:function() {
|
setTimeout(searchRecentlyAlarm, 5000);
|
}
|
});
|
}
|
|
// 核容测试模块
|
$(function() {
|
var arrTh = ['机房名称', '设备ID', '设备名称','设备状态', '在线电压(V)', '组端电压(V)', '组端电流(A)','设备温度(℃)', '已测容量(AH)', '设备告警', '已测时间'];
|
var arrTd = [];
|
var eleTh = $('#navNuclearTest-data .nuclearTest-tbl-header');
|
var eleTd = $('#navNuclearTest-data .nuclearTest-tbl-body');
|
var timer = new GLOBAL.Timer.timer({
|
fun:searchNuclear_cap,
|
times: 4000
|
});
|
var isNew = true;
|
var dev61850Alarms = GLOBAL.DEV61850.alarmstates;
|
var dev61850Work = GLOBAL.DEV61850.workstates;
|
var BTS_workstates = GLOBAL.BTS9100.workstates;
|
var BTS_alarmstates = GLOBAL.BTS9100.alarmstates
|
|
|
timer.start();
|
// 点击核容测试条数
|
$('#nuclear_test').click(function() {
|
$('#navNuclearTest').removeClass('hide');
|
timer.start();
|
//createFullTbl(eleTh, eleTd, arrTh, arrTd);
|
});
|
|
$('.navNuclearTest-close').tooltip(); // 显示提示框
|
|
// 关闭面板
|
$('.navNuclearTest-close .fa-close').click(function() {
|
$('#navNuclearTest').addClass('hide');
|
});
|
|
// 跳转到61850状态
|
/* $('.navNuclearTest-close .fa-file-text-o').click(function() {
|
// 在61850设备工作状态就不用跳转
|
if(getpageName() != 'btsStatus.jsp') {
|
window.open('btsStatus.jsp?workStauts=2');
|
}else{
|
alert('当前为详情页,不用跳转!');
|
}
|
}); */
|
|
var menuItems = [{
|
txt: '实时-监测数据',cla: 'menu-control'
|
}];
|
|
eleTd.on('mousedown', 'tr',function(e) {
|
// 判断是否为右键
|
if(e.which == 3) {
|
var disX = (e || event).clientX + 10; //获取鼠标点击的横坐标
|
var disY = (e || event).clientY + 10; // 获取鼠标点击的纵坐标
|
var trData = $(this).data('attr');
|
menuItems[0].data = trData;
|
//console.log(trData);
|
rightMenu.showMenu(menuItems, disX, disY);
|
}
|
});
|
|
// 点击实时-监测数据跳转
|
$('body').on('click', '.menu-control', function() {
|
var _data = $(this).data('data');
|
//console.log(_data);
|
var province = _data.stationName1;
|
var city = _data.stationName2;
|
var county = _data.stationName5;
|
var home = _data.stationName;
|
|
var url = skipUrl('control.jsp',province,city,county,home);
|
window.open(url);
|
});
|
|
//查询当前用户管理的BTS正在处于核容测试的设备记录
|
function searchNuclear_cap(){
|
$.ajax({
|
type:"post",
|
url: "Fbs9100_stateAction_action_seachNuclear_cap",
|
async:true,
|
dataType:'json',
|
data:null,
|
success: function(data){
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
if(model.code == 1){
|
$('#nuclear_test .num').text(model.data.length);
|
if(model.data.length != 0) {
|
if(!$('#navNuclearTest').hasClass('hide') || isNew) {
|
createTblByModel(model);
|
}
|
isNew=false;
|
}
|
}else {
|
$('#nuclear_test .num').text(0);
|
createFullTbl(eleTh, eleTd, arrTh, []);
|
}
|
},
|
error:function(){
|
createFullTbl(eleTh, eleTd, arrTh, []);
|
}
|
});
|
}
|
|
|
// 根据数据生成表格
|
function createTblByModel(model) {
|
//console.log(model);
|
arrTd = [];
|
for(var i=0; i<model.data.length; i++) {
|
var data = model.data[i];
|
arrTd.push(data.stationName); // 机房名称
|
arrTd.push(data.dev_id); // 设备ID
|
arrTd.push(data.deviceName); // 设备名称
|
arrTd.push(getStateByArray(data.dev_workstate,BTS_workstates)); // 设备名称
|
arrTd.push(data.dev_captest_onlinevol); // 在线电压
|
arrTd.push(data.dev_captest_groupvol); // 组端电压
|
arrTd.push(data.dev_captest_curr); // 组端电流
|
arrTd.push(data.dev_temp); // 设备温度
|
arrTd.push(data.dev_captest_cap); // 已测容量
|
arrTd.push(getStateByArray(data.dev_alarmstate,BTS_alarmstates)); // 设备告警
|
arrTd.push(formatSeconds(data.dev_captest_timelong)); // 已测时间
|
}
|
createFullTbl(eleTh, eleTd, arrTh, arrTd);
|
|
// 给每一行添加数据
|
var trList = eleTd.find('tbody tr');
|
// 遍历内容给tr添加attr
|
for(var i=0; i<model.data.length; i++) {
|
trList.eq(i).data('attr', model.data[i]);
|
}
|
|
// 根据告警值设置温度,k1电阻,导通压降的字体颜色
|
/* var trList = eleTd.find('tbody tr');
|
for(var i=0; i<model.data.length; i++) {
|
var alarms = model.data[i].dev_61850alarms.split(','); // ['k1电阻', '通讯', '温度', '导通压降']
|
|
// 温度告警
|
if(alarms[2] == 'true') {
|
trList.eq(i).find('td').eq(7).addClass('red');
|
}
|
} */
|
}
|
|
//根据状态获取设备的状态
|
function getStateByArray(state,statearr){
|
var str = "未知";
|
if(statearr && state < statearr.length){
|
str = statearr[state];
|
}
|
return str;
|
}
|
|
// 获取告警参数
|
function getAlarmsText(alarms) {
|
var _alarms = alarms.split(',');
|
var str = '';
|
for(var i=0; i<_alarms.length; i++) {
|
if(_alarms[i] == 'true') {
|
str += dev61850Alarms[i];
|
}
|
}
|
if(str.length == 0) {
|
str = '无';
|
}
|
return str;
|
}
|
});
|
|
/**
|
检测服务器连接是否正常
|
程序功能: 通过请求后台程序如果三次都请求失败认为服务器挂掉,跳转到登陆页面
|
*/
|
;(function ($) {
|
var url = window.location.href;
|
var loginPatt = /\/login.jsp/;
|
|
// 判断当前页面不是登陆页面开始执行检测服务器状态
|
if(!loginPatt.test(url)) {
|
//checkServer();
|
}
|
|
var linkNum = 0; // 测试服务器连接计数 =3 跳转到登陆页面
|
function checkServer() {
|
$.ajax({
|
url:'User_infAction!checkService',
|
type: 'post',
|
async: true,
|
success: function(rs) {
|
linkNum = 0; // 初始化测试连接
|
setTimeout(checkServer, 200);
|
},
|
error:function() {
|
// 网络连接不正常
|
if(!navigator.onLine) {
|
linkNum = 0;
|
setTimeout(checkServer, 200);
|
}else{
|
linkNum++;
|
// 服务器连接不正常
|
if(linkNum == 3) {
|
console.info('出现第'+linkNum+"次测试服务器连接失败!跳转到登陆");
|
// 网络正常但服务器连续多次检测不正常跳转到登陆页面
|
alert('网络连接异常,请检查网络连接是否正常!');
|
window.location.replace("login.jsp");
|
}else {
|
console.info('出现第'+linkNum+"次测试服务器连接失败!");
|
checkServer();
|
}
|
}
|
}
|
});
|
}
|
})(jQuery);
|
|
// 监测后台session是否存判断当前用户连接是否合法
|
;(function ($) {
|
var url = window.location.href;
|
var loginPatt = /\/login.jsp/;
|
|
// 判断当前页面不是登陆页面开始执行检测服务器状态
|
if(!loginPatt.test(url)) {
|
checkServer();
|
}
|
|
var linkNum = 0; // 测试服务器连接计数 =3 跳转到登陆页面
|
function checkServer() {
|
$.ajax({
|
url:'LoginAction_check',
|
type: 'post',
|
async: true,
|
success: function(res) {
|
//console.log(res);
|
var rs = JSON.parse(res.result);
|
if(rs.code==0) {
|
linkNum = 0; // 初始化测试连接
|
setTimeout(checkServer, 100);
|
}else {
|
alert(rs.msg);
|
window.location.replace("login.jsp");
|
}
|
|
},
|
error: function() {
|
// 网络连接不正常
|
if(!navigator.onLine) {
|
linkNum = 0;
|
setTimeout(checkServer, 100);
|
}else{
|
linkNum++;
|
// 服务器连接不正常
|
if(linkNum == 3) {
|
console.info('出现第'+linkNum+"次测试服务器连接失败!跳转到登陆");
|
// 网络正常但服务器连续多次检测不正常跳转到登陆页面
|
alert('网络连接异常,请检查网络连接是否正常!');
|
window.location.replace("login.jsp");
|
}else {
|
console.info('出现第'+linkNum+"次测试服务器连接失败!");
|
checkServer();
|
}
|
}
|
}
|
});
|
}
|
})(jQuery);
|
|
// 设置页面是否为全屏显示
|
;(function($, window, document, undefined){
|
//判断是否全屏
|
function isFull() {
|
var fullscreenElement =
|
document.fullscreenEnabled
|
|| document.mozFullscreenElement
|
|| document.webkitFullscreenElement;
|
var fullscreenEnabled =
|
document.fullscreenEnabled
|
|| document.mozFullscreenEnabled
|
|| document.webkitFullscreenEnabled;
|
if (fullscreenElement == null)
|
{
|
return false;
|
} else {
|
return true;
|
}
|
}
|
|
// 全屏
|
function fullScreen() {
|
if(document.documentElement.RequestFullScreen){
|
document.documentElement.RequestFullScreen();
|
}
|
//兼容火狐
|
if(document.documentElement.mozRequestFullScreen){
|
document.documentElement.mozRequestFullScreen();
|
}
|
//兼容谷歌等可以webkitRequestFullScreen也可以webkitRequestFullscreen
|
if(document.documentElement.webkitRequestFullScreen){
|
document.documentElement.webkitRequestFullScreen();
|
}
|
//兼容IE,只能写msRequestFullscreen
|
if(document.documentElement.msRequestFullscreen){
|
document.documentElement.msRequestFullscreen();
|
}
|
}
|
|
// 关闭全屏
|
function exitFullScreen() {
|
if(document.exitFullScreen){
|
document.exitFullscreen()
|
}
|
//兼容火狐
|
if(document.mozCancelFullScreen){
|
document.mozCancelFullScreen()
|
}
|
//兼容谷歌等
|
if(document.webkitExitFullscreen){
|
document.webkitExitFullscreen()
|
}
|
//兼容IE
|
if(document.msExitFullscreen){
|
document.msExitFullscreen()
|
}
|
}
|
|
$('.cell-list.full-screen-top').click(function() {
|
if($(this).hasClass('close-full-screen')) {
|
exitFullScreen();
|
}else {
|
fullScreen();
|
}
|
$(this).toggleClass('close-full-screen')
|
});
|
})(jQuery, window, document);
|
</script>
|
</html>
|