<%@ 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 class="h">
|
<head>
|
<base href="<%=basePath%>">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
|
<meta charset="UTF-8">
|
<title>电池组配组记录</title>
|
<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" 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">
|
<style type="text/css">
|
html, body {
|
height: 100%;
|
}
|
body {
|
overflow:hidden;
|
}
|
.layui-table-view {
|
margin: 0;
|
}
|
</style>
|
</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 class="layui-input-inline">
|
<div class="layui-form" lay-filter="groupFilter">
|
<select name="group" id="group" lay-filter="group">
|
<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 id="setMatchGroupData"></div>
|
<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/html" id="toolBar">
|
<a class="layui-btn layui-btn-xs" lay-event="matchGroup">配组</a>
|
</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;
|
// 表格数据配置项
|
var tOptions = {
|
elem: '#groupTbl'
|
,toolbar: true
|
,defaultToolbar: ['exports', 'filter']
|
,cellMinWidth: 80
|
,cols: [[
|
{field:'stationname', title:'机房名称', align:'center', width: 380}
|
,{field:'groupname', title:'电池组名称', align:'center'}
|
,{field:'monnum', title:'单体编号', align:'center'}
|
,{field:'brandname', title:'品牌名称', align:'center'}
|
,{field:'nominalcap', title:'标称容量', align:'center'}
|
,{field:'monvol', title:'标称电压(V)', align:'center'}
|
,{fixed: 'right', title:'操作', toolbar: '#toolBar', width: 70}
|
]]
|
,data:[]
|
,page: {
|
layout:['count', 'prev', 'page', 'next']
|
}
|
,height: 'full-150'
|
};
|
|
// 生成表格数据
|
table.render(tOptions);
|
|
// 点击查询根据查询条件获取电池组的单体列表
|
$('#search').click(function() {
|
var groupData = $('#group').find('option:selected').data('data');
|
// 判断是否已经选中电池组
|
if(groupData) {
|
searchData(groupData);
|
}else {
|
tOptions.data = [];
|
table.render(tOptions);
|
layer.msg('请选择一组电池');
|
}
|
});
|
|
// 查询电池组下所有的单体
|
function searchData(obj) {
|
// 添加等待框
|
var loading = layer.load(0, {shade: [0.1,'#fff']}); //0代表加载的风格,支持0-2
|
var structData = structSearchData(obj);
|
$.ajax({
|
type: 'post',
|
async: true,
|
url:'BattInfAction!serchGroupByInfor',
|
data: 'json='+JSON.stringify(structData),
|
dataType: 'json',
|
success: function(result) {
|
layer.close(loading); // 关闭等待框
|
var rs = JSON.parse(result.result);
|
if(rs.code == 1) {
|
var data = rs.data;
|
var num = 0;
|
var rsData = formaterTblData(data);
|
num = rsData.length;
|
tOptions.data = rsData;
|
// 设置分页信息
|
tOptions.page.layout = ['count', 'prev', 'page', 'next']; //自定义分页布局
|
tOptions.page.limit= num;
|
tOptions.page.limits = [num];
|
}
|
// 重新绘制表格内容
|
table.reload('groupTbl', tOptions);
|
}
|
});
|
}
|
|
// 构造查询对象
|
function structSearchData(data) {
|
var obj = {};
|
obj.StationName1 = '';
|
obj.StationName2 = '';
|
obj.StationName5 = '';
|
obj.StationName3 = '';
|
obj.BattGroupName = '';
|
obj.BattGroupId = data.BattGroupId;
|
return obj;
|
}
|
|
// 构造生成表格数据的方法
|
function formaterTblData(data) {
|
var rs = []; // 结果集
|
console.log(data);
|
// 遍历查询的结果根据查询结果生成指定的格式
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
var obj = {};
|
obj.stationname = _data.StationName; // 机房名称
|
obj.groupname = _data.BattGroupName; // 电池组名称
|
obj.monvol = _data.MonVolStd; // 标称电压
|
obj.nominalcap = Number(_data.MonCapStd); // 标称容量
|
obj.monnum = '#'+_data.MonNum; // 单体编号
|
obj.brandname = _data.BattProducer; // 品牌
|
// 不显示内容
|
obj.num = _data.MonNum; // 单体编号不加#
|
obj.battgroupid = _data.BattGroupId; // 电池组id
|
obj.stationid = _data.StationId; // 机房id
|
rs.push(obj);
|
}
|
|
return rs; // 返回结果集
|
}
|
|
// 点击表格工具栏更换
|
table.on('tool(groupTbl)', function(obj) {
|
var event = obj.event;
|
switch(event) {
|
case 'matchGroup':
|
showMatchGroupPanel(obj.data);
|
break;
|
}
|
});
|
|
// 显示更换电池单体面板
|
function showMatchGroupPanel(obj) {
|
$('#setMatchGroupData').data('data', obj);
|
// 设置弹出框的title的值
|
var txt = obj.stationname+'-'+obj.groupname+'-'+obj.monnum+'('+obj.brandname+')';
|
// 显示面板
|
layer.open({
|
type: 2,
|
title: '<span style="font-weight:bold">配组:</span>'+txt,
|
area: ['1200px', '500px'],
|
fixed: false, //不固定
|
maxmin: true,
|
content: 'iframe/set-match-group.html'
|
});
|
}
|
|
// 省-市-区/县-机房-蓄电池组联动
|
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);
|
});
|
|
|
// 查询区/县
|
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');
|
// 查询机房
|
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');
|
|
// 查询机房
|
searchHome();
|
}
|
});
|
}
|
|
// 切换市-区县
|
form.on('select(county)', function(data) {
|
// 查询区县
|
searchHome(true);
|
});
|
|
// 查询机房
|
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');
|
// 查询蓄电池组
|
searchGroup();
|
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) {
|
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');
|
// 查询蓄电池组
|
searchGroup();
|
}
|
});
|
}
|
|
// 切换机房-电池组
|
form.on('select(home)', function(data) {
|
// 查询电池组
|
searchGroup();
|
});
|
|
// 查询机房
|
function searchGroup(isLoad) {
|
var list = []; // option结果集
|
var ele = $('#group'); // 目标select
|
// 判断必要条件是否存在
|
var parentStatus = checkLayuiParent($("#home"));
|
if(!parentStatus) {
|
layer.close(filterLoad); // 关闭等待框
|
list.push(getLayuiSelect('请先选择机房', '', {}, undefined));
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'groupFilter');
|
return;
|
}
|
// 构造查询条件
|
var tmp = {
|
StationName1:$("#province").val(),
|
StationName2:$("#city").val(),
|
StationName5:$("#county").val(),
|
StationName: $("#home").val(),
|
StationId: $("#home").find('option:selected').attr('stationid')
|
};
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
// 根据构造条件查询内容
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: 'BattInfAction!serchBattByStation',
|
dataType: 'json',
|
data: "json = "+JSON.stringify(tmp),
|
success: function(result) {
|
var rs = JSON.parse(result.result);
|
var list = []; // option结果集
|
var ele = $('#group'); // 目标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 _attr = {
|
stationname: _data.StationName,
|
dev_id: _data.FBSDeviceId,
|
batt_num: _data.GroupIndexInFBSDevice+1
|
};
|
var txt = _data.BattGroupName+'(共'+_data.MonCount+"<s:text name='Section'/>"+')';
|
var _tmp = getLayuiSelect(txt, _data.BattGroupId, _attr, _data);
|
list.push(_tmp);
|
}
|
}else {
|
list.push(getLayuiSelect('暂无电池组', '', {}, undefined));
|
}
|
|
layer.close(filterLoad);
|
// 根据对象数组生成下拉列表
|
createLayuiSelect(ele, list);
|
form.render('select', 'groupFilter');
|
}
|
});
|
}
|
});
|
</script>
|
</body>
|
</html>
|