<%@ 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>
|
<base href="<%=basePath%>">
|
<meta charset="UTF-8">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<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">
|
<title>机房二次下电监测</title>
|
<link rel="stylesheet" href="src/css/layui.css">
|
<link rel="stylesheet" type="text/css" href="css/basic.css" />
|
<link rel="stylesheet" href="css/common.css">
|
<link rel="stylesheet" href="pages/css/common.css">
|
<link rel="stylesheet" href="pages/css/mylayui.css">
|
</head>
|
<body>
|
<!--头部内容开始-->
|
<jsp:include page="Top.jsp" flush="true"/>
|
<!--头部内容结束-->
|
<!--导航开始-->
|
<jsp:include page="nav.jsp" flush="true"/>
|
<!-- 主体内容 -->
|
<div class="whyc-page-layui-main"> <!-- 最外层控制位置 -->
|
<div class="whyc-page-layui-content-container">
|
<div class="whyc-page-layui-content" style="background-color: pink">
|
<div class="tbl-container">
|
<div class="tbl-filter">
|
<div class="layui-form layui-form-pane" lay-filter="tblFilter">
|
<div class="layui-inline">
|
<div class="layui-input-inline">
|
<div class="layui-form" lay-filter="provinceFilter">
|
<select name="province" id="province" lay-filter="province">
|
<option value="">请选择省/直辖市</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-input-inline">
|
<div class="layui-form" lay-filter="cityFilter">
|
<select name="city" id="city" lay-filter="city">
|
<option value="">请选择市</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-input-inline">
|
<div class="layui-form" lay-filter="countyFilter">
|
<select name="county" id="county" lay-filter="county">
|
<option value="">请选择区/县</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-input-inline">
|
<div class="layui-form" lay-filter="homeFilter">
|
<select name="home" id="home" lay-search="" lay-filter="home">
|
<option value="">请选择机房</option>
|
</select>
|
</div>
|
</div>
|
</div>
|
<button class="layui-btn layui-btn-sm" id="search"><i class="fa fa-search"></i> 查询</button>
|
</div>
|
</div>
|
<!-- 表格内容 -->
|
<table id="groupTbl" lay-filter="groupTbl"></table>
|
</div>
|
</div>
|
</div>
|
</div>
|
<!-- 进度条 -->
|
<div class="hdw-load progress-load" id="hdwLoad">
|
<div class="load-content">
|
<div class="load-mask"></div>
|
<div class="load-container">
|
<div class="load-rel">
|
<div class="layui-progress layui-progress-big" lay-showpercent="yes" lay-filter="load-progress">
|
<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<template id="toolBar">
|
<a class="layui-btn layui-btn-xs" lay-event="detail">详情</a>
|
</template>
|
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
|
<script type="text/javascript" src="jqueryui/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="src/layui.js"></script>
|
<script type="text/javascript" src="pages/js/mylayui.js"></script>
|
<script type="text/javascript" src="pages/js/common.js"></script>
|
<script type="text/javascript">
|
layui.use(['layer', 'table', 'form', 'laytpl', 'element'],function() {
|
var layer = layui.layer // 获取layer模块
|
,table = layui.table // 获取table模块
|
,form = layui.form
|
,element = layui.element;
|
/* 进度条 */
|
var progressLoad = new ProgressLoad($('#hdwLoad'), element);
|
|
// 表格数据配置项
|
var tOptions = {
|
elem: '#groupTbl'
|
,toolbar: true
|
,defaultToolbar: ['exports', 'filter']
|
,cellMinWidth: 80
|
,cols: [[
|
{field:'StationName', title:'机房名称', align:'center', width: 450, unresize:true}
|
,{field:'BattGroupName', title:'电池组名称', align:'center', unresize:true}
|
/* ,{field: 'group_vol', title:'组端电压', align:'center'} */
|
,{field:'test_type_format', title:'测试类型', align:'center', unresize:true}
|
/* ,{field:'test_starttime', title:'开始测试时间', align:'center'} */
|
/* ,{field:'test_timelong_format', title:'测试时长', align:'center'} */
|
,{fixed: 'right', title:'操作', toolbar: '#toolBar', width: 70, unresize:true}
|
]]
|
,data:[]
|
,page: true
|
,height: 'full-150'
|
};
|
|
// 生成表格数据
|
table.render(tOptions);
|
|
// 详情表格数据配置项
|
var tDetailOptions = {
|
elem: '#detailTbl'
|
,toolbar: true
|
,defaultToolbar: ['exports', 'filter']
|
,cellMinWidth: 80
|
,cols: [[
|
{field:'StationName', title:'机房名称1', align:'center', width: 450, unresize:true}
|
,{field:'BattGroupName', title:'电池组名称1', align:'center', unresize:true}
|
,{field:'test_type_format', title:'测试类型1', align:'center', unresize:true}
|
,{field:'test_starttime', title:'开始测试时间', align:'center', unresize:true}
|
,{fixed: 'right', title:'操作', toolbar: '#toolBar', width: 70, unresize:true}
|
]]
|
,data:[]
|
,page: true
|
,height: '500'
|
};
|
|
// 省-市-区/县-机房-蓄电池组联动
|
var isNewLoad = true;
|
var pre_province = getQueryString('province');
|
// 查询省下拉框
|
searchProvince();
|
// 查询省
|
var filterLoad = layer.load();
|
function searchProvince() {
|
// 请求后台查询
|
$.ajax({
|
type:'post',
|
async:true,
|
url: 'User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup',
|
data: null,
|
dataType: 'json',
|
success:function(result) {
|
var rs = JSON.parse(result.result);
|
var list = []; // option结果集
|
var ele = $('#province'); // 目标select
|
if(rs.code == 1) {
|
var data = rs.data;
|
var allTxt = "<s:text name='All'/>(<s:text name='Common'/>"+data.length+"<s:text name='Species'/>)";
|
list.push(getLayuiSelect(allTxt, '', {}, undefined));
|
// 遍历查询结果
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
var _tmp = getLayuiSelect(_data, _data, {}, {});
|
if(pre_province == _data && isNewLoad){
|
_tmp = getLayuiSelect(_data, _data, {}, {},true);
|
}
|
list.push(_tmp);
|
}
|
}else {
|
list.push(getLayuiSelect('暂无省/直辖市', '', {}, undefined));
|
}
|
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'provinceFilter');
|
|
// 查询市
|
searchCity();
|
}
|
});
|
}
|
|
// 切换省-市
|
form.on('select(province)', function(data) {
|
// 查询市
|
searchCity(true);
|
});
|
|
// 查询市
|
function searchCity(isLoad) {
|
// 构造查询条件
|
var tmp = {
|
StationName1: $("#province").val()
|
};
|
var pre_city = getQueryString('city');
|
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
// 根据构造条件查询内容
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: 'BattInfAction!serchStationName2',
|
dataType: 'json',
|
data: "json = "+JSON.stringify(tmp),
|
success: function(result) {
|
var rs = JSON.parse(result.result);
|
var list = []; // option结果集
|
var ele = $('#city'); // 目标select
|
if(rs.code == 1) {
|
var data = rs.data;
|
var allTxt = "<s:text name='All'/>(<s:text name='Common'/>"+data.length+"<s:text name='Species'/>)";
|
list.push(getLayuiSelect(allTxt, '', {}, undefined));
|
// 遍历查询结果
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
var _tmp = getLayuiSelect(_data.StationName2, _data.StationName2, {}, _data);
|
if(pre_city == _data.StationName2 && isNewLoad){
|
_tmp = getLayuiSelect(_data.StationName2, _data.StationName2, {}, _data,true);
|
}
|
list.push(_tmp);
|
}
|
}else {
|
list.push(getLayuiSelect('暂无市/区', '', {}, undefined));
|
}
|
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'cityFilter');
|
|
// 查询区县
|
searchCounty();
|
}
|
});
|
}
|
|
// 切换市-区县
|
form.on('select(city)', function(data) {
|
// 查询区县
|
searchCounty(true);
|
});
|
|
|
// 查询区/县
|
var countyClear = new ClearSelectVal($('#county'));
|
function searchCounty(isLoad) {
|
var list = []; // option结果集
|
var ele = $('#county'); // 目标select
|
// 判断必要条件是否存在
|
var parentStatus = checkLayuiParent($("#city"));
|
if(!parentStatus) {
|
layer.close(filterLoad); // 关闭等待框
|
list.push(getLayuiSelect('请先选择市', '', {}, undefined));
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'countyFilter');
|
countyClear.init();
|
// 查询机房
|
searchHome();
|
return;
|
}
|
|
// 构造查询条件
|
var tmp = {
|
StationName1: $("#province").val(),
|
StationName2: $("#city").val()
|
};
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
var pre_county = getQueryString('county');
|
// 根据构造条件查询内容
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: 'BattInfAction!serchStationName5',
|
dataType: 'json',
|
data: "json = "+JSON.stringify(tmp),
|
success: function(result) {
|
var rs = JSON.parse(result.result);
|
//console.info(rs);
|
var list = []; // option结果集
|
var ele = $('#county'); // 目标select
|
if(rs.code == 1) {
|
var data = rs.data;
|
var allTxt = "<s:text name='All'/>(<s:text name='Common'/>"+data.length+"<s:text name='Species'/>)";
|
list.push(getLayuiSelect(allTxt, '', {}, undefined));
|
// 遍历查询结果
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
var _tmp = getLayuiSelect(_data.StationName5, _data.StationName5, {}, _data);
|
if(pre_county == _data.StationName5 && isNewLoad){
|
_tmp = getLayuiSelect(_data.StationName5, _data.StationName5, {}, _data,true);
|
}
|
//console.info(_tmp);
|
list.push(_tmp);
|
}
|
}else {
|
list.push(getLayuiSelect('暂无区/县', '', {}, undefined));
|
}
|
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'countyFilter');
|
countyClear.init();
|
|
// 查询机房
|
searchHome();
|
}
|
});
|
}
|
|
// 切换市-区县
|
form.on('select(county)', function(data) {
|
// 查询区县
|
searchHome(true);
|
});
|
|
// 查询机房
|
var homeClear = new ClearSelectVal($('#home'));
|
function searchHome(isLoad) {
|
var list = []; // option结果集
|
var ele = $('#home'); // 目标select
|
// 判断必要条件是否存在
|
var parentStatus = checkLayuiParent($("#county"));
|
if(!parentStatus) {
|
layer.close(filterLoad); // 关闭等待框
|
list.push(getLayuiSelect('请先选择区/县', '', {}, undefined));
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'homeFilter');
|
homeClear.init();
|
return;
|
}
|
|
// 构造查询条件
|
var tmp = {
|
StationName1:$("#province").val(),
|
StationName2:$("#city").val(),
|
StationName5:$("#county").val(),
|
};
|
var pre_home = getQueryString('home');
|
var auto_seach = false;
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
// 根据构造条件查询内容
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: 'BattInfAction!serchStationName3',
|
dataType: 'json',
|
data: "json = "+JSON.stringify(tmp),
|
success: function(result) {
|
layer.close(filterLoad); // 关闭等待框
|
var rs = JSON.parse(result.result);
|
var list = []; // option结果集
|
var ele = $('#home'); // 目标select
|
if(rs.code == 1) {
|
var data = rs.data;
|
var allTxt = "<s:text name='All'/>(<s:text name='Common'/>"+data.length+"<s:text name='Species'/>)";
|
list.push(getLayuiSelect(allTxt, '', {StationId: '', dev_id: ''}, undefined));
|
// 遍历查询结果
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
var _attr = {
|
StationId: _data.StationId,
|
dev_id: _data.FBSDeviceId
|
};
|
var _tmp = getLayuiSelect(_data.StationName, _data.StationName, _attr, _data);
|
if(pre_home == _data.StationName && isNewLoad){
|
_tmp = getLayuiSelect(_data.StationName, _data.StationName, _attr, _data,true);
|
auto_seach = true;
|
}
|
list.push(_tmp);
|
}
|
}else {
|
list.push(getLayuiSelect('暂无机房', '', {}, undefined));
|
}
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'homeFilter');
|
homeClear.init();
|
}
|
});
|
}
|
|
// 根据数据条数返回每次查询的条数
|
function getDataNum(total) {
|
var result = {
|
pageSize: 10,
|
pageCurr: 1,
|
pageNum: 0,
|
pageTotal: total,
|
data: []
|
};
|
|
if(total<10) {
|
result.pageSize = total;
|
}else {
|
var pageSize = Math.ceil(total/10);
|
if(pageSize<10) {
|
result.pageSize = 10;
|
}else if(pageSize<100) {
|
result.pageSize = pageSize;
|
}else {
|
result.pageSize = 100;
|
}
|
}
|
|
result.pageNum = Math.ceil(total/result.pageSize);
|
return result;
|
}
|
|
// 根据分页对象获取指定数据的值
|
function getDataByPages(data, pages) {
|
var result = [];
|
var start = (pages.pageCurr-1)*pages.pageSize;
|
var end = start+pages.pageSize;
|
|
for(var i=start; i<end; i++) {
|
if(i>=data.length) {
|
break;
|
}
|
var _data = data[i];
|
result.push(_data);
|
}
|
return result;
|
}
|
|
// 获取进度
|
function getPercentByPages(pages) {
|
//console.log(pages);
|
var curr = pages.pageCurr;
|
var num = pages.pageNum;
|
return Number((curr/num*100).toFixed(0));
|
}
|
|
$('#search').click(function() {
|
// 查询所有的监测放电的机房
|
searchAllPowerDown();
|
});
|
|
|
function searchAllPowerDown() {
|
var searchParams = getSearchParams();
|
var load = layer.load(1);
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: 'Batttestdata_infAction!Monitoring_Discharge',
|
data: 'json='+JSON.stringify(searchParams),
|
dataTpe: 'json',
|
success: function(res) {
|
layer.close(load);
|
var rs = JSON.parse(res.result);
|
if(rs.code == 1) {
|
var data = rs.data;
|
//console.log(data);
|
var pages = getDataNum(data.length);
|
progressLoad.show();
|
searchPowerDown(data, pages);
|
}else {
|
layer.msg("查询失败");
|
}
|
}
|
});
|
}
|
|
// 获取参数
|
function getSearchParams() {
|
var stationid = $("#home").find('option:selected').attr('stationid');
|
var result = {
|
StationName1:$("#province").val(),
|
StationName2:$("#city").val(),
|
StationName5:$("#county").val(),
|
StationName: $("#home").val(),
|
StationId: stationid?stationid:''
|
};
|
|
return result;
|
}
|
|
// 查询所有二次下电不足的机房
|
function searchPowerDown(data, pages) {
|
if(pages.pageCurr>pages.pageNum) {
|
return;
|
}
|
var searchParams = getDataByPages(data, pages);
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: 'BatttestdataAction!serchByInfo',
|
data: 'json='+JSON.stringify(searchParams),
|
dataTpe: 'json',
|
success: function(res) {
|
// console.log(res);
|
var rs = JSON.parse(res.result);
|
if(rs.code == 1) {
|
var _data = rs.data;
|
// console.log(_data);
|
for(var i=0; i<_data.length; i++) {
|
var __data = _data[i];
|
var tmp = {};
|
tmp.StationName = __data[0].binf.StationName; // 机房名称
|
tmp.BattGroupName = __data[0].binf.BattGroupName; // 电池组名称
|
tmp.test_type_format = '监测放电'; // 监测放电
|
tmp.all = __data;
|
pages.data.push(tmp);
|
}
|
}
|
if(pages.pageCurr==pages.pageNum) {
|
setTbl(pages.data);
|
}
|
//console.log(getPercentByPages(pages));
|
// 更新进度条
|
progressLoad.update(getPercentByPages(pages));
|
|
pages.pageCurr++;
|
searchPowerDown(data, pages);
|
}
|
});
|
}
|
|
// 设置页面中的表格内容
|
function setTbl(data) {
|
//console.log(data);
|
// 遍历data的值进行格式化
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
_data.StationName = _data.StationName; // 机房名称
|
_data.BattGroupName = _data.BattGroupName; // 电池组名称
|
_data.test_type_format = '监测放电'; // 监测放电
|
}
|
tOptions.data = data;
|
// 重新绘制表格内容
|
table.reload('groupTbl', tOptions);
|
}
|
|
// 点击表格工具栏更换
|
table.on('tool(groupTbl)', function(obj) {
|
var event = obj.event;
|
switch(event) {
|
case 'detail':
|
showDetail(obj.data);
|
break;
|
}
|
});
|
|
// 点击表格工具栏更换
|
table.on('tool(detailTbl)', function(obj) {
|
console.log(obj);
|
var event = obj.event;
|
switch(event) {
|
case 'detail':
|
showHistory(obj.data);
|
break;
|
}
|
});
|
|
// 跳转到历史
|
function showHistory(data) {
|
var province = data.binf.StationName1;
|
var city = data.binf.StationName2;
|
var county = data.binf.StationName5;
|
var home = data.binf.StationName;
|
var battId = data.BattGroupId;
|
var count = data.test_record_count;
|
|
var url = skipUrl("charge-test.jsp", province, city, county, home, battId, count);
|
// console.log(url);
|
window.open(url);
|
}
|
|
// 显示详情
|
function showDetail(data) {
|
// 遍历data的值进行格式化
|
for(var i=0; i<data.all.length; i++) {
|
var _data = data.all[i];
|
_data.StationName = _data.binf.StationName; // 机房名称
|
_data.BattGroupName = _data.binf.BattGroupName; // 电池组名称
|
_data.test_type_format = '监测放电'; // 监测放电
|
}
|
tDetailOptions.data = data.all;
|
layer.open({
|
type: 1,
|
maxWidth: 1200,
|
resize: false,
|
content: '\
|
<div id="detailTblContainer" style="width:1200px; height: 500px;">\
|
<div id="detailTbl" lay-filter="detailTbl"></div>\
|
</div>',
|
success: function() {
|
// 生成表格数据
|
table.render(tDetailOptions);
|
}
|
});
|
}
|
});
|
</script>
|
</body>
|
</html>
|