<%@ 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 http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
|
<title><s:text name="Dev_alarm_param" /></title>
|
<link rel="stylesheet" type="text/css" href="css/basic.css" />
|
<!-- <link rel="stylesheet" type="text/css" href="css/eleWarnPrm.css" /> -->
|
<link rel="stylesheet" type="text/css" href="css/query.css" />
|
<link rel="stylesheet" type="text/css" href="css/popup-tbl.css" />
|
<link href="src/css/layui.css" type="text/css" rel="stylesheet">
|
</head>
|
<body>
|
<!--头部内容开始-->
|
<jsp:include page="Top.jsp" flush="true"/>
|
<!--头部内容结束-->
|
<!--导航开始-->
|
<jsp:include page="nav.jsp" flush="true"/>
|
<!-- 主体内容 -->
|
<div id="main">
|
<!-- 查询条件开始 -->
|
<div class="query-list">
|
<div class="query-header"><a href="javascript:;"><s:text name="Dev_alarm_param" />--><s:text name="Show/hide_the_query_conditions"/></a></div> <!-- 电池告警参数设置 -->
|
<!-- 查询条件内容开始 -->
|
<div class="query-body">
|
<table>
|
<thead>
|
<tr>
|
<th>省</th> <!-- 省 -->
|
<th>市</th> <!-- 市 -->
|
<th>区/县</th> <!-- 区/县 -->
|
<th><s:text name="Equipment"/></th> <!-- 设备 -->
|
<th><s:text name="Alarm_name"/></th> <!-- 告警名称 -->
|
</tr>
|
</thead>
|
<tbody>
|
<tr>
|
<td>
|
<select id="station_name1"></select>
|
</td>
|
<td>
|
<select id="city"></select>
|
</td>
|
<td>
|
<select id="county"></select>
|
</td>
|
<td>
|
<select id="equipment-name">
|
<option value="">全部</option> <!-- 设备 -->
|
</select>
|
</td>
|
<td>
|
<select id="alarm-name">
|
<option value="0">全部</option> <!-- 告警名称 -->
|
</select>
|
</td>
|
</tr>
|
|
</tbody>
|
</table>
|
</div>
|
<!-- 查询条件内容结束 -->
|
</div>
|
<!-- 查询条件结束 -->
|
<!-- 表格固定的头部 -->
|
<div class="tbl-header">
|
<!-- 这里放表格的头部 -->
|
</div>
|
<div class="tbl-body">
|
<!-- 这里放表格的tbody -->
|
</div>
|
</div>
|
<!-- 弹出框设置 -->
|
<div class="popup">
|
<div class="popup-title"><span><s:text name="Alarm"/><s:text name="Parameter"/><s:text name="Modify"/></span> <a href="javascript:;" class="close">X</a></div> <!-- 告警参数修改 -->
|
<div class="popup-content">
|
<div class="popup-tbl">
|
<table>
|
<tbody>
|
<tr>
|
<th><s:text name="Alarm"/>ID</th> <!-- 告警 -->
|
<th><s:text name="Alarm"/><s:text name="Name"/></th> <!-- 告警名称 -->
|
</tr>
|
<tr>
|
<td><input type="text" id="alm_id" readonly="readonly" value=""></td>
|
<td><input type="text" id="alm_name" readonly="readonly" value=""></td>
|
</tr>
|
<tr>
|
<th><s:text name="Alarm"/><s:text name="Upper_limit"/><s:text name="Coefficient_values"/>(0.0~30.0)</th> <!-- 告警上限系数值 -->
|
<th><s:text name="Alarm"/><s:text name="Upper_limit"/><s:text name="Level"/>(1~4)</th> <!-- 告警上限等级 -->
|
</tr>
|
<tr>
|
<td><input id="alm_high_coe" type="text" value=""></td>
|
<td>
|
<select id="alm_high_level">
|
<option value="1">1</option>
|
<option value="2">2</option>
|
<option value="3">3</option>
|
<option value="4">4</option>
|
</select>
|
<!-- <input id="alm_high_level" type="text" value=""> -->
|
</td>
|
</tr>
|
<tr>
|
<th><s:text name="Alarm"/><s:text name="Lower_limit"/><s:text name="Coefficient_values"/>(0.0~30.0)</th> <!-- 告警下限系数值 -->
|
<th><s:text name="Alarm"/><s:text name="Lower_limit"/><s:text name="Level"/>(1~4)</th> <!-- 告警下限等级 -->
|
</tr>
|
<tr>
|
<td><input id="alm_low_coe" type="text" value=""></td>
|
<td>
|
<select id="alm_low_level">
|
<option value="1">1</option>
|
<option value="2">2</option>
|
<option value="3">3</option>
|
<option value="4">4</option>
|
</select>
|
<!-- <input id="alm_low_level" type="text" value=""> -->
|
</td>
|
</tr>
|
<tr>
|
<td>
|
<input type="hidden" id="dev_id" name=""/>
|
<input type="hidden" id="note" name=""/>
|
</td>
|
</tr>
|
<tr>
|
<th><s:text name="Alarm"/><s:text name="Upper_limit"/><s:text name="Enabled"/><input id="alm_high_en" type="checkbox"></th> <!-- 告警上限使能 -->
|
<th><s:text name="Alarm"/><s:text name="Lower_limit"/><s:text name="Enabled"/><input id="alm_low_en" type="checkbox"></th> <!-- 告警下限使能 -->
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
</div>
|
<div class="popup-footer">
|
<input type="button" name="" id="btn_ensure" value="<s:text name='Determine'/>" > <!-- 确定 -->
|
<input type="button" name="" id="btn_cancel" value="<s:text name='Cancel'/>" class="close"> <!-- 取消 -->
|
</div>
|
</div>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
<div id="paging">
|
<a href="javascript:" id="serchid" class="search"><s:text name="Search"/></a> <!-- 查询 -->
|
</div>
|
<script type="text/javascript" src="js/query.js"></script>
|
<script type="text/javascript" src="js/createTab.js"></script>
|
<script type="text/javascript" src="js/popup.js"></script>
|
<script type="text/javascript" src="js/rightmenu.js"></script>
|
<script type="text/javascript" src="src/layui.all.js"></script>
|
<script type="text/javascript">
|
var permits;
|
<% Object obj=session.getAttribute("permits");
|
if(obj!=null){
|
String permits =obj.toString(); %>
|
permits=<%=permits%>;
|
//console.info(json);
|
<% } %>
|
|
//定义页面的全局数据
|
var ArrTh = new Array();
|
var ArrTd = new Array();
|
var isCanRevise = isHasPermit('batt_alm_param_edit_permit', permits);
|
//定义表格头部的信息数据
|
//ArrTh = ['设备', '告警名称', '告警ID', '告警上限系数值(0.0~30.0)', '告警上限等级(1~4)',
|
// '告警上限使能', '告警下限系数值(0.0~30.0)', '告警下限等级(1~4)', '告警下限使能' ];
|
ArrTh = ['<s:text name="Equipment"/>', '<s:text name="Alarm_name"/>', '<s:text name="Alarm"/>ID', '<s:text name="Alarm"/><s:text name="Upper_limit"/><s:text name="Coefficient_values"/>(0.0~30.0)', '<s:text name="Alarm"/><s:text name="Upper_limit"/><s:text name="Level"/>(1~4)',
|
'<s:text name="Alarm"/><s:text name="Upper_limit"/><s:text name="Enabled"/>', '<s:text name="Alarm"/><s:text name="Lower_limit"/><s:text name="Coefficient_values"/>(0.0~30.0)', '<s:text name="Alarm"/><s:text name="Lower_limit"/><s:text name="Level"/>(1~4)', '<s:text name="Alarm"/><s:text name="Lower_limit"/><s:text name="Enabled"/>' ];
|
//定义表格tbody内的数据信息
|
ArrTd = [
|
'1', '在线电压告警', '119001', '1.2', '2',
|
'<input type="checkbox" disabled />', '0.8', '2',
|
'<input type="checkbox" disabled />',
|
'2', '组端电压告警', '119002', '1.2', '2',
|
'<input type="checkbox" disabled />', '0.8', '2',
|
'<input type="checkbox" disabled />',
|
'3', '充电电流告警', '119003', '3', '3',
|
'<input type="checkbox" disabled />', '0', '3',
|
'<input type="checkbox" disabled />',
|
'4', '放电电流告警', '119004', '3', '3',
|
'<input type="checkbox" disabled />', '0', '3',
|
'<input type="checkbox" disabled />',
|
'5', '单体电压告警', '119005', '1.2', '2',
|
'<input type="checkbox" disabled />', '0.8', '2',
|
'<input type="checkbox" disabled />',
|
'6', '单体温度告警', '119006', '1.2', '2',
|
'<input type="checkbox" disabled />', '0.8', '2',
|
'<input type="checkbox" disabled />',
|
'7', '单体内阻告警', '119007', '1.2', '2',
|
'<input type="checkbox" disabled />', '0.8', '2',
|
'<input type="checkbox" disabled />',
|
'8', '单体连接条告警', '119008', '1.2', '2',
|
'<input type="checkbox" disabled />', '0.8', '2',
|
'<input type="checkbox" disabled />',
|
'9', '放电单体电压告警', '119009', '1.2', '2',
|
'<input type="checkbox" disabled />', '0.8', '2',
|
'<input type="checkbox" disabled />'
|
];
|
|
|
//页面加载创建表格
|
$(document).ready(function() {
|
ArrTd = [];
|
createFullTbl($('.tbl-header'), $('.tbl-body'), ArrTh, ArrTd);
|
|
if(!isCanRevise) {
|
$('.popup').remove();
|
}
|
});
|
|
// 生成右键菜单
|
$(function() {
|
//屏蔽浏览器右键菜单功能
|
document.oncontextmenu = function() {
|
return false;
|
};
|
|
//添加右键内容
|
var menuItems=[
|
{txt:'<s:text name="Modify"/>',cla:'revise'} //修改
|
];
|
|
// 给表格添加自己的右键菜单
|
$('.tbl-body').on('mousedown','table tbody tr',function(e){
|
var trIndex = $(this).index(); // 获取当前行
|
$('.tbl-body table tbody tr').removeClass('active');
|
$(this).addClass('active');
|
console.info(isCanRevise);
|
if (e.which == 3 && isCanRevise) {
|
var disX = (e || event).clientX + 10; //获取鼠标点击的横坐标
|
var disY = (e || event).clientY + 10; // 获取鼠标点击的纵坐标
|
|
rightMenu.showMenu(menuItems, disX, disY);
|
}
|
});
|
// 点击显示修改弹出框
|
$('body').on('click', '#rightMenu .revise', function() {
|
var index = $('#main .tbl-body tr.active').index();
|
var temp = getObjByindex(index);
|
setWarnParam(temp);
|
popup.showPopup();
|
});
|
function getObjByindex(index){
|
if(all_almlist.length>index){
|
return all_almlist[index];
|
}
|
return undefined;
|
}
|
//更改告警参数类型
|
$('#warn-parm-type').change(function(){
|
searchEleWarnParam();
|
});
|
|
//点击确认按钮
|
$('#btn_ensure').click(function(){
|
if(confirm('确认修改"'+$('#alm_name').val()+'"参数吗?')){
|
var temp = {
|
alm_name:$('#alm_name').val(),
|
note:$('#note').val(),
|
alm_id:$('#alm_id').val(),
|
alm_high_coe:$('#alm_high_coe').val(),
|
alm_high_level:$('#alm_high_level').val(),
|
alm_low_coe:$('#alm_low_coe').val(),
|
alm_low_level:$('#alm_low_level').val(),
|
dev_id:$('#dev_id').val(),
|
alm_high_en:$('#alm_high_en').is(':checked')?1:0,
|
alm_low_en:$('#alm_low_en').is(':checked')?1:0
|
};
|
//console.info(temp);
|
$.ajax({
|
type: "post",
|
url: "Dev_paramAction!update",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(temp),
|
success: function(data){
|
data = eval("("+data+")");
|
var model = eval("("+data.result+")");
|
console.info(model);
|
if(model.code == 1){
|
noContent.showNoContent("修改成功!");
|
}else{
|
noContent.showNoContent("修改失败!");
|
}
|
searchEquipmentName();
|
popup.hidePopup();
|
},
|
error:function(){
|
popup.hidePopup();
|
searchEleWarnParam();
|
noContent.showNoContent("修改失败,请检查网络连接!");
|
}
|
});
|
}
|
});
|
|
|
//告警上限系数值校验
|
$('#alm_high_coe').blur(function(){
|
var value = $(this).val();
|
if(value >=0){
|
value = parseFloat(value);
|
if(value >30){
|
$(this).val(30);
|
}
|
}else{
|
$(this).val($(this).attr('kk'));
|
}
|
});
|
|
//告警下限系数值校验
|
$('#alm_low_coe').blur(function(){
|
var value = $(this).val();
|
if(value >=0){
|
value = parseFloat(value);
|
if(value >30){
|
$(this).val(30);
|
}
|
}else{
|
$(this).val($(this).attr('kk'));
|
}
|
});
|
});
|
|
// 设置修改弹出框可以随意拖动
|
$(function() {
|
$('.popup').draggable();
|
});
|
|
|
$('#serchid').click(function(){
|
searchEquipmentName();
|
});
|
|
// 省-市-机房-电池组
|
var filterLoad;
|
$(document).ready(function(){
|
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(true);
|
});
|
|
//当维护区的值变换时更新机房站点
|
$('#city').change(function(){
|
findCounty(true);
|
});
|
|
//当区/县的值变换时更新机房站点
|
$('#county').change(function(){
|
findStationNamebyStationname1(true);
|
});
|
|
// 根据机房名称查询电池组
|
$('#equipment-name').change(function(){
|
findWarmName(true);
|
});
|
|
// 告警名称修改
|
$('#alarm-name').change(function(){
|
searchEquipmentName();
|
});
|
|
//根据省,市查询站点
|
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 = $("#equipment-name");
|
// 根据数据构造生成下拉列表的数据
|
var optsList = [];
|
for(var i=0;i<_data.length;i++){
|
var __data = _data[i];
|
var _attr = {
|
StationId: __data.StationId,
|
StationName: __data.StationName
|
};
|
var tmp = getOptionsData(__data.StationName3, __data.FBSDeviceId, __data, _attr);
|
optsList.push(tmp);
|
}
|
|
// 根据数据生成下拉列表
|
createOptions($select, optsList);
|
}else{
|
$("#station_name").text('').html('<option>暂无可测机房站点</option>');
|
}
|
findWarmName();
|
});
|
}
|
|
// 获取告警参数
|
function findWarmName(isLoad){
|
var dev_id = $("#equipment-name option:selected").val();
|
var warmId ={
|
"dev_id":dev_id
|
};
|
// 是否添加等待
|
if(isLoad) {
|
filterLoad = layer.load();
|
}
|
$.post("Dev_paramAction!serchByInfo","json="+JSON.stringify(warmId),function(data){
|
data=data.result;
|
data=eval("("+data+")");
|
//console.info(data);
|
if(data.code==1 && data.data.length>0){
|
var $select = $("#alarm-name");
|
$select.text('');
|
for(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", 0);
|
}else{
|
$option.html(getParmName(data.data[i-1]));
|
$option.attr("value", data.data[i-1]);
|
|
}
|
$select.append($option);
|
}
|
layer.close(filterLoad);
|
searchEquipmentName();
|
}
|
});
|
}
|
|
|
var all_almlist;
|
function searchEquipmentName(){
|
all_almlist = new Array();
|
var dev_id = $("#equipment-name option:selected").val();
|
var alm_id = $("#alarm-name option:selected").val();
|
var warmId ={
|
stationName1:$("#station_name1").val(),
|
stationName2:$("#city").val(),
|
stationName5:$("#county").val(),
|
stationName: $("#equipment-name").find('option:selected').attr('stationname'),
|
"dev_id":dev_id,
|
"alm_id":alm_id
|
};
|
console.info(warmId);
|
var load = layer.load(1);
|
//console.log(warmId);
|
$.post("Dev_paramAction!serchByCondition","json="+JSON.stringify(warmId),function(data){
|
layer.close(load);
|
var data=data.result;
|
var data=eval("("+data+")");
|
all_almlist = data.data;
|
//console.info(data);
|
if(data.code==1&&data.data.length>0){
|
var arr = new Array();
|
data=data.data;
|
for(i=0;i<data.length;i++){
|
arr.push(data[i].note); //设备
|
arr.push(getParmName(data[i].alm_id)); //告警名称
|
data[i].realname = (getParmName(data[i].alm_id));
|
arr.push(data[i].alm_id); //告警id
|
arr.push(data[i].alm_high_coe); //告警上限系数值
|
arr.push(data[i].alm_high_level); //告警上限等级
|
arr.push(data[i].alm_high_en==0?'<input type="checkbox" disabled />':'<input type="checkbox" checked="checked" disabled />'); //告警上限使能
|
arr.push(data[i].alm_low_coe); //告警下限系数值
|
arr.push(data[i].alm_low_level); //告警下限等级
|
arr.push(data[i].alm_low_en==0?'<input type="checkbox" disabled />':'<input type="checkbox" checked="checked" disabled />'); //告警下限使能
|
}
|
createFullTbl($('.tbl-header'), $('.tbl-body'), ArrTh, arr);
|
}
|
});
|
}
|
|
|
|
var warnparamstate = [
|
{key:'Batt_Alarm_Type_OnlineVol',alm_id:119001,name:'在线电压告警'},
|
{key:'Batt_Alarm_Type_GroupVol',alm_id:119002,name:'组端电压告警'},
|
{key:'Batt_Alarm_Type_BattChargeCurr',alm_id:119003,name:'充电电流告警'},
|
{key:'Batt_Alarm_Type_BattDisChargeCurr',alm_id:119004,name:'放电电流告警'},
|
{key:'Batt_Alarm_Type_MonVol',alm_id:119005,name:'单体电压告警'},
|
{key:'Batt_Alarm_Type_MonTmp',alm_id:119006,name:'单体温度告警'},
|
{key:'Batt_Alarm_Type_MonRes',alm_id:119007,name:'单体内阻告警'},
|
{key:'Batt_Alarm_Type_ConnRes',alm_id:119008,name:'单体连接条告警'},
|
{key:'Batt_Alarm_Type_DisChargeMonVol',alm_id:119009,name:'放电单体电压告警'},
|
{key:'Batt_Alarm_Type_CapAlarm',alm_id:119010,name:'容量告警告警'},
|
{key:'Batt_Alarm_Type_CapChange',alm_id:119011,name:'容量更换告警'},
|
];
|
|
//根据关键字获取告警参数名称
|
function getParmName(keywords){
|
var name="";
|
for(var i=0;i<warnparamstate.length;i++){
|
if(warnparamstate[i].alm_id == keywords){
|
name = warnparamstate[i].name;
|
break;
|
}
|
}
|
return name;
|
}
|
|
|
//设置告警参数
|
function setWarnParam(obj){
|
if(obj != undefined){
|
//console.info(obj);
|
$('#note').val(obj.note);
|
$('#dev_id').val(obj.dev_id);
|
$('#alm_id').val(obj.alm_id);
|
$('#alm_name').val(obj.realname);
|
$('#alm_high_coe').val(obj.alm_high_coe);
|
$('#alm_high_coe').attr('kk',obj.alm_high_coe);
|
$('#alm_high_level').val(obj.alm_high_level);
|
$('#alm_low_coe').val(obj.alm_low_coe);
|
$('#alm_low_coe').attr('kk',obj.alm_low_coe);
|
$('#alm_low_level').val(obj.alm_low_level);
|
$('#alm_high_en').attr('checked',obj.alm_high_en==1);
|
$('#alm_low_en').attr('checked',obj.alm_low_en==1);
|
}
|
}
|
|
|
</script>
|
</body>
|
</html>
|