<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
%>
|
<%@ taglib uri="/struts-tags" prefix="s"%>
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<!-- 默认使用最高内核 -->
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
|
<base href="<%=basePath%>">
|
<title><s:text name="Station_statestatistical"/></title> <!-- 机房状态统计查询 -->
|
<link rel="stylesheet" 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/basic-layout.css"/>
|
<link rel="stylesheet" href="css/sidebar.css" />
|
<link rel="stylesheet" href="css/confirm.css" />
|
<link rel="stylesheet" href="src/css/layui.css" />
|
<link rel="stylesheet" href="pages/css/mylayui.css">
|
<style type="text/css">
|
.b8cfe5 {
|
background-color: #b8cfe5 !important;
|
}
|
.filter-container .filter-content th {
|
text-align: center;
|
}
|
</style>
|
</head>
|
|
<body>
|
<!--头部内容开始-->
|
<jsp:include page="Top.jsp" flush="true"/>
|
<!--头部内容结束-->
|
<!--导航开始-->
|
<jsp:include page="nav.jsp" flush="true"/>
|
<div class="filter-container">
|
<div class="filter-title"><a href="javascript:;"><s:text name="Station_statestatistical"/>--><s:text name="Show/hide_the_query_conditions"/></a></div>
|
<div class="filter-content">
|
<table>
|
<tbody>
|
<tr>
|
<th>省</th> <!-- 省 -->
|
<th>市</th> <!-- 市 -->
|
<th>区/县</th> <!-- 区/县 -->
|
<th><s:text name="Computer_site"/></th> <!-- 机房站点 -->
|
|
<th colspan="2" style="width: 30%;">时间</th> <!-- 开始告警日期 -->
|
<th>统计方式</th>
|
</tr>
|
<tr>
|
<td>
|
<select name="" id="station_name1"></select>
|
</td>
|
<td>
|
<select name="" id="city"></select>
|
</td>
|
<td>
|
<select name="" id="county"></select>
|
</td>
|
<td>
|
<select name="" id="station_name3"></select>
|
</td>
|
<td><input type="text" id="startalm" readonly="readonly" name="bmd.adata.alm_start_time" value="2000-1-1" /></td>
|
<td><input type="text" id="endTalm" readonly="readonly" name="bmd.adata.alm_start_time1" /></td>
|
<td>
|
<select id="statistics">
|
<option value=3>按年统计</option>
|
<option value=1>按月统计</option>
|
</select>
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
<table class="condi-opt">
|
<tr>
|
<input type="hidden" id="ALM_TYPE_BTS9100S_POFF_ComError" name="" value=2 class="" /> <!-- 停电 -->
|
<input type="hidden" id="ALM_TYPE_BTS9100S_XUHANG_ComError" name="" value=4 class=""> <!-- 掉站 -->
|
<input type="hidden" id="ALM_TYPE_BTS9100S_FADIAN_ComError" name="" value=8 class="" /> <!-- 发电 -->
|
<input type="hidden" id="ALM_TYPE_BTS9100S_DOOROPEN_ComError" name="" value=16 class="" >
|
<input type="hidden" id="ALM_TYPE_BTS9100S_DIAOZHAN_ComError" name="" value=32 class=""> <!-- 掉站 -->
|
<!-- 开门,开关电源异常 -->
|
|
<input type="hidden" id="ALM_TYPE_BTS9100S_TEMPUP_ComError" name="" value="" class="">
|
<input type="hidden" id="ALM_TYPE_BTS9100S_TEMPLOW_ComError" name="" value="" class=""> <!-- 温度异常 -->
|
<input type="hidden" id="ALM_TYPE_BTS9100S_DAMPUP_ComError" name="" value="" class="">
|
<input type="hidden" id="ALM_TYPE_BTS9100S_DAMPLOW_ComError" name="" value="" class=""> <!-- 湿度异常 -->
|
</tr>
|
</table>
|
</div>
|
</div>
|
<!-- 导出表格数据的表单 -->
|
<form id="export_excel" action="ExportTable.servlet" method="post">
|
<input type="hidden" name="PageName" value="eleHistoryWarn.jsp"/>
|
<input type="hidden" id="table_th_arr" name="table_th_arr"/>
|
<input type="hidden" id="table_td_arr" name="table_td_arr"/>
|
</form>
|
<div style="width: 100%;overflow:hidden;">
|
<table id="eleInfoTbl" lay-filter="eleInfoTbl"></table>
|
</div>
|
|
<div class="data-footer">
|
<!-- 分页内容 -->
|
<div id="paging">
|
<a href="javascript:" class="search"><s:text name="Search"/></a> <!-- 查询 -->
|
<a href="javascript:" id="export_table"><s:text name="Export"/></a> <!-- 导出 -->
|
<span id="current">1/1</span>
|
<span><s:text name="Each_page"/><!-- 每页 --><input type="text" id="number" value="10"/><s:text name="Item"/><!-- 条 --></span>
|
<s:text name="Total_data"/><!-- 数据总量 --><span id="total">0</span>
|
<a href="javascript:" id="home"><s:text name="HomePage"/><!-- 首页 --></a>
|
<a href="javascript:" id="pre"><s:text name="Page_Up"/><!-- 上一页 --></a>
|
<a href="javascript:" id="next_p"><s:text name="Page_Down"/><!-- 下一页 --></a>
|
<a href="javascript:" id="last"><s:text name="End_Page"/><!-- 尾页 --></a>
|
<span id="cont">
|
<s:text name="Goto"/><!-- 转到 --><input type="text" id="page_num" value="1"/>
|
<a href="javascript:" id="go"><s:text name="Jump"/><!-- 跳转 --></a>
|
</span>
|
</div>
|
</div>
|
<div id="details"></div>
|
<div id="detailsOpts"></div>
|
<script type="text/javascript" src="jqueryui/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="js/equip-stats-change.jquery.ui.js"></script>
|
<script type="text/javascript" src="js/eleHistWarn1-jquery.ui.js"></script>
|
<script type="text/javascript" src="js/basic-layout.js"></script>
|
<script type="text/javascript" src="js/sidebar.js"></script>
|
<script type="text/javascript" src="js/rightmenu.js"></script>
|
<script type="text/javascript" src="js/myConfirm.js"></script>
|
<script type="text/javascript" src="js/myinterval.js"></script>
|
<script type="text/javascript" src="js/pageUtil.js"></script>
|
<script type="text/javascript" src="src/layui.js"></script>
|
<script type="text/html" id="toolBar">
|
<a class="layui-btn layui-btn-xs" lay-event="details">详情</a>
|
</script>
|
<script type="text/javascript">
|
var permits;
|
<% Object obj=session.getAttribute("permits");
|
if(obj!=null){
|
String permits =obj.toString(); %>
|
permits=<%=permits%>;
|
//console.info(json);
|
<% } %>
|
// 应用layui框架
|
layui.use(['layer', 'table', 'form', 'laytpl', 'element'],function() {
|
var layer = layui.layer // 获取layer模块
|
,table = layui.table // 获取table模块
|
,form = layui.form;
|
// 表格数据配置项
|
var tOptions = {
|
elem: '#eleInfoTbl'
|
,toolbar: false
|
,defaultToolbar: ['exports', 'filter']
|
,cellMinWidth: 80
|
,cols: [[
|
{field:'note', title:'告警时间段', align:'center',width:380}
|
,{field:'stationName', title:'机房名称', align:'center',width:450}
|
,{field:'station_event_type_poff', title:'停电次数', align:'center'}
|
,{field:'station_event_type_fadian', title:'发电次数', align:'center'}
|
,{field:'station_event_type_diaozhan', title:'掉站次数', align:'center'}
|
,{field:'station_event_type_dooropen', title:'开门异常次数', align:'center'}
|
,{field:'station_event_type_xuhang', title:'续航次数', align:'center'}
|
,{field:'station_event_type_tempup', title:'温度上限告警', align:'center'}
|
,{field:'station_event_type_templow', title:'温度下限告警', align:'center'}
|
,{field:'station_event_type_dampup', title:'湿度上限告警', align:'center'}
|
,{field:'station_event_type_damplow', title:'湿度下限告警', align:'center'}
|
,{fixed: 'right', title:'详情', toolbar: '#toolBar', width: 70}
|
]]
|
,data:[]
|
,page: false
|
,height: 'full-280'
|
};
|
|
// 生成表格数据
|
table.render(tOptions);
|
|
// 点击表格工具栏详情
|
table.on('tool(eleInfoTbl)', function(obj) {
|
//details
|
var event = obj.event;
|
switch(event) {
|
case 'details':
|
var param = getSearchOpts(obj.data);
|
searchStationHistRecord(param);
|
//console.log(obj.data);
|
break;
|
}
|
});
|
|
//查询基站详情
|
function searchStationHistRecord(param){
|
// 将param添加到#detailsOpts
|
$('#detailsOpts').data('data', param);
|
|
// 请求获取当前省下的市
|
$.ajax({
|
type: "post",
|
url: "Bts_station_eventAction!serchByInfo",
|
async:true,
|
dataType:'json',
|
data:"json = "+JSON.stringify(param),
|
success: function(data){
|
var rs = JSON.parse(data.result);
|
//console.info(rs);
|
if(rs.code == 1) {
|
$('#details').data('data', rs.data);
|
var txt = param.stationname;
|
// 显示面板
|
layer.open({
|
type: 2,
|
title: txt+'<span style="font-weight:bold">>>详情</span>',
|
area: ['1200px', '500px'],
|
fixed: false, //不固定
|
maxmin: true,
|
content: 'iframe/batt-state-statistical-details.html'
|
});
|
}else {
|
layer.msg(rs.msg);
|
}
|
}
|
});
|
}
|
|
// 构造查询详情条件
|
function getSearchOpts(data) {
|
var timearr = data.note.split('~');
|
var param = {
|
stationname: data.stationName,
|
dev_id:data.dev_id,
|
record_datetime:timearr[0],
|
record_datetime_end:timearr[1],
|
station_event_type:0, //1:基站停电 2:基站续航 3:基站发电 4:基站开门 5:基站掉站 6:基站温度上限 7:基站温度下限 8:基站湿度上限 9:基站湿度下限
|
|
page:{
|
pageSize:10, //每页的行数
|
pageCurr:1 //当前页码数
|
}
|
};
|
|
return param;
|
}
|
|
// 查询内容
|
function serachBattStatistical(){
|
var temp = createSearchForm();
|
var json = JSON.stringify(temp);
|
var load = layer.load(1);
|
$.ajax({
|
type:"post",
|
url:"Bts_station_eventAction!serchByCondition",
|
async:true,
|
dataType:'json',
|
data:"json="+json,
|
success:function(data){
|
console.info(data);
|
var data=JSON.parse(data.result);
|
if(data.code==1&&data!=null){
|
console.log(data.data);
|
tOptions.data = data.data;
|
}else {
|
tOptions.data = [];
|
}
|
layer.close(load);
|
table.render(tOptions);
|
}
|
})
|
}
|
|
// 构造查询条件
|
function createSearchForm(){
|
var stationid = $('#station_name3').find("option:selected").attr('Stationid');
|
var temp={
|
StationName1:$('#station_name1').val(), // 省
|
StationName2:$('#city').val(),
|
StationName5:$('#county').val(), // 市
|
StationName3:$('#station_name3').val(), //机房名称
|
StationId: stationid?stationid:0,
|
BattInUseDate:$('#startalm').val()+" 00:00:00",
|
BattInUseDate1:$('#endTalm').val()+" 23:59:59",
|
BattGroupNum:$('#statistics').val(),
|
};
|
//console.info(temp);
|
return temp;
|
}
|
|
|
//点击查询按钮
|
$('#paging .search').click(function(){
|
serachBattStatistical();
|
});
|
|
// 点击导出按钮
|
$('#export_table').click(function() {
|
var thead = [
|
'告警时间段', '机房名称', '停电次数', '发电次数', '掉站次数', '开门异常次数',
|
'续航次数', '温度上限告警', '温度下限告警','湿度上限告警', '湿度下限告警'
|
];
|
var tbody = getExportData(tOptions.data);
|
if(tbody.length == 0) {
|
layer.msg('没有数据导出!!!');
|
return;
|
}
|
// 弹出导出框
|
layer.open(
|
{
|
title: '导出表格'
|
,icon: '6'
|
,btn:['导出xls', '导出csv', '取消']
|
,content: '选择导出格式'
|
,yes: function(index) {
|
table.exportFile(thead, tbody, 'xls');
|
layer.close(index);
|
}
|
,btn2: function(index) {
|
table.exportFile(thead, tbody, 'cvs');
|
layer.close(index);
|
}
|
}
|
);
|
});
|
|
// 获取导出表格内容数组
|
function getExportData(data) {
|
var rs = [];
|
// 循环遍历获取数据
|
for(var i=0;i<data.length;i++) {
|
var _data = data[i];
|
var tmp = [];
|
tmp.push(_data.note); // 告警时间段
|
tmp.push(_data.stationName); // 机房名称
|
tmp.push(_data.station_event_type_poff); // 停电次数
|
tmp.push(_data.station_event_type_fadian); // 发电次数
|
tmp.push(_data.station_event_type_diaozhan); // 掉站次数
|
tmp.push(_data.station_event_type_dooropen); // 开门次数
|
tmp.push(_data.station_event_type_xuhang); // 续航次数
|
tmp.push(_data.station_event_type_tempup); // 温度上限
|
tmp.push(_data.station_event_type_templow); // 温度下限
|
tmp.push(_data.station_event_type_dampup); // 湿度上限
|
tmp.push(_data.station_event_type_damplow); // 湿度下限
|
|
rs.push(tmp);
|
}
|
|
return rs;
|
}
|
|
|
// 省-市-机房-电池组
|
var filterLoad = layer.load();
|
$.post("User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup",null,function(data){
|
data=data.result;
|
data=eval("("+data+")");
|
//console.info(data);
|
if(data.code==1 && data.data.length>0){
|
var $select = $("#station_name1");
|
$select.text('');
|
for(var i=0;i<=data.data.length;i++){
|
$option=$("<option></option>");
|
if(i==0){
|
$option.html("<s:text name='All'/>(<s:text name='Common'/>"+data.data.length+"<s:text name='Species'/>)");
|
$option.attr("value", "");
|
}else{
|
$option.text(data.data[i-1]);
|
$option.attr("value",data.data[i-1]);
|
}
|
$select.append($option);
|
}
|
}else{
|
$("#station_name1").text('').html('<option>暂无管理的维护区</option>');
|
}
|
findCity();
|
});
|
|
function findCity(isLoad) {
|
var data = {
|
StationName1: $("#station_name1").val()
|
};
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
// 请求获取当前省下的市
|
$.ajax({
|
type: "post",
|
url: "BattInfAction!serchStationName2",
|
async:true,
|
dataType:'json',
|
data:"json = "+JSON.stringify(data),
|
success: function(data){
|
var rs = JSON.parse(data.result);
|
var $select = $("#city");
|
if(rs.code == 1) {
|
var _data= rs.data;
|
// 根据数据构造生成下拉列表的数据
|
var optsList = [];
|
for(var i=0;i<_data.length;i++){
|
var __data = _data[i];
|
var tmp = getOptionsData(__data.StationName2, __data.StationName2, __data);
|
optsList.push(tmp);
|
}
|
// 根据数据生成下拉列表
|
createOptions($select, optsList, true);
|
}else {
|
$select.text('').html('<option>暂无可测市</option>');
|
}
|
findCounty();
|
}
|
});
|
}
|
|
// 查询区/县
|
function findCounty(isLoad) {
|
var tmp = {
|
StationName1:$("#station_name1").val(),
|
StationName2:$("#city").val(),
|
};
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
// 查询区县
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: "BattInfAction!serchStationName5",
|
data: "json="+JSON.stringify(tmp),
|
success:function(data) {
|
var rs = JSON.parse(data.result);
|
var $select = $("#county");
|
if(rs.code==1){
|
var _data = rs.data;
|
// 根据数据构造生成下拉列表的数据
|
var optsList = [];
|
for(var i=0;i<_data.length;i++){
|
var __data = _data[i];
|
var _attr = {
|
StationId: __data.StationId
|
};
|
var tmp = getOptionsData(__data.StationName5, __data.StationName5, __data, _attr);
|
optsList.push(tmp);
|
}
|
|
// 根据数据生成下拉列表
|
createOptions($select, optsList, true);
|
}else{
|
$select.text('').html('<option>暂无可测机房站点</option>');
|
}
|
findStationNamebyStationname1();
|
}
|
});
|
}
|
|
//当维护区的值变换时更新市
|
$('#station_name1').change(function(){
|
findCity();
|
});
|
//当维护区的值变换时更新机房站点
|
$('#city').change(function(){
|
findCounty();
|
});
|
//当区/县的值变换时更新机房站点
|
$('#county').change(function(){
|
findStationNamebyStationname1(true);
|
});
|
|
//根据省,市查询站点
|
function findStationNamebyStationname1(isLoad){
|
var tmp = {
|
StationName1:$("#station_name1").val(),
|
StationName2:$("#city").val(),
|
StationName5:$("#county").val()
|
};
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
//var selectvalue=$("#station_name1 option:selected").val();
|
//alert(selectvalue);
|
$.post("BattInfAction!serchStationName3","json="+JSON.stringify(tmp),function(data){
|
var rs = JSON.parse(data.result);
|
if(rs.code==1){
|
var _data = rs.data;
|
var $select = $("#station_name3");
|
// 根据数据构造生成下拉列表的数据
|
var optsList = [];
|
for(var i=0;i<_data.length;i++){
|
var __data = _data[i];
|
var _attr = {
|
StationId: __data.StationId
|
};
|
var tmp = getOptionsData(__data.StationName3, __data.StationName3, __data, _attr);
|
optsList.push(tmp);
|
}
|
|
// 根据数据生成下拉列表
|
createOptions($select, optsList, true);
|
}else{
|
$("#station_name3").text('').html('<option>暂无可测机房站点</option>');
|
}
|
|
layer.close(filterLoad);
|
});
|
}
|
});
|
</script>
|
</body>
|
</html>
|