| | |
| | | body .layui-layer-dialog {
|
| | | min-width:400px;
|
| | | }
|
| | | .add-panel .addr {
|
| | | width: 210px;
|
| | | height: 22px;
|
| | | border: 1px solid #ccc;
|
| | | }
|
| | | </style>
|
| | | <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
|
| | | <script type="text/javascript" src="js/echarts.js"></script>
|
| | |
| | | <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>
|
| | | <h2 class="layui-colla-title">筛选机房</h2>
|
| | | <div class="layui-colla-content layui-show">
|
| | | <table>
|
| | | <tbody>
|
| | | <tr>
|
| | | <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>
|
| | |
| | | <i class="fa fa-cog"></i>
|
| | | </a>
|
| | | </div>
|
| | | <!--电池故障修复图-->
|
| | | <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="clear"></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}">
|
| | |
| | | ];
|
| | |
|
| | |
|
| | | // 设置页面中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;
|
| | |
| | |
|
| | | $('.nav-map').on('click', '.explain-list input', function() {
|
| | | setMapImgStyles();
|
| | | updateStation(true);
|
| | | });
|
| | | });
|
| | |
|
| | |
| | | //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); // 添加比例尺到地图
|
| | |
| | | }
|
| | |
|
| | | //需要实时查询的方法
|
| | | function Repeatoperation(){ |
| | | searchBattmaintrecords();
|
| | | searchUserTask(); |
| | | searchAnnounceall();
|
| | | searchTestsCale();
|
| | | |
| | | function Repeatoperation(){ |
| | | // 判断页面是否正在被访问
|
| | | if(pageIsVisit) {
|
| | | searchBattmaintrecords();
|
| | | searchUserTask(); |
| | | searchAnnounceall();
|
| | | searchTestsCale();
|
| | | } |
| | | setTimeout(Repeatoperation,10000);
|
| | | }
|
| | |
|
| | | $(function() {
|
| | | flushFourPie();
|
| | | |
| | | if($('#content .brdn-pie').length>0){
|
| | | //生成电池状态饼状图
|
| | | var $brdn=$('#content .pie-con .brdn-pie'); //获取故障容器的jquery对象
|
| | | var brdn=$brdn.get(0); //将容器的jquery对象转化为dom对象
|
| | | brdnPie=echarts.init(brdn); //初始化表格容器
|
| | | brdnPie.showLoading();
|
| | | }
|
| | | |
| | | if($('#content .repair-pie').length>0){
|
| | | var $repair=$('#content .pie-con .repair-pie'); //获取机房停电图容器的jquery对象
|
| | | var repair=$repair.get(0); //将故障容器的jquery对象转化为dom对象
|
| | | repairPie=echarts.init(repair); //初始化表格容器
|
| | | repairPie.showLoading();
|
| | | }
|
| | | flushFourPie(true);
|
| | | });
|
| | |
|
| | | //更新四种饼状图
|
| | | function flushFourPie(){
|
| | | function flushFourPie(create){
|
| | | var cityname = $('#panelCity').val();
|
| | | locationcity = getCityByName(cityname);
|
| | | if(create) {
|
| | | initPieObj();
|
| | | }
|
| | | |
| | | |
| | | searchalarm_data(); //查询告警率
|
| | | searchGood(); //查询健康率
|
| | | searchmaintByMap(); //查询电池状态
|
| | | |
| | | searchBatt_maint_inf(); //查询机房停电比例
|
| | | |
| | | |
| | | |
| | | searchEndurHome(); //查询续航饼状图
|
| | | }
|
| | |
|
| | | //查询最近的故障维护记录
|
| | |
| | | });
|
| | |
|
| | | }
|
| | | |
| | | 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 warn=$warn.get(0); //将告警容器的jquery对象转化为dom对象
|
| | | var warnPie=echarts.init(warn); //初始化图表容器
|
| | | window.warnPie = warnPie;
|
| | | warnPie.showLoading();
|
| | | 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+"=");
|
| | |
| | | }
|
| | | //创建电池告警饼状图
|
| | | var warnTle="<s:text name='Battery_alarm_rate'/>"; /* 电池告警率 */
|
| | | createPie(warnPie,warnTle,Almarr);
|
| | | warnPie.on('click', function(param) {
|
| | | // 0:在线电压 1:组端电压 2:充电电流 3:放电电流 4:单体电压 5:容量告警 |
| | | if(param.dataIndex == 5) {
|
| | | 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 {
|
| | | window.open('elewarn.jsp?warntype='+param.dataIndex+'&warntxt='+param.name);
|
| | | }
|
| | | |
| | | });
|
| | | });
|
| | | }else {
|
| | | var opts = getOpt(warnTle, Almarr);
|
| | | warnPie.setOption(opts);
|
| | | }
|
| | | |
| | | setTimeout(searchalarm_data, 10000)
|
| | | |
| | | }
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | | var battstate_isExist = true;
|
| | | 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(battstate_isExist){
|
| | | if(!isEcharts){
|
| | | //创建电池故障率状图
|
| | | createPie(brdnPie,brdnTle,maintarr);
|
| | | battstate_isExist = false;
|
| | | brdnPie.on('click', function(param) {
|
| | | console.info(param);
|
| | | window.open('elestatus.jsp?battstate='+param.dataIndex);
|
| | | });
|
| | | }else{
|
| | | brdnPie.setOption(getOpt(brdnTle, maintarr));
|
| | | //console.info("更新成功");
|
| | | }
|
| | | setTimeout("searchmaintByMap()",10000); |
| | | setTimeout(searchmaintByMap, 10000); |
| | | });
|
| | | }
|
| | |
|
| | |
| | | {state:4,value:"<s:text name='Average_charge'/>",color:'#800080'}, //均充
|
| | | ];
|
| | |
|
| | | var repairPie;
|
| | | var powercut_isNew = true; |
| | | 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",
|
| | |
| | | {name:"机房掉站", val: model.code}]; /* '未修复' */
|
| | | }
|
| | | var repairTle="<s:text name='Computer_room'/><s:text name='Power_cut'/>"; /* '机房停电' */
|
| | | if(powercut_isNew){
|
| | | //创建机房停电饼状图
|
| | | powercut_isNew = false;
|
| | | if(!isEcharts){
|
| | | createPie(repairPie,repairTle,repairObj);
|
| | | repairPie.on('click', function() {
|
| | | window.open('batt-state-manage.jsp');
|
| | |
| | | var opt = getOpt(repairTle, repairObj);
|
| | | repairPie.setOption(opt);
|
| | | }
|
| | | //console.info(repairPie);
|
| | | setTimeout("searchBatt_maint_inf()", 10000);
|
| | | |
| | | 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){
|
| | | var health=$health.get(0); //将故障容器的jquery对象转化为dom对象
|
| | | var healthPie=echarts.init(health); //初始化表格容器
|
| | | window.healthPie = healthPie;
|
| | | // 是否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'/>"; /* '电池健康率' */
|
| | | healthPie.showLoading();
|
| | | $.post("Battalarm_dataAction!serchGood",null,function(data){
|
| | | var model=eval("("+data.result+")");
|
| | | //console.info(model);
|
| | | var healthObj;
|
| | | //console.info(model); |
| | | if(model.code==1){
|
| | | healthObj=[
|
| | | {name:"单体容量健康",val:model.sum-model.data[0]-model.data[1],color:'#31CB36'}, /* '健康电池' */
|
| | |
| | | {name:"单体容量更换",val:0,color:'#FF0000'}
|
| | | ];
|
| | | }
|
| | | //创建电池故障饼状图
|
| | | createPie(healthPie,healthTle,healthObj);
|
| | | if(!isEcharts) {
|
| | | //创建电池故障饼状图
|
| | | createPie(healthPie,healthTle,healthObj);
|
| | | |
| | | // 点击饼状图进行跳转
|
| | | healthPie.on('click', function(param) {
|
| | | window.open('taskplan.jsp'); // 跳转到落后单体查询
|
| | | });
|
| | | }else {
|
| | | var opt = getOpt(healthTle, healthObj);
|
| | | healthPie.setOption(opt);
|
| | | }
|
| | |
|
| | | // 点击饼状图进行跳转
|
| | | healthPie.on('click', function(param) {
|
| | | window.open('taskplan.jsp'); // 跳转到落后单体查询
|
| | | });
|
| | | 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(){
|
| | |
| | | //查询放电测试的比例
|
| | | function searchTestsCale(){
|
| | | if($('#content .discharge-test').length==0){
|
| | | //alert(); |
| | | return;
|
| | | }
|
| | | //生成电池未放电比例图
|
| | | var $health=$('#content .discharge-test .test-pie'); //获取故障容器的jquery对象
|
| | | if($health.length!=0){
|
| | | var health=$health.get(0); //将故障容器的jquery对象转化为dom对象
|
| | | //console.info(health); |
| | | //healthPie.showLoading();
|
| | | var healthTle="<s:text name='Battery_discharge_scale_map'/>"; /* '电池放电比例图' */
|
| | | Batttest_Td=new Array();
|
| | | $.post("Batttestdata_infAction!searchTestsCale",$('#batttest_form').serialize(),function(data){
|
| | |
| | | });
|
| | | });
|
| | |
|
| | | $(window).resize(function() {
|
| | | console.log(123);
|
| | | getMapHt();
|
| | | });
|
| | | |
| | | // 改变div的大小
|
| | | function changeDivBig(ele) {
|
| | | // 隐藏面板
|
| | |
| | | // 生成图标的说明
|
| | | 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>');
|
| | | 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 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">');
|
| | |
| | | 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-down" 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>');
|
| | |
| | | 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-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-normal" checked="checked">');
|
| | |
| | | iconList.append(input);
|
| | | iconList.append(span);
|
| | | iconList.append(icon);
|
| | | iconList.append(badge);
|
| | | //iconList.append(badge);
|
| | | iconExplain.append(iconList);
|
| | |
|
| | | // 续航不足3小时机房
|
| | |
| | | iconList.append(icon);
|
| | | iconList.append(badge);
|
| | | //iconExplain.append(iconList);
|
| | | |
| | | |
| | | }
|
| | |
|
| | | // 更新地图图标badge的值
|
| | |
| | | var down = mapImgDesc.find('.badge-down'); // 掉站机房
|
| | | var powercut = mapImgDesc.find('.badge-powercut'); // 停电机房
|
| | | var normal = mapImgDesc.find('.badge-normal'); // 正常机房
|
| | | var weak = mapImgDesc.find('.badge-weak'); // 续航不足3小时机房
|
| | | 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); */ // 正常机房
|
| | | }
|
| | | });
|
| | | |
| | | }
|
| | |
|
| | |
|
| | |
| | |
|
| | | // 更新地图图标
|
| | | 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);
|
| | |
| | | }
|
| | |
|
| | | // 隐藏marker点
|
| | | isShow?mk.show():mk.hide();
|
| | | isShow&&isAcType?mk.show():mk.hide();
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | var content = '<div class="add-panel">'+
|
| | | '<div style="padding: 6px 4px"><span>地址:</span>'+
|
| | | '<span class="addr">'+addComp.province+'-'+addComp.city+'-'+addComp.district+'-'+addComp.street+'</span></div>'+
|
| | | '<input type="text" class="addr" value="'+addComp.province+'-'+addComp.city+'-'+addComp.district+'-'+addComp.street+'"></div>'+
|
| | | '<div style="padding: 6px 4px">经度:<span class="lng">'+rs.point.lng+'</span>,纬度:<span class="lat">'+rs.point.lat+'</span></div>'+
|
| | | '<div style="padding: 6px 4px"><span>设置站点名:</span>'+'<select style="border: 1px solid #ccc; width: 180px">'+options+'</select></div>'+
|
| | | '<div style="padding: 6px 4px; margin-top: 20px">'+
|
| | | '<div style="padding: 6px 4px"><span>设置站点名:</span>'+'<select style="border: 1px solid #ccc; width: 180px;height: 22px;">'+options+'</select></div>'+
|
| | | '<div style="padding: 6px 4px; margin-top: 15px">'+
|
| | | '<a href="javascript:getAddHomeInfo();" class="map-panel-btn">确定</a></div>'
|
| | | +'</div>';
|
| | |
|
| | |
| | | var lat = $('.add-panel .lat').text(); // 获取纬度
|
| | | var wgsPoint = GPS.bd2wgs(lat, lng); // 百度地图坐标转化为GPS
|
| | |
|
| | | var addr = $('.add-panel .addr').text(); // 获取地址
|
| | | var addr = $('.add-panel .addr').val(); // 获取地址
|
| | | var homeName = $('.add-panel select option:selected').text(); // 机房名称
|
| | | var homeId = $('.add-panel select option:selected').val(); // 机房ID
|
| | | if(homeId !=0 && confirm("确认将"+homeName+"机房设置到该位置吗?")){
|
| | |
| | | // 获取结果集
|
| | | var rs = JSON.parse(data.result);
|
| | | var list = rs.data;
|
| | | // console.log(list);
|
| | | //console.log(list);
|
| | | allStation = new Array();
|
| | | if(list!=undefined && list.length>0){
|
| | | // 设置分页信息
|
| | |
| | | }
|
| | |
|
| | | // 轮询更新地图的点查询
|
| | | function updateStation() {
|
| | | 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",
|
| | |
| | | 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);
|
| | | //_list.msg = 'item-nuclear_cap';
|
| | | // 判断是否更新
|
| | | if(mapPages.pageNew) {
|
| | | bmap.updateDots(_list);
|
| | | }
|
| | | }
|
| | | |
| | | //console.log(updateStationData);
|
| | | updateMapDotIcon(map, updateStationData, true);
|
| | | // 更新分页信息
|
| | | mapPages.pageCurr++;
|
| | |
| | | mapPages.pageCurr=1;
|
| | | mapPages.pageNew=false;
|
| | | }
|
| | | |
| | | setTimeout(updateStation, 4000);
|
| | | // 关闭并添加延时执行
|
| | | clearInterval(updateTimeout);
|
| | | updateTimeout = setTimeout(updateStation, 4000);
|
| | |
|
| | | }
|
| | | });
|
| | |
| | | function formatUpdateStation(list) {
|
| | | var obj = {};
|
| | | var data = list.data;
|
| | | //console.log(list);
|
| | | // GPS坐标转化为百度坐标
|
| | | var point = GPS.wgs2bd(data.latitude, data.longitude);
|
| | | // 构造结果集
|
| | |
| | | obj.fbsId = data.FBSDeviceId;
|
| | | obj.addr = data.Address;
|
| | | obj.msg = list.msg;
|
| | | obj.num = list.num;
|
| | | obj.num = data.num;
|
| | | obj.type = data.monvolstd;
|
| | | return obj;
|
| | | }
|
| | | |
| | | // 根据显示的类型筛选数据
|
| | | |
| | |
|
| | | // 根据allStation的值去更新内容
|
| | | function updateMapByAllStation() {
|
| | |
| | | //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);
|
| | |
| | |
|
| | | $(function() {
|
| | | searchProvince();
|
| | | }); |
| | | |
| | | //让地图和饼状图随浏览器窗口的改变而改变
|
| | | $(window).resize(function(){
|
| | | if(warnPie != undefined)
|
| | | {
|
| | | warnPie.resize();
|
| | | }
|
| | | if(brdnPie != undefined)
|
| | | {
|
| | | brdnPie.resize();
|
| | | }
|
| | | if(repairPie != undefined)
|
| | | {
|
| | | repairPie.resize();
|
| | | }
|
| | | if(healthPie != undefined) {
|
| | | healthPie.resize();
|
| | | }
|
| | | });
|
| | |
|
| | | // 点击切换内容
|
| | |
| | | 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.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;
|
| | | }
|
| | |
|
| | |
| | | case 'item-behind': // 落后
|
| | | rs = imgs.behind;
|
| | | break;
|
| | | case 'item-diaozhan':
|
| | | rs = imgs.timeout; // 掉站
|
| | | break;
|
| | | case 'item-timeout': // 延时
|
| | | rs = imgs.timeout;
|
| | | break;
|
| | |
| | | break;
|
| | | case 'item-pre_charge': // 61850预充电
|
| | | rs = imgs.precharge;
|
| | | break;
|
| | | case 'item-xuhang': // 续航不足
|
| | | rs = imgs.xuhang;
|
| | | break;
|
| | | default:
|
| | | rs = imgs.defaults;
|
| | |
| | | type: 1
|
| | | });
|
| | | $(this).prop('checked', false);
|
| | | }else if(num == 0) {
|
| | | layerMsg = layer.msg("至少选择一个!", {
|
| | | type: 1
|
| | | });
|
| | | $(this).prop('checked', true);
|
| | | }
|
| | |
|
| | | });
|
| | |
| | | data:null,
|
| | | success: function(data){
|
| | | var model = eval('('+data.result+')');
|
| | | var resData;
|
| | | if(model.code == 1) {
|
| | | var result = model.data;
|
| | | var formatData = formatPieRsData(result[0]);
|
| | | 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);
|
| | | }
|
| | | });
|
| | | });
|
| | | 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 updateUserBieState(temp, dialog, load){
|
| | | var pieItemCon = $('.pie-con .pie-item-con');
|
| | | // 更新后台数据
|
| | | $.ajax({
|
| | | type:"post",
|
| | |
| | | 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('配置失败!!!');
|
| | |
| | | $( "#mapToolSearch" ).on('input propertychange', function(){
|
| | | $('#mapToolSearchBtn').data('homeInfo', 0);
|
| | | });
|
| | | |
| | | // 定义机房查询信息
|
| | | $( "#mapToolSearch" ).autocomplete({
|
| | | source: [],
|
| | |
| | | $('#mapToolSearchBtn').data('homeInfo', ui.item); // 设置机房信息内容
|
| | | }
|
| | | });
|
| | | |
| | | // 点击机房类型复选框
|
| | | $('#homeType input[type=checkbox]').click(function() {
|
| | | var homeType = getHomeType();
|
| | | getInstallNum();
|
| | | updateStation(true);
|
| | | });
|
| | | |
| | |
|
| | | // 点击查看homeInfo的值
|
| | | $('#mapToolSearchBtn').click(function() {
|
| | |
| | | success: function(result) {
|
| | | // 格式化数据
|
| | | var rs = JSON.parse(result.result);
|
| | | var txt = rs.newsum+'/'+rs.sum;
|
| | | //console.log(rs);
|
| | | if(rs.code == 1) {
|
| | | var txt = getInstallNumByType(rs.data,getHomeType());
|
| | |
|
| | | // 更新文本值
|
| | | $('#installnum').text(txt);
|
| | | // 更新文本值
|
| | | $('#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) {
|
| | |
| | |
|
| | | $( "#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); |
| | | }
|
| | | </script>
|
| | | </html>
|