<%@ page language="java" import="java.util.*,com.fgkj.dto.*" pageEncoding="utf-8"%>
|
<%@ page import="com.fgkj.actions.ram.Fbs9100_stateAction" %>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
%>
|
<%
|
Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组
|
String user_logo = "";
|
for(Cookie cookie : cookies){
|
if("user_logo".equals(cookie.getName())) {
|
user_logo = cookie.getValue();
|
}
|
}
|
//System.out.println(user_logo);
|
%>
|
<%@ taglib uri="/struts-tags" prefix="s" %>
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<!-- 默认使用最高内核 -->
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
|
<base href="<%=basePath%>">
|
|
<title><s:text name="HomePage"></s:text></title>
|
<meta name="renderer" content="webkit">
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
|
<!-- 导入百度地图API -->
|
<link rel="stylesheet" type="text/css" href="../baidumapv2/css/baidu_map_v2.css">
|
<link rel="stylesheet" href="../baidumapv2/library/searchInfoWindow.css" />
|
<script type="text/javascript" src="../baidumapv2/baidumap_offline_v2_load.js"></script>
|
<script type="text/javascript" src="../baidumapv2/library/searchInfoWindow.js"></script>
|
<script type="text/javascript" src="js/AreaRestriction_min.js"></script>
|
<link href="css/basic.css" type="text/css" rel="stylesheet" />
|
<link href="css/common.css" type="text/css" rel="stylesheet" />
|
<link href="css/index_layout.css" type="text/css" rel="stylesheet" />
|
<link rel="stylesheet" href="css/img-change.css">
|
<link rel="stylesheet" href="css/confirm.css">
|
<link rel="stylesheet" href="css/loading.css">
|
<link rel="stylesheet" href="src/css/layui.css">
|
<link rel="stylesheet" href="pages/css/mylayui.css">
|
<style type="text/css">
|
.explain-header:hover {
|
cursor: pointer;
|
background-color: #84ABFA !important;
|
color: #D6D1D1
|
}
|
.map-panel-btn {
|
/*初始化按钮*/
|
font-size: 12px;
|
text-decoration: none!important;
|
font-family: Helvetica, Arial, sans serif;
|
padding: 4px 12px;
|
border-radius: 3px;
|
-moz-border-radius: 3px;
|
box-shadow: inset 0px 0px 2px #fff;
|
-o-box-shadow: inset 0px 0px 2px #fff;
|
-webkit-box-shadow: inset 0px 0px 2px #fff;
|
-moz-box-shadow: inset 0px 0px 2px #fff;
|
/*定义颜色和样式*/
|
color: #41788c;
|
border: 1px solid #6fb1c7;
|
background-image: -moz-linear-gradient(#aae5f7, #73d0f1);
|
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#73d0f1), to(#aae5f7));
|
background-image: -webkit-linear-gradient(#aae5f7, #73d0f1);
|
background-image: -o-linear-gradient(#aae5f7, #73d0f1);
|
text-shadow: 1px 1px 1px #bfeafb;
|
background-color: #73d0f1;
|
/* 定义位置 */
|
margin-left: 200px;
|
}
|
.map-panel-btn:hover {
|
border: 1px solid #4690ad;
|
background-image: -moz-linear-gradient(#73d0f1, #aae5f7);
|
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#aae5f7), to(#73d0f1));
|
background-image: -webkit-linear-gradient(#73d0f1, #aae5f7);
|
background-image: -o-linear-gradient(#73d0f1, #aae5f7);
|
background-color: #aae5f7;
|
}
|
.ui-resizable-s, .ui-resizable-se {
|
display: none !important;
|
}
|
|
.ui-autocomplete {
|
height: 200px;
|
overflow-y: auto;
|
overflow-x: hidden;
|
}
|
.BMapLib_bubble_content a {
|
color: #2A3AF0;
|
}
|
.BMapLib_bubble_content a:hover {
|
text-decoration: underline;
|
}
|
body .layui-layer-dialog {
|
min-width:400px;
|
}
|
.add-panel .addr {
|
width: 210px;
|
height: 22px;
|
border: 1px solid #ccc;
|
}
|
.map-info-detail .layui-form-all {
|
padding: 8px;
|
}
|
.layui-form-pane .layui-form-item-w50 .layui-form-label{
|
width: 50px;
|
}
|
.layui-form-pane .layui-form-item-w80 .layui-form-label{
|
width: 80px;
|
}
|
.layui-form-pane .layui-form-item-pd8 .layui-form-label{
|
padding: 8px;
|
}
|
</style>
|
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
|
<script type="text/javascript" src="js/echarts.js"></script>
|
<script type="text/javascript" src="js/createTab.js"></script>
|
|
</head>
|
<body>
|
<!--头部内容开始-->
|
<jsp:include page="Top.jsp" flush="true" />
|
<!--头部内容结束-->
|
<div id="main">
|
<!--导航开始-->
|
<jsp:include page="nav.jsp" flush="true"/>
|
<!--导航结束-->
|
<div id="content">
|
|
<div class="nav-map small">
|
<!-- 地图内容筛选 -->
|
<div class="map-info-panel-left w450 w120">
|
<div class="map-info-panel-content">
|
<div class="map-info" id="showMapInfoDetail">
|
<span>地图工具</span>
|
<span class="map-info-btn-icon" title="详情"><i class="fa fa-angle-double-down"></i></span>
|
</div>
|
<div class="map-info-detail">
|
<div class="layui-collapse" lay-filter="test" lay-accordion="">
|
<div class="layui-colla-item">
|
<h2 class="layui-colla-title">筛选机房</h2>
|
<div class="layui-colla-content layui-show">
|
<div style="height: 8px;"></div>
|
<div class="layui-form layui-form-pane layui-form-all" style="display:none" action="" lay-filter="optionsListFilter">
|
<div class="layui-form" lay-filter="pccFilter">
|
<div class="layui-form-item layui-form-item-w80">
|
<label class="layui-form-label">省-市-区</label>
|
<div class="layui-input-inline" style="width: 100px">
|
<select name="stationName1" id="province" lay-filter="province">
|
<option value="">请选择省</option>
|
</select>
|
</div>
|
<div class="layui-input-inline" style="width: 100px">
|
<select name="stationName2" id="city" lay-filter="city">
|
<option value="">请选择市</option>
|
</select>
|
</div>
|
<div class="layui-input-inline" style="width: 120px">
|
<select name="stationName5" id="county" lay-filter="county">
|
<option value="">请选择区/县</option>
|
</select>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">条件选择</label>
|
<div class="layui-input-block">
|
<select name="optionsList" id="optionsList" lay-filter="optionsList"></select>
|
</div>
|
</div>
|
<div id="optionsListContent"></div>
|
<div class="layui-form-footer" style="text-align:right">
|
<button class="layui-btn layui-btn-normal layui-btn-disabled layui-btn-sm" lay-submit="" id="startFilter" lay-filter="startFilter">启动筛选</button>
|
<button class="layui-btn layui-btn-danger layui-btn-disabled layui-btn-sm" id="endFilter" lay-filter="endFilter">取消筛选</button>
|
<button class="layui-btn layui-btn-disabled layui-btn-sm" id="filterExport">导出内容</button>
|
</div>
|
</div>
|
<table>
|
<tbody>
|
<tr style="display: none">
|
<td class="alg-c f-bold"><span class="mrl8">机房类型:</span></td>
|
<td colspan="2" id="homeType">
|
<span class="mrl8 mrr8"><input type="checkbox" value="2" checked="checked">2V</span>
|
<span><input type="checkbox" checked="checked" value="12">12V</span>
|
</td>
|
</tr>
|
<tr>
|
<td class="w5em alg-c f-bold"><span class="mrl8">机房名称:</span></td>
|
<td><input type="text" id="mapToolSearch"></td>
|
<td class="w54 btn-container">
|
<button type="button" value="搜索" id="mapToolSearchBtn" class="mrr8"><i class="fa fa-search page-link"></i></button>
|
</td>
|
</tr>
|
<tr>
|
<td colspan="3" class="btn-container">
|
<span class="mrl8">已安装设备数/设备总数:<span id="installnum">12/600</span><i id="installnumbtn" class="fa fa-refresh mrl8 page-link" title="刷新"></i></span>
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
</div>
|
<div class="layui-colla-item" id="permitAddHome">
|
<h2 class="layui-colla-title">添加机房</h2>
|
<div class="layui-colla-content">
|
<table id="mapToolAddHome">
|
<tbody>
|
<tr>
|
<td class="w4em alg-c f-bold">经度:</td>
|
<td><input type="text" class="lng"></td>
|
</tr>
|
<tr>
|
<td class="w4em alg-c f-bold">纬度:</td>
|
<td><input type="text" class="lat"></td>
|
</tr>
|
<tr>
|
<td class="w4em alg-c f-bold">类型:</td>
|
<td>
|
<input type="radio" class="pointStyle" name="pointStyle" value="0" checked><span class="mrr8">GPS</span>
|
<input type="radio" class="pointStyle" name="pointStyle" value="1"><span class="mrr8">百度</span>
|
<input type="radio" class="pointStyle" name="pointStyle" value="2"><span class="mrr8">腾讯/高德</span>
|
</td>
|
</tr>
|
<tr>
|
<td colspan="2" class="alg-r btn-container">
|
<button type="button" value="添加" id="mapToolAddHomeBtn" class="mrr8">添加</button>
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<!-- 电池分布图 -->
|
<div class="china-map" id="map">
|
<div class="img-change" style="display:none;">
|
<div class="img-list">
|
<div class="block block-show real-time">
|
<div class="block-title">实时监测</div>
|
<div class="block-content">实时监测机房电池组的电压、内阻、温度、电导。</div>
|
<div class="block-btn">
|
<a href="control.jsp">实时监测</a>
|
</div>
|
</div>
|
<div class="block history">
|
<div class="block-title">历史测试数据</div>
|
<div class="block-content">查看机房电池组的节能放电、停电放电、节能充电、停电充电的历史信息。</div>
|
<div class="block-btn">
|
<a href="charge-test.jsp">历史详情</a>
|
</div>
|
</div>
|
<div class="block equip">
|
<div class="block-title">设备状态</div>
|
<div class="block-content">查看设备状态、告警、组号、在线电压、组端电压、电流的实时信息。</div>
|
<div class="block-btn">
|
<a href="FBSdevicestatus.jsp">设备详情</a>
|
</div>
|
</div>
|
</div>
|
<div class="img-list-btn">
|
<div class="btn-list active" title="实时监测"></div>
|
<div class="btn-list" title="历史测试数据"></div>
|
<div class="btn-list" title="设备状态"></div>
|
</div>
|
<div class="pos pos-left previous" title="上一个" onclick="changeImg('pre')"></div>
|
<div class="pos pos-right next" title="下一个" onclick="changeImg()"></div>
|
</div>
|
</div>
|
</div>
|
|
<!-- 电池故障与电池告警饼状图 -->
|
<div class="pie-con">
|
<div class="pie-conf">
|
<a href="javascript:;" class="pie-btn" id="faCog" title="图表配置">
|
<i class="fa fa-cog"></i>
|
</a>
|
</div>
|
<div class="pie-item-con">
|
<!-- 机房停电 -->
|
<div class="repair-pie module"></div>
|
<!-- 电池状态饼状图 -->
|
<div class="brdn-pie module"></div>
|
<!-- 电池告警饼状图 -->
|
<div class="warn-pie module"></div>
|
<!--电池容量饼状图-->
|
<div class="health-pie module"></div>
|
<!-- 机房续航能力饼状图 -->
|
<div class="endur-pie module"></div>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</div>
|
|
</div>
|
<c:forEach var="cust" items="${sessionScope.custompages}">
|
<c:if test="${cust.submenu eq 'My_work' && cust.subflag eq 1}">
|
<!-- 清除浮动 -->
|
<div class="clear"></div>
|
<!--我的作业-->
|
<div class="my-work module">
|
<!--作业内容的头部信息-->
|
<div class="my-work-head">
|
<!-- 作业类型下拉框-->
|
<div class="work-sel">
|
<table>
|
<tr>
|
<td>
|
<select id="task_type">
|
<option value="100">--<s:text name="My_work"/>--</option> <!-- 我的作业 -->
|
<option value="10"><s:text name="Check_the_discharge_operations"/></option> <!-- 核对性放电作业 -->
|
<option value="2"><s:text name="Daily_inspection_maintenance_operations"/></option> <!-- 日程巡查维护作业 -->
|
<option value="3"><s:text name="Switch_electric_check_the_homework"/></option> <!-- 拉闸放电动环核对作业 -->
|
</select>
|
</td>
|
<td><s:text name="From"/><!-- 从 -->:<input id="task_close_date" type="text" value="2012-12-20" onfocus="new Calendar().show(this)"/></td>
|
<td><s:text name="To"/><!-- 至 -->:<input id="task_close_date1" type="text" value="" onfocus="new Calendar().show(this)"/></td>
|
<td><s:text name="A_total_of"/><!-- 共有 --><span class="job-num">0</span><s:text name="Job_unfinished"/></td> <!-- 个作业未完成 -->
|
</tr>
|
</table>
|
</div>
|
<!--更多-->
|
<div class="more"><a href="myJob.jsp"><s:text name="More"/>>></a></div> <!-- 更多 -->
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</div>
|
<!--表格容器-->
|
<div class="tbl-con">
|
</div>
|
</div>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</c:if>
|
|
|
<c:if test="${cust.submenu eq 'Battery_maintenance_record' && cust.subflag eq 1}">
|
<!--维护记录-->
|
<div class="mainte module">
|
<!--维护记录的头部-->
|
<div class="mainte-head">
|
<div class="txt"><s:text name="Battery_maintenance_record"/></div> <!-- 电池故障维护记录 -->
|
<!--更多-->
|
<div class="more"><a href="eleBrdwMaint.jsp"><s:text name="More"/>>></a></div> <!-- 更多 -->
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</div>
|
<!--维护记录内容-->
|
<div class="tbl-con">
|
<table>
|
<thead>
|
<tr>
|
<th><s:text name="BatteryID"/></th> <!-- 电池组ID -->
|
<th><s:text name="Edit_person"/></th> <!-- 编辑人 -->
|
<th><s:text name="Edit_history_record"/></th> <!-- 历史编辑记录 -->
|
<th><s:text name="Edit_time"/></th> <!-- 编辑时间 -->
|
</tr>
|
</thead>
|
<tbody>
|
|
</tbody>
|
</table>
|
</div>
|
</div>
|
</c:if>
|
<c:if test="${cust.submenu eq 'Announce_information' && cust.subflag eq 1}">
|
<!--公告信息-->
|
<div class="notice module">
|
<!--公告信息的头部-->
|
<div class="notice-head">
|
<div class="txt"><s:text name="Announcement_of_the_information"/></div> <!-- 公告信息 -->
|
<!--更多-->
|
<div class="more"><a href="notice.jsp" target="_blank"><s:text name="More"/>>></a></div>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</div>
|
<!--公告内容-->
|
<div class="content">
|
|
</div>
|
</div>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</c:if>
|
<c:if test="${cust.submenu eq 'Battery_discharge' && cust.subflag eq 1}">
|
<!--电池放电测试的比例-->
|
<div class="discharge-test module">
|
<!-- 电池放电测试的标题-->
|
<div class="test-head">
|
<!--标题内容-->
|
<div class="txt"><s:text name="Battery_discharge"/></div> <!-- 电池放电测试的比例 -->
|
<!--更多-->
|
<div class="more"><a href="javascript:;"><s:text name="More"/>>></a></div> <!-- 更多 -->
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</div>
|
<!--电池放电测试选择条件-->
|
<div class="test-term">
|
<form id="batttest_form">
|
<!--维护区-->
|
<div class="term-list">
|
<select id="batt_stationname1" name="bmd.binf.StationName1">
|
|
</select>
|
</div>
|
<!--测试年限-->
|
<div class="term-list">
|
<select id="testlong" name="bmd.tdata.num">
|
<option value="100" selected="selected">--<s:text name="The_test_of"/>--</option> <!-- 测试年限 -->
|
<option value="0"><s:text name="Need_test_this_year"/></option> <!-- 今年需要测试 -->
|
<option value="1"><s:text name="Within_a_year_not_test"/></option> <!-- 一年以内未测试 -->
|
<option value="3"><s:text name="within_three_years_not_test"/></option> <!-- 三年以内未测试 -->
|
</select>
|
</div>
|
<!--放电类型-->
|
<div class="term-list">
|
<select name="bmd.tdata.test_starttype" id="dischange_type">
|
<option value="0" selected="selected">--<s:text name="Discharge_type"/>--</option> <!-- 放电类型 -->
|
<option value="1"><s:text name="A_switch_discharge"/></option> <!-- 拉闸放电 -->
|
<option value="2"><s:text name="Check_discharge"/></option> <!-- 核对性放电 -->
|
</select>
|
</div>
|
<div class="term-list">
|
<!-- 共有 --><s:text name="A_total_of"/><span class="unwork">0</span><s:text name="Had_not_been_completed"/><!-- 条未完成 -->
|
</div>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</form>
|
</div>
|
<!--表格内容-->
|
<div class="tbl-con">
|
<div class="tbl">
|
<table>
|
</table>
|
</div>
|
</div>
|
<!--放电测试比例饼状图-->
|
<div class="test-pie"></div>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
</div>
|
</c:if>
|
</c:forEach>
|
</div>
|
</div>
|
<!--表格选项-->
|
<div id="cardOption">
|
<span><s:text name="Options"/></span> <!-- 选项 -->
|
<div class="tbHead"><!--<table class="upper"></table>这里放的是表格选项固定的头部 --></div>
|
<div class="con_table"><!--<table class="upper"></table>这里放的是表格选项滚动部分 --></div>
|
<div class="input_container">
|
<input type="button" class="enSure" value="<s:text name='Determine'/>"> <!-- 确定 -->
|
<input type="button" class="outCard" value="<s:text name='Return'/>"> <!-- 返回 -->
|
</div>
|
</div>
|
<input type="hidden" id="user_logo" value="<%=user_logo %>">
|
<div id="homeInfoIframeData"></div>
|
<form id="export_excel" action="ExportTable.servlet" method="post">
|
<input type="hidden" name="excelTitle" value="机房信息表">
|
<input type="hidden" name="PageName" value="autoPageName"/>
|
<input type="hidden" id="table_th_arr" name="table_th_arr"/>
|
<input type="hidden" id="table_td_arr" name="table_td_arr"/>
|
<input type="hidden" id="exp_picture_str" name="exp_picture_str">
|
</form>
|
<!--清除浮动-->
|
<div class="clear"></div>
|
<script type="text/javascript" src="pages/js/base.js"></script>
|
<script type="text/javascript" src="pages/js/common.js"></script>
|
<script type="text/javascript" src="pages/js/pages/siderbar.js"></script>
|
<script type="text/javascript" src="pages/js/pages/index-common.js"></script>
|
<script type="text/javascript" src="pages/js/GPS.js"></script>
|
<script type="text/javascript" src="js/panel.js"></script>
|
<script type="text/javascript" src="js/search.js"></script>
|
<script type="text/javascript" src="js/changePinYin.js"></script>
|
<script type="text/javascript" src="js/createMap.js"></script>
|
<script type="text/javascript" src="js/outline-addHome.js"></script>
|
<script type="text/javascript" src="js/myConfirm.js"></script>
|
<script type="text/javascript" src="js/loading.js"></script>
|
<script type="text/javascript" src="src/layui.js"></script>
|
<script type="text/javascript" src="src/layui.all.js"></script>
|
<script type="text/javascript" src="pages/js/mylayui.js"></script>
|
<script type="text/javascript" src="pages/js/pages/homeInfo.js"></script>
|
<script type="text/javascript" src="pages/js/html2canvas.min.js"></script>
|
<script type="text/javascript">
|
var permits;
|
<% Object obj=session.getAttribute("permits");
|
if(obj!=null){
|
String permits =obj.toString(); %>
|
permits=<%= permits %>;
|
//console.info(permits);
|
<% } %>
|
/* console.info("**********");
|
console.info(permits);
|
console.info("**********"); */
|
getMapHt();
|
var mapDel = getPermit('batt_map_delete_permit', permits);
|
var map; // 定义全局的map变量
|
var checkMapDot = new CheckMapDot(); // 根据资源文件显示内容
|
var mkList = new Array(); // mk的列表
|
var form = layui.form;
|
var panel;
|
var search;
|
var warnOpts;
|
//console.info(BMap);
|
var mapDefults = new Image().src = 'image/mapDefault.gif';
|
var mapImages = getMapImageUrl();
|
// 定义省-市资源内容
|
var area = [
|
{province: '湖北省', city:['鄂州市', '武汉市', '金门市', '孝感市', '宜昌', '黄冈']},
|
{province: '直辖市', city:['北京市', '上海市', '重庆市', '天津市']},
|
{province: '河南省', city:['郑州市', '驻马店市', '信阳市', '漯河']},
|
{province: '河北省', city:['石家庄']},
|
];
|
|
var commonDot = [
|
/* {lng:"114.931394", lat:"30.381217", title:"湖北省-鄂州市-东方世纪城-设备1", content:"地址:鄂城区新庙镇桥文路东方世纪城"}, */
|
];
|
|
// 定义地图图标提示框内容
|
var warnDotList = [
|
|
];
|
|
var dischargeDotList = [
|
|
];
|
|
var behindCellList = [
|
|
];
|
|
|
// 设置页面中pie的模块
|
;(function() {
|
var pieStatus = GLOBAL.Index.Pie.pieStatus; // 查询饼状图显示的状态
|
var pieItemCon = $('.pie-con .pie-item-con');
|
pieItemCon.text('');
|
var pieItems = pieStatus();
|
pieItemCon.html(pieItems);
|
})();
|
|
|
var locationcity;
|
var moduleSqlArr;
|
|
//根据moduleSqlArr对页面的内容进行布局
|
$(document).ready(function(){
|
moduleSqlArr=new Array();
|
var cust={navigate:'HomePage',subjudge:0};
|
var json=window.JSON.stringify(cust);
|
$.ajax({
|
type: "post",
|
url: "CustompageAction!serchByCondition",
|
async:false,
|
dataType:'text',
|
data:"result="+json,
|
success: function(data){
|
var data = eval("("+data+")");
|
var model=eval("("+data.result+")");
|
if(model.code==1 && model.data.length>0){
|
moduleSqlArr=model.data;
|
//console.info(moduleSqlArr);
|
}
|
}
|
});
|
|
for(var i=0;i<moduleSqlArr.length;i++)
|
{
|
//给将要移除的内容添加class=“del-module”
|
if(moduleSqlArr[i].subflag==0)
|
{
|
$('#main .module').eq(i).addClass('del-module');
|
}
|
}
|
//alert($('#main .del-module').length);
|
$('#main .del-module').remove(); //移除class="del-module"的内容
|
//根据饼状图的数量确定位置和大小
|
getMapHt();
|
/* switch(pieLen){
|
case 0:
|
$('#main .china-map').remove();
|
break;
|
case 1:
|
$('#main .pie-con .module').css({
|
'width':'100%',
|
'height':'400px'
|
});
|
break;
|
case 2:
|
$('#main .pie-con .module').css('height','400px');
|
break;
|
case 3:
|
$('#main .pie-con .module').eq(pieLen-1).css('width','100%');
|
break;
|
} */
|
if($('#main .mainte').length==0)
|
{
|
if($('#main .notice').length!=0)
|
{
|
$('#main .notice').css('width','100%');
|
}
|
}else{
|
if($('#main .notice').length==0)
|
{
|
$('#main .mainte').css('width','100%');
|
}
|
}
|
|
});
|
//我的作业模块
|
$(document).ready(function(){
|
var tblHead=$('#content .my-work .tbl-con table');
|
//生成头部表格
|
createHead(tblHead);
|
//窗口大小改变重新生成表格
|
$(window).resize(function(){
|
createHead(tblHead);
|
});
|
});
|
//维护记录模块
|
$(document).ready(function(){
|
var tblHead=$('#content .mainte .tbl-con table');
|
createHead(tblHead);
|
//窗口大小改变重新生成表格
|
$(window).resize(function(){
|
createHead(tblHead);
|
});
|
});
|
//页面中表格和列表的移入和移出效果
|
$(document).ready(function(){
|
//页面内我的作业表格鼠标效果
|
$('#content .my-work .tbl-con').on('mouseover','table tbody tr',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .my-work .tbl-con').on('mouseout','table tbody tr',function(){
|
$(this).removeClass('bgcolor');
|
});
|
//页面中电池故障维护表格的鼠标效果
|
$('#content .mainte .tbl-con').on('mouseover','table tbody tr',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .mainte .tbl-con').on('mouseout','table tbody tr',function(){
|
$(this).removeClass('bgcolor');
|
});
|
//页面中操作记录列表的鼠标效果
|
$('#content .operate .content').on('mouseover','ul li',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .operate .content').on('mouseout','ul li',function(){
|
$(this).removeClass('bgcolor');
|
});
|
});
|
|
$(function() { // 显示和隐藏图标说明
|
$('.nav-map').on('click', '.explain-header', function() {
|
$('.explain-list').fadeToggle();
|
});
|
|
$('#map').on('dblclick', '.explain-header', function() {
|
return false;
|
});
|
|
$('.nav-map').on('click', '.explain-list input', function() {
|
setMapImgStyles();
|
//updateStation(true);
|
changeMapDotStatusByCheckbox(map, magImgStyles);
|
});
|
});
|
|
//创建指定元素下克隆表格头部
|
function createHead(ele){
|
createTblHead(ele);
|
$(window).resize(function(){
|
createTblHead(ele);
|
});
|
}
|
|
//创建维护区条件
|
function serchByStation(){
|
//页面加载时查询维护区中的枢纽类型
|
$.ajax({
|
type: "post",
|
url:"BattInfAction_serchByStation",
|
async:true,
|
success:function(data){
|
data=data.result;
|
data=eval("("+data+")");
|
//console.info(data);
|
if(data.code==1 && data.data.length>0){
|
var $select=$("#batt_stationname1");
|
$select.text("");
|
for(var i=0;i<=data.data.length;i++){
|
$option=$("<option></option>");
|
if(i==0){
|
$option.html("-<s:text name='All_the_maintenance_area'/>-");
|
$option.attr("value", "");
|
}else{
|
$option.text(data.data[i-1].StationName1);
|
$option.attr("value",data.data[i-1].StationName1);
|
}
|
$select.append($option);
|
}
|
}
|
}
|
});
|
}
|
|
//查询当前的所有作业
|
$(document).ready(function(){
|
searchMapName();
|
serchByStation();
|
Repeatoperation();
|
});
|
|
//根据当前用户查询对应的城市
|
function searchMapName(){
|
// 定义临时经纬度坐标
|
var pointList = [
|
/* [114.309936, 30.597472],
|
[114.311158, 30.599057],
|
[114.309469, 30.596368],
|
[114.313727, 30.59814] */
|
];
|
|
//电池分布中国地图
|
var $map=$('#content .china-map'); //获取jquery对象
|
|
// 获取map容器的初始宽高
|
mapInitWidth = $('#map').width();
|
mapInitHt = $('#map').height();
|
//console.info(mapInitWidth+"**"+mapInitHt);
|
if($map.length != 0){
|
try{
|
map = new BMap.Map('map', {minZoom:5,maxZoom:15});
|
//map = 1;
|
//$('#map .img-change').show();
|
}catch(e) {
|
map = 1;
|
//$('#map .img-change').show();
|
}
|
|
if(map != 1) { //长春市设为中心点
|
var point = new BMap.Point(125.3192,43.8090);
|
map.centerAndZoom(point, 11); // 用城市名设置地图中心点
|
centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
|
map.enableScrollWheelZoom();
|
map.disableDoubleClickZoom();
|
//map.setMapStyle({style: 'grayscale'}); // 设置地图的风格
|
// 添加地图类型控件
|
map.addControl(new BMap.MapTypeControl());
|
add_control();
|
// 给地图添加工具条(地图-卫星-三维)和比例尺控件
|
var bottom_left_control = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
|
map.addControl(bottom_left_control); // 添加比例尺到地图
|
|
$('#map').on('dblclick', bigMap);
|
|
// 解决双击面板地图大小改变
|
$('#map').on('dblclick','.panel', function() {
|
return false;
|
});
|
|
//设置面板
|
$('#map').find('.panel').remove();
|
$('#map').prepend('<div class="panel position-right"></div>');
|
addContentToPanel($('#map .panel'));
|
addSearchContent($('#map'));
|
|
|
panel = new Panel($('#map .panel'));
|
|
search = new Search($('#map .search').eq(0));
|
|
// 省-市内容联动并定位
|
$('#panelProvince').change(function() {
|
changeCityByPrivince($('#panelCity'), $(this).val(), area);
|
// 定位
|
locationToCity($('#panelCity'));
|
});
|
$('#panelCity').change(function() {
|
// 定位
|
locationToCity($(this));
|
|
flushFourPie(); //更新四种饼状图
|
});
|
// 设置右键菜单
|
var menu = new BMap.ContextMenu();
|
var txtMenuItem = [
|
{
|
text: '设置中心点',
|
callback: function(e) {
|
myConfirm.show({
|
title: '设置地图默认显示位置',
|
content: '是否确认修改地图默认中心坐标',
|
enfun:updateMapCenterPoint,
|
enparams:[e]
|
});
|
}
|
},
|
{
|
text: '搜索地址',
|
callback: function(e) {
|
search.showSearch();
|
}
|
},
|
{
|
text: '全屏显示',
|
callback: function(e) {
|
//console.info(e);
|
// console.info(e);
|
bigMap();
|
}
|
},
|
{
|
text: '退出全屏显示',
|
callback: function(e) {
|
// console.info(e);
|
smallMap();
|
}
|
},
|
|
{
|
text: '返回中心点',
|
callback: function(e){
|
centerMapByPoint(map); // 根据当前用户设定的位置显示中心点
|
}
|
}
|
];
|
//console.info(getPermit('taskchange_edit_permit', permits)+"*******");
|
if(getPermit('batt_map_edit_permit', permits)) {
|
var set_home = {
|
text: '设置机房',
|
callback: function(e) {
|
var pt = e;
|
addCommonDot(map, pt);
|
}
|
};
|
txtMenuItem.push(set_home);
|
}
|
|
for(var i=0; i < txtMenuItem.length; i++){
|
menu.addItem(new BMap.MenuItem(txtMenuItem[i].text,txtMenuItem[i].callback,100));
|
}
|
map.addContextMenu(menu);
|
|
// 生成普通的覆盖物
|
/* var commonIcon = new BMap.Icon('image/map-tieta.gif', new BMap.Size(20, 30)); // 设置图片
|
var marker = new BMap.Marker(point, {icon: commonIcon}); // 创建标记
|
map.addOverlay(marker); // 将标记添加到地图 */
|
|
createIconExplain($('#map'));
|
|
//searchAllProvince(); // 生成维护区列表
|
/* addCommonDotHome(commonDot);
|
createWarnDot(map, warnDotList);
|
dischargeTimeOut(map, dischargeDotList);
|
behindDotCell(map, behindCellList); */
|
}
|
|
}
|
}
|
|
//需要实时查询的方法
|
function Repeatoperation(){
|
// 判断页面是否正在被访问
|
if(pageIsVisit) {
|
searchBattmaintrecords();
|
searchUserTask();
|
searchAnnounceall();
|
searchTestsCale();
|
}
|
setTimeout(Repeatoperation,10000);
|
}
|
|
$(function() {
|
flushFourPie(true);
|
});
|
|
//更新四种饼状图
|
function flushFourPie(create){
|
var cityname = $('#panelCity').val();
|
locationcity = getCityByName(cityname);
|
if(create) {
|
initPieObj();
|
}
|
|
|
searchalarm_data(); //查询告警率
|
searchGood(); //查询健康率
|
searchmaintByMap(); //查询电池状态
|
searchBatt_maint_inf(); //查询机房停电比例
|
searchEndurHome(); //查询续航饼状图
|
}
|
|
//查询最近的故障维护记录
|
function searchBattmaintrecords(){
|
if($('#content .mainte').length==0){
|
return;
|
}
|
$.post("Batt_maint_infAction!search",null,function(data){
|
model=eval("("+data.result+")");
|
//console.info(model);
|
if(model.code==1 && model.data.length>0){
|
$('#content .mainte .tbl-con table tbody').text('');
|
var tbody=$('#content .mainte .tbl-con table tbody');
|
for(var i=0;i<model.data.length;i++){
|
data=model.data[i];
|
//console.info(data);
|
var mainte_tr=$("<tr></tr>");
|
|
var mainte_td1=$("<td>"+data.mainf.BattGroupId+"</td>"); //电池组id
|
var mainte_td2=$("<td>"+data.mprocess.uname+"</td>");
|
var mainte_td3=$("<td>"+data.mprocess.work_caption+"</td>");
|
var mainte_td4=$("<td>"+data.mprocess.work_caption_time+"</td>");
|
mainte_tr.append(mainte_td1);
|
mainte_tr.append(mainte_td2);
|
mainte_tr.append(mainte_td3);
|
mainte_tr.append(mainte_td4);
|
tbody.append(mainte_tr);
|
}
|
}
|
createHead($('#content .mainte .tbl-con table'));
|
});
|
}
|
|
var arrtd=new Array();
|
$("#task_close_date1").attr("value",new Date().format("yyyy-MM-dd"));
|
//查询和当前用户相关的作业信息$$$$$$$$$
|
function searchUserTask(){
|
if($('#content .my-work').length==0){
|
return;
|
}
|
//createWait($('#content .my-work .tbl-con'));
|
var task_type=$('#task_type').prop('value');
|
var task_close_date=$('#task_close_date').prop('value');
|
var task_close_date1=$('#task_close_date1').prop('value');
|
var temp={
|
utask:{
|
task_complete:100,
|
task_type:task_type,
|
task_close_date:task_close_date,
|
task_close_date1:task_close_date1,
|
},
|
page:{
|
pageCurr:1,
|
pageSize:10,
|
}
|
};
|
//console.info(temp);
|
//var json="tbt.page.pageCurr=1&tbt.page.pageSize=100&tbt.utask.task_complete=100";
|
//json+="&tbt.utask.task_type="+task_type;
|
//json+="&tbt.utask.task_close_date="+task_close_date;
|
//json+="&tbt.utask.task_close_date1="+task_close_date1;
|
//console.info(json);
|
var json = JSON.stringify(temp);
|
$.post("User_taskAction!serchByUid","result="+json,function(data){
|
|
var tabTh=new Array();
|
var tabTd=new Array();
|
model=eval("("+data.result+")");
|
var task_table=$('#content .my-work .tbl-con table tbody');
|
arrtd=new Array();
|
if(model.code==1){
|
$('#content .my-work .tbl-con').text('');
|
$('#content .my-work .job-num').text(model.sum);
|
var index=0;
|
//console.info(model.data);
|
for(var i=0;i<model.data.length;i++){
|
data=model.data[i];
|
arrtd[index++]=data.binf.StationName;
|
arrtd[index++]=data.binf.BattGroupName;
|
arrtd[index++]=data.utask.task_name;
|
arrtd[index++]=data.utask.task_create_date;
|
var exedate=data.utest.task_exe_date;
|
if(exedate!=undefined && exedate.length>0){
|
arrtd[index++]=exedate.substr(0,10);
|
arrtd[index++]=data.utest.task_close_date;
|
}else{
|
arrtd[index++]=data.ucheck.task_exe_date.substr(0,10);
|
arrtd[index++]=data.ucheck.task_close_date;
|
}
|
|
arrtd[index++]=data.utask.subtask_count;
|
arrtd[index++]=data.utask.task_complete*100+"%";
|
|
}
|
}else{
|
$('#content .my-work .job-num').text(0);
|
}
|
//alert(arrtd);
|
tabTh=getArrTh(TaseState,TaskTabTh);
|
tabTd=getArrTd(TaseState,arrtd);
|
createTablenew($('#content .my-work .tbl-con'),tabTh,tabTd);
|
createHead($('#content .my-work .tbl-con table'));
|
//$('#content .my-work .tbl-con .wait').remove();
|
});
|
|
}
|
var warnPie;
|
//查询告警信息并显示告警率
|
function searchalarm_data(){
|
if($('#content .warn-pie').length==0){
|
return;
|
}
|
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchalarm_data, 10000);
|
return;
|
}
|
|
//生成电池告警率饼状图
|
var $warn=$('#content .pie-con .warn-pie'); //获取告警容器的jquery对象
|
if($warn.length!=0){
|
var isEcharts = isObject(warnPie)?true:false;
|
if(!isEcharts) {
|
var warn=$warn.get(0); //将告警容器的jquery对象转化为dom对象
|
warnPie=echarts.init(warn); //初始化图表容器
|
warnPie.showLoading();
|
}
|
|
|
var cityname='';
|
//console.info("="+locationcity.pinyin+"=");
|
if(locationcity.pinyin != undefined && locationcity.pinyin.length>0 && locationcity.pinyin !='china'){
|
cityname = locationcity.name;
|
}
|
//console.info(cityname);
|
//查询各种告警记录
|
$.post("Battalarm_dataAction!serchAlm","bmd.binf.StationName="+cityname,function(data){
|
var model=eval("("+data.result+")");
|
if(model.code==1){
|
//console.info(model);
|
var Almarr=[];
|
if(model.data!=undefined){
|
var data=model.data;
|
var total = parseInt(data.MonNum) + parseInt(data.alm_id) + parseInt(data.alm_signal_id) + parseInt(data.alm_level)+parseInt(data.alm_value)+parseInt(data.BattGroupId);
|
if(total == 0){
|
Almarr.push(
|
{
|
name:"暂无告警",val:0,color:'#0CD312', // 组端电压
|
}
|
);
|
}else{
|
Almarr.push(/*{
|
name:"<s:text name='Capacity'/><s:text name='Alarm'/><s:text name='Alarm'/>",val:parseInt(data.BattGroupId) // 容量告警告警
|
} ,*/{
|
name:"<s:text name='On-line_voltage'/>",val:parseInt(data.Record_Id), // 在线电压
|
},{
|
name:"<s:text name='Group_voltage'/>",val:parseInt(data.MonNum), // 组端电压
|
},{
|
name:"<s:text name='Charging_current'/>",val:parseInt(data.alm_id), // 充电电流
|
},{
|
name:"<s:text name='Discharge_current'/>",val:parseInt(data.alm_signal_id), // 放电电流
|
} ,{
|
name:"<s:text name='Monomer_voltage'/>",val:parseInt(data.alm_level), // 单体电压
|
}/* {
|
name:"<s:text name='Temperature_monomer'/>",val:parseInt(data.alm_is_confirmed) // 单体温度
|
},{
|
name:"<s:text name='Monomer_resistance'/>",val:parseInt(data.alm_cleared_type) // 单体内阻
|
},{
|
name:"<s:text name='Connect_impedance'/>",val:parseInt(data.alm_value) // 连接条阻抗
|
} */,{
|
name:"<s:text name='Capacity'/><s:text name='Alarm'/>",val:parseInt(data.alm_value) + parseInt(data.BattGroupId),color:'#D1D105' // 容量更换告警
|
});
|
}
|
|
}else{
|
Almarr.push(
|
{
|
name:"暂无告警",val:0,color:'#0CD312', // 组端电压
|
}
|
/*{
|
name:"<s:text name='Capacity'/><s:text name='Alarm'/><s:text name='Alarm'/>",val:parseInt(0) //在线电压
|
}, {
|
name:"<s:text name='Group_voltage'/>",val:parseInt(0) // 组端电压
|
},{
|
name:"<s:text name='Charging_current'/>",val:parseInt(0) // 充电电流
|
},{
|
name:"<s:text name='Discharge_current'/>",val:parseInt(0) // 放电电流
|
} ,{
|
name:"<s:text name='Monomer_voltage'/>",val:parseInt(0) // 单体电压
|
} ,{
|
name:"<s:text name='Temperature_monomer'/>",val:parseInt(0) // 单体温度
|
},{
|
name:"<s:text name='Monomer_resistance'/>",val:parseInt(0) // 单体内阻
|
} ,{
|
name:"<s:text name='Capacity'/><s:text name='Change'/><s:text name='Alarm'/>",val:parseInt(0) //容量更换告警
|
}*/);
|
}
|
//创建电池告警饼状图
|
var warnTle="<s:text name='Battery_alarm_rate'/>"; /* 电池告警率 */
|
if(!isEcharts) {
|
createPie(warnPie,warnTle,Almarr);
|
warnPie.on('click', function(param) {
|
// 0:在线电压 1:组端电压 2:充电电流 3:放电电流 4:单体电压 5:容量告警
|
if(param.dataIndex == 5) {
|
|
}else {
|
window.open('elewarn.jsp?warntype='+param.dataIndex+'&warntxt='+param.name);
|
}
|
|
});
|
}else {
|
var opts = getOpt(warnTle, Almarr);
|
warnPie.setOption(opts);
|
}
|
|
setTimeout(searchalarm_data, 10000)
|
|
}
|
});
|
}
|
}
|
|
var brdnPie;
|
//查询各个机房的电池状态
|
function searchmaintByMap(){
|
if($('#content .brdn-pie').length==0){
|
return;
|
}
|
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchmaintByMap, 10000);
|
return;
|
}
|
|
// 判断是否为Echarts对象
|
var isEcharts = isObject(brdnPie)?true:false;
|
|
if(!isEcharts) {
|
//生成电池状态饼状图
|
var $brdn=$('#content .pie-con .brdn-pie'); //获取故障容器的jquery对象
|
var brdn=$brdn.get(0); //将容器的jquery对象转化为dom对象
|
brdnPie=echarts.init(brdn); //初始化表格容器
|
}
|
|
|
var brdnTle="<s:text name='Batte_state'/>"; /* 电池状态 */
|
$.post("Batt_rtstateAction!serchBattStateRate",null,function(data){
|
var model=eval("("+data.result+")");
|
//console.info(model);
|
var maintarr = new Array();
|
setBatt_list(maintarr,model.data);
|
if(!isEcharts){
|
//创建电池故障率状图
|
createPie(brdnPie,brdnTle,maintarr);
|
brdnPie.on('click', function(param) {
|
window.open('elestatus.jsp?battstate='+param.dataIndex);
|
});
|
}else{
|
brdnPie.setOption(getOpt(brdnTle, maintarr));
|
}
|
setTimeout(searchmaintByMap, 10000);
|
});
|
}
|
|
//设置电池状态机房
|
function setBatt_list(list,data){
|
//console.info(data);
|
if(data!=undefined && data.length>0){
|
for(var i=0;i<batt_states.length;i++){
|
var f = false;
|
for(var j=0;j<data.length;j++){
|
if(data[j].batt_state == batt_states[i].state){
|
list.push({
|
name:batt_states[i].value,
|
val:data[j].num, /* 充电 */
|
color:batt_states[i].color
|
});
|
f = true;
|
break;
|
}
|
}
|
if(f == false){
|
list.push({
|
name:batt_states[i].value,
|
val:0, /* 充电 */
|
color:batt_states[i].color
|
});
|
}
|
}
|
}
|
}
|
|
//电池状态
|
var batt_states = [
|
{state:1,value:"<s:text name='Floate_charge'/>",color:'#31CB36'}, //浮充
|
{state:2,value:"<s:text name='Charging'/>",color:'#D1D105'}, //充电
|
{state:3,value:"<s:text name='Discharging'/>",color:'#FF0000'}, //放电
|
{state:4,value:"<s:text name='Average_charge'/>",color:'#800080'}, //均充
|
];
|
|
var repairPie;
|
//查询机房停电状态
|
function searchBatt_maint_inf(){
|
if($('#content .repair-pie').length==0){
|
return;
|
}
|
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchBatt_maint_inf, 10000);
|
return;
|
}
|
|
// 判断是否为Echarts对象
|
var isEcharts = isObject(repairPie)?true:false;
|
if(!isEcharts) {
|
var $repair=$('#content .pie-con .repair-pie'); //获取机房停电图容器的jquery对象
|
var repair=$repair.get(0); //将故障容器的jquery对象转化为dom对象
|
repairPie=echarts.init(repair); //初始化表格容器
|
}
|
|
// 请求后台
|
$.ajax({
|
type: "post",
|
//url: "BattPower_offAction!serchPowerOff",
|
url: "Bts_station_stateAction_action_serchPowerOff",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
var repairObj=new Array();
|
data = eval("("+data+")");
|
var model = eval("("+data.result+")");
|
//console.info(model);
|
if((model.sum>=0) && (model.newsum>=0) && (model.newsum>=model.sum)){
|
repairObj=[{name:"<s:text name='Computer_room'/><s:text name='Power_cut'/>",val:model.sum,color:'#FF0000'}, /*已停电机房*/
|
{name:"<s:text name='Computer_room'/><s:text name='Not'/><s:text name='Power_cut'/>",val:model.newsum-model.sum,color:'#31CB36'}, /* 未停电机房 */
|
{name:"机房掉站", val: model.code}];
|
}else{
|
repairObj=[{name:"<s:text name='Computer_room'/><s:text name='Power_cut'/>",val:0,color:'#FF0000'}, /* 已停电机房 */
|
{name:"<s:text name='Computer_room'/><s:text name='Not'/><s:text name='Power_cut'/>",val:model.sum,color:'#31CB36'},
|
{name:"机房掉站", val: model.code}]; /* '未修复' */
|
}
|
var repairTle="<s:text name='Computer_room'/><s:text name='Power_cut'/>"; /* '机房停电' */
|
if(!isEcharts){
|
createPie(repairPie,repairTle,repairObj);
|
repairPie.on('click', function() {
|
window.open('batt-state-manage.jsp');
|
});
|
}else{
|
var opt = getOpt(repairTle, repairObj);
|
repairPie.setOption(opt);
|
}
|
|
setTimeout(searchBatt_maint_inf, 10000);
|
},
|
error:function(){
|
//setTimeout("searchBatt_maint_inf()", 10000);
|
}
|
});
|
}
|
|
//查询健康率
|
var healthPie;
|
function searchGood(){
|
if($('#content .health-pie').length==0){
|
return;
|
}
|
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchGood, 10000);
|
return;
|
}
|
|
//生成电池健康率
|
var $health=$('#content .pie-con .health-pie'); //获取故障容器的jquery对象
|
if($health.length!=0){
|
// 是否echarts对象
|
var isEcharts = isObject(healthPie)?true:false;
|
if(!isEcharts) {
|
var health=$health.get(0); //将故障容器的jquery对象转化为dom对象
|
healthPie=echarts.init(health); //初始化表格容器
|
healthPie.showLoading();
|
}
|
|
var healthTle="<s:text name='Monomer_cap_health_rate'/>"; /* '电池健康率' */
|
$.post("Battalarm_dataAction!serchGood",null,function(data){
|
var model=eval("("+data.result+")");
|
var healthObj;
|
if(model.code==1){
|
healthObj=[
|
{name:"单体容量健康",val:model.sum-model.data[0]-model.data[1],color:'#31CB36'}, /* '健康电池' */
|
{name:"单体容量告警",val:model.data[0],color:'#D1D105'},
|
{name:"单体容量更换",val:model.data[1],color:'#FF0000'}
|
]; /* '不健康电池' */
|
}else{
|
healthObj=[
|
{name:"单体容量健康",val:0,color:'#31CB36'}, /* '健康电池' */
|
{name:"单体容量告警",val:0,color:'#D1D105'},
|
{name:"单体容量更换",val:0,color:'#FF0000'}
|
];
|
}
|
if(!isEcharts) {
|
//创建电池故障饼状图
|
createPie(healthPie,healthTle,healthObj);
|
|
// 点击饼状图进行跳转
|
healthPie.on('click', function(param) {
|
window.open('taskplan.jsp'); // 跳转到落后单体查询
|
});
|
}else {
|
var opt = getOpt(healthTle, healthObj);
|
healthPie.setOption(opt);
|
}
|
|
setTimeout(searchGood, 10000);
|
});
|
}
|
}
|
|
// 查询续航不足的机房数
|
var endurPie;
|
function searchEndurHome() {
|
if($('#content .endur-pie').length==0){
|
return;
|
}
|
|
// 判断页面是否被访问
|
if(!pageIsVisit) {
|
setTimeout(searchEndurHome, 10000);
|
return;
|
}
|
|
//生成电池告警率饼状图
|
var $endur=$('#content .pie-con .endur-pie'); //获取告警容器的jquery对象
|
if($endur.length!=0){
|
var isEcharts = endurPie?true:false;
|
if(!isEcharts) {
|
var endur=$endur.get(0); //将故障容器的jquery对象转化为dom对象
|
endurPie=echarts.init(endur); //初始化表格容器
|
}
|
|
var endurTle="机房续航能力"; /* 机房续航能力 */
|
// 查询后台内容
|
$.ajax({
|
type: 'post'
|
,async: true
|
,url: 'Batt_enduranceAction!serchByState_xuhang'
|
,data: null
|
,dataType: 'json'
|
,success: function(res) {
|
var rs = JSON.parse(res.result);
|
if(rs.code == 1) {
|
var data = rs.data;
|
var endurObj =[
|
{name:"续航不足1小时",val:data[0],color:'#FF0000'}
|
,{name:"续航1~2小时",val:data[1],color:'#D1D105'}
|
,{name:"续航2~3小时",val:data[2],color:'#31CB36'}
|
,{name:"续航3小时以上",val:data[3],color:'#619FA7'}
|
];
|
|
if(!isEcharts) {
|
//创建电池故障饼状图
|
createPie(endurPie,endurTle,endurObj);
|
|
// 点击饼状图进行跳转
|
endurPie.on('click', function(param) {
|
var str = '';
|
switch(param.dataIndex) {
|
case 0:
|
str = 'timelong=60';
|
break;
|
case 1:
|
str = 'timelong=120';
|
break;
|
case 2:
|
str = 'timelong=180';
|
break;
|
case 3:
|
str = 'is_stand=0';
|
break;
|
}
|
|
window.open('batt-life-manage.jsp?'+str); // 跳转到落后单体查询
|
});
|
|
}else {
|
var opts = getOpt(endurTle, endurObj);
|
endurPie.setOption(opts);
|
}
|
}
|
|
setTimeout(searchEndurHome, 10000);
|
}
|
});
|
|
}
|
}
|
|
// 初始化饼状图容器对象
|
function initPieObj() {
|
warnPie = false;
|
brdnPie = false;
|
repairPie = false;
|
healthPie = false;
|
endurPie = false;
|
}
|
|
//让地图和饼状图随浏览器窗口的改变而改变
|
$(window).resize(function(){
|
getMapHt();
|
if(isObject(warnPie))
|
{
|
warnPie.resize();
|
}
|
if(isObject(brdnPie))
|
{
|
brdnPie.resize();
|
}
|
if(isObject(repairPie))
|
{
|
repairPie.resize();
|
}
|
if(isObject(healthPie)) {
|
healthPie.resize();
|
}
|
if(isObject(endurPie)) {
|
endurPie.resize();
|
}
|
});
|
|
//查询所有的公告信息
|
function searchAnnounceall(){
|
if($('#content .notice').length==0){
|
return;
|
}
|
$.post("AnnounceAction!searchAll",null,function(data){
|
model=eval("("+data.result+")");
|
if(model.code==1 && model.data.length>0){
|
//console.info(model);
|
$('.notice .content').text('');
|
var _p; //临时的单条公告
|
for(var i=0;i<model.data.length;i++){
|
//console.info(model.data[i]);
|
var str="";
|
if(model.data[i].usr_name.length>0){
|
str="-\t"+model.data[i].usr_name;
|
}
|
_p=$("<p>"+model.data[i].announce_time+","+model.data[i].message+str+"</p>");
|
$('#content .notice .content').append(_p);
|
}
|
}
|
});
|
}
|
|
//查询放电测试的比例
|
function searchTestsCale(){
|
if($('#content .discharge-test').length==0){
|
return;
|
}
|
//生成电池未放电比例图
|
var $health=$('#content .discharge-test .test-pie'); //获取故障容器的jquery对象
|
if($health.length!=0){
|
var health=$health.get(0); //将故障容器的jquery对象转化为dom对象
|
var healthTle="<s:text name='Battery_discharge_scale_map'/>"; /* '电池放电比例图' */
|
Batttest_Td=new Array();
|
$.post("Batttestdata_infAction!searchTestsCale",$('#batttest_form').serialize(),function(data){
|
var model=eval("("+data.result+")");
|
//console.info(model);
|
var dischargePie=echarts.init(health); //初始化表格容器
|
window.dischargePie = dischargePie;
|
if(model.code==1 && model.data.length>0){
|
//console.info(model);
|
var index=0;
|
$('.discharge-test .test-term .term-list .unwork').text(model.data.length);
|
for(var i=0;i<model.data.length;i++){
|
data=model.data[i];
|
//console.info(data);
|
Batttest_Td[index++]=data.binf.BattGroupId; //电池组id
|
Batttest_Td[index++]=data.binf.StationName1; //维护区
|
Batttest_Td[index++]=data.binf.StationName; //机房名
|
Batttest_Td[index++]=data.binf.BattGroupName; //电池组名
|
Batttest_Td[index++]=data.binf.BattInUseDate.substr(0,10); //安装日期
|
}
|
|
var healthObj=[
|
{name:"<s:text name='Not_discharge_battery'/>",val:model.data.length}, /* '未放电电池' */
|
{name:"<s:text name='Has_discharge_battery'/>",val:model.sum-model.data.length}]; /* '已放电电池' */
|
//创建电池故障饼状图
|
createPie(dischargePie,healthTle,healthObj);
|
}else if(model.sum!=undefined && model.sum>0){
|
var healthObj=[
|
{name:"<s:text name='Not_discharge_battery'/>",val:0}, /* '未放电电池' */
|
{name:"<s:text name='Has_discharge_battery'/>",val:model.sum-0}]; /* '已放电电池' */
|
//创建电池故障饼状图
|
createPie(dischargePie,healthTle,healthObj);
|
}else{
|
var healthObj=[
|
{name:"<s:text name='Not_discharge_battery'/>",val:0}, /* '未放电电池' */
|
{name:"<s:text name='Has_discharge_battery'/>",val:0}]; /* '已放电电池' */
|
//创建电池故障饼状图
|
createPie(dischargePie,healthTle,healthObj);
|
$('.discharge-test .test-term .term-list .unwork').text(0);
|
}
|
$('#content .discharge-test .tbl-con .tbl').text('');
|
createTablenew($('#content .discharge-test .tbl-con .tbl'),Batttest_Th,Batttest_Td);
|
createHead($('#content .discharge-test .tbl-con .tbl table'));
|
});
|
}
|
}
|
|
//页面中表格和列表的移入和移出效果
|
$(document).ready(function(){
|
//页面内我的作业表格鼠标效果
|
$('#content .my-work .tbl-con').on('mouseover','table tbody tr',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .my-work .tbl-con').on('mouseout','table tbody tr',function(){
|
$(this).removeClass('bgcolor');
|
});
|
//页面中电池故障维护表格的鼠标效果
|
$('#content .mainte .tbl-con').on('mouseover','table tbody tr',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .mainte .tbl-con').on('mouseout','table tbody tr',function(){
|
$(this).removeClass('bgcolor');
|
});
|
//页面中操作记录列表的鼠标效果
|
$('#content .operate .content').on('mouseover','ul li',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .operate .content').on('mouseout','ul li',function(){
|
$(this).removeClass('bgcolor');
|
});
|
});
|
|
//屏蔽浏览器右键菜单功能
|
$(document).ready(function(){
|
if($('#content .my-work').length!=0)
|
{
|
$('#content .my-work').get(0).oncontextmenu=function(){
|
return false;
|
};
|
}
|
if($('#content .china-map').length!=0)
|
{
|
$('#content .china-map').get(0).oncontextmenu=function(){
|
return false;
|
};
|
}
|
});
|
|
var TaseState=new Array();
|
var TaskTabTh=new Array();
|
var TaskTabtd=new Array();
|
|
//定义表格选项的值为全局变量
|
var cardHead=["<s:text name='Number'/>"/* '编号' */,"<s:text name='Option_Name'/>"/* '选项名称' */,'<input type="checkbox" checked="true"><s:text name="IsChecked"/>'/* 是否选择 */];
|
var cardBody=new Array();
|
|
//表格选项内容
|
$(document).ready(function(){
|
cardBody[0]=['1',"<s:text name='Computer_name'/>",'<input type="checkbox"/>']; /* '机房名称' */
|
cardBody[1]=['2',"<s:text name='Battery_name'/>",'<input type="checkbox"/>']; /* '电池组名称' */
|
cardBody[2]=['3',"<s:text name='Task_name'/>",'<input type="checkbox"/>']; /* '作业名称' */
|
cardBody[3]=['4',"<s:text name='Start_time'/>",'<input type="checkbox"/>']; /* '开始时间' */
|
cardBody[4]=['5',"<s:text name='Exec_date'/>",'<input type="checkbox"/>']; /* '执行日期' */
|
cardBody[5]=['6',"<s:text name='Deadline'/>",'<input type="checkbox"/>']; /* '截止时间' */
|
cardBody[6]=['7',"<s:text name='Tasks_number'/>",'<input type="checkbox"/>']; /* '任务数量' */
|
cardBody[7]=['8',"<s:text name='Schedule'/>",'<input type="checkbox"/>']; /* '进度' */
|
//生成选项的头部
|
createCard($('#cardOption .tbHead'),cardHead,cardBody);
|
//生成表格的body
|
createCard($('#cardOption .con_table'),cardHead,cardBody);
|
//生成遮罩层
|
// createAllMask($('body'));
|
//隐藏滚动
|
//$('body').css('overflow-y','hidden');
|
//点击返回按钮隐藏表格选项
|
$('#cardOption .outCard').click(function(){
|
//隐藏表格选项
|
$('#cardOption').hide();
|
//清除遮罩层
|
$('body').children('.mask').remove();
|
//显示overflow-y
|
$('body').css('overflow-y','scroll');
|
});
|
|
$('#cardOption .enSure').click(function(){
|
//显示overflow-y
|
$('body').css('overflow-y','scroll');
|
for(var i=0;i<cardBody.length;i++){
|
if($("#cardOption .con_table table td input[type='checkbox']").eq(i).is(':checked')){
|
TaseState[i]=1;
|
}else{
|
TaseState[i]=0;
|
}
|
}
|
|
var tabTh=getArrTh(TaseState,TaskTabTh);
|
var tabTd=getArrTd(TaseState,arrtd);
|
//alert(tabTd);
|
$('#content .my-work .tbl-con').text('');
|
createTablenew($('#content .my-work .tbl-con'),tabTh,tabTd);
|
createHead($('#content .my-work .tbl-con table'));
|
//隐藏表格选项
|
$('#cardOption').hide();
|
//清除遮罩层
|
$('body').children('.mask').remove();
|
});
|
|
|
|
//让表格选项中的多选框选中
|
$('#cardOption .tbHead table th input').prop('checked',true);
|
$('#cardOption .con_table table td input').prop('checked',true);
|
for(var i=0;i<cardBody.length;i++){
|
var k=i*3+1;
|
TaskTabTh[i]=$('#cardOption .con_table table td').eq(k).text();
|
if($("#cardOption .con_table table td input[type='checkbox']").eq(i).is(':checked')){
|
TaseState[i]=1;
|
}else{
|
TaseState[i]=0;
|
}
|
}
|
//console.in fo(TaseState);
|
});
|
//我的作业表格右键内容
|
$(document).ready(function(){
|
//点击上方表格内容变色
|
$('#content .my-work .tbl-con').on('mousedown','table tbody tr',function(e){
|
//利用jquery的方式获取当前点击的是否是右键
|
if(e.which==3)
|
{
|
// 表格选项
|
createMenu(['<s:text name="Table_options"/>'],['show-card']);
|
//console.log(1);
|
setTimeout(function(){
|
var disX=(e||event).clientX+10; //获取鼠标点击的横坐标
|
var disY=(e||event).clientY+10; // 获取鼠标点击的纵坐标
|
var scrollY=$(document).scrollTop();
|
$('#rightMenu').css('top',disY+scrollY+'px');
|
$('#rightMenu').css('left',disX+'px');
|
},30);
|
}
|
});
|
//点击div清除右键菜单
|
$('body').on('click','div',function(){
|
$('body').children('#rightMenu').remove();
|
});
|
//点击右键菜单显示我的作业的表格选项
|
$('body').on('click','#rightMenu .show-card',function(){
|
//显示表格选项
|
$('#cardOption').show();
|
//生成遮罩层
|
createAllMask($('body'),0.5);
|
//隐藏滚动条
|
$('body').css('overflow-y','hidden');
|
});
|
//点击头部的复选框tbody内的复选框全被选中或取消
|
$('body').on('click','#cardOption .tbHead table thead input[type="checkbox"]',function(){
|
if($(this).is(':checked'))
|
{
|
$('#cardOption .con_table tbody input[type="checkbox"]').prop('checked',true);
|
}else{
|
$('#cardOption .con_table tbody input[type="checkbox"]').prop('checked',false);
|
}
|
});
|
});
|
|
//当改变作业类型时查询当前用户的作业
|
$('#task_type').change(function(){
|
searchUserTask();
|
});
|
|
//当改变电池测试比例的下拉框改变时触发事件
|
$('#batttest_form .term-list select').change(function(){
|
searchTestsCale();
|
});
|
|
|
|
//公告信息鼠标事件
|
$(document).ready(function(){
|
$('#content .notice .content').on('mouseover','p',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .notice .content').on('mouseout','p',function(){
|
$(this).removeClass('bgcolor');
|
});
|
});
|
|
|
|
var Batttest_Th=["<s:text name='BatteryID'/>","<s:text name='Maintenance_area'/>","<s:text name='Computer_name'/>","<s:text name='Battery_name'/>","<s:text name='Battery_installation_time'/>"];
|
var Batttest_Td=new Array();
|
createTablenew($('#content .discharge-test .tbl-con .tbl'),Batttest_Th,Batttest_Td);
|
createHead($('#content .discharge-test .tbl-con .tbl table'));
|
|
//电池放电测试的表格
|
$(document).ready(function(){
|
//电池放电测试表格鼠标事件
|
$('#content .discharge-test .tbl-con .tbl').on('mouseover','table tbody tr',function(){
|
$(this).addClass('bgcolor');
|
});
|
$('#content .discharge-test .tbl-con .tbl').on('mouseout','table tbody tr',function(){
|
$(this).removeClass('bgcolor');
|
});
|
});
|
|
|
// 改变div的大小
|
function changeDivBig(ele) {
|
// 隐藏面板
|
//panel.hidePanel();
|
|
var srnHt = $(window).height();
|
var bodyHt = $('body').height();
|
if(bodyHt > srnHt) {
|
$('body').css('overflow-y', "hidden");
|
}
|
|
$('.nav-map').removeClass('small').addClass('fixed');
|
$('.nav-map').height('100%');
|
}
|
|
// 复原div
|
function recoveryDiv(ele) {
|
var srnHt = $(window).height();
|
var bodyHt = $('body').height();
|
if(bodyHt > srnHt) {
|
$('body').css('overflow-y', "scroll");
|
}
|
$('.nav-map').removeClass('fixed').addClass('small');
|
$('.nav-map').height(getMapHt());
|
if(map != 1) {
|
// 隐藏面板
|
panel.hidePanel();
|
|
map.removeEventListener('dblclick', function() {
|
recoveryDiv(ele);
|
});
|
map.addEventListener('dblclick', function() {
|
changeDivBig(ele);
|
});
|
}
|
|
}
|
|
// 放大地图
|
function bigMap() {
|
changeDivBig($('#map'));
|
|
$('#map').on('dblclick', smallMap).off('dblclick', bigMap);
|
}
|
|
// 缩小地图
|
function smallMap() {
|
recoveryDiv($('#map'));
|
|
$('#map').on('dblclick', bigMap).off('dblclick', smallMap);
|
}
|
|
// 向panel内添加内容
|
function addContentToPanel(param) { // param为panel容器
|
var title = $('<div class="panel-header">机房定位</div>');
|
var province = $('<span>省:</span><select name="panelProvince" id="panelProvince">'+
|
'<option value="湖北省">湖北省</option>'
|
+'</select><br><br>');
|
var city = $('<span>市:</span><select name="panelCity" id="panelCity">'+
|
'<option value="武汉市">武汉市</option>'
|
+'</select><br><br>');
|
var homeName = $('<span>机房名:</span><select name="panelStation" id="panelStation">'+
|
'<option value="">机房名称1</option>'
|
+'</select>');
|
var divList = new Array();
|
|
// 添加省-市-机房名称
|
var div = $('<div class="panel-div-list"></div>');
|
div.append(province);
|
div.append(city);
|
div.append(homeName);
|
divList.push(div);
|
|
var warnHome = '<span>电池告警机房</span><input type="checkbox" id="alarm-station" checked="checked" name="" value="">';
|
var behindHome = '<span>电池落后机房</span><input type="checkbox" id="low-station" checked="checked" name="" value="">';
|
var timeoutHome = '<span>放电延时机房</span><input type="checkbox" id="delayed-station" checked="checked" name="" value="">';
|
// 添加告警机房-落后机房-放电延时
|
var div = $('<div class="panel-div-list"></div>');
|
div.append(warnHome);
|
div.append(behindHome);
|
//divList.push(div);
|
|
var div = $('<div class="panel-div-list"></div>');
|
div.append(timeoutHome);
|
//divList.push(div);
|
|
// 将内容添加的panel内
|
param.append(title);
|
for(var i = 0; i < divList.length; i++) {
|
param.append(divList[i]);
|
}
|
}
|
|
// 生成图标的说明
|
function createIconExplain(mapEle) {
|
var iconExplain = $('<div id="mapImgDesc" style="position:absolute;background-color: #fff; border: 1px solid #ccc; right: 10px; bottom: 10px; z-index: 99999"></div>'); // 地图图标说明容器
|
var iconExplainHt = $('<div class="explain-header" style="padding:4px 8px; border-bottom:1px solid #ccc; background-color: #CDDCFA">图标显示与选择<img src="image/explain-down.gif" style="float:right;"/></div>');
|
iconExplain.append(iconExplainHt);
|
|
changeMapImgDesc(iconExplain, 'normal');
|
|
mapEle.parent().append(iconExplain);
|
|
// 统计机房状态个数
|
updateMapIconBadge();
|
|
// 设置地图图标种类
|
setMapImgStyles();
|
}
|
// 切换地图图标说明
|
function changeMapImgDesc(iconExplain, type) {
|
iconExplain.find('.explain-list').remove();
|
switch(type) {
|
case '61850':
|
mapImgDesc61850(iconExplain);
|
break;
|
default:
|
mapImgDescNormal(iconExplain);
|
break;
|
}
|
}
|
|
// 普通机房描述
|
function mapImgDescNormal(iconExplain) {
|
// 掉站机房
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-timeout" checked="checked">');
|
var icon = $('<img src="'+mapImages.timeout+'">');
|
var span = $('<span>掉站机房</span>');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-down">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
iconList.append(badge);
|
iconExplain.append(iconList);
|
|
// 停电机房
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-poff" checked="checked">');
|
var icon = $('<img src="'+mapImages.powercut+'">');
|
var span = $('<span>停电机房</span>');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-powercut">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
iconList.append(badge);
|
iconExplain.append(iconList);
|
|
// 续航不足
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-xuhang" checked="checked">');
|
var icon = $('<img src="'+mapImages.xuhang+'">');
|
var span = $('<span>续航不足机房</span>');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-xuhang">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
iconList.append(badge);
|
iconExplain.append(iconList);
|
|
// 落后机房
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-behind" checked="checked">');
|
var span = $('<span>电池落后机房</span>');
|
var icon = $('<img src="'+mapImages.behind+'">');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-behind">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
iconList.append(badge);
|
iconExplain.append(iconList);
|
|
// 告警机房
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-warn" checked="checked">');
|
var span = $('<span>电池告警机房</span>');
|
var icon = $('<img src="'+mapImages.warn+'">');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-warn">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
iconList.append(badge);
|
iconList.append('<div class="clear"></div>');
|
iconExplain.append(iconList);
|
|
|
|
// 机房延时
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-timeout" checked="checked">');
|
var icon = $('<img src="'+mapImages.timeout+'">');
|
var span = $('<span>电池组放电延时机房</span>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
//iconExplain.append(iconList);
|
|
// 未安装机房
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-defaults" checked="checked">');
|
var icon = $('<img src="'+mapImages.defaults+'">');
|
var span = $('<span>未安装机房</span>');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-defaults">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
//iconList.append(badge);
|
//iconExplain.append(iconList);
|
|
// 正常机房
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-normal" checked="checked">');
|
var icon = $('<img src="'+mapImages.normal+'">');
|
var span = $('<span>正常机房</span>');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-normal">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
//iconList.append(badge);
|
iconExplain.append(iconList);
|
|
// 续航不足3小时机房
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var input = $('<input type="checkbox" data-img="item-weak" checked="checked">');
|
var icon = $('<img src="'+mapImages.normal+'">');
|
var span = $('<span>续航不足3小时机房</span>');
|
var badge = $('<a href="javascript:;" class="layui-badge-rim mrr8 badge-weak">0</a>');
|
iconList.append(input);
|
iconList.append(span);
|
iconList.append(icon);
|
iconList.append(badge);
|
//iconExplain.append(iconList);
|
}
|
|
// 更新地图图标badge的值
|
function updateMapIconBadge() {
|
var mapImgDesc = $('#mapImgDesc');
|
var behind = mapImgDesc.find('.badge-behind'); // 电池落后机房
|
var warn = mapImgDesc.find('.badge-warn'); // 电池告警机房
|
var down = mapImgDesc.find('.badge-down'); // 掉站机房
|
var powercut = mapImgDesc.find('.badge-powercut'); // 停电机房
|
var normal = mapImgDesc.find('.badge-normal'); // 正常机房
|
var weak = mapImgDesc.find('.badge-xuhang'); // 续航不足3小时机房
|
// console.log(warn.length);
|
// 请求后台数据
|
$.ajax({
|
type: 'post'
|
,async: true
|
,url: 'Bts_station_stateAction_action_serchStationState'
|
,data: null
|
,dataType: 'json'
|
,success:function(res) {
|
var rs = JSON.parse(res.result);
|
//console.log(rs);
|
powercut.text(rs.sum); // 停电数
|
down.text(rs.code); // 掉站数
|
behind.text(rs.msgN); // 落后机房
|
warn.text(rs.msg); // 告警机房
|
weak.text(rs.msgT); // 续航不足3小时
|
/* var normalNum = Number(rs.newsum) - (Number(rs.sum)+Number(rs.code)+Number(rs.msgN)+Number(rs.msg));
|
normal.text(normalNum); */ // 正常机房
|
}
|
});
|
|
}
|
|
|
// 61850描述
|
function mapImgDesc61850(iconExplain) {
|
// 核容/停电放电
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var icon = $('<img src="'+mapImages.nuclear+'" style="float:left">');
|
var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">核容/停电放电</span>');
|
iconList.append(span);
|
iconList.append(icon);
|
iconExplain.append(iconList);
|
|
// 告警
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var icon = $('<img src="'+mapImages.devalarm+'" style="float:left;">');
|
var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">61850设备告警</span>');
|
iconList.append(span);
|
iconList.append(icon);
|
iconList.append('<div class="clear"></div>');
|
iconExplain.append(iconList);
|
|
// 预充电
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var icon = $('<img src="'+mapImages.precharge+'" style="float:left">');
|
var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">61850预充电</span>');
|
iconList.append(span);
|
iconList.append(icon);
|
iconExplain.append(iconList);
|
|
// 在线浮充
|
var iconList = $('<div class="explain-list" style="padding: 4px 6px; border-bottom: 1px slid #ccc; display:block"></div>');
|
var icon = $('<img src="'+mapImages.float+'" style="float:left">');
|
var span = $('<span style="line-height: 30px; text-align:center; margin-left: 4px">61850在线浮充</span>');
|
iconList.append(span);
|
iconList.append(icon);
|
iconExplain.append(iconList);
|
}
|
|
// 生成省下拉列表
|
function createProvince(provSel, areaList) {
|
// 清空省列表
|
provSel.text(" ");
|
|
// 根据数据列表生成省列表
|
for(var i = 0; i < areaList.length; i++) {
|
var option = $('<option value="'+areaList[i]+'">'+areaList[i]+'</option>');
|
provSel.append(option);
|
}
|
|
//console.info('执行市列表成功');
|
}
|
|
// 省-市联动函数,根据省生成市列表
|
function changeCityByPrivince(citySel, provVal, areaList) {
|
// 清除市内容
|
citySel.text(" ");
|
|
// 根据省的值确定该省的市
|
var cityList = new Array();
|
for(var i = 0; i < areaList.length; i++) {
|
if(provVal == areaList[i].province) {
|
cityList = areaList[i].city;
|
}
|
}
|
|
//console.info(cityList);
|
// 根据市生成市列表
|
for(var i = 0; i < cityList.length; i++) {
|
var option = $('<option value="'+cityList[i]+'">'+cityList[i]+'</option>');
|
citySel.append(option);
|
}
|
|
//console.info('执行市列表成功');
|
}
|
|
// 定位到市
|
function locationToCity(citySel) {
|
var city = citySel.val();
|
if(city != ""){
|
map.centerAndZoom(city,13); // 用城市名设置地图中心点
|
}
|
}
|
|
// 生成地图图标
|
function createMapDot(map, dotList, isTop) {
|
// 清空覆盖物和对应的mk点
|
mkList = [];
|
var isMax = dotList.length>100?true:false;
|
// 遍历查询内容生成对应的图标
|
for(var i = 0; i<dotList.length; i++) {
|
var isShow = checkMapImgStyle(dotList[i].msg);
|
var dotIcon = new BMap.Icon(getMapStateImg(mapImages, dotList[i].msg), new BMap.Size(36, 30)); // 设置图片
|
var pt = new BMap.Point(dotList[i].lng, dotList[i].lat);
|
|
var mk = new BMap.Marker(pt, {icon: dotIcon}); // 定义marker点
|
// 删除指定的点(该点会在本函数后面重新创建)
|
deletePoint(map, dotList[i].title);
|
|
// 给点右键菜单添加删除按钮
|
addMenu(mk, mapDel);
|
|
// 向mk点添加label
|
var home_status = new BMap.Label(dotList[i].msg, {offset:new BMap.Size(20,-10)});
|
home_status.setStyle({display: 'none', padding: '4px 2px'});
|
mk.setLabel(home_status);
|
// 设置标题
|
mk.setTitle(dotList[i].title);
|
|
/* mk.addEventListener('mouseover', function(e) {
|
this.getLabel().setStyle({display: 'block'});
|
});
|
|
mk.addEventListener('mouseout', function(e) {
|
this.getLabel().setStyle({display: 'none'});
|
}); */
|
|
mk.addEventListener('click', function(e) {
|
var target = e.target;
|
searchPanelInfo(target);
|
});
|
|
if(isTop) {
|
mk.setTop(true);
|
}
|
|
mkList.push(mk);
|
// 向地图添加覆盖物
|
if(isShow) {
|
checkMapDot.checkMapDot({identify: dotList[i].title}, function(checkStatus) {
|
if(checkStatus) {
|
mk.show();
|
}else {
|
mk.hide();
|
}
|
});
|
|
}else {
|
mk.hide();
|
}
|
// 判断是否超过100个
|
if(!isMax) {
|
map.addOverlay(mk);
|
}
|
|
}
|
// 判断是否超过100个
|
if(isMax) {
|
addOverlay(0, mkList, map);
|
}
|
}
|
|
// 向地图中添加图标
|
function addOverlay(preLen, mkList, map) {
|
var allLen = mkList.length;
|
if(preLen >= allLen) {
|
$("#startFilter").removeClass("layui-btn-disabled");
|
return;
|
}else {
|
for(var i=0;i<10;i++) {
|
preLen++;
|
if(preLen==allLen) {
|
break;
|
}
|
map.addOverlay(mkList[preLen]);
|
}
|
setTimeout(function() {
|
addOverlay(preLen, mkList, map);
|
});
|
}
|
}
|
|
// 更新地图图标
|
function updateMapDotIcon(map, dotList, isTop) {
|
var homeType = getHomeType();
|
// 遍历查询内容生成对应的图标
|
for(var i = 0; i<dotList.length; i++) {
|
var isAcType = checkHomeType(dotList[i].type, homeType);
|
var isShow = checkMapImgStyle(dotList[i].msg);
|
var dotIcon = new BMap.Icon(getMapStateImg(mapImages, dotList[i].msg), new BMap.Size(36, 30)); // 设置图片
|
var mk = getMapMarker(map, dotList[i].title);
|
|
if(mk) {
|
// 设置label
|
var home_status = new BMap.Label(dotList[i].msg, {offset:new BMap.Size(20,-10)});
|
home_status.setStyle({display: 'none', padding: '4px 2px'});
|
mk.setLabel(home_status);
|
// 设置地图图标
|
mk.setIcon(dotIcon);
|
|
// 将已经安装的显示在顶部
|
if(isTop) {
|
mk.setTop(true);
|
}
|
|
// 隐藏marker点
|
if(isShow&&isAcType) {
|
checkMapDot.checkMapDot({identify:dotList[i].title}, function(checkStatus) {
|
if(checkStatus) {
|
mk.show();
|
}else {
|
mk.hide();
|
}
|
});
|
}else {
|
mk.hide();
|
}
|
}
|
}
|
}
|
|
// 获取地图图标
|
function getMapMarker(map, msg) {
|
var rs = false;
|
var allOverlay = map.getOverlays();
|
for (var i = 0; i < allOverlay.length; i++){
|
try{
|
if(allOverlay[i].getTitle() == msg){
|
rs = allOverlay[i];
|
return rs;
|
}
|
}catch(e) {
|
|
}
|
|
}
|
|
return rs;
|
|
}
|
|
// 删除地图上的指定点
|
function deletePoint(map, msg){
|
var allOverlay = map.getOverlays();
|
for (var i = 0; i < allOverlay.length; i++){
|
try{
|
if(allOverlay[i].getTitle() == msg){
|
map.removeOverlay(allOverlay[i]);
|
return false;
|
}
|
}catch(e) {
|
|
}
|
|
}
|
}
|
|
// 获取地图需要显示图标的类型
|
var magImgStyles = [];
|
|
function setMapImgStyles() {
|
var ipts = $('#mapImgDesc .explain-list input');
|
magImgStyles = [];
|
ipts.each(function(i) {
|
var imgStyle = $(this).data('img');
|
if($(this).is(':checked')) {
|
magImgStyles.push(imgStyle);
|
}
|
});
|
magImgStyles.push('');
|
// 根据当前内容更新地图图标
|
//searchStation();
|
}
|
|
// 检测当前图标是否符合
|
function checkMapImgStyle(imgStyle) {
|
var isShow = false;
|
for(var i=0; i<magImgStyles.length; i++) {
|
if(magImgStyles[i] == imgStyle) {
|
isShow = true;
|
break;
|
}
|
}
|
|
return isShow;
|
}
|
// 创建告警点
|
function createWarnDot(map, warnDotList) {
|
for(var i = 0; i < warnDotList.length; i++) {
|
var warnIcon = new BMap.Icon(mapImages.warn, new BMap.Size(36, 30)); // 设置图片
|
|
// console.info(warnIcon);
|
var pt = new BMap.Point(warnDotList[i].lng, warnDotList[i].lat);
|
// console.info(pt);
|
var mk = new BMap.Marker(pt, {icon:warnIcon}); // 定义marker点
|
addMenu(mk, mapDel);
|
|
// 向mk点添加label
|
var home_name = new BMap.Label(warnDotList[i].title, {offset:new BMap.Size(20,-10)});
|
home_name.setStyle({display: 'none', padding: '4px 2px'});
|
mk.setLabel(home_name);
|
|
mk.addEventListener('mouseover', function(e) {
|
this.getLabel().setStyle({display: 'block'});
|
});
|
|
mk.addEventListener('mouseout', function(e) {
|
this.getLabel().setStyle({display: 'none'});
|
});
|
|
mk.addEventListener('click', function(e) {
|
var target = e.target;
|
showMapPanel(target, warnDotList);
|
});
|
mkList.push(mk);
|
// 向地图添加覆盖物
|
map.addOverlay(mk);
|
}
|
|
}
|
|
// 创建放电延时的点
|
function dischargeTimeOut(map, dotList) {
|
for(var i = 0; i < dotList.length; i++) {
|
var warnIcon = new BMap.Icon(mapImages.timeout, new BMap.Size(36, 30)); // 设置图片
|
// console.info(warnIcon);
|
var pt = new BMap.Point(dotList[i].lng, dotList[i].lat);
|
// console.info(pt);
|
var mk = new BMap.Marker(pt, {icon:warnIcon}); // 定义marker点
|
addMenu(mk, mapDel);
|
|
// 向mk点添加label
|
var home_name = new BMap.Label(dotList[i].title, {offset:new BMap.Size(20,-10)});
|
home_name.setStyle({display: 'none', padding: '4px 2px'});
|
mk.setLabel(home_name);
|
|
mk.addEventListener('mouseover', function(e) {
|
this.getLabel().setStyle({display: 'block'});
|
});
|
|
mk.addEventListener('mouseout', function(e) {
|
this.getLabel().setStyle({display: 'none'});
|
});
|
|
mk.addEventListener('click', function(e) {
|
var target = e.target;
|
showMapPanel(target, dotList);
|
});
|
mkList.push(mk);
|
// 向地图添加覆盖物
|
map.addOverlay(mk);
|
}
|
}
|
|
// 创建电池落后的点
|
function behindDotCell(map, dotList) {
|
for(var i = 0; i < dotList.length; i++) {
|
var warnIcon = new BMap.Icon(mapImages.behind, new BMap.Size(36, 30)); // 设置图片
|
// console.info(warnIcon);
|
var pt = new BMap.Point(dotList[i].lng, dotList[i].lat);
|
// console.info(pt);
|
var mk = new BMap.Marker(pt, {icon:warnIcon}); // 定义marker点
|
addMenu(mk, mapDel);
|
|
// 向mk点添加label
|
var home_name = new BMap.Label(dotList[i].title, {offset:new BMap.Size(20,-10)});
|
home_name.setStyle({display: 'none', padding: '4px 2px'});
|
mk.setLabel(home_name);
|
|
mk.addEventListener('mouseover', function(e) {
|
this.getLabel().setStyle({display: 'block'});
|
});
|
|
mk.addEventListener('mouseout', function(e) {
|
this.getLabel().setStyle({display: 'none'});
|
});
|
|
mk.addEventListener('click', function(e) {
|
var target = e.target;
|
showMapPanel(target, dotList);
|
});
|
mkList.push(mk);
|
// 向地图添加覆盖物
|
map.addOverlay(mk);
|
}
|
}
|
|
|
function showMapPanel(target, warnList) {
|
var point = target.point;
|
//console.log(target.getLabel());
|
var searchInforWin = null;
|
for(var i = 0; i < warnList.length; i++) {
|
if(warnList[i].lng == point.lng && warnList[i].lat == point.lat) {
|
var opts = {
|
//title : warnList[i].title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none">详情>></a>', //标题
|
title : warnList[i].title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none;cursor:not-allowed">详情>></a>', //标题未开启
|
width : 290, //宽度
|
height : 140, //高度
|
panel : "panel", //检索结果面板
|
enableAutoPan : true, //自动平移
|
enableSendToPhone:false,
|
searchTypes :[
|
// BMAPLIB_TAB_SEARCH, //周边检索
|
// BMAPLIB_TAB_TO_HERE, //到这里去
|
// BMAPLIB_TAB_FROM_HERE //从这里出发
|
]
|
};
|
|
searchInforWin = new BMapLib.SearchInfoWindow(map, warnList[i].content, opts);
|
}
|
}
|
|
searchInforWin.open(point);
|
}
|
|
// 显示地图提示面板
|
function showMapPanelByPoint(point, dataList) {
|
var searchInforWin = null;
|
var opts = {
|
title : dataList.title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none;cursor:not-allowed">详情>></a>', //标题未开启
|
width : '290', //宽度
|
height : 160, //高度
|
panel : "panel", //检索结果面板
|
enableAutoPan : true, //自动平移
|
enableSendToPhone:false,
|
searchTypes :[
|
// BMAPLIB_TAB_SEARCH, //周边检索
|
// BMAPLIB_TAB_TO_HERE, //到这里去
|
// BMAPLIB_TAB_FROM_HERE //从这里出发
|
]
|
};
|
|
searchInforWin = new BMapLib.SearchInfoWindow(map, dataList.content, opts);
|
searchInforWin.open(point);
|
}
|
|
// 添加机房
|
function addCommonDot(bMap, addPoint) {
|
var iconCommonDot = new BMap.Icon(mapImages.normal, new BMap.Size(36, 30)); // 设置图片
|
var removeMarker = function(e,ee,marker){
|
map.removeOverlay(marker);
|
};
|
var mk = new BMap.Marker(addPoint, {icon: iconCommonDot});
|
//创建右键菜单
|
var markerMenu=new BMap.ContextMenu();
|
markerMenu.addItem(new BMap.MenuItem('删除',removeMarker.bind(mk)));
|
mk.enableDragging();
|
mk.addEventListener('click', function(e) {
|
var target = e.target;
|
$.ajax({
|
type: "post",
|
//url: "BattMap_informationAction!serchNotInBattMap",
|
url: "BattMap_informationAction!serchNotInBattMapByUid",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
//console.info(data);
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
var options = "";
|
if(model.code == 1){
|
for(var i=0;i<model.data.length;i++){
|
options+= '<option value="'+model.data[i].StationId+'">'+model.data[i].StationName+'</option>';
|
}
|
}else{
|
options = "<option value='0'>暂无可设站点</option>";
|
}
|
showAddMapPanel(target, options);
|
}
|
});
|
|
});
|
// 向地图添加覆盖物
|
map.addOverlay(mk);
|
mk.addContextMenu(markerMenu);
|
}
|
|
// 根据坐标点清除特定覆盖物
|
function delPoint(paramLng, paramLat) {
|
var pt = new BMap.Point(paramLng, paramLat);
|
var allOverlays = map.getOverlays();
|
// console.info(allOverlays[0].getPosition());
|
// console.info(allOverlays);
|
// 遍历地图的覆盖物符合条件的删除
|
for(var i = 0; i < allOverlays.length; i++) {
|
var overlayPt = allOverlays[i].getPosition();
|
if(overlayPt != null) { // 判断是否存在point的对象
|
// console.info(overlayPt.lng);
|
if(overlayPt.lng == paramLng && overlayPt.lat == paramLat) {
|
map.removeOverlay(allOverlays[i]);
|
}
|
}
|
}
|
}
|
|
// 生成普通机房
|
function addCommonDotHome(commonDotList) {
|
for(var i = 0; i < commonDotList.length; i++) {
|
var iconCommonDot = new BMap.Icon(mapImages.normal, new BMap.Size(36, 30)); // 设置图片
|
var addPoint = new BMap.Point(commonDotList[i].lng, commonDotList[i].lat);
|
var mk = new BMap.Marker(addPoint, {icon: iconCommonDot});
|
|
// 向mk点添加label
|
var home_name = new BMap.Label(commonDotList[i].title, {offset:new BMap.Size(20,-10)});
|
home_name.setStyle({display: 'none', padding: '4px 2px'});
|
mk.setLabel(home_name);
|
addMenu(mk, mapDel);
|
mk.addEventListener('mouseover', function(e) {
|
this.getLabel().setStyle({display: 'block'});
|
});
|
|
mk.addEventListener('mouseout', function(e) {
|
this.getLabel().setStyle({display: 'none'});
|
});
|
|
mk.addEventListener('click', function(e) {
|
var target = e.target;
|
showMapPanel(target, commonDotList);
|
});
|
mkList.push(mk);
|
// 向地图添加覆盖物
|
map.addOverlay(mk);
|
}
|
}
|
|
// 设置页面中的可视区域图标
|
;(function($, window, document, gl, undefined) {
|
// 设置命名空间
|
gl.namespace('BMap');
|
// 根据可视范围显示坐标点
|
var dots = [];
|
var currMarkers = {};
|
|
// 初始化
|
function init() {
|
dots = [];
|
currMarkers = {};
|
}
|
// init函数绑定到GLOBAL.BMap下
|
gl.BMap.init = init;
|
|
|
// 查询当前范围内容的图标
|
function queryInRect(map, callback) {
|
var cp = map.getBounds(); // 返回map可视区域,以地理坐标表示
|
var sw = cp.getSouthWest(); // 返回矩形区域的西南角
|
var ne = cp.getNorthEast(); // 返回矩形区域的东北角
|
//var zoom = map.getZoom(); //当前缩放级别
|
//console.log(dots);
|
var mapDots = getDotsList(sw, ne);
|
callback(map, mapDots);
|
}
|
|
// 获取dots的集合
|
function getDotsList(sw, ne) {
|
var rs = [];
|
swlng=sw.lng,
|
swlat=sw.lat,
|
nelng=ne.lng,
|
nelat=ne.lat;
|
|
var maxLng = sw.lng>ne.lng?sw.lng:ne.lng;
|
var minLng = sw.lng<ne.lng?sw.lng:ne.lng;
|
|
var maxLat = sw.lat>ne.lat?sw.lat:ne.lat;
|
var minLat = sw.lat<ne.lat?sw.lat:ne.lat;
|
|
for(var i=0; i<dots.length; i++) {
|
var dot = dots[i];
|
var lat = dot.lat;
|
var lng = dot.lng;
|
var sId = dot.sId;
|
var isExist = checkMarker(sId);
|
|
// 未被添加过
|
if(!isExist) {
|
// 判断经纬度是否存在该区域
|
if(lng<maxLng && lng>minLng && lat<maxLat && lat>minLat) {
|
currMarkers['markers'+sId] = sId;
|
rs.push(dot);
|
}
|
}
|
}
|
return rs;
|
}
|
|
|
// 检测当前点是否已经被添加过
|
function checkMarker(id) {
|
var flag = false;
|
// 遍历已经添加的点返回是否已经被添加过
|
Object.keys(currMarkers).forEach(function(key) {
|
if(currMarkers[key] == id) {
|
flag = true;
|
}
|
});
|
|
return flag;
|
}
|
|
// 设置dots集合的值
|
function setDots(data) {
|
dots = data;
|
}
|
|
// 将变量绑定到命名空间下
|
gl.BMap.setDots = setDots;
|
|
// 更新dots集合的数据
|
function updateDots(data) {
|
for(var i=0; i<dots.length; i++) {
|
var _dots = dots[i];
|
if(_dots.sId == data.sId) {
|
_dots.msg = data.msg;
|
}
|
}
|
}
|
|
// 将变量绑定到命名空间下
|
gl.BMap.updateDots = updateDots;
|
|
// 将函数绑定到命名空间下
|
gl.BMap.queryInRect = queryInRect;
|
})(jQuery, window, document, GLOBAL);
|
|
|
// 地图机房搜索模块
|
;(function($, window, document, gl, undefined) {
|
// 设置命名空间BMap.Search模块
|
gl.namespace('BMap.Search');
|
|
var homeInfor = [];
|
|
// 设置homeInfor的值
|
function setHomeInfor(data) {
|
homeInfor = data;
|
}
|
// 将函数绑定到命名空间下
|
gl.BMap.Search.setHomeInfor = setHomeInfor;
|
|
// 根据homeInfor的值返回home列表
|
function getHomeList() {
|
var rs = [];
|
// 遍历homeInfor的值
|
for(var i=0; i<homeInfor.length; i++) {
|
rs.push(homeInfor[i].title);
|
}
|
return rs;
|
}
|
// 将函数绑定到命名空间下
|
gl.BMap.Search.getHomeList = getHomeList;
|
})(jQuery, window, document, GLOBAL);
|
|
// 查询并设置机房的图标
|
$(function () {
|
searchStation(true);
|
});
|
|
|
var allStation = [];
|
var mapPages = {
|
pageSize:50, // 每页的行数
|
pageCurr:1, // 当前页码数
|
pageAll:1, // 数目
|
pageNum: 0,
|
pageNew: true
|
};
|
|
//查询机房
|
function searchStation(setRect){
|
var temp = createSearchParam();
|
var json = JSON.stringify(temp);
|
var bmap = GLOBAL.BMap; // BMap的命名空间
|
var init = bmap.init;
|
//init();
|
// 查询后台
|
$.ajax({
|
type: "post",
|
//url: "BattMap_informationAction!searchAll",
|
url: "BattMap_informationAction!searchUserManageStation",
|
async: true,
|
dataType:'text',
|
data:"json="+json,
|
success: function(data){
|
data = eval('('+data+')');
|
// 获取结果集
|
var rs = JSON.parse(data.result);
|
var list = rs.data;
|
//console.log(list);
|
allStation = new Array();
|
if(list!=undefined && list.length>0){
|
// 设置分页信息
|
mapPages.pageAll = list.length;
|
setMapPages();
|
//console.log(123);
|
var source = [];
|
// 遍历查询结果
|
for(var i=0;i<list.length;i++){
|
var _list = list[i];
|
allStation.push(formatAllStation(_list));
|
var tmp = {
|
identify: _list.StationName
|
};
|
source.push(tmp);
|
|
}
|
checkMapDot.setSource(source);
|
// 显示区域的图标
|
// bmap.setDots(allStation);
|
// bmap.queryInRect(map, createMapDot);
|
|
// 生成所有的图标
|
createMapDot(map, allStation);
|
|
// 更新地图图标
|
updateStation();
|
|
// 更新小工具搜索机房功能
|
updateSearchSource(allStation);
|
|
// 是否第一次执行
|
/* if(setRect) {
|
map.addEventListener("moveend", bmap.queryInRect.bind({},map, createMapDot)); // 拖动
|
map.addEventListener("zoomend", bmap.queryInRect.bind({},map, createMapDot)); // 缩放
|
|
} */
|
}
|
}
|
});
|
}
|
|
// 格式化查询结果
|
function formatAllStation(list) {
|
var obj = new Object();
|
// GPS坐标转化为百度坐标
|
var point = GPS.wgs2bd(list.latitude, list.longitude);
|
// 构造结果集
|
obj.lng = point.lon;
|
obj.lat = point.lat;
|
obj.title = list.StationName;
|
obj.sId = list.StationId;
|
obj.fbsId = list.FBSDeviceId;
|
obj.addr = list.Address;
|
obj.msg = "";
|
obj.num = list.num;
|
return obj;
|
}
|
|
// 设置分页的信息
|
function setMapPages() {
|
var pageNum = Math.ceil(mapPages.pageAll/mapPages.pageSize);
|
mapPages.pageNum = pageNum;
|
mapPages.pageNew= true;
|
}
|
|
// 轮询更新地图的点查询
|
var updateTimeout;
|
var updateLoad;
|
function updateStation(isLoad) {
|
var bmap = GLOBAL.BMap; // BMap的命名空间
|
var updateStationData = [];
|
|
// 判断是否被访问
|
if(!pageIsVisit) {
|
// 关闭并添加延时执行
|
clearInterval(updateTimeout);
|
updateTimeout = setTimeout(updateStation, 4000);
|
}
|
|
if(isLoad) {
|
updateLoad = layer.load(1);
|
}
|
|
$.ajax({
|
type: "post",
|
url: "BattMap_informationAction!searchUserManageStation2",
|
async: true,
|
dataType:'json',
|
data: "json="+JSON.stringify(mapPages),
|
success: function(result) {
|
layer.close(updateLoad);
|
var data = JSON.parse(result.result);
|
//console.log(data);
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
var _list = formatUpdateStation(_data);
|
updateStationData.push(_list);
|
// 判断是否更新
|
if(mapPages.pageNew) {
|
bmap.updateDots(_list);
|
}
|
}
|
//console.log(updateStationData);
|
updateMapDotIcon(map, updateStationData, true);
|
// 更新分页信息
|
mapPages.pageCurr++;
|
if(mapPages.pageCurr>mapPages.pageNum || updateStationData.length<mapPages.pageSize) {
|
mapPages.pageCurr=1;
|
mapPages.pageNew=false;
|
}
|
// 关闭并添加延时执行
|
clearInterval(updateTimeout);
|
updateTimeout = setTimeout(updateStation, 4000);
|
|
}
|
});
|
}
|
|
// 格式化查询结果
|
function formatUpdateStation(list) {
|
var obj = {};
|
var data = list.data;
|
// GPS坐标转化为百度坐标
|
var point = GPS.wgs2bd(data.latitude, data.longitude);
|
// 构造结果集
|
obj.lng = point.lon;
|
obj.lat = point.lat;
|
obj.title = data.StationName;
|
obj.sId = data.StationId;
|
obj.fbsId = data.FBSDeviceId;
|
obj.addr = data.Address;
|
obj.msg = list.msg;
|
obj.num = data.num;
|
obj.type = data.monvolstd;
|
return obj;
|
}
|
|
// 根据显示的类型筛选数据
|
|
|
// 根据allStation的值去更新内容
|
function updateMapByAllStation() {
|
var bmap = GLOBAL.BMap; // BMap的命名空间
|
var init = bmap.init; // 初始化内容
|
|
// 初始化地图内容
|
init();
|
|
// 显示区域的图标
|
bmap.setDots(allStation);
|
bmap.queryInRect(map, createMapDot);
|
}
|
|
// 查询机房面板信息
|
function searchPanelInfo(data) {
|
var point = new BMap.Point(data.point.lng, data.point.lat);
|
var stationInfo = getStaionByPoint(point);
|
if(!stationInfo) {
|
alert('面板信息查询失败!');
|
return;
|
}
|
var temp = {
|
StationId: stationInfo.sId
|
};
|
// 查询面板信息
|
$.ajax({
|
type: 'post',
|
async: true,
|
url: 'BattMap_informationAction!searchUserManageStation3',
|
data: 'json='+JSON.stringify(temp),
|
dataType: 'json',
|
success: function(result) {
|
var rs = JSON.parse(result.result);
|
if(rs.length != 0) {
|
var data = rs[0];
|
//console.info(data);
|
var content = '<div style="padding:6px;"><span>蓄电池组告警数目:</span>'+data.code+'<a style="margin-left: 14px" href="javascript:loadToWarnPage();">详情>></a></div>'+
|
'<div style="padding:6px;"><span>蓄电池组落后数目:</span>'+data.sum+'<a style="margin-left: 14px" href="javascript:loadToBehindPage();">详情>></a></div>'+
|
'<div style="padding:6px;"><span>蓄电池组延时数目:</span>'+data.newsum+'<a style="margin-left: 14px" href="javascript:loadToDischargeDelay();">详情>></a></div>'+
|
'<div style="padding:6px"><a href="javascript:loadToRealTime();">实时数据</a><a style="margin-left: 20px" href="javascript:loadToOldTime();">历史数据</a>'+
|
'<a style="margin-left: 20px" href="javascript:showHomeInfo('+data.data.StationId+');">基站信息</a></div>'+
|
'<div style="padding:6px;"><span>地址:</span>'+data.data.Address+'</div>'+
|
'<input type="hidden" class="ipt-hide home" value="'+data.data.StationName+'">'+
|
'<input type="hidden" class="ipt-hide province" value="'+data.data.stationName1+'">'+
|
'<input type="hidden" class="ipt-hide county" value="'+data.data.stationName5+'">'+
|
'<input type="hidden" class="ipt-hide sid" value="'+data.data.StationId+'">'+
|
'<input type="hidden" class="ipt-hide city" value="'+data.data.stationName2+'">';
|
|
var list = {
|
title: data.data.StationName,
|
content: content
|
};
|
|
showMapPanelByPoint(point, list);
|
}
|
|
}
|
});
|
}
|
|
|
// 根据经纬度获取机房的信息
|
function getStaionByPoint(point) {
|
var stationInfo = false;
|
// 遍历所有机房
|
for(var i=0; i<allStation.length; i++) {
|
var info = allStation[i];
|
if(info.lng == point.lng && info.lat == point.lat) {
|
stationInfo = info;
|
}
|
}
|
return stationInfo;
|
}
|
function setAllStation(obj,allstation){
|
//console.info(allstation);
|
var flag = false;
|
var index = 0;
|
for(var i = 0;i < allStation.length;i++){
|
//console.info(obj.binformation.num + "==" + allstation[i].binformation.num);
|
if(obj.binformation.num == allstation[i].binformation.num){
|
flag = true;
|
index = i;
|
break;
|
}
|
}
|
if(!flag){
|
index = allstation.length;
|
//该电池组已经加入到总的机房中
|
allstation.push({
|
binformation:obj.binformation,
|
alarm_num:0, //告警数目
|
low_num:0, //落后数目
|
delay_num:0, //延时数目
|
});
|
}
|
//console.info(allstation);
|
if(obj.adata!=undefined){
|
//计算告警总数
|
allstation[index].alarm_num = allstation[index].alarm_num+obj.adata.MonNum;
|
|
//计算落后总数
|
allstation[index].low_num = allstation[index].delay_num + obj.adata.num;
|
}
|
}
|
|
//构造查询条件
|
function createSearchParam(){
|
var bmd = {
|
adata:{
|
alm_cleared_type:$('#alarm-station').length == 0?0:$('#alarm-station').is(":checked")?0:100,
|
alm_id:$('#low-station').length==0?1:$('#low-station').is(":checked")?1:100,
|
},
|
bplan:{
|
discharge_reason:$('#delayed-station').length==0?3:$('#delayed-station').is(":checked")?3:100,
|
}
|
};
|
//console.info($('#alarm-station').length);
|
//console.info(bmd);
|
return bmd;
|
}
|
|
// 地址解析
|
function addrAnalyze(txt) {
|
// 创建地址解析器实例
|
var posGeo = new BMap.Geocoder();
|
|
posGeo.getPoint(txt, function(point) {
|
if(point) {
|
//console.info(point);
|
map.centerAndZoom(point, 16);
|
// map.addOverlay(new BMap.Marker(point));
|
addCommonDot(map, point);
|
search.hideSearch();
|
}else{
|
alert('定位失败!!!');
|
}
|
});
|
}
|
|
// 分析数据
|
function analyzeData(obj) {
|
//console.info(obj);
|
var objVal = new Object();
|
objVal.lng = obj.binformation.longitude;
|
objVal.lat = obj.binformation.latitude;
|
objVal.title = obj.binformation.StationName;
|
objVal.binformation = obj.binformation;
|
objVal.msg = obj.msg;
|
var temp = {
|
StationId:obj.binformation.StationId,
|
};
|
var json = JSON.stringify(temp);
|
var content = "";
|
//console.info(json);
|
$.ajax({
|
type: "post",
|
url: "BattInfAction!serchByIdLow",
|
async:true,
|
dataType:'text',
|
data:"result="+json,
|
success: function(data){
|
//console.info(data);
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
if(model.code == 1){
|
content = '<div style="padding:6px;"><span>蓄电池组告警数目:</span>'+obj.alarm_num+'<a style="margin-left: 14px" href="javascript:loadToWarnPage();">详情>></a></div>'+
|
'<div style="padding:6px;"><span>蓄电池组落后数目:</span>'+obj.low_num+'<a style="margin-left: 14px" href="javascript:loadToBehindPage();">详情>></a></div>'+
|
'<div style="padding:6px;"><span>蓄电池组延时数目:</span>'+obj.delay_num+'<a style="margin-left: 14px" href="javascript:loadToDischargeDelay();">详情>></a></div>'+
|
'<div style="padding:6px"><a href="javascript:loadToRealTime();">实时数据</a><a style="margin-left: 20px" href="javascript:loadToOldTime();">历史数据</a></div>'+
|
'<div style="padding:6px;"><span>地址:</span>'+obj.binformation.Address+'</div>'+
|
'<input type="hidden" class="ipt-hide" value="'+model.data[0].BattGroupId+'">'+
|
'<input type="hidden" class="ipt-hide" value="'+obj.binformation.StationId+'">';
|
objVal.content = content;
|
}
|
|
}
|
});
|
|
return objVal;
|
|
}
|
// 定位到实时数据页面
|
function loadToRealTime() {
|
var home = $('.ipt-hide.home').val();
|
var province = $('.ipt-hide.province').val();
|
var city = $('.ipt-hide.city').val();
|
var county = $('.ipt-hide.county').val();
|
var url = skipUrl('control.jsp',province,city,county,home);
|
window.open(url);
|
//window.open('control.jsp?province='+province+'&city='+city+'&home='+home);
|
}
|
|
// 定位到历史数据页面
|
function loadToOldTime() {
|
var home = $('.ipt-hide.home').val();
|
var province = $('.ipt-hide.province').val();
|
var city = $('.ipt-hide.city').val();
|
var county = $('.ipt-hide.county').val();
|
var url = skipUrl('charge-test.jsp',province,city,county,home);
|
window.open(url);
|
//window.open('charge-test.jsp?province='+province+'&city='+city+'&home='+home);
|
}
|
|
//定位到告警页面
|
function loadToWarnPage() {
|
var home = $('.ipt-hide.home').val();
|
var province = $('.ipt-hide.province').val();
|
var city = $('.ipt-hide.city').val();
|
var county = $('.ipt-hide.county').val();
|
var url = skipUrl('elewarn.jsp',province,city,county,home);
|
window.open(url);
|
// console.info($('.ipt-hide').val());
|
//var stationId = $('.ipt-hide').eq(1).val();
|
//window.open('elewarn.jsp?stationId='+stationId);
|
}
|
|
// 定位到落后单体页面
|
function loadToBehindPage() {
|
var home = $('.ipt-hide.home').val();
|
var province = $('.ipt-hide.province').val();
|
var city = $('.ipt-hide.city').val();
|
var county = $('.ipt-hide.county').val();
|
var url = skipUrl('taskplan.jsp',province,city,county,home);
|
window.open(url);
|
// console.info($('.ipt-hide').val());
|
//var stationId = $('.ipt-hide').eq(1).val();
|
//window.open('taskplan.jsp?stationId='+stationId);
|
}
|
|
// 定位到放电延时页面
|
function loadToDischargeDelay() {
|
var home = $('.ipt-hide.home').val();
|
var province = $('.ipt-hide.province').val();
|
var city = $('.ipt-hide.city').val();
|
var county = $('.ipt-hide.county').val();
|
var url = skipUrl('dischargeplan.jsp',province,city,county,home);
|
window.open(url);
|
|
//var stationId = $('.ipt-hide').eq(1).val();
|
//window.open('dischargeplan.jsp?stationId='+stationId);
|
}
|
|
// 定位到机房详细信息页面
|
function loadToHomeInfo() {
|
var stationId = $('.ipt-hide').eq(1).val();
|
//window.open('homeinfor.jsp?stationId='+stationId);
|
}
|
|
// 获取echarts对象的opt
|
function getOpt(tle, objEle) {
|
var opt = {
|
title : {
|
text:tle,
|
x:'left',
|
textStyle: {
|
fontSize:15
|
},
|
},
|
tooltip : {
|
trigger: 'item',
|
formatter: "{a} <br/>{b} : {c} ({d}%)"
|
},
|
legend: {
|
/* orient : 'vertical',
|
x : 'left',
|
data:function(){
|
var lgd=new Array();
|
for(var i=0;i<objEle.length;i++)
|
{
|
lgd.push(objEle[i].name);
|
}
|
return lgd;
|
}() */
|
},
|
toolbox: {
|
show : true,
|
orient : 'vertical',
|
x: 'right',
|
y: 'center',
|
feature : {
|
mark : {show: true},
|
dataView : {show: true, readOnly: false},
|
magicType : {
|
show: true,
|
type: ['pie', 'funnel'],
|
option: {
|
funnel: {
|
x: '25%',
|
width: '50%',
|
funnelAlign: 'left',
|
max: 1548
|
}
|
}
|
},
|
restore : {show: true},
|
saveAsImage : {show: true}
|
}
|
},
|
calculable : true,
|
series : [
|
{
|
name:'电池信息',
|
type:'pie',
|
radius : '55%',
|
center: ['50%', '60%'],
|
data:function(){
|
var dataArr=new Array();
|
for(var i=0;i<objEle.length;i++)
|
{
|
var oItem={
|
value:objEle[i].val,
|
name:objEle[i].name,
|
label: {
|
normal: {
|
show: true
|
}
|
},
|
labelLine: {
|
normal: {
|
show: true
|
},
|
emphasis: {
|
show: true
|
}
|
},
|
|
};
|
if(objEle[i].val == 0) {
|
//oItem.label.normal.show = false;
|
//oItem.labelLine.normal.show = false;
|
//oItem.labelLine.emphasis.show = false;
|
}
|
dataArr.push(oItem);
|
}
|
return dataArr;
|
}()
|
}
|
]
|
};
|
|
return opt;
|
}
|
|
//给地图的覆盖物添加右键菜单
|
function addMenu(mk, flag) {
|
if(flag) {
|
//创建右键菜单
|
var markerMenu=new BMap.ContextMenu();
|
var itemMenu = [
|
{
|
text: '删除',
|
callback: function(e) {
|
//console.info(allStation);
|
console.info(allStation);
|
var temp = getStationMap(allStation, mk.point);
|
console.info(temp);
|
temp.StationName = temp.title;
|
if(confirm("确认从地图上删除'"+temp.title+"'的位置信息吗?")){
|
if(temp != undefined){
|
var json = JSON.stringify(temp);
|
$.ajax({
|
type: "post",
|
url: "BattMap_informationAction!del",
|
async:false,
|
dataType:'text',
|
data:"json="+json,
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
alert("删除成功");
|
map.clearOverlays();
|
searchStation();
|
searchProvince();
|
}else{
|
alert("删除失败");
|
}
|
},
|
error:function(){
|
alert("删除失败");
|
}
|
});
|
}
|
}
|
}
|
}
|
];
|
|
for(var i=0; i < itemMenu.length; i++){
|
markerMenu.addItem(new BMap.MenuItem(itemMenu[i].text,itemMenu[i].callback,100));
|
}
|
mk.addContextMenu(markerMenu);
|
}
|
|
}
|
|
//获取机房信息
|
function getStationMap(list,localposi){
|
if(list != undefined){
|
for(var i = 0 ; i < list.length ; i++){
|
if(list[i].lat == localposi.lat && list[i].lng == localposi.lng){
|
return list[i];
|
}
|
}
|
}
|
return undefined;
|
}
|
|
// batt_map_delete_permit:删除权限
|
// batt_map_edit_permit:编辑权限
|
function getPermit(permitname,list){
|
var flag = false;
|
if(list!=undefined){
|
for(var i =0 ;i<list.length;i++){
|
if(list[i].permit_item_name == permitname && list[i].permit_item_value==1){
|
flag = true;
|
break;
|
}
|
}
|
}
|
return flag;
|
}
|
|
// 设置map容器的高度
|
function getMapHt() {
|
var srnHt = $(window).height();
|
var navHt = $('#nav').height();
|
var topHt = $('#top').height();
|
var shiftHt = srnHt - navHt - topHt -32;
|
var pie_len = $('.pie-con .module').length;
|
/* $('#map').height(shiftHt);
|
$('.side-bar').height(shiftHt); */
|
if($('.nav-map').hasClass('fixed')) {
|
$('.nav-map').height('100%');
|
}else {
|
$('.nav-map').height(shiftHt);
|
}
|
// 判断右侧存在饼状图
|
if(pie_len != 0) {
|
$('.pie-con .module').height(shiftHt/pie_len);
|
}else {
|
$('.pie-con').remove();
|
$('.nav-map').addClass('full-screen');
|
}
|
|
return shiftHt;
|
}
|
|
/* // 生成省-市内容
|
createProvince($('#panelProvince'), area);
|
changeCityByPrivince($('#panelCity'), area[0].province, area);
|
|
// 定位
|
locationToCity($('#panelCity')); */
|
|
var isNewSearch = true;
|
|
//查询所有省
|
function searchProvince(){
|
$.ajax({
|
type:"post",
|
//url: "BattMap_informationAction!serchStationName1",
|
url: "User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup", //查询用户管理的维护区
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
if(model.code == 1){
|
createProvince($('#panelProvince'),model.data);
|
searchCity($('#panelProvince').val());
|
}
|
}
|
});
|
}
|
|
$('#map').on('change','#panelProvince',function(){
|
isNewSearch = true;
|
searchCity($('#panelProvince').val());
|
});
|
|
//查询市
|
function searchCity(pname){
|
var temp = {
|
Address:pname
|
};
|
$.ajax({
|
type:"post",
|
url: "BattMap_informationAction!serchStationName2",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(temp),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
//model.data.push("武汉市 ");
|
if(model.code ==1){
|
createProvince($('#panelCity'),model.data);
|
searchStationByCity($('#panelCity').val());
|
}
|
}
|
});
|
}
|
|
$('#map').on('change','#panelCity',function(){
|
isNewSearch = true;
|
searchStationByCity($('#panelCity').val());
|
});
|
|
var StationNames = new Array();
|
//查询某市下的所有机房
|
function searchStationByCity(cname){
|
var temp = {
|
Address:cname,
|
};
|
StationNames = new Array();
|
$.ajax({
|
type:"post",
|
url: "BattMap_informationAction!serchStationName",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(temp),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
var arr = new Array();
|
if(model.code == 1){
|
arr.push('全部');
|
for(var i=0;i<model.data.length;i++){
|
arr.push(model.data[i].StationName);
|
}
|
StationNames = model.data;
|
createProvince($('#panelStation'),arr);
|
}else{
|
$('#panelStation').text('').append($('<option>暂无已设置位置信息的机房</option>'));
|
}
|
if(isNewSearch){
|
locationToCity($('#panelCity'));
|
isNewSearch = false;
|
}
|
|
}
|
});
|
}
|
|
$('#map').on('change','#panelStation',function(){
|
if($(this).val()=='全部'){
|
locationToCity($('#panelCity'));
|
}else{
|
locateToCityBylat($(this).val());
|
var allOverlay = map.getOverlays();
|
}
|
});
|
|
//根据经纬度定位机房
|
function locateToCityBylat(sname){
|
for(var i=0;i<StationNames.length;i++){
|
if(sname == StationNames[i].StationName){
|
var point = new BMap.Point(StationNames[i].longitude, StationNames[i].latitude);
|
for(var k=0; k<mkList.length;k++) {
|
if(mkList[k].point.lng == StationNames[i].longitude) {
|
$('.BMap_Marker').eq(k).click();
|
}
|
}
|
map.centerAndZoom(point, 16); // 用城市名设置地图中心点
|
return ;
|
}
|
}
|
}
|
|
$(function() {
|
searchProvince();
|
});
|
|
// 点击切换内容
|
$(function() {
|
var imgChangeInter = setInterval(changeImg, 8000);
|
|
$('.img-change .img-list-btn .btn-list').click(function() {
|
var idx = $(this).index();
|
var block = $('.img-change .img-list .block');
|
$('.img-change .img-list-btn .btn-list').removeClass('active');
|
$(this).addClass('active');
|
block.removeClass('block-show');
|
block.eq(idx).addClass('block-show');
|
});
|
// 显示和隐藏上一页和下一页
|
$('.img-change').mouseenter(function(event) {
|
/* Act on the event */
|
$(this).addClass('show-pos');
|
});
|
$('.img-change').mouseleave(function() {
|
$(this).removeClass('show-pos');
|
});
|
|
});
|
|
// 显示需要的内容
|
function changeImg(str) {
|
var btnList = $('.img-change .img-list-btn .btn-list'); // 获取切换按钮的集合
|
var imgList = $('.img-change .img-list .block'); // 获取图片的集合
|
var btnListLen = btnList.length; // 获取切换按钮的个数
|
var addNum = 1;
|
|
// 通过str的值确定addNum是1还是-1
|
if(str == 'pre') {
|
addNum = -1;
|
}
|
var idx = 0;
|
// 遍历切换按钮
|
btnList.each(function(i) {
|
if($(this).hasClass('active')) {
|
$(this).removeClass('active');
|
imgList.eq(i).removeClass('block-show');
|
idx = i + addNum;
|
}
|
});
|
|
if(idx == -1) {
|
idx = btnListLen - 1;
|
}else if (idx == btnListLen) {
|
idx = 0;
|
}
|
|
imgList.eq(idx).addClass('block-show');
|
btnList.eq(idx).addClass('active');
|
}
|
|
// 根据cookie的值获取地图图标的URL
|
function getMapImageUrl() {
|
var user_logo = $('#user_logo').val();
|
var rs = new Object();
|
rs.normal = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_normal}"; // 普通机房图标
|
rs.behind = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_behind}"; // 落后图标
|
//rs.diaozhan = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_diaozhan}"; // 延时机房图标
|
rs.timeout = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_timeout}"; // 延时机房图标
|
rs.warn = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_warn}"; // 告警机房图标
|
rs.nuclear = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_nuclear_cap}"; // 核容放电
|
rs.devalarm = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_dev_alarm}"; // 设备告警
|
rs.precharge = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_pre_charge}"; // 预充电
|
rs.float = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_online_charge}"; // 浮充
|
rs.powercut = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_poff}";
|
rs.defaults = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:chart_install}";
|
rs.xuhang = "User_ChartAction!serchByInfo?json={Chart_file:'"+user_logo+"',Chart_name:Chart_xuhang}";
|
return rs;
|
}
|
|
//查询所有的维护区
|
function searchAllProvince(){
|
$.ajax({
|
type:"post",
|
//url: "BattInfAction!serchByStation", //查询所有的维护区
|
url: "User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup", //查询当前用户管理的维护区
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
//console.info('****');
|
//console.info(model);
|
var arr = new Array();
|
for(var i=0;i<model.data.length;i++){
|
arr.push({
|
StationName1:model.data[i]
|
});
|
}
|
createLsideFir($('.side-bar .lside'), arr);
|
}else{
|
noContent.showNoContent("暂无管理的维护区");
|
}
|
}
|
});
|
}
|
//根据维护区查询所有的管理机房
|
function searchAllStationByProvince(stationname){
|
addLoadingToMenu(stationname);
|
$.ajax({
|
type:"post",
|
//url: "BattInfAction!serchByStationName",
|
url: "User_battgroup_baojigroup_battgroupAction!serchStationInfoByStationName1",
|
async:true,
|
dataType:'text',
|
//data:"bif.StationName1="+stationname,
|
data:"json="+JSON.stringify({UNote:stationname}),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
removeLoadingMenu(stationname); // 移除数据加载等待
|
//console.info(model);
|
if(model.code == 1){
|
createLsideSec(model.data, stationname);
|
}
|
},
|
error:function() {
|
removeLoadingMenu(stationname); // 移除数据加载等待
|
}
|
});
|
}
|
//根据机房id查询机房的经纬度
|
function searchStationById(stataionid){
|
$.ajax({
|
type:"post",
|
url: "BattMap_informationAction!serchByInfo",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify({
|
StationId:stataionid
|
}),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
//console.info(model.data);
|
locationCityByPoint(model.data[0].longitude, model.data[0].latitude);
|
}else{
|
alert('机房位置未设定!');
|
}
|
}
|
});
|
}
|
|
/**
|
* 生成左侧一级导航
|
* @param array mList 一级导航的数据机房名称,机房ID
|
* [{StationName:string,StationId:string}...]
|
*/
|
function createLsideFir(contain,mList){
|
// 清除contain的内容
|
contain.text('');
|
var _ul = $('<ul></ul>');
|
// 遍历mList根据其数据生成页面中的内容
|
for (var i = 0; i < mList.length; i++) {
|
var _li = $('<li></li>');
|
var _a = $('<a href="javascript:;" class="fir" name="'+mList[i].StationName1+'"><strong class="arrow down"></strong><span></span>'+mList[i].StationName1+'</a>');
|
_li.append(_a);
|
_ul.append(_li);
|
}
|
|
contain.append(_ul);
|
loading.hideLoading(contain);
|
// 在id为mach_num的div显示内容
|
var MachineRoom = $('#lside .fir').length;
|
$('#room_num').text(MachineRoom);
|
}
|
|
/**
|
* 生成左侧二级导航
|
* @param array mList 一级导航的数据机房名称,机房ID
|
* [{StationName:string,StationId:string,BattGroupId:string,BattGroupName:string}...]
|
*/
|
function createLsideSec(mList, stationName){
|
// 根据_stationId的值确定要生成二级导航的位置
|
var _fir = $('.side-bar .lside .fir');
|
_fir.each(function() {
|
if($(this).attr('name') == stationName) {
|
$(this).next('ul').remove();
|
$(this).children('strong.arrow').removeClass('down').addClass('up');
|
|
var _ul = $('<ul style="display:block"></ul>');
|
var _li = $('<li></li>');
|
var _a = $('<a href="javascript:;" class="sec" id="'+mList[0].StationId+'" value="'+mList[0].StationName+'" style="display:none"></a>');
|
_li.append(_a);
|
var __ul = $('<ul style="display: block"></ul>');
|
// 遍历mList生成第二级内容
|
for(var _i = 0; _i < mList.length; _i++) {
|
//console.info(mList[_i].SignalId);
|
//mList[_i].SignalId = 'item-nuclear_cap';
|
var __li = $('<li></li>');
|
var mapStatsImg = $('<div class="map-stats-img"><img src="'+getMapStateImg(mapImages, mList[_i].SignalId)+'"></div>');
|
var mapItem = $('<a href="javascript:;" class="thr '+mList[_i].SignalId+'" id="'+mList[_i].StationId+'">'+mList[_i].StationName+'</a>');
|
mapItem.data('attr', mList[_i]);
|
__li.append(mapStatsImg);
|
__li.append(mapItem);
|
__ul.append(__li);
|
}
|
_li.append(__ul);
|
_ul.append(_li);
|
$(this).after(_ul);
|
}
|
});
|
}
|
|
//根据经纬度定位机房
|
function locationCityByPoint(lng, lat){
|
var point = new BMap.Point(lng, lat);
|
for(var k=0; k<mkList.length;k++) {
|
if(mkList[k].point.lng == lng) {
|
showMapPanelByPoint(mkList[k].point, allStation[k]);
|
}
|
}
|
map.centerAndZoom(point, 14); // 用城市名设置地图中心点
|
return ;
|
}
|
|
|
// 根据左导航的状态确定一级菜单的图表
|
function changeFirImg(ele) {
|
var _status = ele.get(0).style.display;
|
if(_status == 'block') {
|
ele.siblings('a').children('.arrow').removeClass('down').addClass('up');
|
}else {
|
ele.siblings('a').children('.arrow').removeClass('up').addClass('down');
|
}
|
}
|
|
// 向页面的左侧添加加载等待
|
function addLoadingToMenu(stationName) {
|
var ele = $('.side-bar .lside .fir[name="'+stationName+'"]');
|
var marginLeft = $('.side-bar .lside').width()/2 - 95; // 获取容器的高度
|
//console.info($('#lside').width());
|
var _div = $('<div class="loading-menu"></div>');
|
var _img = $('<img src="image/right-menu-loading.gif" alt="数据加载中..." />');
|
_div.append(_img);
|
_div.css({
|
'width': '100%',
|
'padding': '10px 0'
|
});
|
_img.css({
|
'margin-left':marginLeft+'px'
|
});
|
ele.after(_div);
|
}
|
|
// 清除左侧的数据等待
|
function removeLoadingMenu(stationName) {
|
var ele = $('.side-bar .lside .fir[name="'+stationName+'"]');
|
ele.next('.loading-menu').remove();
|
}
|
|
// 根据指定的字符串返回指定的后台地图机房状态图标
|
function getMapStateImg(imgs, cla) {
|
var rs = imgs.normal;
|
switch(cla) {
|
case 'item-normal':
|
rs = imgs.normal;
|
break
|
case 'item-warn': // 告警
|
rs = imgs.warn;
|
break;
|
case 'item-behind': // 落后
|
rs = imgs.behind;
|
break;
|
case 'item-diaozhan':
|
rs = imgs.timeout; // 掉站
|
break;
|
case 'item-timeout': // 延时
|
rs = imgs.timeout;
|
break;
|
case 'item-poff': // 停电
|
rs = imgs.powercut;
|
break;
|
case 'item-dev_alarm': // 61850告警
|
rs = imgs.devalarm;
|
break;
|
case 'item-online_charge': // 61850在线浮充
|
rs = imgs.float;
|
break;
|
case 'item-nuclear_cap': // 61850核容
|
rs = imgs.nuclear;
|
break;
|
case 'item-pre_charge': // 61850预充电
|
rs = imgs.precharge;
|
break;
|
case 'item-xuhang': // 续航不足
|
rs = imgs.xuhang;
|
break;
|
default:
|
rs = imgs.defaults;
|
break;
|
}
|
|
return rs;
|
}
|
// 使用jquery实现左导航的显示和隐藏
|
$(document).ready(function(){
|
//二级左菜单的显示和隐藏
|
$('.side-bar .lside').on('click','.fir', function(){
|
$('.thr').css('background-color','');
|
$('.fir').css('background-color','');
|
$('.sec').css('background-color','');
|
$(this).css('background-color','#9bbaf3');
|
$(this).css('color','black');
|
// alert($(this).next().children().eq(0).children().eq(0).text());
|
if ($(this).next().length == 0) {
|
searchAllStationByProvince($(this).attr('name'));
|
}else {
|
//修复二级为空时的bug
|
for(var i=0;i<$(this).next().children().length;i++)
|
{
|
if($(this).next().children().eq(i).children().eq(0).text()=='')
|
{
|
$(this).next().children().eq(i).children().eq(0).remove();
|
$(this).next().children().eq(i).children().eq(0).next().slideToggle();
|
}
|
}
|
$(this).next().slideToggle(function() {
|
//console.info($(this));
|
changeFirImg($(this));
|
});
|
}
|
});
|
//三级左菜单的显示和隐藏
|
$('.side-bar .lside').on('click', '.sec', function(){
|
$('.thr').css('background-color','');
|
$('.fir').css('background-color','');
|
$('.sec').css('background-color','');
|
// alert($(this).parent().parent().siblings().get(0).tagName);
|
$(this).css('background-color','#F5F5F5');
|
$(this).next().slideToggle();
|
});
|
// 三级菜单背景色改变
|
$('.side-bar .lside').on('click', '.thr', function(){
|
var eType = GLOBAL.equipType;
|
$('.thr').css('background-color','');
|
$('.fir').css('background-color','');
|
$('.sec').css('background-color','');
|
$(this).css('background-color','#E5E5E5');
|
|
searchStationById($(this).attr('id'));
|
var attr = $(this).data('attr');
|
var dev_id = attr.FBSDeviceId;
|
if(eType.regType(dev_id, eType.type.equip61850)) {
|
changeMapImgDesc($('#mapImgDesc'), '61850');
|
}else {
|
changeMapImgDesc($('#mapImgDesc'));
|
}
|
|
});
|
});
|
|
// 设置地图默认显示的中心坐标点
|
function updateMapCenterPoint(point) {
|
var temp = {
|
map_longitude: point.lng,
|
map_latitude: point.lat,
|
map_level: 11
|
};
|
loading.showLoading();
|
// 请求后台根据数据更改地图中心坐标
|
$.ajax({
|
type: "post",
|
url: "Positiomap_usrAction!add",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(temp),
|
success: function(rs){
|
loading.hideLoading();
|
rs = eval('('+rs+')');
|
var model = eval('('+rs.result+')');
|
if(model.code == 1) {
|
myConfirm.show({
|
type: 'alert',
|
content: '<h3>设置成功!</h3>'
|
});
|
}else {
|
myConfirm.show({
|
type: 'alert',
|
content: '<h3 style="color: #FF0000">设置失败!</h3>'
|
});
|
}
|
}
|
});
|
}
|
|
// 根据后台数据显示地图的中心坐标
|
function centerMapByPoint(map) {
|
// 请求后台根据数据更改地图中心坐标
|
$.ajax({
|
type: "post",
|
url: "Positiomap_usrAction!serchByCondition",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(rs){
|
rs = eval('('+rs+')');
|
var model = eval('('+rs.result+')');
|
if(model.code == 1) {
|
var data = model.data[0];
|
var _point = new BMap.Point(data.map_longitude,data.map_latitude);
|
map.centerAndZoom(_point, data.map_level); // 用城市名设置地图中心点
|
}
|
}
|
});
|
}
|
//查询所有展开了的机房的信息
|
function searchAllSpreadStation(list, temp){
|
// 请求后台
|
$.ajax({
|
type:"post",
|
url: "User_battgroup_baojigroup_battgroupAction!serchStationInfoNow", //查询展开了的机房的信息
|
async:true,
|
dataType:'text',
|
data:'json='+JSON.stringify(temp),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
changeImage(list, model.data);
|
}else{
|
|
}
|
},
|
error:function(){
|
|
}
|
});
|
}
|
var updateSiderBarImg = new GLOBAL.Timer.timer({
|
fun: updateSiderBarImg,
|
times: 4000
|
});
|
updateSiderBarImg.start();
|
// 构造读取后台的图片的请求的数据
|
function updateSiderBarImg() {
|
var thir = $('.side-bar .lside .thr');
|
if(thir.length != 0) {
|
var groupdata = [];
|
// 遍历内容
|
thir.each(function(i) {
|
var attr = $(this).data('attr'), tmp = {};
|
//console.info(attr);
|
tmp.FBSDeviceId = attr.FBSDeviceId;
|
tmp.StationId = attr.StationId;
|
groupdata.push(tmp);
|
});
|
|
searchAllSpreadStation(thir, groupdata);
|
}
|
}
|
|
// 修改图片
|
function changeImage(list, data) {
|
// 遍历数据根据数据的值修改图片
|
for(var i=0;i<data.length; i++) {
|
var img = list.eq(i).siblings('.map-stats-img').find('img');
|
var navImg = getMapStateImg(mapImages, data[i].SignalId);
|
img.attr('src', navImg);
|
}
|
}
|
|
// 点击地图的搜索按钮定位地址
|
$(function() {
|
$('#map').on('click', '.search .search-btn', function() {
|
var posTxt = $('#map .search .pos-txt').val();
|
addrAnalyze(posTxt);
|
});
|
});
|
|
layui.use(['form', 'layer', 'laytpl', 'element'], function() {
|
var form = layui.form;
|
var layer = layui.layer;
|
var laytpl = layui.laytpl;
|
var element = layui.element;
|
|
// 点击饼状图配置
|
$('#faCog').click(function() {
|
searchUserBieState(); // 查询当前饼状图的配置状态
|
});
|
|
var layerMsg;
|
|
// 点击配置项复选框
|
$('body').on('click', '#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]', function(event) {
|
layer.close(layerMsg);
|
var iptList = $('#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]');
|
var num = 0;
|
iptList.each(function() {
|
if($(this).is(':checked')) {
|
num++;
|
}
|
});
|
if(num>4) {
|
layerMsg = layer.msg("最多选择四个!", {
|
type: 1
|
});
|
$(this).prop('checked', false);
|
}else if(num == 0) {
|
layerMsg = layer.msg("至少选择一个!", {
|
type: 1
|
});
|
$(this).prop('checked', true);
|
}
|
|
});
|
|
|
var pie = GLOBAL.Index.Pie;
|
var pieType = pie.pieType;
|
var pieConfTpl = getTpl('iframe/pie-config.html');
|
//查询当前用户设置饼状图的使能状态
|
function searchUserBieState(){
|
$.ajax({
|
type:"post",
|
url: "Echarts_usrAction!serchByCondition",
|
async:true,
|
dataType:'json',
|
data:null,
|
success: function(data){
|
var model = eval('('+data.result+')');
|
var resData;
|
if(model.code == 1) {
|
var result = model.data;
|
resData = result[0];
|
}else {
|
resData = {
|
echarts1_enable:1,
|
echarts2_enable:1,
|
echarts3_enable:1,
|
echarts4_enable:1
|
};
|
}
|
|
// 格式获取到的数据
|
var formatData = formatPieRsData(resData);
|
laytpl(pieConfTpl).render(formatData, function(html) {
|
layer.open({
|
id: 'pie',
|
title: '饼状图配置',
|
maxHeight: 450,
|
content: html,
|
yes: function(index) {
|
var iptList = $('#tplTblOpts .tpl-tbl-opts-header input[type=checkbox]');
|
var iptArr = [];
|
iptList.each(function() {
|
if($(this).is(':checked')) {
|
iptArr.push(1);
|
}else {
|
iptArr.push(0);
|
}
|
});
|
var temp = structUpdatePie(iptArr);
|
layer.load();
|
updateUserBieState(temp);
|
}
|
});
|
});
|
}
|
});
|
}
|
|
// 格式化查询结果
|
function formatPieRsData(result) {
|
var data={};
|
data.tblData=[];
|
// 遍历pieType的类型
|
for(var i=0; i<pieType.length; i++) {
|
var tmp = {};
|
var num = i+1;
|
var key = 'echarts'+num+'_enable';
|
tmp.name = pieType[i].name;
|
tmp.status = result[key];
|
data.tblData.push(tmp);
|
}
|
|
return data;
|
}
|
|
|
// 构造更新饼状图参数
|
function structUpdatePie(arr) {
|
var rs = {
|
echarts1_enable:0,
|
echarts2_enable:0,
|
echarts3_enable:0,
|
echarts4_enable:0,
|
echarts5_enable:0,
|
echarts6_enable:0,
|
echarts7_enable:0,
|
echarts8_enable:0,
|
echarts9_enable:0,
|
echarts10_enable:0
|
};
|
|
// 遍历arr给rs值重定义
|
for(var i=0; i<arr.length; i++) {
|
var num = i+1;
|
var key = 'echarts'+num+'_enable';
|
rs[key] = arr[i];
|
}
|
|
return rs;
|
}
|
|
// 更新当前用户设置饼状图的使能状态
|
function updateUserBieState(temp, dialog, load){
|
var pieItemCon = $('.pie-con .pie-item-con');
|
// 更新后台数据
|
$.ajax({
|
type:"post",
|
url: "Echarts_usrAction!add",
|
async:true,
|
dataType:'json',
|
data:'json='+JSON.stringify(temp),
|
success: function(data){
|
layer.closeAll();
|
var model = eval('('+data.result+')');
|
if(model.code == 1) {
|
// 更具temp的值设置饼状图的内容
|
var formaterTmp = GLOBAL.Index.Pie.formaterPieStauts(temp);
|
//console.log(formaterTmp);
|
var pieItems = GLOBAL.Index.Pie.getPieList(formaterTmp);
|
//console.log(pieItems);
|
pieItemCon.text('');
|
pieItemCon.append(pieItems);
|
|
// 设置高度
|
getMapHt();
|
|
// 更新饼状图
|
flushFourPie(true);
|
|
layer.msg('配置成功!!!');
|
}else {
|
layer.msg('配置失败!!!');
|
}
|
}
|
});
|
}
|
|
// 根据权限更新地图工具内容
|
var permitAddHome = getPermit('batt_map_edit_permit', permits); // 添加机房的权限
|
// 没有添加机房的权限
|
if(!permitAddHome) {
|
$('#permitAddHome').remove();
|
}
|
|
// 地图左上方面板模块-点击面板上方的小图标显示设定信息
|
$('#showMapInfoDetail').click(function() {
|
var isSmall = $(".map-info-panel-left").hasClass('w120');
|
if(isSmall) {
|
$(".map-info-panel-left").removeClass('w120');
|
}
|
$('.map-info-detail').slideToggle("normal", function() {
|
if(!isSmall) {
|
$(".map-info-panel-left").addClass('w120');
|
}
|
});
|
});
|
|
// 点击隐藏
|
$('.map-info-detail .map-panel-hide').click(function() {
|
$('.map-info-detail').slideUp();
|
});
|
|
// 内容改变初始话$('#mapToolSearchBtn').data('homeInfo')的值
|
$( "#mapToolSearch" ).on('input propertychange', function(){
|
$('#mapToolSearchBtn').data('homeInfo', 0);
|
});
|
|
// 定义机房查询信息
|
$( "#mapToolSearch" ).autocomplete({
|
source: [],
|
select: function(event, ui) {
|
$('#mapToolSearchBtn').data('homeInfo', ui.item); // 设置机房信息内容
|
}
|
});
|
|
// 点击机房类型复选框
|
$('#homeType input[type=checkbox]').click(function() {
|
var homeType = getHomeType();
|
getInstallNum();
|
updateStation(true);
|
});
|
|
|
// 点击查看homeInfo的值
|
$('#mapToolSearchBtn').click(function() {
|
var homeInfo = $(this).data('homeInfo');
|
if(homeInfo) {
|
searchPanelInfo(homeInfo);
|
$(this).data('homeInfo', 0);
|
$( "#mapToolSearch" ).val('');
|
}else {
|
layer.msg('请重新输入机房信息!');
|
$( "#mapToolSearch" ).val("");
|
}
|
});
|
|
/* 地图工具添加地图图标 */
|
var mapToolAddHome = $('#mapToolAddHome');
|
var mapToolAddHomeBtn = $('#mapToolAddHomeBtn');
|
|
// 点击地图工具添加地图按钮
|
mapToolAddHomeBtn.click(function() {
|
var lng = mapToolAddHome.find('.lng').val().trim();
|
var lat = mapToolAddHome.find('.lat').val().trim();
|
var pointStyles = mapToolAddHome.find('.pointStyle');
|
var pointStyle = 0;
|
pointStyles.each(function() {
|
if($(this).is(':checked')) {
|
pointStyle = $(this).val();
|
}
|
});
|
if(lng && lat) {
|
var point = getBaiduPoint(lng, lat, pointStyle);
|
var pt = new BMap.Point(point.lon, point.lat);
|
addCommonDot(map, pt);
|
map.centerAndZoom(pt, 18); // 用城市名设置地图中心点
|
}else {
|
layer.msg('请输入经纬度');
|
}
|
|
});
|
|
// 获取百度地图的经纬度
|
function getBaiduPoint(lng, lat, type) {
|
var point = {};
|
lng = Number(lng);
|
lat = Number(lat);
|
var _type = Number(type);
|
switch(_type) {
|
case 0: // GPS原始坐标
|
point = GPS.wgs2bd(lat, lng);
|
break;
|
case 1: // 百度地图坐标
|
point = {
|
lon: lng,
|
lat: lat
|
};
|
break;
|
case 2: // 腾讯/高德
|
point = GPS.bd_encrypt(lat, lng);
|
break;
|
}
|
|
return point;
|
}
|
// 点击设备安装状态的刷新按钮
|
$('#installnumbtn').click(function() {
|
getInstallNum(true);
|
});
|
|
// 统计设备安装情况
|
getInstallNum();
|
// 获取当前已经安装的设备数目
|
function getInstallNum(isLoad) {
|
var load;
|
// 查询后台数据
|
$.ajax({
|
type: 'post',
|
async:true,
|
url: 'BattInfAction!serchDevice',
|
data: null,
|
dataType: 'json',
|
beforeSend: function(xhr) {
|
if(isLoad) {
|
load = layer.load(1);
|
}
|
|
},
|
complete: function(xhr) {
|
layer.close(load);
|
},
|
success: function(result) {
|
// 格式化数据
|
var rs = JSON.parse(result.result);
|
//console.log(rs);
|
if(rs.code == 1) {
|
var txt = getInstallNumByType(rs.data,getHomeType());
|
|
// 更新文本值
|
$('#installnum').text(txt);
|
}
|
|
}
|
});
|
}
|
|
// 更具选择机房的类型返回文本
|
function getInstallNumByType(data,type) {
|
var rs = '未知/未知';
|
switch(type) {
|
case 0:
|
rs = '0/0';
|
break;
|
case 2:
|
rs = data[0]+'/'+data[1];
|
break;
|
case 12:
|
rs = data[2]+'/'+data[3];
|
break;
|
case 14:
|
rs = data[4]+'/'+data[5];
|
break;
|
}
|
|
return rs;
|
}
|
});
|
|
// 0=全部不选 14=全部选中 2=选中2V 12=选中12V
|
function getHomeType() {
|
var boxList = $('#homeType input[type=checkbox]')
|
var rs = 0; // 全部
|
|
boxList.each(function() {
|
if($(this).is(':checked')) {
|
rs += Number($(this).val());
|
}
|
});
|
|
return rs;
|
}
|
|
|
// 检测当前机房是否符合2V或12V
|
function checkHomeType(homeType, type) {
|
var rs = false;
|
var _homeType = Number(homeType);
|
if(type == 14 || homeType == type) {
|
rs = true;
|
}
|
|
return rs;
|
}
|
|
// 更新地图工具搜索机房
|
function updateSearchSource(data) {
|
var homeSource = [];
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i];
|
var tmp = {
|
label: _data.title+'('+_data.sId+')',
|
point: {
|
lng: _data.lng,
|
lat: _data.lat
|
}
|
};
|
homeSource.push(tmp);
|
}
|
|
$( "#mapToolSearch" ).autocomplete('option', 'source', homeSource);
|
}
|
|
// 添加地图控件
|
function add_control(){
|
var bottom_left_navigation = new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT});
|
map.addControl(bottom_left_navigation);
|
}
|
|
// 测试代码(根据筛选条件查询出来的数据,与地图图标对比)
|
/* $(function() {
|
var checkMapDot = new CheckMapDot();
|
// 假设这是查询出来的数据
|
var source = [
|
{identify: '呵呵'},
|
{identify: '张三'},
|
{identify: '李四'},
|
{identify: '王二'},
|
{identify: '王小二'}
|
];
|
checkMapDot.setSource(source, function(check) {
|
// 假设这是地图图标列表
|
var _source = [
|
{identify: '霍东伟'},
|
{identify: '张三'},
|
{identify: '李'},
|
{identify: '王二'},
|
{identify: '王小二'}
|
];
|
for(var i=0; i<_source.length; i++) {
|
var identify = _source[i].identify;
|
check.checkMapDot(identify, function(exist) {
|
console.log(exist); // 根据值判断是否显示图标
|
});
|
}
|
|
});
|
}); */
|
|
// 地图工具模块
|
$(function() {
|
// 导入模块
|
var form = layui.form; // 导入form模块
|
var element = layui.element; // 导入element模块
|
var laytpl = layui.laytpl; // 导入laytpl
|
var laydate = layui.laydate; // 导入laydate
|
|
var list=[
|
{
|
id: "monVol",
|
filter: "monVolSelFilter",
|
text: "标称单体电压",
|
value:1
|
},
|
{
|
id: "onlineVol",
|
filter: "onlineVolFilter",
|
text: "在线电压",
|
value: 15
|
},
|
{
|
id: "groupNum",
|
filter: "groupNumSelFilter",
|
text: "BTS设备电池组数",
|
value: 2
|
},
|
{
|
id: "loadCurr",
|
filter: "loadCurrFilter",
|
text: "实际负载电流",
|
value: 3
|
},
|
{
|
id: "actCap",
|
filter: "actCapFilter",
|
text: "电池组实际容量",
|
value: 4
|
},
|
{
|
id: "tmpRange",
|
filter: "tmpRangeFilter",
|
text: "设备温度",
|
value: 14
|
},
|
{
|
id: "endurTimeLong",
|
filter: "endurTimeLongFilter",
|
text: "机房续航时间",
|
value: 13
|
},
|
{
|
id: "actCapBehind",
|
filter: "actCapBehindFilter",
|
text: "单体实际容量落后数量",
|
value: 5
|
},
|
{
|
id: "eleWarnType",
|
filter: "eleWarnTypeFilter",
|
text: "电池实时告警",
|
value: 6
|
},
|
{
|
id: "equipWarnType",
|
filter: "equipWarnTypeFilter",
|
text: "设备实时告警",
|
value: 7
|
},
|
{
|
id: "homeProblem",
|
filter: "homeProblemFilter",
|
text: "机房问题类型",
|
value: 8
|
},
|
{
|
id: "equipVersion",
|
filter: "equipVersionFilter",
|
text: "设备版本号",
|
value: 9,
|
selects:[]
|
},
|
{
|
id: "powerCutRecord",
|
filter: "powerCutRecordFilter",
|
text: "有停电记录",
|
timeRange: true,
|
type: "day",
|
timeId: "powerCutRecordDay",
|
value: 10
|
},
|
{
|
id: "dropRecord",
|
filter: "dropRecordFilter",
|
text: "有掉站记录",
|
timeRange: true,
|
type: "day",
|
timeId: "dropRecordDay",
|
value: 11
|
},
|
{
|
id: "eleChangeRecord",
|
filter: "eleChangeRecordFilter",
|
text: "电池更换记录",
|
timeRange: true,
|
type: "month",
|
timeId: "eleChangeRecordMonth",
|
value: 12
|
},
|
];
|
|
// 对筛选条件进行处理
|
var optionsList = new OptionsList(form, laytpl, laydate);
|
optionsList.init(list, "optionsListFilter", "optionsList", "optionsListContent");
|
|
getEquipeVersion(optionsList);
|
|
// 点击导出内容
|
$('#filterExport').click(function() {
|
if($(this).hasClass("layui-btn-disabled")) {
|
return;
|
}
|
|
//console.log(checkMapDot.getSource());
|
var data = checkMapDot.getSource();
|
var type = optionsList.getAcList();
|
//console.log(type);
|
// 导出数据
|
createExportData(data, type);
|
});
|
|
// 根据结果集构造导出数据
|
function createExportData(data, type) {
|
console.log(data);
|
var tbl_th = ['机房编号', '机房名称', '设备类型', '电池组数','电池品牌', '电池型号', '负载电流(A)', '安装状态'];
|
var value = Number(type.value);
|
var tbl_td = "";
|
switch(value) {
|
case 1:
|
case 2:
|
case 3:
|
tbl_td = getFilterTblTd(data);
|
break;
|
default:
|
tbl_th.push(type.text);
|
tbl_td = getFilterTblTd(data, true, value);
|
break;
|
}
|
|
// 获取存储数据的容器
|
var eleform = $('#export_excel');
|
var eleTh_Text = $('#table_th_arr');
|
var eleTd_Text = $('#table_td_arr');
|
// 设置并导出数据
|
eleTh_Text.attr('value',tbl_th);
|
eleTd_Text.attr('value',tbl_td);
|
var load = layer.load(1);
|
html2canvas(document.getElementById("map"),{
|
useCORS: true // 保证跨域图片的显示
|
}).then(function(canvas){
|
layer.close(load);
|
canvas.id = "mycanvas";
|
//生成base64图片数据
|
var dataUrl = canvas.toDataURL();
|
$("#exp_picture_str").val(dataUrl);
|
eleform.submit();
|
});
|
|
}
|
|
// 获取普通表格(缺少other列)的表格
|
var Alarms = GLOBAL.alarm;
|
var eleAlarm = Alarms.ele; // 电池告警
|
var equipeAlarm = Alarms.equipe; // 设备告警
|
var homeAlarm = Alarms.home; // 机房告警
|
function getFilterTblTd(data, other, value) {
|
var rs = "";
|
var alarmType;
|
switch(value) {
|
case 6: // 实时告警
|
alarmType = eleAlarm;
|
break;
|
case 7: // 设备告警
|
alarmType = equipeAlarm;
|
break;
|
case 8: // 机房问题
|
alarmType = homeAlarm;
|
break;
|
}
|
// 遍历data的值
|
for(var i=0; i<data.length; i++) {
|
var _data = data[i].data;
|
rs += _data.StationId+"&"; // 机房编号
|
rs += _data.StationName+"&"; // 机房名称
|
rs += _data.monvolstd+"V&"; // 设备类型
|
rs += _data.battGroupNum+"&"; // 电池组数
|
rs += _data.battproducer+"&"; // 电池品牌
|
rs += _data.battmodel+"&"; // 电池型号
|
rs += _data.load_curr+"&"; // 负载电流
|
var isInstall = _data.station_install?"已安装":"未安装";
|
rs += isInstall+"&"; // 安装状态
|
if(other) {
|
var otherTxt = _data.other;
|
// 获取特定的文本
|
switch(value) {
|
case 6: // 实时告警
|
case 7: // 设备告警
|
case 8: // 机房问题
|
otherTxt = alarmType.getTxt(_data.other)
|
break;
|
}
|
rs += otherTxt+"&"; // 负载电流
|
}
|
}
|
|
return rs;
|
}
|
|
// 取消筛选
|
$("#endFilter").click(function() {
|
if($(this).hasClass("layui-btn-disabled")) {
|
return;
|
}
|
//console.log(allStation);
|
// 添加不可点击效果
|
$(this).addClass("layui-btn-disabled");
|
// 导出报表按钮
|
var exportBtn = $("#filterExport");
|
// 遍历查询结果
|
var source = [];
|
for(var i=0;i<allStation.length;i++){
|
var _list = allStation[i];
|
var tmp = {
|
identify: _list.title
|
};
|
source.push(tmp);
|
}
|
|
// 设置筛选的资源
|
checkMapDot.setSource(source, changeMapDotStatus);
|
|
// 移除导出按钮的不可点击
|
exportBtn.addClass("layui-btn-disabled");
|
});
|
|
|
//监听提交
|
form.on('submit(startFilter)', function(data){
|
var sub = $("#startFilter");
|
var endFilter = $("#endFilter");
|
var exportBtn = $("#filterExport");
|
if(sub.hasClass("layui-btn-disabled")) {
|
layer.msg("地图图标加载中,请稍后启动筛选!");
|
return;
|
}
|
|
// 获取数据
|
var field = data.field;
|
field = createFilterParam(field);
|
console.log(field);
|
var load = layer.load(1);
|
$.ajax({
|
type: "post",
|
async: true,
|
url: "BattMap_informationAction!serchBattInMapFilter",
|
data: "json="+JSON.stringify(field)+"&condition="+field.optionsList,
|
dataType: "json",
|
success: function(res) {
|
var rs = JSON.parse(res.result);
|
if(rs.code == 1) {
|
var source = [];
|
//console.log(rs.data);
|
for(var i=0; i<rs.data.length; i++) {
|
var _data = rs.data[i];
|
var tmp = {
|
identify: _data.StationName,
|
option: field,
|
data: _data
|
};
|
source.push(tmp);
|
}
|
|
|
// 移除导出/取消筛选按钮的不可点击
|
exportBtn.removeClass("layui-btn-disabled");
|
endFilter.removeClass("layui-btn-disabled");
|
// 设置筛选的资源
|
checkMapDot.setSource(source, changeMapDotStatus);
|
}else {
|
// 添加导出按钮的不可点击
|
exportBtn.addClass("layui-btn-disabled");
|
layer.msg("暂无查询结果");
|
}
|
|
},
|
complete: function() {
|
layer.close(load);
|
}
|
});
|
return false;
|
});
|
|
|
// 格式化表单内容
|
function createFilterParam(field) {
|
var optsNum = Number(field.optionsList);
|
/**
|
* 构造省市区县
|
*/
|
switch(optsNum){
|
case 1:
|
case 2:
|
case 3:
|
field.StationName1 = field.stationName1;
|
field.StationName2 = field.stationName2;
|
field.StationName5 = field.stationName5;
|
break;
|
case 12:
|
field.stationname1 = field.stationName1;
|
field.stationname2 = field.stationName2;
|
field.stationname5 = field.stationName5;
|
break;
|
}
|
|
/**
|
* 构造筛选条件
|
*/
|
switch(optsNum){
|
case 10:
|
case 11:
|
var times = field.rangeOfDay.split(" - ");
|
field.record_datetime = times[0]+" 00:00:00";
|
field.record_datetime_end = times[1]+" 23:59:59";
|
break;
|
case 12:
|
var times = field.rangeOfMonth.split(" - ");
|
var dayEnd = hdwDate.getMonthDay(times[1]);
|
field.replaced_time = times[0]+"-01 00:00:00";
|
field.replaced_time1 = times[1]+"-"+dayEnd+" 23:59:59";
|
}
|
return field;
|
}
|
|
// 根据结果集显示和隐藏地图图标
|
function changeMapDotStatus(check) {
|
var mapDotList = getAllHomeDot();
|
// 假设这是地图图标列表
|
var _source = getAllHomeDot();
|
//console.log(_source);
|
for(var i=0; i<_source.length; i++) {
|
var _data = _source[i];
|
check.checkMapDot(_data, function(exist, data) {
|
//console.log(exist); // 根据值判断是否显示图标
|
//console.log(data);
|
if(exist) {
|
var isShow = checkMapDotStatusByCheckbox(data.mk, magImgStyles);
|
if(isShow) {
|
data.mk.show();
|
}else {
|
data.mk.hide();
|
}
|
}else {
|
data.mk.hide();
|
}
|
});
|
}
|
}
|
|
// 获取地图上所有的机房名
|
function getAllHomeDot() {
|
var allOverlay = map.getOverlays();
|
var rs = [];
|
for (var i = 0; i < allOverlay.length; i++){
|
var _allOverlay = allOverlay[i];
|
try{
|
var tmp ={
|
identify: allOverlay[i].getTitle(),
|
mk: _allOverlay
|
}
|
rs.push(tmp);
|
}catch(e) {
|
|
}
|
|
}
|
return rs;
|
}
|
});
|
|
/**
|
* 判断图标是否应该显示
|
* @param mk 百度地图Marker对象
|
* @param status 所有地图图标类型的集合全局变量(magImgStyles)
|
* @return 返回显示状态true为显示,false为不显示
|
*/
|
function checkMapDotStatusByCheckbox(mk, status) {
|
var isShow = false;
|
try{
|
var label = mk.getLabel().content;
|
for(var i=0; i<status.length; i++) {
|
var _status = status[i];
|
if(label == _status) {
|
isShow=true;
|
break;
|
}
|
}
|
}catch(e) {}
|
|
return isShow;
|
}
|
|
/**
|
* 根据需要显示地图图标的列表,显示需要显示的图标
|
* @param map 百度地图对象
|
* @param status 所有地图图标类型的集合全局变量(magImgStyles)
|
*/
|
|
function changeMapDotStatusByCheckbox(map, status) {
|
var allOverlay = map.getOverlays();
|
for(var i=0; i<allOverlay.length; i++) {
|
var mk = allOverlay[i];
|
try{
|
var title = mk.getTitle();
|
checkMapDot.checkMapDot({identify: title, mk: mk}, function(checkStatus, data) {
|
if(checkStatus) {
|
var isShow = checkMapDotStatusByCheckbox(data.mk, magImgStyles);
|
if(isShow) {
|
data.mk.show();
|
}else {
|
data.mk.hide();
|
}
|
}else {
|
data.mk.hide();
|
}
|
});
|
}catch(e) {}
|
|
// var isShow = checkMapDotStatusByCheckbox(_allOverlay, status);
|
}
|
}
|
|
|
// 获取设备的版本号列表
|
function getEquipeVersion(optionsList) {
|
// 请求后台获取设备版本号
|
$.ajax({
|
type: "post",
|
async: true,
|
url: "Fbs9100_stateAction_action_serchDev_version",
|
data: null,
|
dataType: "json",
|
success: function(res) {
|
var rs = JSON.parse(res.result);
|
if(rs.code==1) {
|
var data = rs.data;
|
//console.log(data);
|
var selData = [];
|
// 遍历查询结果生成特定的数据
|
for(var i=0;i<data.length; i++) {
|
var _data = data[i];
|
var temp = {
|
txt: _data,
|
val: _data,
|
data: _data
|
};
|
selData.push(temp);
|
}
|
optionsList.setItemAttr('equipVersion', 'selects', selData);
|
//console.log(optionsList.getList());
|
}
|
}
|
|
});
|
}
|
|
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();
|
}
|
});
|
}
|
|
// 查询市
|
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', 'pccFilter');
|
|
// 查询区县
|
searchCounty();
|
}
|
});
|
}
|
|
// 查询区/县
|
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', 'pccFilter');
|
isNewLoad = false;
|
layer.close(filterLoad);
|
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', 'pccFilter');
|
isNewLoad = false;
|
layer.close(filterLoad);
|
}
|
});
|
}
|
|
// 切换省-市
|
form.on('select(province)', function(data) {
|
// 查询市
|
searchCity(true);
|
});
|
|
// 切换市-区县
|
form.on('select(city)', function(data) {
|
// 查询区县
|
searchCounty(true);
|
});
|
</script>
|
<!-- 导入页面模板 -->
|
<jsp:include page="template/index.jsp" flush="true"/>
|
</html>
|