Merge branch 'ehs' of https://e.coding.net/ctcdevteam/ehs/ehs_web into ehs
This commit is contained in:
commit
4349b634dd
|
@ -1,8 +1,10 @@
|
|||
<template>
|
||||
<el-drawer
|
||||
id="mapDrawer"
|
||||
:title="channelName+'位置标记'"
|
||||
v-model="visible"
|
||||
destroy-on-close
|
||||
:size="'80%'"
|
||||
@closed="closeDrawer"
|
||||
>
|
||||
<el-form
|
||||
|
@ -193,14 +195,12 @@
|
|||
//表单提交方法
|
||||
submit() {
|
||||
let that = this;
|
||||
/*let item = this.form.location;
|
||||
let tool = new jsmap.JSMapCoordTool(window.map);
|
||||
let coordinate = {x:item[0],y:item[1],z:item.z};
|
||||
let pixel = tool.mapToScreenCoordinate(coordinate);
|
||||
that.form.location = pixel;*/
|
||||
this.form.code = this.channelCode;
|
||||
this.form.type = this.channelType;
|
||||
this.form.name = this.channelName;
|
||||
let item = this.form.location;
|
||||
console.log(this.form.location);
|
||||
that.form.code = that.channelCode;
|
||||
that.form.type = that.channelType;
|
||||
that.form.name = that.channelName;
|
||||
that.form.location = {x:item[0],y:item[1],z:item[2]};
|
||||
that.$API.am.tdevice.labelLocation.req(that.form)
|
||||
.then(res => {
|
||||
that.isSaveing = false;
|
||||
|
@ -217,6 +217,8 @@
|
|||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<style scoped>
|
||||
.el-drawer.open{
|
||||
width: 70%!important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -327,7 +327,13 @@
|
|||
<div class="simple-btn-bg alarm-btn">需充电卡片0人</div>
|
||||
</div>
|
||||
<div class="info-body">
|
||||
<el-table :data="areaList" style="width: 100%" highlight-current-row class="bigScreenTable">
|
||||
<el-table
|
||||
:data="areaList"
|
||||
style="width: 100%"
|
||||
highlight-current-row
|
||||
class="bigScreenTable"
|
||||
@row-click="areaRowClick"
|
||||
>
|
||||
<el-table-column label="区域" prop="name"></el-table-column>
|
||||
<el-table-column label="当前人数" prop="count_people"></el-table-column>
|
||||
</el-table>
|
||||
|
@ -342,7 +348,18 @@
|
|||
@node-click="groupClick"
|
||||
></el-tree>-->
|
||||
</div>
|
||||
|
||||
<div class="alarm-detail-info left_arrow" v-if="areaDetail">
|
||||
<div class="simple-title">
|
||||
<div><span>区域统计</span></div>
|
||||
<span class="icon-close" @click="areaDetail=false"></span>
|
||||
</div>
|
||||
<div class="detail-content">
|
||||
<div class="content-head">
|
||||
</div>
|
||||
<div class="content-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--切换-->
|
||||
|
@ -701,7 +718,7 @@
|
|||
<!--风险区域-->
|
||||
<div class="screen-risk" v-if="screenRisk">
|
||||
<div class="simple-title">
|
||||
<div>区域风险详情</div>
|
||||
<div>风险区域详情</div>
|
||||
<div class="simple-btn" @click="closeScreenRisk">关闭</div>
|
||||
</div>
|
||||
<div class="risk-content">
|
||||
|
@ -818,6 +835,7 @@
|
|||
countIndex: '2',
|
||||
markList: [false, false, false, false, false, false, false],
|
||||
autoRun: false,
|
||||
areaDetail: false,
|
||||
screenJob: false,
|
||||
screenUser: false,
|
||||
screenRisk: false,
|
||||
|
@ -934,7 +952,6 @@
|
|||
this.polygonMarkerLayers();//危险作业
|
||||
this.speakersMaskerLayers();//喇叭
|
||||
this.jobDomMarkerLayers();//危险作业图片
|
||||
// let compassControl = new jsmap.JSMapGestureController(map);
|
||||
let compassControl = new jsmap.JSCompassControl({
|
||||
position: jsmap.JSControlPosition.LEFT_TOP,
|
||||
offset: {
|
||||
|
@ -1058,7 +1075,7 @@
|
|||
this.getAreas();//区域/风险区域$$
|
||||
this.getGroup();//部门$$
|
||||
//右上展示数据
|
||||
this.getVchannels();//摄像头$$
|
||||
// this.getVchannels();//摄像头$$
|
||||
this.getDangers();//危险作业$$
|
||||
// this.getRisks();//风险区域$$
|
||||
this.getSpeakers();//喇叭$$
|
||||
|
@ -1069,8 +1086,12 @@
|
|||
this.getWarnings();//报警统计$$
|
||||
this.getAreas();//区域*/
|
||||
},3000)
|
||||
|
||||
},
|
||||
methods: {
|
||||
areaRowClick(){
|
||||
this.areaDetail = true;
|
||||
},
|
||||
//岗位
|
||||
getAllPost(){
|
||||
this.$API.system.post.list.req({page:0}).then(res=>{
|
||||
|
@ -1099,7 +1120,7 @@
|
|||
arr.push(obj)
|
||||
}
|
||||
this.postList =arr;
|
||||
console.log(arr)
|
||||
// console.log(arr)
|
||||
})
|
||||
},
|
||||
//人员统计
|
||||
|
@ -1166,7 +1187,7 @@
|
|||
this.userList = res.filter(item => {
|
||||
return item.my_info.employee
|
||||
});
|
||||
console.log(this.userList)
|
||||
// console.log(this.userList)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -1197,19 +1218,19 @@
|
|||
if (res.err_msg) {
|
||||
} else {
|
||||
this.group = genTree(res);
|
||||
console.log(this.group);
|
||||
// console.log(this.group);
|
||||
}
|
||||
});
|
||||
},
|
||||
//选择部门
|
||||
groupClick(data) {
|
||||
console.log(data);
|
||||
// console.log(data);
|
||||
},
|
||||
//获取人员详细信息
|
||||
showUserDetail() {
|
||||
this.screenUserDetail = true;
|
||||
this.$API.hrm.employee.item.req(this.screenUserItem.id).then(res=>{
|
||||
console.log(res);
|
||||
// console.log(res);
|
||||
this.screenUserItemDetail = res;
|
||||
})
|
||||
},
|
||||
|
@ -1227,70 +1248,79 @@
|
|||
},
|
||||
//风险区域layer
|
||||
riskMaskerLayers() {
|
||||
this.riskMarkerLayer = new jsmap.JSBoxMarkerLayer({
|
||||
let that = this;
|
||||
that.riskMarkerLayer = new jsmap.JSBoxMarkerLayer({
|
||||
minimumLevel: 3,
|
||||
maxmumLevel: 22,
|
||||
show: false
|
||||
});
|
||||
window.map.addLayer(this.riskMarkerLayer);
|
||||
this.showRiskMarkers();
|
||||
window.map.addLayer(that.riskMarkerLayer);
|
||||
that.showRiskMarkers();
|
||||
},
|
||||
//摄像头layer
|
||||
cameraMaskerLayers() {//图标文字
|
||||
this.cameraMaskerLayer = new jsmap.JSIconTextMarkerLayer({
|
||||
let that = this;
|
||||
that.cameraMaskerLayer = new jsmap.JSIconTextMarkerLayer({
|
||||
minimumLevel: 3,
|
||||
maxmumLevel: 22,
|
||||
show: false
|
||||
});
|
||||
window.map.addLayer(this.cameraMaskerLayer);
|
||||
this.showCameraMarkers();
|
||||
window.map.addLayer(that.cameraMaskerLayer);
|
||||
debugger;
|
||||
console.log(that.cameraMaskerLayer);
|
||||
that.getVchannels();
|
||||
},
|
||||
//监控视频播放
|
||||
domMarkerLayers() {
|
||||
this.domMarkerLayer = new jsmap.JSDomMarkerLayer({
|
||||
let that = this;
|
||||
that.domMarkerLayer = new jsmap.JSDomMarkerLayer({
|
||||
minimumLevel: 3,
|
||||
maxmumLevel: 22,
|
||||
show: true
|
||||
});
|
||||
window.map.addLayer(this.domMarkerLayer);
|
||||
window.map.addLayer(that.domMarkerLayer);
|
||||
},
|
||||
jobDomMarkerLayers() {
|
||||
this.jobDomMarkerLayer = new jsmap.JSDomMarkerLayer({
|
||||
let that = this;
|
||||
that.jobDomMarkerLayer = new jsmap.JSDomMarkerLayer({
|
||||
minimumLevel: 3,
|
||||
maxmumLevel: 22,
|
||||
show: false
|
||||
});
|
||||
window.map.addLayer(this.jobDomMarkerLayer);
|
||||
this.showJobDomMarkers();
|
||||
window.map.addLayer(that.jobDomMarkerLayer);
|
||||
that.showJobDomMarkers();
|
||||
},
|
||||
//员工标记layer
|
||||
userMaskerLayers() {//图标文字
|
||||
this.userMaskerLayer = new jsmap.JSIconTextMarkerLayer({
|
||||
let that = this;
|
||||
that.userMaskerLayer = new jsmap.JSIconTextMarkerLayer({
|
||||
minimumLevel: 3,
|
||||
maxmumLevel: 22,
|
||||
show: false
|
||||
});
|
||||
window.map.addLayer(this.userMaskerLayer);
|
||||
window.map.addLayer(that.userMaskerLayer);
|
||||
},
|
||||
//喇叭layer
|
||||
speakersMaskerLayers() {//消防物资
|
||||
this.materialsMaskerLayer = new jsmap.JSIconTextMarkerLayer({
|
||||
let that = this;
|
||||
that.materialsMaskerLayer = new jsmap.JSIconTextMarkerLayer({
|
||||
minimumLevel: 3,
|
||||
maxmumLevel: 22,
|
||||
show: false
|
||||
});
|
||||
window.map.addLayer(this.materialsMaskerLayer);
|
||||
window.map.addLayer(that.materialsMaskerLayer);
|
||||
this.showSpeakersMarkers();
|
||||
},
|
||||
//危险作业Layer
|
||||
polygonMarkerLayers() {//危险作业
|
||||
this.polygonMaskerLayer = new jsmap.JSPolygonMarkerLayer({
|
||||
let that = this;
|
||||
that.polygonMaskerLayer = new jsmap.JSPolygonMarkerLayer({
|
||||
minimumLevel: 3,
|
||||
maxmumLevel: 22,
|
||||
show: false
|
||||
});
|
||||
window.map.addLayer(this.polygonMaskerLayer);
|
||||
this.showPolygonMarkers();
|
||||
window.map.addLayer(that.polygonMaskerLayer);
|
||||
that.showPolygonMarkers();
|
||||
},
|
||||
//风险区域
|
||||
showRiskMarkers() {
|
||||
|
@ -1360,14 +1390,14 @@
|
|||
this.pointMarkerLayer.addMarker(pointMarker);
|
||||
},*/
|
||||
//摄像头
|
||||
showCameraMarkers() {
|
||||
showCameraMarkers(list) {
|
||||
let that = this;
|
||||
let iconTextMarker = null;
|
||||
that.Vchannels.forEach(item => {
|
||||
list.forEach(item => {
|
||||
let cameraMarker = null;
|
||||
let pixel = item.my_info.location;
|
||||
iconTextMarker = new jsmap.JSIconTextMarker({
|
||||
cameraMarker = new jsmap.JSIconTextMarker({
|
||||
id: item.channelCode,
|
||||
position: {x: pixel[0], y: pixel[1], z: pixel[2]}, //坐标
|
||||
position: {x: pixel.x, y: pixel.y, z: pixel.z}, //坐标
|
||||
floorId: 1, //楼层id,默认为1(地面)
|
||||
image: "/img/camera.svg",
|
||||
text: '摄像头',
|
||||
|
@ -1384,20 +1414,18 @@
|
|||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
||||
nearFarScale: new jsmap.JSNearFarScale(0.0, 1, 500, 1),
|
||||
show: true,
|
||||
callback: (marker) => {
|
||||
// iconTextMarker.jump();标注跳动
|
||||
console.log(marker);
|
||||
callback: () => {
|
||||
}
|
||||
});
|
||||
that.cameraMaskerLayer.addMarker(iconTextMarker);
|
||||
debugger;
|
||||
console.log(that.cameraMaskerLayer);
|
||||
that.cameraMaskerLayer.addMarker(cameraMarker);
|
||||
})
|
||||
|
||||
},
|
||||
//人员
|
||||
showUserMarkers() {
|
||||
let that = this;
|
||||
let iconTextMarker = null,iconTextMarker1 = null;
|
||||
debugger;
|
||||
let iconTextMarker = null;
|
||||
if(that.userList.length>0){
|
||||
let employee_ = that.userList[0].my_info.employee_;
|
||||
iconTextMarker = new jsmap.JSIconTextMarker({
|
||||
|
@ -1426,9 +1454,26 @@
|
|||
return employee_
|
||||
}
|
||||
});
|
||||
|
||||
that.userMaskerLayer.addMarker(iconTextMarker);
|
||||
setTimeout(function () {
|
||||
console.log(that.userMaskerLayer);
|
||||
that.userMaskerLayer.updateMarkerPosition(iconTextMarker,{
|
||||
floorId:1,
|
||||
position: {x:114.62923138539462, y:38.8133418942642, z:0},
|
||||
animate: true
|
||||
});//动画效果,持续时间一秒
|
||||
},3000);
|
||||
setTimeout(function () {
|
||||
console.log(that.userMaskerLayer);
|
||||
that.userMaskerLayer.updateMarkerPosition(iconTextMarker,{
|
||||
floorId:1,
|
||||
position: {x:114.6315404372349, y: 38.813557855009435, z:0},
|
||||
animate: true
|
||||
});//动画效果,持续时间一秒
|
||||
},6000);
|
||||
debugger;
|
||||
let employee_1 = that.userList[1].my_info.employee_;
|
||||
/*let employee_1 = that.userList[1].my_info.employee_;
|
||||
iconTextMarker1 = new jsmap.JSIconTextMarker({
|
||||
id: that.userList[1].my_info.code,
|
||||
position: {x: 114.62923138539462, y: 38.8133418942642, z: 0}, //坐标
|
||||
|
@ -1456,66 +1501,15 @@
|
|||
}
|
||||
});
|
||||
that.userMaskerLayer.addMarker(iconTextMarker1);
|
||||
}else{
|
||||
setTimeout(function () {
|
||||
let employee_ = that.userList[0].my_info.employee_;
|
||||
iconTextMarker = new jsmap.JSIconTextMarker({
|
||||
id: that.userList[0].my_info.code,
|
||||
position: {x: 114.6315404372349, y: 38.813557855009435, z: 0}, //坐标
|
||||
floorId: 1, //楼层id,默认为1(地面)
|
||||
image: "/img/user.png",
|
||||
text: employee_.name,
|
||||
font: '10px sans-serif',
|
||||
fontColor: '#ffffff',
|
||||
imageHeight: 25,
|
||||
imageWidth: 25,
|
||||
backgroundColor: 'rgba(0,0,0,0.3)',
|
||||
backgroundRadius: 1,
|
||||
backgroundStrokeColor: 'rgba(0,0,0,0.3)',
|
||||
backgroundStrokeWidth: 1,
|
||||
iconTextType: jsmap.JSIconTextType.TOPTEXT_BOTTOMICON,
|
||||
allowPicking: true,
|
||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
||||
nearFarScale: new jsmap.JSNearFarScale(0.0, 1, 500, 1),
|
||||
show: true,
|
||||
properties: {
|
||||
employee: employee_
|
||||
},
|
||||
callback: (marker) => {
|
||||
return employee_
|
||||
}
|
||||
});
|
||||
that.userMaskerLayer.addMarker(iconTextMarker);
|
||||
that.userMaskerLayer.updateMarkerPosition(jsmap.JSIconTextMarker,{
|
||||
floorId:1,
|
||||
position: {x:114.6315404372349, y:38.813557855009435, z:0},
|
||||
animate: true
|
||||
});//动画效果,持续时间一秒
|
||||
|
||||
let employee_1 = that.userList[1].my_info.employee_;
|
||||
iconTextMarker1 = new jsmap.JSIconTextMarker({
|
||||
id: that.userList[1].my_info.code,
|
||||
position: {x: 114.62923138539462, y: 38.8133418942642, z: 0}, //坐标
|
||||
floorId: 1, //楼层id,默认为1(地面)
|
||||
image: "/img/user.png",
|
||||
text: employee_1.name,
|
||||
font: '10px sans-serif',
|
||||
fontColor: '#ffffff',
|
||||
imageHeight: 25,
|
||||
imageWidth: 25,
|
||||
backgroundColor: 'rgba(0,0,0,0.3)',
|
||||
backgroundRadius: 1,
|
||||
backgroundStrokeColor: 'rgba(0,0,0,0.3)',
|
||||
backgroundStrokeWidth: 1,
|
||||
iconTextType: jsmap.JSIconTextType.TOPTEXT_BOTTOMICON,
|
||||
allowPicking: true,
|
||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
||||
nearFarScale: new jsmap.JSNearFarScale(0.0, 1, 500, 1),
|
||||
show: true,
|
||||
properties: {
|
||||
employee: employee_1
|
||||
},
|
||||
callback: (marker) => {
|
||||
return employee_1
|
||||
}
|
||||
});
|
||||
that.userMaskerLayer.addMarker(iconTextMarker1);
|
||||
},3000)
|
||||
},3000)*/
|
||||
}else{
|
||||
}
|
||||
/*that.userList.forEach(item => {
|
||||
if (item.my_info.code) {
|
||||
|
@ -1760,11 +1754,13 @@
|
|||
},
|
||||
//获取摄像头列表
|
||||
getVchannels() {
|
||||
this.$API.am.video.list.req(this.params).then(res => {
|
||||
let that = this;
|
||||
this.$API.am.video.list.req(that.params).then(res => {
|
||||
if (res.err_msg) {
|
||||
this.$message.error(res.err_msg);
|
||||
} else {
|
||||
this.Vchannels = res.pageData;
|
||||
that.Vchannels = res.pageData;
|
||||
that.showCameraMarkers(res.pageData);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue