| | |
| | | <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="batt-state-manage.jsp" class="badge default" id="poweroff_num">0</a></div> <!-- 机房停电数 -->
|
| | | <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">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> <!-- 电池告警数 -->
|
| | |
| | | </c:forEach>
|
| | | <div class="list">
|
| | | <div class="list-contain">
|
| | | 核容测试设备:<a href="javascript:void(0);" class="badge default" id="nuclear_test">0</a>
|
| | | 核容测试设备数:<a href="javascript:void(0);" class="badge default" id="nuclear_test">0</a>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | |
| | | <div class="cell-list plan-ele">
|
| | | <img src="image/webStatus/plan_normal.gif" alt="放电计划监测线程" title="放电计划监测线程:正常">
|
| | | </div>
|
| | | <div class="cell-list break-ele">
|
| | | <div class="cell-list break-ele" style="display: none;">
|
| | | <img src="image/webStatus/break_ele_normal.gif" alt="机房停电监测线程" title="机房停电监测线程:正常">
|
| | | </div> |
| | | </div> |
| | | <div class="cell-list control">
|
| | | <img src="image/webStatus/control_normal.gif" alt="线程监控程序" title="线程监控程序运行:正常">
|
| | | </div>
|
| | |
| | | <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-file-text-o mr10" title="更多详情"></i> -->
|
| | | <i class="fa fa-close" title="关闭"></i>
|
| | | </div>
|
| | | </div>
|
| | |
| | |
|
| | | //查询电池告警信息
|
| | | function searchBattAlarm(data){
|
| | | //console.info(data);
|
| | | console.info(data);
|
| | | $.ajax({
|
| | | type:"post",
|
| | | url: "Battalarm_dataAction!serchBatt_alarm",
|
| | |
| | | var model = eval('('+data.result+')');
|
| | | if(model.code == 1){
|
| | | var obj = model.data[0];
|
| | | //console.info(obj);
|
| | | console.info(obj);
|
| | | if(obj.alm_cleared_type == 0){
|
| | | //实时告警
|
| | | window.open("elewarn.jsp?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId);
|
| | | window.open("elewarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
|
| | | }else{
|
| | | //历史告警
|
| | | window.open("eleHistoryWarn.jsp?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId);
|
| | | window.open("eleHistoryWarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
|
| | | }
|
| | | }else{
|
| | | alert("该告警已经被删除");
|
| | | alert("该告警已经恢复");
|
| | | //window.open("eleHistoryWarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
|
| | | }
|
| | | }
|
| | | });
|
| | |
| | | var obj = model.data[0];
|
| | | console.info(obj);
|
| | | if(obj.alm_cleared_type == 0){
|
| | | window.open("equipWarn1.jsp");
|
| | | window.open("equipWarn1.jsp?home="+obj.stationName);
|
| | | }else{
|
| | | window.open("equipHistWarn1.jsp?stationId="+obj.stationId);
|
| | | window.open("equipHistWarn1.jsp?home="+obj.stationName);
|
| | | }
|
| | | }else{
|
| | | alert("该告警已经被删除");
|
| | | alert("该告警已经恢复");
|
| | | }
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | //查询最近30内的设备和电池告警并播报语音
|
| | | function searchRecentlyAlarm(){
|
| | | $.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)', '组端电流(mA)','设备温度(℃)', '已测容量(AH)', '设备告警', '已测时间'];
|
| | | 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,
|
| | | 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();
|
| | | // 点击核容测试条数
|
| | |
| | | alert('当前为详情页,不用跳转!');
|
| | | }
|
| | | });
|
| | | //查询当前用户管理的61850正在处于核容测试的设备记录
|
| | | function search61850Nuclear_cap(){
|
| | | //查询当前用户管理的BTS正在处于核容测试的设备记录
|
| | | function searchNuclear_cap(){
|
| | | $.ajax({
|
| | | type:"post",
|
| | | url: "Fbs9100_stateAction_action_seach6185Nuclear_cap", |
| | | 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').text(model.data.length);
|
| | | if(model.data.length != 0) {
|
| | |
| | | }
|
| | | });
|
| | | }
|
| | | |
| | | |
| | | |
| | | //查询最近30内的设备和电池告警并播报语音
|
| | | function searchRecentlyAlarm(){
|
| | | $.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 createTblByModel(model) {
|
| | | //console.log(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)); // 已测时间
|
| | | 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);
|
| | |
|
| | | // 根据告警值设置温度,k1电阻,导通压降的字体颜色
|
| | | var trList = eleTd.find('tbody tr');
|
| | | /* 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;
|
| | | }
|
| | |
|
| | | // 获取告警参数
|
| | |
| | | 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);
|
| | | </script>
|
| | | </html>
|