| | |
| | | <%@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="pragma" content="no-cache">
|
| | | <meta http-equiv="cache-control" content="no-cache">
|
| | | <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='Computer_room'/><s:text name='Power_cut'/><s:text name='Num'/>:<a href="powercut.jsp?power_state=0" class="badge default" id="poweroff_num">0</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">0</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">0</a></div> <!-- 设备告警数 -->
|
| | | </div>
|
| | | <div class="list">
|
| | | <div class="list-contain"><s:text name="Capacity"/><s:text name="Behind_number_monomer"/>:<a href="taskplan.jsp" class="badge default" id="batt_low_num">0</a></div> <!-- 落后单体数 -->
|
| | | </div>
|
| | | <c:forEach var="cust" items="${sessionScope.custompages}">
|
| | | <c:if test="${cust.submenu eq 'Discharge_plan_manage' && cust.subflag eq 1}">
|
| | | <div class="list">
|
| | | <div class="list-contain"><s:text name="Unfinished"/><s:text name="Discharge_plan"/><s:text name="Num"/>:<a href="dischargeplan.jsp?discharge-state=0" class="badge default" id="discharge_plan_num">0</a></div> <!-- 未完成放电计划数 -->
|
| | | </div>
|
| | | </c:if>
|
| | | </c:forEach>
|
| | | <div class="list">
|
| | | <div class="list-contain">
|
| | | 核容测试设备:<a href="javascript:void(0);" class="badge default" id="nuclear_test">0</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">
|
| | | <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>
|
| | | <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">
|
| | | <i class="fa fa-file-text-o mr10" title="更多详情"></i>
|
| | | <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 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">
|
| | | $(document).ready(function(){
|
| | | setUserName();
|
| | | |
| | | 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(); //查询电池告警总数
|
| | | searchlowmon(); //查询落后单体总数
|
| | | searchpoweroff(); //查询机房停电总数
|
| | | searchdevalarm(); //查询设备实时告警总数
|
| | | searchnotcomplan(); //查询未放电的计划总数
|
| | | |
| | | /* setInterval(function(){
|
| | | searchlowmon(); //查询落后单体总数
|
| | | searchpoweroff(); //查询机房停电总数
|
| | | searchdevalarm(); //查询设备实时告警总数
|
| | | searchnotcomplan(); //查询未放电的计划总数
|
| | | },5000); */
|
| | | |
| | | // 阻止键盘的backspace后退事件
|
| | | document.onkeypress = banBackSpace;
|
| | | //对功能按键的获取
|
| | | document.onkeydown = banBackSpace;
|
| | | });
|
| | | var alarm_string = '<s:text name="Alarm" />'; //告警
|
| | | var change_string= '<s:text name="Change" />'; //更换
|
| | | var avg_string = '<s:text name="Average" />'; //平均值
|
| | | |
| | | //查询落后单体总数
|
| | | function searchlowmon(){
|
| | | $.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').text(model.sum);
|
| | | setTimeout(searchlowmon, 5000);
|
| | | },
|
| | | error:function() {
|
| | | setTimeout(searchlowmon, 5000);
|
| | | } |
| | | }); |
| | | }
|
| | | |
| | | //查询机房停电总数
|
| | | function searchpoweroff(){
|
| | | $.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').text(model.sum);
|
| | | setTimeout(searchpoweroff, 5000);
|
| | | },
|
| | | error:function() {
|
| | | setTimeout(searchpoweroff, 5000);
|
| | | } |
| | | }); |
| | | }
|
| | | |
| | | //查询设备告警总数
|
| | | function searchdevalarm(){
|
| | | $.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').text(model.sum);
|
| | | setTimeout(searchdevalarm, 5000);
|
| | | },
|
| | | error:function() {
|
| | | setTimeout(searchdevalarm, 5000);
|
| | | } |
| | | });
|
| | | }
|
| | | |
| | | //查询放电计划延迟总数
|
| | | function searchnotcomplan(){
|
| | | $.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(){
|
| | | $.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();
|
| | | //addWeather();
|
| | | });
|
| | |
|
| | | // 限制显示个数
|
| | | 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(){
|
| | | $.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;
|
| | | }
|
| | | |
| | | // 监测当前的告警信息是否为最新的告警
|
| | | 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?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId);
|
| | | }else{
|
| | | //历史告警
|
| | | window.open("eleHistoryWarn.jsp?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId);
|
| | | }
|
| | | }else{
|
| | | alert("该告警已经被删除");
|
| | | } |
| | | } |
| | | });
|
| | | }
|
| | | |
| | | //查询电池告警信息
|
| | | 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");
|
| | | }else{
|
| | | window.open("equipHistWarn1.jsp?stationId="+obj.stationId);
|
| | | }
|
| | | }else{
|
| | | alert("该告警已经被删除");
|
| | | } |
| | | } |
| | | });
|
| | | }
|
| | | |
| | | // 核容测试模块
|
| | | $(function() {
|
| | | var arrTh = ['机房名称', '设备ID', '设备名称','设备状态', '在线电压(V)', '组端电压(V)', '组端电流(mA)','设备温度(℃)', '已测容量(AH)', '设备告警', '已测时间'];
|
| | | var arrTd = [];
|
| | | var eleTh = $('#navNuclearTest-data .nuclearTest-tbl-header');
|
| | | var eleTd = $('#navNuclearTest-data .nuclearTest-tbl-body');
|
| | | var timer = new GLOBAL.Timer.timer({
|
| | | fun:search61850Nuclear_cap,
|
| | | times: 4000
|
| | | });
|
| | | var isNew = true;
|
| | | var dev61850Alarms = GLOBAL.DEV61850.alarmstates;
|
| | | var dev61850Work = GLOBAL.DEV61850.workstates;
|
| | | |
| | | 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('当前为详情页,不用跳转!');
|
| | | }
|
| | | });
|
| | | //查询当前用户管理的61850正在处于核容测试的设备记录
|
| | | function search61850Nuclear_cap(){
|
| | | $.ajax({ |
| | | type:"post", |
| | | url: "Fbs9100_stateAction_action_seach6185Nuclear_cap", |
| | | async:true, |
| | | dataType:'json',
|
| | | data:null, |
| | | success: function(data){ |
| | | var model = eval('('+data.result+')');
|
| | | if(model.code == 1){
|
| | | $('#nuclear_test').text(model.data.length);
|
| | | if(model.data.length != 0) {
|
| | | if(!$('#navNuclearTest').hasClass('hide') || isNew) {
|
| | | createTblByModel(model);
|
| | | }
|
| | | isNew=false;
|
| | | }
|
| | | }else {
|
| | | $('#nuclear_test').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(dev61850Work[data.dev_workstate]); // 设备名称
|
| | | 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(getAlarmsText(data.dev_61850alarms)); // 设备告警
|
| | | arrTd.push(formatSeconds(data.num)); // 已测时间
|
| | | }
|
| | | createFullTbl(eleTh, eleTd, arrTh, arrTd);
|
| | | |
| | | // 根据告警值设置温度,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 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;
|
| | | }
|
| | | });
|
| | | </script>
|
| | | </html>
|
| | | <%@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="pragma" content="no-cache"> |
| | | <meta http-equiv="cache-control" content="no-cache"> |
| | | <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='Computer_room'/><s:text name='Power_cut'/><s:text name='Num'/>:<a href="powercut.jsp?power_state=0" class="badge default" id="poweroff_num">0</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">0</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">0</a></div> <!-- 设备告警数 --> |
| | | </div> |
| | | <div class="list"> |
| | | <div class="list-contain"><s:text name="Capacity"/><s:text name="Behind_number_monomer"/>:<a href="taskplan.jsp" class="badge default" id="batt_low_num">0</a></div> <!-- 落后单体数 --> |
| | | </div> |
| | | <c:forEach var="cust" items="${sessionScope.custompages}"> |
| | | <c:if test="${cust.submenu eq 'Discharge_plan_manage' && cust.subflag eq 1}"> |
| | | <div class="list"> |
| | | <div class="list-contain"><s:text name="Unfinished"/><s:text name="Discharge_plan"/><s:text name="Num"/>:<a href="dischargeplan.jsp?discharge-state=0" class="badge default" id="discharge_plan_num">0</a></div> <!-- 未完成放电计划数 --> |
| | | </div> |
| | | </c:if> |
| | | </c:forEach> |
| | | <div class="list"> |
| | | <div class="list-contain"> |
| | | 核容测试设备:<a href="javascript:void(0);" class="badge default" id="nuclear_test">0</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"> |
| | | <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> |
| | | <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"> |
| | | <i class="fa fa-file-text-o mr10" title="更多详情"></i> |
| | | <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 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"> |
| | | $(document).ready(function(){ |
| | | setUserName(); |
| | | |
| | | 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(); //查询电池告警总数 |
| | | searchlowmon(); //查询落后单体总数 |
| | | searchpoweroff(); //查询机房停电总数 |
| | | searchdevalarm(); //查询设备实时告警总数 |
| | | searchnotcomplan(); //查询未放电的计划总数 |
| | | |
| | | /* setInterval(function(){ |
| | | searchlowmon(); //查询落后单体总数 |
| | | searchpoweroff(); //查询机房停电总数 |
| | | searchdevalarm(); //查询设备实时告警总数 |
| | | searchnotcomplan(); //查询未放电的计划总数 |
| | | },5000); */ |
| | | |
| | | // 阻止键盘的backspace后退事件 |
| | | document.onkeypress = banBackSpace; |
| | | //对功能按键的获取 |
| | | document.onkeydown = banBackSpace; |
| | | }); |
| | | var alarm_string = '<s:text name="Alarm" />'; //告警 |
| | | var change_string= '<s:text name="Change" />'; //更换 |
| | | var avg_string = '<s:text name="Average" />'; //平均值 |
| | | |
| | | //查询落后单体总数 |
| | | function searchlowmon(){ |
| | | $.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').text(model.sum); |
| | | setTimeout(searchlowmon, 5000); |
| | | }, |
| | | error:function() { |
| | | setTimeout(searchlowmon, 5000); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //查询机房停电总数 |
| | | function searchpoweroff(){ |
| | | $.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').text(model.sum); |
| | | setTimeout(searchpoweroff, 5000); |
| | | }, |
| | | error:function() { |
| | | setTimeout(searchpoweroff, 5000); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //查询设备告警总数 |
| | | function searchdevalarm(){ |
| | | $.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').text(model.sum); |
| | | setTimeout(searchdevalarm, 5000); |
| | | }, |
| | | error:function() { |
| | | setTimeout(searchdevalarm, 5000); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //查询放电计划延迟总数 |
| | | function searchnotcomplan(){ |
| | | $.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(){ |
| | | $.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(); |
| | | //addWeather(); |
| | | }); |
| | | |
| | | // 限制显示个数 |
| | | 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(){ |
| | | $.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; |
| | | } |
| | | |
| | | // 监测当前的告警信息是否为最新的告警 |
| | | 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?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId); |
| | | }else{ |
| | | //历史告警 |
| | | window.open("eleHistoryWarn.jsp?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId); |
| | | } |
| | | }else{ |
| | | alert("该告警已经被删除"); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //查询电池告警信息 |
| | | 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"); |
| | | }else{ |
| | | window.open("equipHistWarn1.jsp?stationId="+obj.stationId); |
| | | } |
| | | }else{ |
| | | alert("该告警已经被删除"); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 核容测试模块 |
| | | $(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:search61850Nuclear_cap, |
| | | times: 4000 |
| | | }); |
| | | var isNew = true; |
| | | var dev61850Alarms = GLOBAL.DEV61850.alarmstates; |
| | | var dev61850Work = GLOBAL.DEV61850.workstates; |
| | | |
| | | 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('当前为详情页,不用跳转!'); |
| | | } |
| | | }); |
| | | //查询当前用户管理的61850正在处于核容测试的设备记录 |
| | | function search61850Nuclear_cap(){ |
| | | $.ajax({ |
| | | type:"post", |
| | | url: "Fbs9100_stateAction_action_seach6185Nuclear_cap", |
| | | async:true, |
| | | dataType:'json', |
| | | data:null, |
| | | success: function(data){ |
| | | var model = eval('('+data.result+')'); |
| | | if(model.code == 1){ |
| | | $('#nuclear_test').text(model.data.length); |
| | | if(model.data.length != 0) { |
| | | if(!$('#navNuclearTest').hasClass('hide') || isNew) { |
| | | createTblByModel(model); |
| | | } |
| | | isNew=false; |
| | | } |
| | | }else { |
| | | $('#nuclear_test').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(dev61850Work[data.dev_workstate]); // 设备名称 |
| | | 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(getAlarmsText(data.dev_61850alarms)); // 设备告警 |
| | | arrTd.push(formatSeconds(data.num)); // 已测时间 |
| | | } |
| | | createFullTbl(eleTh, eleTd, arrTh, arrTd); |
| | | |
| | | // 根据告警值设置温度,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 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; |
| | | } |
| | | }); |
| | | </script> |
| | | </html> |