624 lines
18 KiB
Plaintext
624 lines
18 KiB
Plaintext
|
|
var map;
|
|||
|
|
var polygon2;
|
|||
|
|
var point2s = [];
|
|||
|
|
var drawingOverlay;
|
|||
|
|
var levels ="";
|
|||
|
|
var parentIds ="";
|
|||
|
|
$(function() {
|
|||
|
|
// 初始化树
|
|||
|
|
getOrgTreeData("");
|
|||
|
|
initMap(); // 加载地图
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
|
|||
|
|
function initMap() {
|
|||
|
|
creatMap();
|
|||
|
|
madeBoundary(); // 加载区域图
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function creatMap(){
|
|||
|
|
map = new BMap.Map('map');
|
|||
|
|
//var poi = new BMap.Point(117.542207,33.133388);
|
|||
|
|
var poi = new BMap.Point(106.852748,26.647899);
|
|||
|
|
map.centerAndZoom(poi, 8.5);
|
|||
|
|
map.enableScrollWheelZoom();
|
|||
|
|
|
|||
|
|
var styleOptions = {
|
|||
|
|
strokeColor: "red", //边线颜色。
|
|||
|
|
fillColor: "red", //填充颜色。当参数为空时,圆形将没有填充效果。
|
|||
|
|
strokeWeight: 3, //边线的宽度,以像素为单位。
|
|||
|
|
strokeOpacity: 0.8, //边线透明度,取值范围0 - 1。
|
|||
|
|
fillOpacity: 0.6, //填充的透明度,取值范围0 - 1。
|
|||
|
|
strokeStyle: 'solid' //边线的样式,solid或dashed。
|
|||
|
|
}
|
|||
|
|
//实例化鼠标绘制工具
|
|||
|
|
var drawingManager = new BMapLib.DrawingManager(map, {
|
|||
|
|
isOpen: false, //是否开启绘制模式
|
|||
|
|
enableDrawingTool: true, //是否显示工具栏
|
|||
|
|
drawingToolOptions: {
|
|||
|
|
anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
|
|||
|
|
offset: new BMap.Size(5, 5), //偏离值
|
|||
|
|
drawingModes : [BMAP_DRAWING_POLYLINE],
|
|||
|
|
scale: 0.8 //工具栏缩放比例
|
|||
|
|
},
|
|||
|
|
circleOptions: styleOptions, //圆的样式
|
|||
|
|
polylineOptions: styleOptions, //线的样式
|
|||
|
|
polygonOptions: styleOptions, //多边形的样式
|
|||
|
|
rectangleOptions: styleOptions //矩形的样式
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
findDevPos(""); //查询设备定位信息
|
|||
|
|
findFencePoints(); //查询围栏区域信息
|
|||
|
|
|
|||
|
|
//添加鼠标绘制工具监听事件,用于获取绘制结果
|
|||
|
|
drawingManager.addEventListener('overlaycomplete', overlaycomplete);
|
|||
|
|
map.addControl(new BMap.NavigationControl()); // 添加平移缩放控件
|
|||
|
|
map.enableScrollWheelZoom(); //启用滚轮放大缩小
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 设置区域图start
|
|||
|
|
function madeBoundary() {
|
|||
|
|
var datas = new Array("贵州-");
|
|||
|
|
var bdary = new BMap.Boundary();
|
|||
|
|
for (var i = 0; i < datas.length; i++) {
|
|||
|
|
getBoundary(datas[i], bdary);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getBoundary(data, bdary) {
|
|||
|
|
data = data.split("-");
|
|||
|
|
bdary.get(data[0], function(rs) { // 获取行政区域
|
|||
|
|
var count = rs.boundaries.length; // 行政区域的点有多少个
|
|||
|
|
var pointArray = [];
|
|||
|
|
for (var i = 0; i < count; i++) {
|
|||
|
|
var ply = new BMap.Polygon(rs.boundaries[i], {
|
|||
|
|
strokeWeight : 3,
|
|||
|
|
strokeColor : "#00D8FF", //#024E41 国网绿
|
|||
|
|
fillOpacity : 0,
|
|||
|
|
fillColor : "rgba(0, 0, 0, 0)"
|
|||
|
|
}); // 建立多边形覆盖物
|
|||
|
|
map.addOverlay(ply); // 添加覆盖物
|
|||
|
|
ply.disableMassClear(); // 此设置不会被移除
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
// 设置区域图end
|
|||
|
|
|
|||
|
|
function findDevPos(name){
|
|||
|
|
var index=name.indexOf("[");
|
|||
|
|
if(index>-1){
|
|||
|
|
name=name.substring(0,index);
|
|||
|
|
}
|
|||
|
|
var pts = [];
|
|||
|
|
var ptsInfo = [];
|
|||
|
|
$.ajax({
|
|||
|
|
type : "post",
|
|||
|
|
url : bonuspath + "/backstage/position/findBindPosition",
|
|||
|
|
data : {
|
|||
|
|
keyWord:name,
|
|||
|
|
deviceType:"2"
|
|||
|
|
},
|
|||
|
|
dataType : "json",
|
|||
|
|
success : function(data) {
|
|||
|
|
var result = data.obj;
|
|||
|
|
console.log("result",result);
|
|||
|
|
if (result != null && result != '') {
|
|||
|
|
for (var i = 0; i < result.length; i++) {
|
|||
|
|
var lat = result[i].lat;
|
|||
|
|
var lon = result[i].lon;
|
|||
|
|
var id = result[i].id;
|
|||
|
|
var jNum = result[i].jNum;
|
|||
|
|
var sNum = result[i].sNum;
|
|||
|
|
map.addOverlay(createMarker(id,lon, lat, result[i],jNum,sNum));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
//创建地图覆盖物start
|
|||
|
|
function createMarker(id,lon, lat, dev,jNum,sNum) { // 创建地图覆盖物
|
|||
|
|
var pt = new BMap.Point(lon, lat);
|
|||
|
|
var cent = "";
|
|||
|
|
var myIcon = getIcon(dev);
|
|||
|
|
var marker = new BMap.Marker(pt, {
|
|||
|
|
icon : myIcon
|
|||
|
|
});
|
|||
|
|
cent += "<div style='width: 100%;float: left;'>";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>GPS编号:<strong>"
|
|||
|
|
+ JY.Object.notEmpty(dev.code) + "</strong></span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备编号:<strong>"
|
|||
|
|
+ JY.Object.notEmpty(dev.deviceCode) + "</strong></span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备电量: "
|
|||
|
|
+ JY.Object.notEmpty(dev.electQuantity) + "%" + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>经度: "
|
|||
|
|
+ JY.Object.notEmpty(dev.lon) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>纬度: "
|
|||
|
|
+ JY.Object.notEmpty(dev.lat) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>上传时间: "
|
|||
|
|
+ JY.Object.notEmpty(dev.upTime) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备类型: " + JY.Object.notEmpty(dev.typeName) + "</span><br />";
|
|||
|
|
var posTypeInfo = dev.posType;
|
|||
|
|
if(posTypeInfo =="LBS" || posTypeInfo =="lbs"){
|
|||
|
|
posTypeInfo = "基站定位";
|
|||
|
|
}
|
|||
|
|
if(posTypeInfo =="GPS" || posTypeInfo =="gps"){
|
|||
|
|
posTypeInfo = "卫星定位";
|
|||
|
|
}
|
|||
|
|
if(posTypeInfo =="WIFI" || posTypeInfo =="wifi"){
|
|||
|
|
posTypeInfo = "WIFI定位";
|
|||
|
|
}
|
|||
|
|
if(posTypeInfo =="BEACON" || posTypeInfo =="beacon"){
|
|||
|
|
posTypeInfo = "蓝牙定位";
|
|||
|
|
}
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>定位类型: "
|
|||
|
|
+ posTypeInfo + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>所属围栏:暂无</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>当前项目所在工程: "
|
|||
|
|
+ JY.Object.notEmpty(dev.proName) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>领用单位: "
|
|||
|
|
+ JY.Object.notEmpty(dev.useUnit) + "</span><br />";
|
|||
|
|
/*cent +="<span>"+'历史定位:'+"</span>"+"<span style='color:#ffffff;font-size:16px;' onclick='gpsView("+ dev.code+","+dev.deviceCode+","+dev.typeName+")'>定位查看</span><br />";*/
|
|||
|
|
cent +="<span style='color:#ffffff;font-size:16px;'>"+'历史定位:'+"</span>"+"<img src = '../../static/img/gps.png' width='26px' height='26px' onclick='gpsView(\""+JY.Object.notEmpty(dev.code)+"\")' /><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>地址: "
|
|||
|
|
+ JY.Object.notEmpty(dev.address) + "</span><br />";
|
|||
|
|
cent += "</div>";
|
|||
|
|
addClickHandler(cent, marker);
|
|||
|
|
return marker;
|
|||
|
|
}
|
|||
|
|
/*function createMarker(id,lon, lat, dev,jNum,sNum) { // 创建地图覆盖物
|
|||
|
|
var info = isArea(lon, lat, dev.points);
|
|||
|
|
var pt = new BMap.Point(lon, lat);
|
|||
|
|
var cent = "";
|
|||
|
|
var myIcon = getIcon(dev);
|
|||
|
|
var marker = new BMap.Marker(pt, {
|
|||
|
|
icon : myIcon
|
|||
|
|
});
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'><strong>"
|
|||
|
|
+ info + "</strong></span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>GPS编号:<strong>"
|
|||
|
|
+ JY.Object.notEmpty(dev.code) + "</strong></span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备编号:<strong>"
|
|||
|
|
+ JY.Object.notEmpty(dev.deviceCode) + "</strong></span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备电量: "
|
|||
|
|
+ JY.Object.notEmpty(dev.electQuantity) + "%" + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>经度: "
|
|||
|
|
+ JY.Object.notEmpty(dev.lon) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>纬度: "
|
|||
|
|
+ JY.Object.notEmpty(dev.lat) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>上传时间: "
|
|||
|
|
+ JY.Object.notEmpty(dev.upTime) + "</span><br />";
|
|||
|
|
if(info=="设备不在区域内"){
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备数量: </span>" +
|
|||
|
|
"<span style='color:blue;font-size:16px;' onmouseover='findDeviceDetail('" + id + "',-1)'>"+ 1 + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备类型: " + JY.Object.notEmpty(dev.typeName) + "</span><br />";
|
|||
|
|
}else if(info=="设备在区域内"){
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>机动绞磨数量: </span>" +
|
|||
|
|
"<span style='color:blue;font-size:16px;' onmouseover='findDeviceDetail(-1,1)'>"+ JY.Object.notEmpty(jNum) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>手扶机绞磨数量: </span>" +
|
|||
|
|
"<span style='color:blue;font-size:16px;' onmouseover='findDeviceDetail(-1,2)'>"+ JY.Object.notEmpty(sNum) + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>设备数量: </span>" +
|
|||
|
|
"<span style='color:blue;font-size:16px;' onmouseover='findDeviceDetail(-1,0)'>"+ JY.Object.notEmpty(parseInt(jNum) + parseInt(sNum)) + "</span><br />";
|
|||
|
|
}
|
|||
|
|
var posTypeInfo = dev.posType;
|
|||
|
|
if(posTypeInfo =="LBS" || posTypeInfo =="lbs"){
|
|||
|
|
posTypeInfo = "基站定位";
|
|||
|
|
}
|
|||
|
|
if(posTypeInfo =="GPS" || posTypeInfo =="gps"){
|
|||
|
|
posTypeInfo = "卫星定位";
|
|||
|
|
}
|
|||
|
|
if(posTypeInfo =="WIFI" || posTypeInfo =="wifi"){
|
|||
|
|
posTypeInfo = "WIFI定位";
|
|||
|
|
}
|
|||
|
|
if(posTypeInfo =="BEACON" || posTypeInfo =="beacon"){
|
|||
|
|
posTypeInfo = "蓝牙定位";
|
|||
|
|
}
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>定位类型: "
|
|||
|
|
+ posTypeInfo + "</span><br />";
|
|||
|
|
cent += "<span style='color:#ffffff;font-size:16px;'>所属围栏: "
|
|||
|
|
+ dev.fenceName + "</span><br />";
|
|||
|
|
cent += "<div style='width: 100%;height: 15%;float: left;'>";
|
|||
|
|
cent += "</div>";
|
|||
|
|
addClickHandler(cent, marker);
|
|||
|
|
return marker;
|
|||
|
|
}*/
|
|||
|
|
|
|||
|
|
//历史定位数据查看
|
|||
|
|
function gpsView(code){
|
|||
|
|
localStorage.setItem("code",code);
|
|||
|
|
layer.open({
|
|||
|
|
type : 2,
|
|||
|
|
title : ['历史定位', 'background-color: #27A3D9;color:#fff' ],
|
|||
|
|
shadeClose : true,
|
|||
|
|
shade : false,
|
|||
|
|
maxmin : true,
|
|||
|
|
area : [ '90%', '85%' ],
|
|||
|
|
content :bonuspath+'/backstage/position/historyGps'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//点击重叠数字,弹窗展示设备信息明细
|
|||
|
|
function findDeviceDetail(id,type){
|
|||
|
|
localStorage.setItem("id",id);
|
|||
|
|
localStorage.setItem("type",type);
|
|||
|
|
layer.open({
|
|||
|
|
type : 2,
|
|||
|
|
title : ['设备明细', 'background-color: #27A3D9;color:#fff' ],
|
|||
|
|
shadeClose : true,
|
|||
|
|
shade : false,
|
|||
|
|
maxmin : true,
|
|||
|
|
area : [ '1100px', '600px' ],
|
|||
|
|
content :bonuspath+'/backstage/index/map'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//覆盖物点击事件start--机具
|
|||
|
|
function addClickHandler(content, marker) {
|
|||
|
|
marker.addEventListener("onmouseover", function(e) {
|
|||
|
|
openDevInfo(content, e);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
// 覆盖物点击事件end
|
|||
|
|
|
|||
|
|
//创建信息窗口对象 start
|
|||
|
|
function openDevInfo(content, e) { // 弹出窗口信息
|
|||
|
|
var p = e.target;
|
|||
|
|
var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
|
|||
|
|
var infoWindow = new BMap.InfoWindow(content, manageopts); // 创建信息窗口对象
|
|||
|
|
map.openInfoWindow(infoWindow, point); // 开启信息窗口
|
|||
|
|
// $("..BMap_pop div:nth-child(8) img")
|
|||
|
|
// .attr('src', "./libs/images/device.png");
|
|||
|
|
}
|
|||
|
|
// 创建信息窗口对象 end
|
|||
|
|
|
|||
|
|
//回调获得覆盖物信息
|
|||
|
|
function overlaycomplete(e) {
|
|||
|
|
map.removeOverlay(drawingOverlay);
|
|||
|
|
drawingOverlay = e.overlay;
|
|||
|
|
map.addOverlay(drawingOverlay);
|
|||
|
|
var points = new Array();
|
|||
|
|
var arrps = new Array();
|
|||
|
|
var p=e.overlay.getPath();
|
|||
|
|
for(var j = 0; j < p.length; j++){
|
|||
|
|
var grid =p[j];
|
|||
|
|
var point = new BMap.Point(grid.lng,grid.lat);
|
|||
|
|
var obj={};
|
|||
|
|
obj.lon=grid.lng;
|
|||
|
|
obj.lat=grid.lat;
|
|||
|
|
points.push(point);
|
|||
|
|
arrps.push(obj);
|
|||
|
|
}
|
|||
|
|
console.log("arrpss:",arrps);
|
|||
|
|
polygon2 = new BMap.Polygon(points,{strokeColor:"#f50704",fillColor:"#cfcfcf", strokeWeight:5, strokeOpacity:0,fillOpacity:0,});
|
|||
|
|
map.addOverlay(polygon2);
|
|||
|
|
console.log(points);
|
|||
|
|
addFence(arrps);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//围栏坐标存入数据库
|
|||
|
|
function addFence(arrps){
|
|||
|
|
layer.prompt({title: '请输入围栏名称', formType: 2}, function(text, index){
|
|||
|
|
layer.close(index);
|
|||
|
|
$.ajax({
|
|||
|
|
type : "post",
|
|||
|
|
url : bonuspath + "/backstage/fence/insert",
|
|||
|
|
data : {
|
|||
|
|
points:JSON.stringify(arrps),
|
|||
|
|
name:text
|
|||
|
|
},
|
|||
|
|
dataType : "json",
|
|||
|
|
success : function(data) {
|
|||
|
|
layer.msg(data.resMsg);
|
|||
|
|
},
|
|||
|
|
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//查询围栏坐标点信息
|
|||
|
|
function findFencePoints(){
|
|||
|
|
$.ajax({
|
|||
|
|
type : "post",
|
|||
|
|
url : bonuspath + "/backstage/fence/findNoPage",
|
|||
|
|
data : {
|
|||
|
|
isActive : 1
|
|||
|
|
},
|
|||
|
|
dataType : "json",
|
|||
|
|
success : function(data) {
|
|||
|
|
// alert("data="+JSON.stringify(data))
|
|||
|
|
var res = data.obj.list;
|
|||
|
|
var points;
|
|||
|
|
for(var i=0;i<res.length;i++){
|
|||
|
|
points = res[i].points;
|
|||
|
|
var json=JSON.parse(points);
|
|||
|
|
var pointarray=new Array();
|
|||
|
|
for(var j=0;j<json.length;j++){
|
|||
|
|
var obj=json[j];
|
|||
|
|
var lon=obj.lon;
|
|||
|
|
var lat=obj.lat;
|
|||
|
|
var point = new BMap.Point(lon,lat);
|
|||
|
|
pointarray.push(point);
|
|||
|
|
}
|
|||
|
|
polygon2 = new BMap.Polygon(pointarray,{strokeColor:"#f50704",fillColor:"#cfcfcf", strokeWeight:5, strokeOpacity:0,fillOpacity:0,});
|
|||
|
|
map.addOverlay(polygon2);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//根据状态设置图标 start
|
|||
|
|
function getIcon(dev) {
|
|||
|
|
var status = dev.status;
|
|||
|
|
var alarmType = dev.alarmType;
|
|||
|
|
var typeName = dev.typeName;
|
|||
|
|
// alert(dev.deviceCode+typeName+",状态="+status+",告警="+alarmType);
|
|||
|
|
var url;
|
|||
|
|
if(status == '5'){
|
|||
|
|
url = "../../libs/images/inLibj.png";
|
|||
|
|
}else{
|
|||
|
|
url = "../../libs/images/isUsej.png";
|
|||
|
|
}
|
|||
|
|
var icon = new BMap.Icon(url, new BMap.Size(35,35));
|
|||
|
|
return icon;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/*function getIcon(dev) {
|
|||
|
|
var status = dev.status;
|
|||
|
|
var alarmType = dev.alarmType;
|
|||
|
|
var typeName = dev.typeName;
|
|||
|
|
// alert(dev.deviceCode+typeName+",状态="+status+",告警="+alarmType);
|
|||
|
|
var url;
|
|||
|
|
if(typeName == "机动绞磨"){
|
|||
|
|
if(alarmType == '1'){
|
|||
|
|
url = "./libs/images/warningj.png";
|
|||
|
|
}else if(alarmType == '2'){
|
|||
|
|
url = "./libs/images/isNoticej.png";
|
|||
|
|
}else if(alarmType == '3'){
|
|||
|
|
url = "./libs/images/isNoticej.png";
|
|||
|
|
}else{
|
|||
|
|
if(status == '1'){
|
|||
|
|
url = "./libs/images/inLibj.png";
|
|||
|
|
}else{
|
|||
|
|
url = "./libs/images/isUsej.png";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}else if(typeName == "手扶机绞磨"){
|
|||
|
|
if(alarmType == '1'){
|
|||
|
|
url = "./libs/images/warnings.png";
|
|||
|
|
}else if(alarmType == '2'){
|
|||
|
|
url = "./libs/images/isNotices.png";
|
|||
|
|
}else if(alarmType == '3'){
|
|||
|
|
url = "./libs/images/isNotices.png";
|
|||
|
|
}else{
|
|||
|
|
if(status == '1'){
|
|||
|
|
url = "./libs/images/inLibs.png";
|
|||
|
|
}else{
|
|||
|
|
url = "./libs/images/isUses.png";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var icon = new BMap.Icon(url, new BMap.Size(35,35));
|
|||
|
|
return icon;
|
|||
|
|
|
|||
|
|
}*/
|
|||
|
|
// 根据状态设置图标 end
|
|||
|
|
|
|||
|
|
//管理人员信息窗口start
|
|||
|
|
var manageopts = {
|
|||
|
|
width : 360, // 信息窗口宽度
|
|||
|
|
height : 320, // 信息窗口高度
|
|||
|
|
enableMessage : true
|
|||
|
|
};
|
|||
|
|
// 管理人员信息窗口end
|
|||
|
|
|
|||
|
|
// 获取当前时间start
|
|||
|
|
function getNowFormatDate() {
|
|||
|
|
var date = new Date();
|
|||
|
|
var seperator = "-";
|
|||
|
|
var month = date.getMonth() + 1;
|
|||
|
|
var strDate = date.getDate();
|
|||
|
|
if (month >= 1 && month <= 9) {
|
|||
|
|
month = "0" + month;
|
|||
|
|
}
|
|||
|
|
if (strDate >= 0 && strDate <= 9) {
|
|||
|
|
strDate = "0" + strDate;
|
|||
|
|
}
|
|||
|
|
var currentdate = date.getFullYear() + seperator + month + seperator
|
|||
|
|
+ strDate;
|
|||
|
|
|
|||
|
|
return currentdate;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//判断坐标点是否在围栏区域内
|
|||
|
|
function isArea(lon,lat,points){
|
|||
|
|
var info;
|
|||
|
|
var devPoint = new BMap.Point(lon, lat);
|
|||
|
|
var json=JSON.parse(points);
|
|||
|
|
var pointarray=new Array();
|
|||
|
|
for(var j=0;j<json.length;j++){
|
|||
|
|
var obj=json[j];
|
|||
|
|
var lons=obj.lon;
|
|||
|
|
var lats=obj.lat;
|
|||
|
|
var point = new BMap.Point(lons,lats);
|
|||
|
|
pointarray.push(point);
|
|||
|
|
}
|
|||
|
|
var fence = new BMap.Polygon(pointarray);
|
|||
|
|
|
|||
|
|
if(BMapLib.GeoUtils.isPointInPolygon(devPoint,fence)){
|
|||
|
|
info = "设备在区域内";
|
|||
|
|
}else {
|
|||
|
|
info = "设备不在区域内";
|
|||
|
|
}
|
|||
|
|
return info;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 定义树节点初始数据
|
|||
|
|
var zNodes1 = [
|
|||
|
|
{ "id":0, "pId":-1,open:true,"name":"特殊设备",icon:bonuspath + "/static/css/sys/images/home.gif"},
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 树的设置
|
|||
|
|
var setting1 = {
|
|||
|
|
check : {
|
|||
|
|
enable : false,
|
|||
|
|
chkboxType : {
|
|||
|
|
"Y" : "ps",
|
|||
|
|
"N" : "ps"
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
async : {
|
|||
|
|
enable : true,
|
|||
|
|
},
|
|||
|
|
data : {
|
|||
|
|
simpleData : {
|
|||
|
|
enable : true,
|
|||
|
|
idKey : "id",
|
|||
|
|
pIdKey : "pId",
|
|||
|
|
rootPId : 0
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
callback : {
|
|||
|
|
onClick: onTreeClick,
|
|||
|
|
//点击前
|
|||
|
|
beforeClick:beforeClick,
|
|||
|
|
// 不允许拖拽
|
|||
|
|
beforeDrag : beforeDrag
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
function beforeClick(treeId, treeNode){
|
|||
|
|
if(treeNode.id == 0){
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 不允许拖拽
|
|||
|
|
function beforeDrag(treeId, treeNodes) {
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 获取数据初始化树
|
|||
|
|
function getOrgTreeData(keyWord) {
|
|||
|
|
$.ajax({
|
|||
|
|
type : 'POST',
|
|||
|
|
url : bonuspath + '/backstage/position/getMainSpecialTree',
|
|||
|
|
data : {
|
|||
|
|
keyWord:keyWord
|
|||
|
|
},
|
|||
|
|
success : function(result) {
|
|||
|
|
var nodes = zNodes1.concat(result.obj.list);
|
|||
|
|
console.info(nodes);
|
|||
|
|
$.fn.zTree.init($("#modeInfoTree"), setting1, nodes);
|
|||
|
|
},
|
|||
|
|
error : function(e) {
|
|||
|
|
JY.Model.info(e.resMsg);
|
|||
|
|
},
|
|||
|
|
dataType : 'json'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function refreshTree(){
|
|||
|
|
getOrgTreeData("");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// 获取树对象
|
|||
|
|
function getTree() {
|
|||
|
|
return $.fn.zTree.getZTreeObj("modeInfoTree");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function onTreeClick(event, treeId, treeNode, clickFlag){
|
|||
|
|
console.info("name"+treeNode.name+",id:"+treeNode.id+",level:"+treeNode.LEVEL);
|
|||
|
|
remove_overlay(); // 移除覆盖物
|
|||
|
|
findDevPos(treeNode.name);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//清除地图覆盖物
|
|||
|
|
function remove_overlay() {
|
|||
|
|
map.clearOverlays();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function search(){
|
|||
|
|
getbaseList();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function query(){
|
|||
|
|
|
|||
|
|
var ztreeObj = $.fn.zTree.getZTreeObj("modeInfoTree");
|
|||
|
|
var keyword=$("#keyWord").val();
|
|||
|
|
searchZtree(ztreeObj,keyword);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function reset(){
|
|||
|
|
$("#keyWord").val("");
|
|||
|
|
getOrgTreeData("");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
function searchZtree(ztreeObj,ztreeInput){
|
|||
|
|
//ztree查询
|
|||
|
|
function filterFunc(node){
|
|||
|
|
var keyword=ztreeInput;
|
|||
|
|
//如果当前结点,或者其父结点可以找到,或者当前结点的子结点可以找到,则该结点不隐藏
|
|||
|
|
if(searchParent(keyword,node) || searchChildren(keyword,node.children)){
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//获取不符合条件的叶子结点
|
|||
|
|
var hiddenNodes=ztreeObj.getNodesByFilter(filterFunc);
|
|||
|
|
|
|||
|
|
//隐藏不符合条件的叶子结点
|
|||
|
|
ztreeObj.hideNodes(hiddenNodes);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 查找子结点,如果找到,返回true,否则返回false-----ztree查询时使用
|
|||
|
|
*/
|
|||
|
|
function searchChildren(keyword,children){
|
|||
|
|
if(children == null || children.length == 0){
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
for(var i = 0;i < children.length;i++){
|
|||
|
|
var node = children[i];
|
|||
|
|
if(node.name.indexOf(keyword)!=-1){
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
//递归查找子结点
|
|||
|
|
var result = searchChildren(keyword,node.children);
|
|||
|
|
if(result){
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 查找当前结点和父结点,如果找到,返回ture,否则返回false
|
|||
|
|
*/
|
|||
|
|
function searchParent(keyword,node){
|
|||
|
|
if(node == null){
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
if(node.name.indexOf(keyword)!=-1){
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
//递归查找父结点
|
|||
|
|
return searchParent(keyword,node.getParentNode());
|
|||
|
|
}
|