/**
* 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:'',
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:'',
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();
});