@@ -271,7 +271,7 @@
-
+
@@ -774,7 +774,8 @@ export default {
pointMarkerLayer: null,//点位图层
polygonMaskerLayer: null,//危险作业
cameraMaskerLayer: null,//摄像头
- materialsMaskerLayer: null,//消防物资
+ materialsMaskerLayer: null,//喇叭
+ singleAreaMaskerLayer:null,
carsMaskerLayer: null,//车辆
manMaskerLayer: null,//人员
flyManager: null,
@@ -1118,6 +1119,7 @@ export default {
clearInterval(this.eventAudioTimer)//事件
},
methods: {
+ //查询某个人员
searchOne(keyword){
let that = this;
that.markList[5] = true;
@@ -1133,7 +1135,11 @@ export default {
that.screenUser = true;
window.map.flyToMarker(that.userMarker[item.mac], {
duration: 1000,
- range: 200
+ offset:{
+ rotate: 45,
+ tilt: 60,
+ range: 200
+ }
})
}
})
@@ -1175,6 +1181,7 @@ export default {
this.showUserSelect = false;
// this.screenUser = true;
},
+ //
audioFinished(){
if(this.audioIndex {
@@ -1226,6 +1236,7 @@ export default {
}
})
},
+ //获取新事件
getNewEvent(){
let that = this;
that.$API.ecm.event.list.req({page_size:1}).then(res => {
@@ -1277,6 +1288,7 @@ export default {
}
})
},
+ //事件轮询
eventInterval(){
let that = this;
if (that.timerEventRoll) {
@@ -1317,23 +1329,65 @@ export default {
areaRowClick(data) {
let that = this;
that.areaDetail = true;
- debugger;
- console.log(data)
that.areaDetailId = data.id;
- let points = data.third_info.xx_rail.detail.polygon.points[0];
- window.map.flyToPosition(new jsmap.JSPoint(points.x, points.y, points.z),
+ let point = data.third_info.xx_rail.detail.polygon.points[0];
+ let points = data.third_info.xx_rail.detail.polygon.points;
+ window.map.flyToPosition(new jsmap.JSPoint(point.longitude, point.latitude, 0),
{ duration:1000,
offset:{
- rotate: 45,
+ rotate: 60,
tilt: 60,
range: 300
}
});
- // this.getAreaList();
+ this.getAreaList();
this.getAreaOperation();
this.getAreaVchannel();
this.getAreaSpeaker();
this.getAreaBlt();
+ if(that.singleAreaMaskerLayer!==null){
+ that.singleAreaMaskerLayer.setMarkerVisibleByFilter(false, (properties)=>{
+ if(properties && properties.get('id')!==data.id){
+ return true;
+ }
+ return false;
+ })
+ }
+ that.singleAreaMaskerLayer = new jsmap.JSPolygonMarkerLayer({
+ minimumLevel: 3,
+ maxmumLevel: 22,
+ show: true
+ });
+ let pointsList = [];
+ window.map.addLayer(that.singleAreaMaskerLayer);
+ pointsList = points.map(item => {
+ let obj = item;
+ obj.x=item.longitude;
+ obj.y=item.latitude;
+ return obj
+ });
+ let polygonMarker = new jsmap.JSPolygonMarker({
+ id: data.id,//id
+ position: pointsList,//坐标集合
+ floorId: data.third_info.xx_rail.detail.floorId,//楼层id
+ color: 'rgba(0,0,255,.44)',//填充颜色
+ strokeColor: '#2bff1d',//边线颜色
+ depthTest: false,//是否开启深度检测
+ allowPicking: false, //是否允许点击
+ displayCondition: new jsmap.JSDisplayCondition(0.0, 1000), //可见范围
+ properties: {
+ id: data.id
+ },//属性设置
+ callback: (marker) => {
+ // console.log(marker);
+ }//回调
+ });
+ that.singleAreaMaskerLayer.addMarker(polygonMarker);
+ },
+ areaDetailClose(){
+ let that = this;
+ that.areaDetail = false;
+ that.singleAreaMaskerLayer.show = false;
},
//区域下的作业
getAreaOperation(){
@@ -1363,12 +1417,34 @@ export default {
getAreaBlt(){
let that = this;
that.$API.third.blt.all.req({area:that.areaDetailId}).then(res=>{
+ debugger;
console.log(res)
that.areaUser = res.filter(item=>{
return item.my_info.employee;
});
})
},
+ //点击区域下的人员
+ areaEmployeeRowClick(row){
+ let that = this;
+ that.screenUserItem = row.my_info.employee_;
+ that.screenUserItem.mac = row.mac;
+ that.screenUser = true;
+ window.map.flyToMarker(that.userMarker[row.mac], {
+ duration: 1000,
+ offset:{
+ rotate: 45,
+ tilt: 60,
+ range: 300
+ }
+ })
+ that.markList[5] = true;
+ that.userMaskerLayer.show = true;
+ clearInterval(that.timerUser);
+ that.timerUser = setInterval(function () {
+ that.refreshUserMarker();
+ }, 10000)
+ },
//加载部门数据
getGroup() {
let that = this;
@@ -1522,7 +1598,6 @@ export default {
showUserDetail() {
this.screenUserDetail = true;
this.$API.hrm.employee.item.req(this.screenUserItem.id).then(res => {
- // console.log(res);
this.screenUserItemDetail = res;
})
},
@@ -1748,7 +1823,7 @@ export default {
let userImage = '';
if (userList.length > 0) {
userList.forEach(item=>{
- let employee_ = item.my_info.employee_;
+ let employee_ = item.my_info.employee_,online = item.online;;
employee_.mac = item.mac;
let employeeType = item.my_info.employee_.type
if (employeeType === 'employee') {
@@ -1792,30 +1867,27 @@ export default {
nearFarScale: new jsmap.JSNearFarScale(0.0, 1, 500, 1),
show: true,
properties: {
- employee: employee_
+ employee: employee_,
+ online:online
},
callback: (marker) => {
}
});
that.userMaskerLayer.addMarker(that.userMarker[item.mac]);
+ that.userMaskerLayer.setMarkerVisibleByFilter(false, (properties)=>{
+ if(properties && properties.get('online')!==true){
+ return true;
+ }
+ return false;
+ })
})
}
- // if(that.markList[5]){
- // clearInterval(that.timerUser);
- // that.timerUser = setInterval(function () {
- // that.refreshUserMarker();
- // }, 10000)
- // }else{
- // clearInterval(that.timerUser);
- // }
-
},
//更新人员标记
refreshUserMarker() {
if (document.getElementById("mapContainer") == null || document.getElementById("mapContainer") == undefined){
return
}
- // debugger;
let that = this;
that.$API.third.blt.all.req(that.userParams).then(res => {
if (res.err_msg) {
@@ -1825,16 +1897,15 @@ export default {
});
let addUser = that.func(userList, that.userList)[0];
let refreshList = that.func(userList, that.userList)[1];
- let subUser = that.func(that.userList, userList)[0];
that.allUserList = that.userList = refreshList.concat(addUser);//更新userList
- subUser.forEach(subUserItem=>{
- that.userMaskerLayer.removeMarker(that.userMarker[subUserItem.mac]);//删除离线员工
- })
that.showUserMarkers(addUser);//增加新进在线员工
-
+ that.userMaskerLayer.setMarkerVisibleByFilter(false, (properties)=>{
+ if(properties && properties.get('online')!==true){
+ return true;
+ }
+ return false;
+ })
refreshList.forEach(item1 => {
- // debugger;
- // console.log(item1)
let item2 = {};
item2={...item1};
that.userMaskerLayer.updateMarkerPosition(that.userMarker[item2.mac], {
@@ -1848,8 +1919,6 @@ export default {
},
//比较两次获取的人数的变动 func(a,b)//a与b相比多出来的
func(arr1, arr2) {
- /*var arr1 = [{name:1},{name:2},{name:3},{name:4}];
- var arr2 = [{name:2},{name:3},{name:4},{name:5}];*/
let arr = [];
let list = [];
let bool = false;
@@ -1870,8 +1939,6 @@ export default {
if (bool !== false) arr.push(arr1[bool]);
}
let arrList = [arr, list];
- // debugger;
- // console.log(arrList);
return arrList;
},
//危险作业