This commit is contained in:
caoqianming 2022-10-25 16:30:00 +08:00
commit 8f79d5fe3e
1 changed files with 101 additions and 34 deletions

View File

@ -241,7 +241,7 @@
<div class="alarm-detail-info left_arrow" v-if="areaDetail" style="width:150%">
<div class="simple-title">
<div><span>区域统计</span></div>
<span class="icon-close" @click="areaDetail = false"></span>
<span class="icon-close" @click="areaDetailClose"></span>
</div>
<div class="detail-content">
<div class="content-head">
@ -271,7 +271,7 @@
<el-table-column label="所在区域" prop="area_name"></el-table-column>
<el-table-column label="唯一标识" prop="code"></el-table-column>
</el-table>
<el-table class="bigScreenTable" :data="areaUser" v-if="areaShowType==4">
<el-table class="bigScreenTable" :data="areaUser" v-if="areaShowType==4" @row-click="areaEmployeeRowClick">
<el-table-column label="人员姓名" prop="my_info.employee_.name"></el-table-column>
<el-table-column label="人员姓名" prop="my_info.employee_.type"></el-table-column>
<el-table-column label="定位卡号" prop="mac"></el-table-column>
@ -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<this.audioList.length){
this.audioIndex++;
@ -1182,11 +1189,13 @@ export default {
this.audioIndex = 0;
}
},
//
showTime() {
this.currentTime = this.$TOOL.dateFormat(new Date(), 'hh:mm:ss');
this.currentWeek = this.$TOOL.dateFormat(new Date(), 'week');
this.currentDay = this.$TOOL.dateFormat(new Date(), 'yyyy年MM月dd日')
},
/////
areaItemHandle(index){
this.areaShowType = index;
if(index==1){
@ -1218,6 +1227,7 @@ export default {
that.getNewEvent();
}, 20000)
},
//
getEventTotal(){
let that = this;
that.$API.ecm.event.cateAgg.req(that.cateAggForm).then(res => {
@ -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)//ab
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;
},
//