/** * map.js */ Ext.Loader.setConfig({ enabled: true }); Ext.Loader.setPath('Ext.ux', '../../res/extjs/examples/ux'); Ext.require([ 'Ext.grid.*', 'Ext.data.*', 'Ext.ux.RowExpander', 'Ext.selection.CheckboxModel' ]); var sm = Ext.create('Ext.selection.CheckboxModel'); var myMask; var baseUrl = ""; var theme = ""; var mapStyle = ""; var map; var mapzoom = 11; var company_cur = 0; var StatusStore=null,AlarmStore=null; var firstDraw = true; var storeTime = 60000; var centerLng = 121.475644; var currentLng = 121.475644; var centerLat = 31.1857; var currentLat = 31.1857; var rotation = 0; var alarm_show_window=null; var show_alarm_list; var show_list_cur=0 var V_LOGINNAME='',V_PASSWORD=''; var listSync=true; var synctime = 0; var company_code = ''; var start=0; var end = 360; var targetZoom = 20; var maxHeight = 10000; var maxWidth = 10000; var SearchList = null; var markers = []; var current_company_code=""; var LabelShow = false; var last_move; var wsUri = "wss://iot.usky.cn:55120"; var websocket = null; var win1_config={ title:'
火灾监控
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:120, top:100, left:50, zIndex:200, bodyText:'
报告总数
待处理
' } var win2_config={ title:'
电气火灾监控
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:120, top:260, left:50, zIndex:260, bodyText:'
报告总数
待处理
' } var win3_config={ title:'
水系统监控
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:120, top:420, left:50, zIndex:260, bodyText:'
报告总数
待处理
' } var win4_config={ title:'
RTU监控
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:120, top:580, left:50, zIndex:260, bodyText:'
报告总数
待处理
' } var dev1_config={ title:'
火灾监控设备
设备数:
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:100, top:219, left:50, zIndex:200, floding:'true', bodyText:'
已处理:待处理:处置率:
' } var dev2_config={ title:'
电气火灾监控设备
设备数:
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:100, top:379, left:50, zIndex:200, floding:'true', bodyText:'
已处理:待处理:处置率:
' } var dev3_config={ title:'
水系统监控设备
设备数:
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:100, top:539, left:50, zIndex:200, floding:'true', bodyText:'
已处理:待处理:处置率:
' } var dev4_config={ title:'
RTU监控设备
设备数:
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid rgba(0,123,255,0.3)', borderRadius:'10px', position:'absolute', width:320, height:100, top:699, left:50, zIndex:200, floding:'true', bodyText:'
已处理:待处理:处置率:
' } var alarm_alert_config={ title:'
', titleColor:'#ffffff', titleIconColor:'#ffffff', titleBackgroundColor:'rgba(0,0,0,0.1)', backgroundColor: 'rgba(23,21,57,0.2)', backgroundImage: 'radial-gradient(circle, rgba(23,21,57,0.2), rgba(9,9,27,0.8))', border: '1px solid #31e9ff', borderRadius:'10px', position:'absolute', width:320, height:120, bottom:-100, right:95, zIndex:990, bodyText:'
' } var close_alert = function(){ removeDIV("rt_alarm_alert"); } var initWebSocket = function() { try{ if(typeof MozWebSocket == 'function') WebSocket =MozWebSocket; if( websocket && websocket.readyState == 1) websocket.close(); websocket = new WebSocket(wsUri); websocket.onopen = function(evt){ var json = {}; json.agentid = $("#V_LOGINNAME").val(); console.log("Connected."); (function(){})() websocket.send(JSON.stringify(json)); }; websocket.onclose = function(evt){ console.log("DisConnected."); (function(){})() initWebSocket(); }; websocket.onmessage = function(evt){ console.log("Received:",evt.data); var jData = eval('(' + evt.data + ')'); if(jData.dwtype!=undefined){ if(document.getElementById('rt_alarm_alert')!=undefined) removeDIV('rt_alarm_alert'); var alarm_alert= new UNote(); alarm_alert.create("rt_alarm_alert","container",alarm_alert_config); var Icon = document.createElement('img'); Icon.width='32'; Icon.height='32'; Icon.src="../../res/img/icons/alarm_tab_04.gif" if(jData.detype==1){ Icon.src="../../res/img/icons/alarm_tab_01.gif" }else if(jData.dwtype==2){ Icon.src="../../res/img/icons/alarm_tab_03.gif" }else if(jData.dwtype==6){ Icon.src="../../res/img/icons/alarm_tab_04.gif" }else if(jData.dwtype==7){ Icon.src="../../res/img/icons/alarm_tab_02.gif" }else if(jData.dwtype==16){ Icon.src="../../res/img/icons/alarm_tab_05.gif" } document.getElementById("rt_alarm_alert_icon").innerHTML=""; document.getElementById("rt_alarm_alert_icon").appendChild(Icon); document.getElementById("rt_alarm_alert_title").innerHTML=jData.evtname; document.getElementById("alarm_time").innerHTML=jData.time; document.getElementById("alarm_company").innerHTML=jData.company; document.getElementById("alarm_device").innerHTML=jData.devicename; alarm_alert.show(); $("#rt_alarm_alert").animate({ bottom:'0px' }); } }; websocket.onerror = function(evt){ console.log("Error:",evt.data); (function(){})() }; }catch(exception){ console.log("Exception:",exception); (function(){})() } } var toDecimal = function(x) { var f = parseFloat(x); if (isNaN(f)) { return; } f = Math.round(x*100)/100; return f; } var bigger_mouseover = function(){ $("#map_btn_bigger").removeClass('map_btn_bigger_off'); $("#map_btn_bigger").addClass('map_btn_bigger_on'); } var bigger_mouseout = function(){ $("#map_btn_bigger").removeClass('map_btn_bigger_on'); $("#map_btn_bigger").addClass('map_btn_bigger_off'); } var bigger_click = function(){ map.zoomIn( ); } var smaller_mouseover = function(){ $("#map_btn_smaller").removeClass('map_btn_smaller_off'); $("#map_btn_smaller").addClass('map_btn_smaller_on'); } var smaller_mouseout = function(){ $("#map_btn_smaller").removeClass('map_btn_smaller_on'); $("#map_btn_smaller").addClass('map_btn_smaller_off'); } var smaller_click = function(){ map.zoomOut( ); } var shower_mouseover = function(){ if(!LabelShow){ $("#map_btn_showlaebl").removeClass('map_btn_showlaebl_off'); $("#map_btn_showlaebl").addClass('map_btn_showlaebl_on'); } } var shower_mouseout = function(){ if(!LabelShow){ $("#map_btn_showlaebl").removeClass('map_btn_showlaebl_on'); $("#map_btn_showlaebl").addClass('map_btn_showlaebl_off'); } } var shower_click = function(){ LabelShow = !LabelShow; if(LabelShow){ $("#map_btn_showlaebl").removeClass('map_btn_showlaebl_on'); $("#map_btn_showlaebl").addClass('map_btn_hidelabel'); $(".info").removeClass('hiden'); $(".info").addClass('shown'); }else{ $("#map_btn_showlaebl").removeClass('map_btn_hidelabel'); $("#map_btn_showlaebl").addClass('map_btn_showlaebl_on'); $(".info").removeClass('shown'); $(".info").addClass('hiden'); } } var left_mouseover = function(){ $("#map_btn_left").removeClass('map_btn_left_off'); $("#map_btn_left").addClass('map_btn_left_on'); } var left_mouseout = function(){ $("#map_btn_left").removeClass('map_btn_left_on'); $("#map_btn_left").addClass('map_btn_left_off'); } var left_click = function(){ rotation = map.getRotation(); rotation -= 5; if(rotation<0) rotation = 360 + rotation; map.setRotation(rotation); draw_all(); } var right_mouseover = function(){ $("#map_btn_right").removeClass('map_btn_right_off'); $("#map_btn_right").addClass('map_btn_right_on'); } var right_mouseout = function(){ $("#map_btn_right").removeClass('map_btn_right_on'); $("#map_btn_right").addClass('map_btn_right_off'); } var right_click = function(){ rotation = map.getRotation(); rotation += 5; if(rotation>360) rotation = rotation-360; map.setRotation(rotation); draw_all(); } var higher_mouseover = function(){ $("#map_btn_high").removeClass('map_btn_high_off'); $("#map_btn_high").addClass('map_btn_high_on'); } var higher_mouseout = function(){ $("#map_btn_high").removeClass('map_btn_high_on'); $("#map_btn_high").addClass('map_btn_high_off'); } var higher_click = function(){ var pitch = map.getPitch(); pitch -= 5; if(pitch<0) pitch = 0; map.setPitch(pitch); } var lower_mouseover = function(){ $("#map_btn_low").removeClass('map_btn_low_off'); $("#map_btn_low").addClass('map_btn_low_on'); } var lower_mouseout = function(){ $("#map_btn_low").removeClass('map_btn_low_on'); $("#map_btn_low").addClass('map_btn_low_off'); } var lower_click = function(){ var pitch = map.getPitch(); pitch += 5; if(pitch>83) pitch = 83; map.setPitch(pitch); } var clear_search = function(){ SearchList = null show_list_cur = 0; $("#fp_backbtn").css("display","none"); firstDraw = true; if($("#search_company").val().length>0){ $("#search_company").val(''); $("#company_code").val(''); $("#saerch_company_list").html(''); } if((!LabelShow)&&(StatusStore.length>0)){ for(var i=0;i0){ var query = new Object(); query.V_LOGINNAME = V_LOGINNAME; query.V_PASSWORD = V_PASSWORD; query.V_COMPANY_NAME = $("#search_company").val(); $.ajax({ type:'POST', url:baseUrl+"/iot/company/getList", data:{ queryJson : Ext.JSON.encode(query), sort :"[{property:'V_COMPANY_NAME',direction:'ASC'}]" }, success:function(result){ var json = eval('(' + result + ')'); if(json.action=='getCompanyList'){ var list = json.RESULT; if(list.length>0){ SearchList = list; var saerch_company_list = document.getElementById('saerch_company_list'); var table = document.createElement('table'); table.border='0'; table.style.width='300px'; table.style.border='0px solid #000'; saerch_company_list.appendChild(table); for(var i=0;i0)&&(show_list_cur<=SearchList.length)){ show_list_cur--; for(var i=0;i=0)&&(show_list_cur=0)&&(show_list_cur<=SearchList.length)){ showBuilding(SearchList[show_list_cur-1].V_COMPANY_CODE); } } }else if(x==27){ clear_search(); } } var chk_lat = function(lat){ if(lat<30) return false; if(lat>32) return false; return true; } var chk_lng = function(lng){ if(lng<110) return false; if(lng>135) return false; return true; } var showBuilding = function(company_code){ if((StatusStore!=null)&&(StatusStore.length>0)){ for(var i=0;i0)){ var parent = document.getElementById('container'); AlarmStore.sort(alarmSortByTime); var area = document.createElement('div'); area.id= 'alarm_tab_area'; area.setAttribute('class','alarm_tab_area'); parent.appendChild(area); for(var i=0;i=6) break; var tab = document.createElement('div'); tab.id = 'alarm_tab_'+(i+1); tab.setAttribute('class','alarm_tab'); tab.setAttribute('onclick',(AlarmStore[i].dwtype==1)?'show_all_fireAlarm()': (AlarmStore[i].dwtype==2)?'show_all_waterAlarm()': (AlarmStore[i].dwtype==5)?'show_all_waterAlarm()': (AlarmStore[i].dwtype==6)?'show_all_rtuAlarm()': (AlarmStore[i].dwtype==7)?'show_all_efireAlarm()':'#'); tab.style.top=(120*i)+'px'; if(($(document).innerHeight()-205)>(120*(i+1))) $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); else $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); area.appendChild(tab); var title = document.createElement('div'); title.id = 'alarm_tab_title_'+(i+1); title.setAttribute('class','alarm_tab_title'); title.innerHTML=(AlarmStore[i].dwtype==1)?'火警监测报告': (AlarmStore[i].dwtype==2)?'水系统监测报告': (AlarmStore[i].dwtype==5)?'水系统监测报告': (AlarmStore[i].dwtype==6)?'RTU监测报告': (AlarmStore[i].dwtype==7)?'电气火灾监测报告':'其他报告'; tab.appendChild(title); var time_label = document.createElement('div'); time_label.id = 'alarm_tab_time_'+(i+1); time_label.setAttribute('class','alarm_tab_time'); time_label.innerHTML=AlarmStore[i].time; tab.appendChild(time_label); var data = document.createElement('div'); data.id = "alarm_tab_data_"+(i+1); data.setAttribute('class','alarm_tab_data'); data.innerHTML=AlarmStore[i].company_name+' '+AlarmStore[i].data; tab.appendChild(data); var icon = document.createElement('img'); icon.setAttribute('class','alarm_tab_icon'); icon.height = '66'; icon.width = '66'; icon.src = baseUrl+'res/img/icons/'+((AlarmStore[i].dwtype==1)?'alarm_tab_01.gif' :(AlarmStore[i].dwtype==2)?'alarm_tab_03.gif' :(AlarmStore[i].dwtype==5)?'alarm_tab_03.gif' :(AlarmStore[i].dwtype==6)?'alarm_tab_04.gif' :(AlarmStore[i].dwtype==7)?'alarm_tab_02.gif':'alarm_tab_04.gif'); // var icon = document.createElement('div'); // icon.id = "alarm_tab_icon_"+(i+1); // icon.setAttribute('class',(AlarmStore[i].dwtype==1)?'alarm_tab_icon alarm_icon_01': // (AlarmStore[i].dwtype==2)?'alarm_tab_icon alarm_icon_03': // (AlarmStore[i].dwtype==5)?'alarm_tab_icon alarm_icon_03': // (AlarmStore[i].dwtype==6)?'alarm_tab_icon alarm_icon_04': // (AlarmStore[i].dwtype==7)?'alarm_tab_icon alarm_icon_02':'alarm_tab_icon alarm_icon_04'); tab.appendChild(icon); } } } } var showInfo = function(e){ var pixel = e.pixel; var company_code = e.target.getExtData().company_code; var detail_info; var parent = document.getElementById('container') for(var i=0;i=6) break; var tab = document.createElement('div'); tab.id = 'alarm_tab_'+(i+1); tab.setAttribute('class','alarm_tab'); tab.setAttribute('onclick',(json.ALARM[i].dwtype==1)?'show_all_fireAlarm()': (AlarmStore[i].dwtype==2)?'show_all_waterAlarm()': (AlarmStore[i].dwtype==5)?'show_all_waterAlarm()': (AlarmStore[i].dwtype==6)?'show_all_rtuAlarm()': (AlarmStore[i].dwtype==7)?'show_all_efireAlarm()':'#'); tab.style.top=(120*i)+'px'; if(($(document).innerHeight()-205)>(120*(i+1))) $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); else $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); area.appendChild(tab); var title = document.createElement('div'); title.id = 'alarm_tab_title_'+(i+1); title.setAttribute('class','alarm_tab_title'); title.innerHTML=(json.ALARM[i].dwtype==1)?'火警监测报告': (json.ALARM[i].dwtype==2)?'水系统监测报告': (json.ALARM[i].dwtype==5)?'水系统监测报告': (json.ALARM[i].dwtype==6)?'RTU监测报告': (json.ALARM[i].dwtype==7)?'电气火灾监测报告':'其他报告'; tab.appendChild(title); var time_label = document.createElement('div'); time_label.id = 'alarm_tab_time_'+(i+1); time_label.setAttribute('class','alarm_tab_time'); time_label.innerHTML=json.ALARM[i].time; tab.appendChild(time_label); var data = document.createElement('div'); data.id = "alarm_tab_data_"+(i+1); data.setAttribute('class','alarm_tab_data'); data.innerHTML=json.ALARM[i].company_name+' '+json.ALARM[i].data; tab.appendChild(data); var icon = document.createElement('img'); icon.setAttribute('class','alarm_tab_icon'); icon.height = '66'; icon.width = '66'; icon.src = baseUrl+'res/img/icons/'+((json.ALARM[i].dwtype==1)?'alarm_tab_01.gif' :(json.ALARM[i].dwtype==2)?'alarm_tab_03.gif' :(json.ALARM[i].dwtype==5)?'alarm_tab_03.gif' :(json.ALARM[i].dwtype==6)?'alarm_tab_04.gif' :(json.ALARM[i].dwtype==7)?'alarm_tab_02.gif':'alarm_tab_04.gif'); tab.appendChild(icon); } } } }); detail_info = document.createElement('div'); detail_info.id = 'detail_info'; detail_info.style.position='absolute'; detail_info.style.top=(pixel.getY()-270)+'px'; detail_info.style.left=(pixel.getX()-101)+'px'; detail_info.style.width='203px'; detail_info.style.height='270px'; detail_info.style.backgroundImage='url(../../res/img/icons/detail_info.png)'; detail_info.style.zIndex='500'; detail_info.onmouseleave=clear_detail_info; parent.appendChild(detail_info); var info_title = document.createElement('div'); info_title.id='info_title'; info_title.setAttribute('class','info_title'); info_title.innerHTML='
'+StatusStore[i].company_name+'
'; detail_info.appendChild(info_title); var info_body0 = document.createElement('div'); info_body0.id = 'info_body0'; info_body0.setAttribute('class','info_body0'); info_body0.innerHTML='地址:'+StatusStore[i].address; detail_info.appendChild(info_body0); var info_body1 = document.createElement('div'); info_body1.id = 'info_body1'; info_body1.setAttribute('class','info_body1'); info_body1.innerHTML='联系人:'+StatusStore[i].username; detail_info.appendChild(info_body1); var info_body2 = document.createElement('div'); info_body2.id = 'info_body2'; info_body2.setAttribute('class','info_body2'); info_body2.innerHTML='联系电话:'+StatusStore[i].phone; detail_info.appendChild(info_body2); var info_btn = document.createElement('div'); info_btn.id = 'info_btn'; info_btn.setAttribute('class','info_btn'); info_btn.innerHTML='查看详情'; info_btn.company_code=company_code; info_btn.onclick=function(e){ var event = e; location.href = baseUrl+'view/frontpage/company.jsp?company_code='+event.currentTarget.company_code; } detail_info.appendChild(info_btn); // var info_btn1 = document.createElement('div'); // info_btn1.id = 'info_btn1'; // info_btn1.setAttribute('class','info_btn'); // info_btn1.innerHTML='历史数据'; // info_btn1.company_code=company_code; // info_btn1.onclick=function(e){ // var event = e; // location.href = baseUrl+'view/frontpage/company.jsp?company_code='+event.currentTarget.company_code; // } // detail_info.appendChild(info_btn1); $("#data_number_11").html(StatusStore[i].d1a); $("#data_number_12").html(StatusStore[i].d1a-StatusStore[i].d1ac); $("#data_number_21").html(StatusStore[i].d7a); $("#data_number_22").html(StatusStore[i].d7a-StatusStore[i].d7ac); $("#data_number_31").html(StatusStore[i].d2a); $("#data_number_32").html(StatusStore[i].d2a-StatusStore[i].d2ac); $("#data_number_41").html(StatusStore[i].d6a); $("#data_number_42").html(StatusStore[i].d6a-StatusStore[i].d6ac); draw_pie('data_pie_1',StatusStore[i].d1a,StatusStore[i].d1ac); draw_pie('data_pie_2',StatusStore[i].d7a,StatusStore[i].d7ac); draw_pie('data_pie_3',StatusStore[i].d2a,StatusStore[i].d2ac); draw_pie('data_pie_4',StatusStore[i].d6a,StatusStore[i].d6ac); $("#dev1_count").html(StatusStore[i].d1); $("#device_count_num_12").html(StatusStore[i].d1oc); $("#dev1-label-hidden").html(StatusStore[i].d1o-StatusStore[i].d1oc); $("#device_count_num_13").html(StatusStore[i].d1o-StatusStore[i].d1oc); if(StatusStore[i].d1o==0) $("#device_count_num_14").html('100%'); else $("#device_count_num_14").html(toDecimal(StatusStore[i].d1oc*100/StatusStore[i].d1o)+'%'); $("#dev2_count").html(StatusStore[i].d7); $("#device_count_num_22").html(StatusStore[i].d7oc); $("#dev2-label-hidden").html(StatusStore[i].d7o-StatusStore[i].d7oc); $("#device_count_num_23").html(StatusStore[i].d7o-StatusStore[i].d7oc); if(StatusStore[i].d7o==0) $("#device_count_num_24").html('100%'); else $("#device_count_num_24").html(toDecimal(StatusStore[i].d7oc*100/StatusStore[i].d7o)+'%'); $("#dev3_count").html(StatusStore[i].d2); $("#device_count_num_32").html(StatusStore[i].d2oc); $("#dev3-label-hidden").html(StatusStore[i].d2o-StatusStore[i].d2oc); $("#device_count_num_33").html(StatusStore[i].d2o-StatusStore[i].d2oc); if(StatusStore[i].d2o==0) $("#device_count_num_34").html('100%'); else $("#device_count_num_34").html(toDecimal(StatusStore[i].d2oc*100/StatusStore[i].d2o)+'%'); $("#dev4_count").html(StatusStore[i].d6); $("#device_count_num_42").html(StatusStore[i].d6oc); $("#dev4-label-hidden").html(StatusStore[i].d6o-StatusStore[i].d6oc); $("#device_count_num_43").html(StatusStore[i].d6o-StatusStore[i].d6oc); if(StatusStore[i].d6o==0) $("#device_count_num_44").html('100%'); else $("#device_count_num_44").html(toDecimal(StatusStore[i].d6oc*100/StatusStore[i].d6o)+'%'); if(StatusStore[i].d1o!=0){ $("#device_confirm_14").css('width',(300*StatusStore[i].d1oc/StatusStore[i].d1o)+'px'); }else $("#device_confirm_14").css('width','300px'); if(StatusStore[i].d7o!=0) $("#device_confirm_24").css('width',(300*StatusStore[i].d7oc/StatusStore[i].d7o)+'px'); else $("#device_confirm_24").css('width','300px'); if(StatusStore[i].d2o!=0) $("#device_confirm_34").css('width',(300*StatusStore[i].d2oc/StatusStore[i].d2o)+'px'); else $("#device_confirm_34").css('width','300px'); if(StatusStore[i].d6o!=0) $("#device_confirm_44").css('width',(300*StatusStore[i].d6oc/StatusStore[i].d6o)+'px'); else $("#device_confirm_44").css('width','300px'); $(".alarm_tab_area").remove(); // if((AlarmStore!=null)&&(AlarmStore.length>0)){ // var parent = document.getElementById('container'); // AlarmStore.sort(alarmSortByTime); // var area = document.createElement('div'); // area.id= 'alarm_tab_area'; // area.setAttribute('class','alarm_tab_area'); // parent.appendChild(area); // for(var i=0;i=6) // break; // var tab = document.createElement('div'); // tab.id = 'alarm_tab_'+(i+1); // tab.setAttribute('class','alarm_tab'); // tab.setAttribute('onclick',(AlarmStore[i].dwtype==1)?'show_all_fireAlarm()': // (AlarmStore[i].dwtype==2)?'show_all_waterAlarm()': // (AlarmStore[i].dwtype==5)?'show_all_waterAlarm()': // (AlarmStore[i].dwtype==6)?'show_all_rtuAlarm()': // (AlarmStore[i].dwtype==7)?'show_all_efireAlarm()':'#'); // tab.style.top=(120*i)+'px'; // if(($(document).innerHeight()-205)>(120*(i+1))) // $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); // else // $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); // area.appendChild(tab); // var title = document.createElement('div'); // title.id = 'alarm_tab_title_'+(i+1); // title.setAttribute('class','alarm_tab_title'); // title.innerHTML=(AlarmStore[i].dwtype==1)?'火警监测报告': // (AlarmStore[i].dwtype==2)?'水系统监测报告': // (AlarmStore[i].dwtype==5)?'水系统监测报告': // (AlarmStore[i].dwtype==6)?'RTU监测报告': // (AlarmStore[i].dwtype==7)?'电气火灾监测报告':'其他报告'; // tab.appendChild(title); // var time_label = document.createElement('div'); // time_label.id = 'alarm_tab_time_'+(i+1); // time_label.setAttribute('class','alarm_tab_time'); // time_label.innerHTML=AlarmStore[i].time; // tab.appendChild(time_label); // var data = document.createElement('div'); // data.id = "alarm_tab_data_"+(i+1); // data.setAttribute('class','alarm_tab_data'); // data.innerHTML=AlarmStore[i].company_name+' '+AlarmStore[i].data; // tab.appendChild(data); // var icon = document.createElement('img'); // icon.setAttribute('class','alarm_tab_icon'); // icon.height = '66'; // icon.width = '66'; // icon.src = baseUrl+'res/img/icons/'+((AlarmStore[i].dwtype==1)?'alarm_tab_01.gif' // :(AlarmStore[i].dwtype==2)?'alarm_tab_03.gif' // :(AlarmStore[i].dwtype==5)?'alarm_tab_03.gif' // :(AlarmStore[i].dwtype==6)?'alarm_tab_04.gif' // :(AlarmStore[i].dwtype==7)?'alarm_tab_02.gif':'alarm_tab_04.gif')+'?t='+(new Date()); // tab.appendChild(icon); // } // } break; } } } var markerSortByRotation = function(a,b){ if((rotation<=45)||(rotation>=315)) return b.lat-a.lat; else if((rotation>45)&&(rotation<=135)) return a.lng - b.lng; else if((rotation>135)&&(rotation<=270)) return a.lat-b.lat; else return b.lng-a.lng; } var alarmSortByTime = function(a,b){ var time_a = Date.parse(a.time); var time_b = Date.parse(b.time); return time_b-time_a; } var draw_pie = function(id, total, num){ var mColor= '#34abf5'; var percent = 100; if(total>0) percent = Number(((num*100)/total).toString().match(/^\d+(?:\.\d{0,2})?/)); if(percent<60) mColor = '#f66167'; else if(percent<80) mColor = '#DDDF0D'; if(id=='data_pie_1'){ $("#title-label-11").css({ color:mColor }).html(percent+'%'); $("#title-label-12").html(total); }else if(id=='data_pie_2'){ $("#title-label-21").css({ color:mColor }).html(percent+'%'); $("#title-label-22").html(total); }else if(id=='data_pie_3'){ $("#title-label-31").css({ color:mColor }).html(percent+'%'); $("#title-label-32").html(total); }else if(id=='data_pie_4'){ $("#title-label-41").css({ color:mColor }).html(percent+'%'); $("#title-label-42").html(total); } Highcharts.getOptions().colors = Highcharts.map(['#f66167','#34abf5', '#DDDF0D'], function (color) { return { radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 }, stops: [ [0, color], [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken ] }; }); Highcharts.chart(id,{ chart: { type: 'pie', backgroundColor: 'rgba(0,0,0,0)', height:'100%', options3d: { enabled: true, alpha: 45, beta: 0 } }, title: { text: '处置率:'+percent+'%', floating:true, y:85, style:{fontSize:'12px',color:'#ffffff'} }, exporting: { enabled: false }, credits: { enabled: false }, tooltip: { // enabled: false pointFormat: '{point.percentage:.2f}%' }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', depth: 15, dataLabels: { enabled: false, format: '{point.name}' } } }, series: [{ type: 'pie', name: '处置率', startAngle:90, data: [{ name:'待处理', y:100-percent, sliced: true, selected: true }, ['已处理', percent] ] }] }); } var draw_all = function(){ if(company_cur>0) return; var d0=0, d0o=0, d0oc=0, d0a=0, d0ac=0; var d1=0, d1o=0, d1oc=0, d1a=0, d1ac=0; var d2=0, d2o=0, d2oc=0, d2a=0, d2ac=0; var d6=0, d6o=0, d6oc=0, d6a=0, d6ac=0; var d7=0, d7o=0, d7oc=0, d7a=0, d7ac=0; var totalLat=0, totalLng=0, latngCount=0; map.clearMap(); clear_detail_info(); markers = []; var zoom = map.getZoom(); var iconWidth = 24; var iconHeight = 24; if((StatusStore!=null)&&(StatusStore.length>0)){ rotation = map.getRotation(); StatusStore.sort(markerSortByRotation); for(var i=0;i30)&&(obj.lat<33)&&(obj.lng>120)&&(obj.lng<125)){ totalLng += obj.lng; totalLat += obj.lat; latngCount++; var marker= new AMap.Marker({ icon:new AMap.Icon({ size:new AMap.Size(iconWidth,iconHeight), image:iconurl, imageSize:new AMap.Size(iconWidth,iconHeight) }), position: new AMap.LngLat(obj.lng,obj.lat), extData:{ icontype:'company', company_code:obj.company_code }, offset: new AMap.Pixel(-(iconWidth/2), -(iconHeight/2)), draggable:false, raiseOnDrag:false, autoRotation:false, label:{ offset: new AMap.Pixel(-iconWidth-5,-(iconHeight/2)-10), content:"
"+obj.company_name+"
", direction: 'right' } }); AMap.event.addListener(marker,'click',showBuilding,this); AMap.event.addListener(marker,'mouseover',showInfo,this); marker.setMap(map); markers.push(marker); } } if((latngCount>0)&&(firstDraw)){ map.setCenter(new AMap.LngLat(totalLng/latngCount,totalLat/latngCount,true)); map.setFitView(); firstDraw = false; } $("#data_number_11").html(d1a); $("#data_number_12").html(d1a-d1ac); $("#data_number_21").html(d7a); $("#data_number_22").html(d7a-d7ac); $("#data_number_31").html(d2a); $("#data_number_32").html(d2a-d2ac); $("#data_number_41").html(d6a); $("#data_number_42").html(d6a-d6ac); draw_pie('data_pie_1',d1a,d1ac); draw_pie('data_pie_2',d7a,d7ac); draw_pie('data_pie_3',d2a,d2ac); draw_pie('data_pie_4',d6a,d6ac); $("#dev1_count").html(d1); $("#device_count_num_12").html(d1oc); $("#dev1-label-hidden").html(d1o-d1oc); $("#device_count_num_13").html(d1o-d1oc); if(d1o==0) $("#device_count_num_14").html('100%'); else $("#device_count_num_14").html(toDecimal(d1oc*100/d1o)+'%'); $("#dev2_count").html(d7); $("#device_count_num_22").html(d7oc); $("#dev2-label-hidden").html(d7o-d7oc); $("#device_count_num_23").html(d7o-d7oc); if(d7o==0) $("#device_count_num_24").html('100%'); else $("#device_count_num_24").html(toDecimal(d7oc*100/d7o)+'%'); $("#dev3_count").html(d2); $("#device_count_num_32").html(d2oc); $("#dev3-label-hidden").html(d2o-d2oc); $("#device_count_num_33").html(d2o-d2oc); if(d2o==0) $("#device_count_num_34").html('100%'); else $("#device_count_num_34").html(toDecimal(d2oc*100/d2o)+'%'); $("#dev4_count").html(d6); $("#device_count_num_42").html(d6oc); $("#dev4-label-hidden").html(d6o-d6oc); $("#device_count_num_43").html(d6o-d6oc); if(d6o==0) $("#device_count_num_44").html('100%'); else $("#device_count_num_44").html(toDecimal(d6oc*100/d6o)+'%'); if(d1o!=0){ $("#device_confirm_14").css('width',(300*d1oc/d1o)+'px'); }else $("#device_confirm_14").css('width','300px'); if(d7o!=0) $("#device_confirm_24").css('width',(300*d7oc/d7o)+'px'); else $("#device_confirm_24").css('width','300px'); if(d2o!=0) $("#device_confirm_34").css('width',(300*d2oc/d2o)+'px'); else $("#device_confirm_34").css('width','300px'); if(d6o!=0) $("#device_confirm_44").css('width',(300*d6oc/d6o)+'px'); else $("#device_confirm_44").css('width','300px'); } $(".alarm_tab_area").remove(); if((AlarmStore!=null)&&(AlarmStore.length>0)){ var parent = document.getElementById('container'); AlarmStore.sort(alarmSortByTime); var area = document.createElement('div'); area.id= 'alarm_tab_area'; area.setAttribute('class','alarm_tab_area'); parent.appendChild(area); for(var i=0;i=6) break; var tab = document.createElement('div'); tab.id = 'alarm_tab_'+(i+1); tab.setAttribute('class','alarm_tab'); tab.setAttribute('onclick',(AlarmStore[i].dwtype==1)?'show_all_fireAlarm()': (AlarmStore[i].dwtype==2)?'show_all_waterAlarm()': (AlarmStore[i].dwtype==5)?'show_all_waterAlarm()': (AlarmStore[i].dwtype==6)?'show_all_rtuAlarm()': (AlarmStore[i].dwtype==7)?'show_all_efireAlarm()':'#'); tab.style.top=(120*i)+'px'; if(($(document).innerHeight()-205)>(120*(i+1))) $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); else $('#alarm_tab_area').css('height',($(document).innerHeight()-205)+'px'); area.appendChild(tab); var title = document.createElement('div'); title.id = 'alarm_tab_title_'+(i+1); title.setAttribute('class','alarm_tab_title'); title.innerHTML=(AlarmStore[i].dwtype==1)?'火警监测报告': (AlarmStore[i].dwtype==2)?'水系统监测报告': (AlarmStore[i].dwtype==5)?'水系统监测报告': (AlarmStore[i].dwtype==6)?'RTU监测报告': (AlarmStore[i].dwtype==7)?'电气火灾监测报告':'其他报告'; tab.appendChild(title); var time_label = document.createElement('div'); time_label.id = 'alarm_tab_time_'+(i+1); time_label.setAttribute('class','alarm_tab_time'); time_label.innerHTML=AlarmStore[i].time; tab.appendChild(time_label); var data = document.createElement('div'); data.id = "alarm_tab_data_"+(i+1); data.setAttribute('class','alarm_tab_data'); data.innerHTML=AlarmStore[i].company_name+' '+AlarmStore[i].data; tab.appendChild(data); var icon = document.createElement('img'); icon.setAttribute('class','alarm_tab_icon'); icon.height = '66'; icon.width = '66'; icon.src = baseUrl+'res/img/icons/'+((AlarmStore[i].dwtype==1)?'alarm_tab_01.gif' :(AlarmStore[i].dwtype==2)?'alarm_tab_03.gif' :(AlarmStore[i].dwtype==5)?'alarm_tab_03.gif' :(AlarmStore[i].dwtype==6)?'alarm_tab_04.gif' :(AlarmStore[i].dwtype==7)?'alarm_tab_02.gif':'alarm_tab_04.gif')+'?t='+(new Date()); tab.appendChild(icon); } } } var getCurrentData = function(){ if(((new Date()).getTime()-synctime)0) query.company_code = $("#company_code").val(); var qdata = JSON.stringify(query); var qurl = baseUrl+'/cgi-bin/WebAction.cgi'; if((baseUrl.indexOf('localhost')>=0)||(baseUrl.indexOf('127.0.0.1')>=0)) qurl = 'http://47.103.74.123:8080/YtIoT/cgi-bin/WebAction.cgi'; $.ajax({ type:'POST', url: qurl, data: qdata, success: function(result){ if((result==undefined)||(result.length==0)){ Ext.Msg.alert('错误信息', '访问权限错误,请重新登录', function(){ window.parent.document.location=baseUrl; }); }else{ var json = eval('(' + result + ')'); if(json.check=='false'){ Ext.Msg.alert('错误信息', '访问权限错误,请重新登录', function(){ window.parent.document.location=baseUrl; }); } if(json.action=='getFrontpageQuery'){ if(json.check=='true'){ if(json.LIST!=undefined) StatusStore = json.LIST; if(json.ALARM!=undefined) AlarmStore = json.ALARM; draw_all(); } } } myMask.hide(); } }); setTimeout(getCurrentData,storeTime); } var chk_company_cur = function(idx){ var nrow=0; while(1){ idx++; if(idx>=StatusStore.length) idx = 0; var obj = StatusStore[idx]; if((obj.lat>30)&&(obj.lat<33)&&(obj.lng>120)&&(obj.lng<125)) return idx; nrow++; if(nrow>=StatusStore.length) return -1; } } var show_cur_comany = function(){ var current_t = Date.parse(new Date()); if((current_t-last_move)>30000){ last_move = current_t; if((StatusStore!=null)&&(StatusStore.length>0)){ company_cur = chk_company_cur(company_cur); if(company_cur>=0){ var obj = StatusStore[company_cur]; showBuilding(obj.company_code); LabelShow = false; shower_click(); } } } setTimeout(show_cur_comany,5000); } var body_resize = function() { $("#mask_l").css('height',$(window).innerHeight()+'px'); $("#mask_r").css('height',$(window).innerHeight()+'px'); $("#mask_b").css('top',($(window).innerHeight()-100)+'px'); $("#mask_b").css('width',$(window).innerWidth()+'px'); $("#mask_t").css('width',$(window).innerWidth()+'px'); $("#map_header").css('left',($(window).innerWidth()-740)/2+'px'); $("#map_header").css('height','82px'); $("#container").css('width',$(window).innerWidth()+'px'); $("#container").css('height',$(window).innerHeight()+'px'); var area_height = $(window).innerHeight()-129; $("#data_bar_area").css('height',area_height+'px'); $("#alarm_tab_area").css('height',($(window).innerHeight()-205)+'px'); draw_all(); } var show_all_fireAlarm = function(){ if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/fireAlarm/subFireAlarm.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/fireAlarm/subFireAlarm.jsp?theme='+theme; } var show_all_waterAlarm = function(){ if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/waterAlarm/subWaterAlarm.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/waterAlarm/subWaterAlarm.jsp?theme='+theme; } var show_all_rtuAlarm = function(){ if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/rtuAlarm/subRtuAlarm.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/rtuAlarm/subRtuAlarm.jsp?theme='+theme; } var show_all_efireAlarm = function () { if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/efireAlarm/subeFireAlarm.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/efireAlarm/subeFireAlarm.jsp?theme='+theme; } var show_all_fireDevice = function(){ if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/fireAlarm/FireDeviceIndex.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/fireAlarm/FireDeviceIndex.jsp?theme='+theme; } var show_all_efireDevice = function () { if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/efireAlarm/eFireDeviceIndex.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/efireAlarm/eFireDeviceIndex.jsp?theme='+theme; } var show_all_waterDevice = function(){ if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/waterAlarm/WaterDeviceIndex.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/waterAlarm/WaterDeviceIndex.jsp?theme='+theme; } var show_all_rtuDevice = function(){ if($("#V_LOGINNAME").val()=='guest') return; parent.window.keep_menu(); if($("#company_code").val()!=undefined) location.href = baseUrl + 'view/rtuAlarm/RtuDeviceIndex.jsp?theme='+theme+'&company_code='+($("#company_code").val()); else location.href = baseUrl + 'view/rtuAlarm/RtuDeviceIndex.jsp?theme='+theme; } Ext.onReady(function(){ parent.window.hiding_menu(); maxHeight = document.documentElement.clientHeight; maxWidth = document.documentElement.clientWidth; if(($("#V_LOGINNAME").val().length==0)||($("#V_LOGINNAME").val()=='null')||($("#V_LOGINNAME").val()==null)) $("#V_LOGINNAME").val(sessionStorage.getItem('V_LOGINNAME')); else sessionStorage.setItem('V_LOGINNAME',$("#V_LOGINNAME").val()); if(($("#V_PASSWORD").val().length==0)||($("#V_PASSWORD").val()=='null')||($("#V_PASSWORD").val()==null)) $("#V_PASSWORD").val(sessionStorage.getItem('V_PASSWORD')); else sessionStorage.setItem('V_PASSWORD',$("#V_PASSWORD").val()); baseUrl = $("#basePath").val(); theme = $("#theme").val(); V_LOGINNAME = $("#V_LOGINNAME").val(); V_PASSWORD = $("#V_PASSWORD").val(); viewAlarmType = $("#viewAlarmType").val(); pieAlarmType = $("#pieAlarmType").val(); statusType = $("#statusType").val(); company_code = $("#company_code").val(); mapStyle = (theme=='default')?'normal':(theme=='gray')?'amap://styles/light':'amap://styles/659dc6c4753dc6e87c65c8a874c02133'; $("#alarm_wrapper_table").css('left',(($(document).innerWidth()-800)/2)+'px'); if((theme=='access')||(theme=='')) $('#alarm_wrapper').addClass('shadow_black'); else $('#alarm_wrapper').addClass('shadow_white'); last_move = Date.parse(new Date()); company_cur = -1; myMask = new Ext.LoadMask(Ext.getBody(), { msg: '查询中,请稍后!', cls:'toplevel', removeMask: true //完成后移除 }); map = new AMap.Map('container', { mapStyle: mapStyle, //样式URL viewMode: '3D', turboMode: false, resizeEnable: true, zoom: mapzoom, center: [121.475644, 31.1857], features:['bg', 'road', 'building'], pitch: 45, forceVector: true }); map.on('zoomend',function(e){ draw_all(); }); map.on('movestart',function(e){ clear_detail_info(); }); map.on('mousemove',function(e){ if(company_cur<0) return; last_move = Date.parse(new Date()); company_cur=-1; firstDraw = true; map.setPitch(45); draw_all(); LabelShow = true; shower_click(); shower_mouseout(); }); map.on('complete',function(e){ getCurrentData(); }); $("#search_company").on('input',function(){ update_companyList(); }); myMask.show(); var win1 = new UWindow(); win1.create('win1','container',win1_config); win1.show(); var win2 = new UWindow(); win2.create('win2','container',win2_config); win2.show(); var win3 = new UWindow(); win3.create('win3','container',win3_config); win3.show(); var win4 = new UWindow(); win4.create('win4','container',win4_config); win4.show(); var dev1 = new UWindow(); dev1.create('dev1','container',dev1_config); dev1.show(); var dev2 = new UWindow(); dev2.create('dev2','container',dev2_config); dev2.show(); var dev3 = new UWindow(); dev3.create('dev3','container',dev3_config); dev3.show(); var dev4 = new UWindow(); dev4.create('dev4','container',dev4_config); dev4.show(); window.onresize=function(){ body_resize(); }; body_resize(); initWebSocket(); });