diff --git a/src/views/bigScreen/index.vue b/src/views/bigScreen/index.vue
index 2b152bb8..2261a92a 100644
--- a/src/views/bigScreen/index.vue
+++ b/src/views/bigScreen/index.vue
@@ -40,14 +40,14 @@
人员
-
-
+
+
+
+
+ {{item1.voice_msg}}
+
+
+
-
{{ item.cate__name }}
@@ -230,16 +237,6 @@
-
-
+
@@ -717,8 +714,11 @@
事件截图:
-
![]()
-
![]()
+
+
+
+
+
@@ -763,6 +763,7 @@ export default {
timerUser: null,
timerTime: null,
eventTimer:null,
+ timerEventRoll:null,
eventAudioTimer:null,
trackMarker:null,
domMarkerLayer: null,
@@ -797,6 +798,7 @@ export default {
warningDetail: false,
filterCtrlFocus: true,
warningListTotal: 0,
+ heightNum:0,
warningData: {
list: [],
total: 0,
@@ -818,6 +820,7 @@ export default {
warningList: [],//报警事件列表
speakerList: [],//喇叭列表
userList: [],//人员列表
+ allUserList:[],
deptList: [],//部门列表
postList: [
{id:0,name:'全部',label:'全部'},
@@ -893,6 +896,7 @@ export default {
audioIndex:0,
audioList:{},
employeeScroll:0,
+ searchKeyWord:'',
}
},
@@ -1087,7 +1091,8 @@ export default {
let height1 = document.getElementsByClassName('cockpit-count')[0].clientHeight;
let height2 = document.getElementsByClassName('cockpit-alarm')[0].clientHeight;
let height3 = document.getElementsByClassName('area-simple-title')[0].clientHeight;
- let domHeight = pageHeight - height1 - height2 - 84;
+ debugger;
+ let domHeight = pageHeight - height1 - 310 - 84;
let areaTableHeight = domHeight - height3 - 50;
this.areaTableHeight = areaTableHeight;
document.getElementsByClassName('cockpit-info')[0].style.height = domHeight + 'px';
@@ -1104,43 +1109,71 @@ export default {
this.timerUser = null;
this.timerTime = null;
this.eventTimer = null;
+ this.timerEventRoll = null;
this.eventAudioTimer = null;
- // window.map.destroy();
clearInterval(this.timerUser)//人员
clearInterval(this.timerTime)//时间
clearInterval(this.eventTimer)//时间
+ clearInterval(this.timerEventRoll)//事件
clearInterval(this.eventAudioTimer)//事件
},
methods: {
+ searchOne(keyword){
+ let that = this;
+ that.markList[5] = true;
+ that.userMaskerLayer.show = true;
+ clearInterval(that.timerUser);
+ that.timerUser = setInterval(function () {
+ that.refreshUserMarker();
+ }, 10000)
+ that.userList.filter(item=>{
+ if(item.my_info.employee_.name == keyword||item.mac ==keyword){
+ that.screenUserItem = item.my_info.employee_;
+ that.screenUserItem.mac = item.mac;
+ that.screenUser = true;
+ window.map.flyToMarker(that.userMarker[item.mac], {
+ duration: 1000,
+ range: 200
+ })
+ }
+ })
+ },
handleChange(item, check,item2,item3) {
- // debugger;
- // let that = this;
- // console.log(item);
- // console.log(check);
- // console.log(item2);
- // console.log(item3);
+ let that = this;
+ debugger;
+ console.log(check)
+
this.deptChecked = check.checkedKeys;
this.userParams.depts = check.checkedKeys;
- let obj = {};
- obj.depts = check.checkedKeys;
- that.$API.third.blt.all.req(obj).then(res => {
- debugger;
- console.log('selectedUser:'+res)
- })
- this.refreshUserMarker();
+ // that.userMaskerLayer.removeAllIconTextMark();
+ // this.refreshUserMarker();
},
//人员类型选择
userFilter() {
let that = this;
+ let checkedKeys = that.deptChecked;
+ window.map.removeLayer(that.userMaskerLayer);
+ that.userMaskerLayer = new jsmap.JSIconTextMarkerLayer({
+ minimumLevel: 3,
+ maxmumLevel: 22,
+ show: true
+ });
+ window.map.addLayer(that.userMaskerLayer);
+ let userListNew = [];
+ that.userList.filter(item=>{
+ debugger;
+ console.log(item);
+ if(checkedKeys.indexOf(item.my_info.employee_.belong_dept_)>-1){
+ debugger;
+ userListNew.push(item)
+ }
+ })
+ debugger;
+ that.userList = userListNew;
+ console.log(that.userList)
+ that.showUserMarkers(userListNew);
this.showUserSelect = false;
- this.screenUser = true;
- // that.screenUserItem.name = this.userList[0].my_info.employee_.name;
- // that.screenUserItem.type = this.userList[0].my_info.employee_.type;
- // that.screenUserItem.id = this.userList[0].my_info.employee_.id;
- // that.screenUserItem.photo = this.userList[0].my_info.employee_.photo ? this.userList[0].my_info.employee_.photo : '';
- // that.screenUserItem.post_name = this.userList[0].my_info.employee_.post_name ? this.userList[0].my_info.employee_.post_name : '';
- // that.screenUserItem.belong_dept_name = this.userList[0].my_info.employee_.belong_dept_name ? this.userList[0].my_info.employee_.belong_dept_name : '';
-
+ // this.screenUser = true;
},
audioFinished(){
if(this.audioIndex
{
if (res.err_msg) {
} else {
- // debugger;
- // console.log('00000000000000');
- // console.log(res.results[0].id);
- // console.log(that.audioList.id);
let judge = res.results[0].id==that.audioList.id
- // console.log(judge);
- // console.log('11111111111111');
let item = res.results[0];
if(that.audioSrc!==''){
if(item.id==that.audioList.id){
- // that.music.pause(); //暂停
}else{
- // debugger;
that.audioList = item;
that.audioSrc=item.voice_f;
- // that.music.play();//播放
if(item.location){
window.map.flyToPosition(new jsmap.JSPoint(item.location.longitude, item.location.latitude), { range: 200,duration: 1000 });
}
@@ -1242,17 +1267,36 @@ export default {
},
//获取报警列表
getWarnings() {
+ let that = this;
this.$API.ecm.event.list.req(this.warningData.params).then(res => {
if (res.err_msg) {
} else {
- this.warningData.list = res.results;
- this.warningData.total = res.count;
+ that.warningData.list = res.results;
+ that.warningData.total = res.count;
+ that.eventInterval();
}
})
},
+ eventInterval(){
+ let that = this;
+ if (that.timerEventRoll) {
+ clearInterval(that.timerEventRoll);
+ that.timerEventRoll = null;
+ }
+ that.timerEventRoll = setInterval(function () {
+ that.heightNum+=1;
+ if(that.heightNum>250){
+ that.heightNum=0;
+ document.getElementById('eventScrenItem').style.top = 0;
+ }else{
+ let top = -that.heightNum;
+ document.getElementById('eventScrenItem').style.top = top+'px';
+ }
+ }, 100)
+
+ },
//警报类型查询
warningTypeSelected(id,name) {
- // debugger;
let that = this;
this.warningTypeShow = false;
let params = new Object();
@@ -1267,17 +1311,29 @@ export default {
that.warningData.total = res.count;
}
})
- //获取新数据
},
//区域点击事件
areaRowClick(data) {
let that = this;
that.areaDetail = true;
+ debugger;
+ console.log(data)
that.areaDetailId = data.id;
- this.getAreaOperation();
let points = data.third_info.xx_rail.detail.polygon.points[0];
- window.map.flyToPosition(new jsmap.JSPoint(points.x, points.y, points.z), { range: 200,duration: 1000 });
+ window.map.flyToPosition(new jsmap.JSPoint(points.x, points.y, points.z),
+ { duration:1000,
+ offset:{
+ rotate: 45,
+ tilt: 60,
+ range: 300
+ }
+ });
+ // this.getAreaList();
+ this.getAreaOperation();
+ this.getAreaVchannel();
+ this.getAreaSpeaker();
+ this.getAreaBlt();
},
//区域下的作业
getAreaOperation(){
@@ -1322,7 +1378,6 @@ export default {
let rpartsList=[];
let arr = [];
let children = genTree(res);
- debugger;
console.log(children)
for (let i = 0; i < 5; i++) {
let obj = new Object();
@@ -1443,6 +1498,7 @@ export default {
that.userList = res.filter(item => {
return item.my_info.employee
});
+ that.allUserList = that.userList;
that.showUserMarkers(that.userList);
}
})
@@ -1686,6 +1742,7 @@ export default {
},
//人员
showUserMarkers(userList) {
+ debugger;
let that = this;
//标记图片
let userImage = '';
@@ -1743,10 +1800,15 @@ export default {
that.userMaskerLayer.addMarker(that.userMarker[item.mac]);
})
}
- clearInterval(that.timerUser);
- that.timerUser = setInterval(function () {
- that.refreshUserMarker();
- }, 10000)
+ // if(that.markList[5]){
+ // clearInterval(that.timerUser);
+ // that.timerUser = setInterval(function () {
+ // that.refreshUserMarker();
+ // }, 10000)
+ // }else{
+ // clearInterval(that.timerUser);
+ // }
+
},
//更新人员标记
refreshUserMarker() {
@@ -1764,7 +1826,7 @@ 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.userList = refreshList.concat(addUser);//更新userList
+ that.allUserList = that.userList = refreshList.concat(addUser);//更新userList
subUser.forEach(subUserItem=>{
that.userMaskerLayer.removeMarker(that.userMarker[subUserItem.mac]);//删除离线员工
})
@@ -1957,8 +2019,14 @@ export default {
}
if (that.markList[5]) {
that.userMaskerLayer.show = true;
+ clearInterval(that.timerUser);
+ that.timerUser = setInterval(function () {
+ that.refreshUserMarker();
+ }, 10000)
} else {
that.userMaskerLayer.show = false;
+ clearInterval(that.timerUser);
+ that.timerUser = null;
}
},
@@ -2210,6 +2278,10 @@ export default {
if (this.eventTimer) {
clearInterval(this.eventTimer);
this.eventTimer = null;
+ }
+ if (this.timerEventRoll) {
+ clearInterval(this.timerEventRoll);
+ this.timerEventRoll = null;
}
if (this.eventAudioTimer) {
clearInterval(this.eventAudioTimer);
@@ -3059,27 +3131,31 @@ export default {
}
.alarm-content {
- display: flex;
+ // display: flex;
justify-content: space-between;
height: calc(100% - 50px);
-
+ .alarm-danger {
+ width: 50px;
+ height: 50px;
+ background: url(/public/img/a_danger.png) no-repeat;
+ background-size: 100% 100%;
+ }
.content-left {
width: 160px;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
-
.alarm-danger {
- width: 150px;
- height: 150px;
+ width: 50px;
+ height: 50px;
background: url(/public/img/a_danger.png) no-repeat;
background-size: 100% 100%;
}
}
.content-right {
- width: calc(100% - 130px);
+ width: 100%;
overflow: hidden;
height: fit-content;
@@ -3745,8 +3821,8 @@ export default {
.el-dialog__headerbtn {
position: absolute;
- top: 20px;
- right: 20px;
+ top: 0;
+ right: 0;
padding: 0;
background: 0 0;
border: none;