change
This commit is contained in:
parent
8c8eeeda69
commit
9ea3cb58a9
|
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1661834700150" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8645" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 539.89a113.27 113.27 0 1 0 113.27 113.27A113.4 113.4 0 0 0 512 539.89z" fill="#1d7ef3" p-id="8646"></path><path d="M755.57 19H268.14a61.78 61.78 0 0 0-61.78 61.78v861.44a61.78 61.78 0 0 0 61.78 61.78h487.43a61.78 61.78 0 0 0 61.78-61.78V80.78A61.78 61.78 0 0 0 755.57 19zM512 218.12a51.49 51.49 0 1 1-51.49 51.49A51.49 51.49 0 0 1 512 218.12z m0 610.1c-96.53 0-175.06-78.53-175.06-175.06S415.47 478.11 512 478.11s175.06 78.53 175.06 175.06S608.53 828.22 512 828.22z" fill="#1d7ef3" p-id="8647"></path></svg>
|
||||||
|
After Width: | Height: | Size: 843 B |
|
|
@ -42,6 +42,7 @@ export default {
|
||||||
isSaveing: false,
|
isSaveing: false,
|
||||||
coordinates: {
|
coordinates: {
|
||||||
floorNo: 'Floor1',
|
floorNo: 'Floor1',
|
||||||
|
floorId: 1,
|
||||||
railName: '',
|
railName: '',
|
||||||
railType: 1,//1:多边形;0表示圆形
|
railType: 1,//1:多边形;0表示圆形
|
||||||
mapType: 1,//点位信息有经纬度则为2,有xy则为1
|
mapType: 1,//点位信息有经纬度则为2,有xy则为1
|
||||||
|
|
@ -81,14 +82,9 @@ export default {
|
||||||
imageryProvider: jsmap.JSImageryProviderType.IMAGE_TDT,
|
imageryProvider: jsmap.JSImageryProviderType.IMAGE_TDT,
|
||||||
backgroundColor: '#3798ff', //背景颜色
|
backgroundColor: '#3798ff', //背景颜色
|
||||||
viewOptions: {
|
viewOptions: {
|
||||||
//屏幕中心坐标
|
|
||||||
center: { x: 114.63059258861512, y: 38.81407163905287, z: 1 },
|
center: { x: 114.63059258861512, y: 38.81407163905287, z: 1 },
|
||||||
// center: {x:120,y:30,z:10},
|
|
||||||
//相机距屏幕中心点距离(单位m)
|
|
||||||
distance: 400,
|
distance: 400,
|
||||||
// 旋转角(单位°)
|
|
||||||
rotate: 0,
|
rotate: 0,
|
||||||
//倾斜角(单位°)
|
|
||||||
tilt: 45,
|
tilt: 45,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -106,6 +102,7 @@ export default {
|
||||||
console.log('add', feature);
|
console.log('add', feature);
|
||||||
console.log(feature.properties);//type:POLYGON;id:"";name:"";floorNo:"";floorId:""
|
console.log(feature.properties);//type:POLYGON;id:"";name:"";floorNo:"";floorId:""
|
||||||
console.log(feature.geometry);//feature.geometry.coordinates:[[],[]]面数组
|
console.log(feature.geometry);//feature.geometry.coordinates:[[],[]]面数组
|
||||||
|
this.coordinates.floorId = feature.properties.floorId;
|
||||||
this.coordinates.floorNo = feature.properties.floorNo == '室外' ? 'Floor1' : feature.properties.floorNo;
|
this.coordinates.floorNo = feature.properties.floorNo == '室外' ? 'Floor1' : feature.properties.floorNo;
|
||||||
// this.coordinates.floorId = feature.properties.floorId;
|
// this.coordinates.floorId = feature.properties.floorId;
|
||||||
that.points = feature.geometry.coordinates[0];
|
that.points = feature.geometry.coordinates[0];
|
||||||
|
|
@ -125,7 +122,6 @@ export default {
|
||||||
});
|
});
|
||||||
window.map.addControl(drawTool2);
|
window.map.addControl(drawTool2);
|
||||||
if (that.areaPoints.length > 2) {
|
if (that.areaPoints.length > 2) {
|
||||||
debugger;
|
|
||||||
that.areaMarkerLayers();
|
that.areaMarkerLayers();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -146,7 +142,9 @@ export default {
|
||||||
closeDrawer() {
|
closeDrawer() {
|
||||||
this.$emit('closed');
|
this.$emit('closed');
|
||||||
},
|
},
|
||||||
|
//展示已有围栏
|
||||||
areaMarkerLayers() {
|
areaMarkerLayers() {
|
||||||
|
debugger;
|
||||||
let that = this;
|
let that = this;
|
||||||
let areaPoints = [];
|
let areaPoints = [];
|
||||||
that.areaPoints.forEach(item => {
|
that.areaPoints.forEach(item => {
|
||||||
|
|
@ -161,7 +159,6 @@ export default {
|
||||||
color: 'rgba(0,0,255,.44)',//填充颜色
|
color: 'rgba(0,0,255,.44)',//填充颜色
|
||||||
strokeColor: 'rgba(0,0,255,.44)',//边线颜色
|
strokeColor: 'rgba(0,0,255,.44)',//边线颜色
|
||||||
depthTest: false,//是否开启深度检测
|
depthTest: false,//是否开启深度检测
|
||||||
// material: new jsmap.JSWaterMaterial(),
|
|
||||||
allowPicking: true,
|
allowPicking: true,
|
||||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
||||||
properties: {
|
properties: {
|
||||||
|
|
@ -177,24 +174,15 @@ export default {
|
||||||
submit() {
|
submit() {
|
||||||
let that = this;
|
let that = this;
|
||||||
let pointXY = [];
|
let pointXY = [];
|
||||||
console.log(that.points)
|
|
||||||
// let tool = new jsmap.JSMapCoordTool(window.map);
|
|
||||||
// let coordinate = { x: 114.63059258861512, y: 38.81407163905287 };
|
|
||||||
// let pixel = tool.mapToScreenCoordinate(coordinate);
|
|
||||||
debugger;
|
|
||||||
let points = that.points;
|
let points = that.points;
|
||||||
if (points.length > 2) {
|
if (points.length > 2) {
|
||||||
that.isSaveing = true;
|
that.isSaveing = true;
|
||||||
that.coordinates.color = 'rgba(255,0,0,.4)';
|
that.coordinates.color = 'rgba(255,0,0,.4)';
|
||||||
points.forEach(item => {
|
points.forEach(item => {
|
||||||
let pixel = { x: parseFloat(item[0]), y: parseFloat(item[1]) };
|
let pixel = { x: parseFloat(item[0]), y: parseFloat(item[1]) };
|
||||||
// let zuobiao = tool.screenToMapCoordinate(pixel);
|
|
||||||
// console.log(zuobiao)
|
|
||||||
pointXY.push(pixel);
|
pointXY.push(pixel);
|
||||||
});
|
});
|
||||||
|
|
||||||
that.coordinates.polygon.points = pointXY;
|
that.coordinates.polygon.points = pointXY;
|
||||||
// that.coordinates.polygon.points = points;
|
|
||||||
that.$API.am.area.bindRail.req(that.areaId, that.coordinates)
|
that.$API.am.area.bindRail.req(that.areaId, that.coordinates)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
that.isSaveing = false;
|
that.isSaveing = false;
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,8 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handlePosition(row) {
|
handlePosition(row) {
|
||||||
|
debugger;
|
||||||
|
console.log(row)
|
||||||
this.channelId = row.my_info.id ? row.my_info.id : null;
|
this.channelId = row.my_info.id ? row.my_info.id : null;
|
||||||
this.channelArea = row.my_info.area ? row.my_info.area : '';
|
this.channelArea = row.my_info.area ? row.my_info.area : '';
|
||||||
this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
|
this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
|
||||||
|
|
|
||||||
|
|
@ -154,8 +154,10 @@ export default {
|
||||||
console.log(feature.properties);//type:POINT;id:"";name:"";floorNo:"";floorId:""
|
console.log(feature.properties);//type:POINT;id:"";name:"";floorNo:"";floorId:""
|
||||||
console.log(feature.geometry);//type:POINT;coordinates:[114.63028499839209,38.81195080123784,0]
|
console.log(feature.geometry);//type:POINT;coordinates:[114.63028499839209,38.81195080123784,0]
|
||||||
let floorNo = feature.properties.floorNo=='室外'?'Floor1':feature.properties.floorNo;
|
let floorNo = feature.properties.floorNo=='室外'?'Floor1':feature.properties.floorNo;
|
||||||
|
let floorId = feature.properties.floorId;
|
||||||
this.form.location = feature.geometry.coordinates;
|
this.form.location = feature.geometry.coordinates;
|
||||||
this.form.location.push(floorNo);
|
this.form.location.push(floorNo);
|
||||||
|
this.form.location.push(floorId);
|
||||||
},
|
},
|
||||||
//移除相应点的回调,返回相应点信息
|
//移除相应点的回调,返回相应点信息
|
||||||
removeCallback: (feature) => {
|
removeCallback: (feature) => {
|
||||||
|
|
@ -190,7 +192,7 @@ export default {
|
||||||
submit() {
|
submit() {
|
||||||
let that = this;
|
let that = this;
|
||||||
let item = this.form.location;
|
let item = this.form.location;
|
||||||
that.form.location = { x: item[0], y: item[1], z: item[2] ,floorNo:item[3]};
|
that.form.location = { x: item[0], y: item[1], z: item[2] ,floorNo:item[3],floorId:item[4]};
|
||||||
that.$API.am.tdevice.labelLocation.req(that.channelId, that.form)
|
that.$API.am.tdevice.labelLocation.req(that.channelId, that.form)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
that.isSaveing = false;
|
that.isSaveing = false;
|
||||||
|
|
|
||||||
|
|
@ -22,26 +22,22 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="screen-check-content hoverPointer" @click="markerClick(1)">
|
<div class="screen-check-content hoverPointer" @click="markerClick(1)">
|
||||||
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[1] }"></span>
|
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[1] }"></span>
|
||||||
<span class="box-text">车间名称</span>
|
<span class="box-text">摄像头</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="screen-check-content hoverPointer" @click="markerClick(2)">
|
<div class="screen-check-content hoverPointer" @click="markerClick(2)">
|
||||||
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[2] }"></span>
|
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[2] }"></span>
|
||||||
<span class="box-text">摄像头</span>
|
<span class="box-text">喇叭</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="screen-check-content hoverPointer" @click="markerClick(3)">
|
<div class="screen-check-content hoverPointer" @click="markerClick(3)">
|
||||||
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[3] }"></span>
|
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[3] }"></span>
|
||||||
<span class="box-text">喇叭</span>
|
<span class="box-text">危险作业</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="screen-check-content hoverPointer" @click="markerClick(4)">
|
<div class="screen-check-content hoverPointer" @click="markerClick(4)">
|
||||||
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[4] }"></span>
|
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[4] }"></span>
|
||||||
<span class="box-text">危险作业</span>
|
<span class="box-text">风险区域</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="screen-check-content hoverPointer" @click="markerClick(5)">
|
<div class="screen-check-content hoverPointer" @click="markerClick(5)">
|
||||||
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[5] }"></span>
|
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[5] }"></span>
|
||||||
<span class="box-text">风险区域</span>
|
|
||||||
</div>
|
|
||||||
<div class="screen-check-content hoverPointer" @click="markerClick(6)">
|
|
||||||
<span class="box-btn box-uncheck" :class="{ 'box-check': markList[6] }"></span>
|
|
||||||
<span class="box-text">人员</span>
|
<span class="box-text">人员</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="caret-dropdown">
|
<div class="caret-dropdown">
|
||||||
|
|
@ -762,7 +758,7 @@ export default {
|
||||||
dropIndex: '1',
|
dropIndex: '1',
|
||||||
countIndex: '2',
|
countIndex: '2',
|
||||||
areaShowType: '1',
|
areaShowType: '1',
|
||||||
markList: [false, false, false, false, false, false, false],
|
markList: [false, false, false, false, false, false],
|
||||||
autoRun: false,
|
autoRun: false,
|
||||||
tracking: false,
|
tracking: false,
|
||||||
areaDetail: false,
|
areaDetail: false,
|
||||||
|
|
@ -820,7 +816,7 @@ export default {
|
||||||
data: {
|
data: {
|
||||||
channelId: "",
|
channelId: "",
|
||||||
streamType: "2",
|
streamType: "2",
|
||||||
type: "flv"
|
type: "flv",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
code: 'video_realtime'
|
code: 'video_realtime'
|
||||||
|
|
@ -858,12 +854,13 @@ export default {
|
||||||
document.head.appendChild(scriptInfo)
|
document.head.appendChild(scriptInfo)
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
let that = this;
|
||||||
let date = new Date();
|
let date = new Date();
|
||||||
this.timeNow = date.getDay();
|
that.timeNow = date.getDay();
|
||||||
this.todayDate = this.warningData.params.start_create = this.cateAggForm.start_create = this.$TOOL.dateFormat(new Date(), 'yyyy-MM-dd');
|
that.todayDate = this.warningData.params.start_create = this.cateAggForm.start_create = this.$TOOL.dateFormat(new Date(), 'yyyy-MM-dd');
|
||||||
this.showTime();
|
that.showTime();
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
this.showTime();
|
that.showTime();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
window.map = new jsmap.JSMap({
|
window.map = new jsmap.JSMap({
|
||||||
mapType: jsmap.JSMapType.MAP_3D,
|
mapType: jsmap.JSMapType.MAP_3D,
|
||||||
|
|
@ -871,7 +868,7 @@ export default {
|
||||||
mapServerURL: 'data/map',
|
mapServerURL: 'data/map',
|
||||||
enableShadows: false, //是否开启阴影 默认false
|
enableShadows: false, //是否开启阴影 默认false
|
||||||
enableLighting: false, //是否开发光照 默认false
|
enableLighting: false, //是否开发光照 默认false
|
||||||
showBuildingMarker: false,
|
showBuildingMarker: true,
|
||||||
// showNavigationDisplay: true,
|
// showNavigationDisplay: true,
|
||||||
mapScaleLevelRange: [16, 23],//比例尺级别范围, 16级到23级,默认[1,24]
|
mapScaleLevelRange: [16, 23],//比例尺级别范围, 16级到23级,默认[1,24]
|
||||||
floorControlOptions: {
|
floorControlOptions: {
|
||||||
|
|
@ -898,28 +895,28 @@ export default {
|
||||||
});
|
});
|
||||||
window.map.openMapById('0000');
|
window.map.openMapById('0000');
|
||||||
window.map.on('loadComplete', e => {
|
window.map.on('loadComplete', e => {
|
||||||
this.riskMaskerLayers();//风险区域
|
that.riskMaskerLayers();//风险区域
|
||||||
this.userMaskerLayers();//人员
|
that.userMaskerLayers();//人员
|
||||||
this.cameraMaskerLayers();//摄像头
|
that.cameraMaskerLayers();//摄像头
|
||||||
this.domMarkerLayers();//监控视频
|
that.domMarkerLayers();//监控视频
|
||||||
this.polygonMarkerLayers();//危险作业
|
that.polygonMarkerLayers();//危险作业
|
||||||
this.speakersMaskerLayers();//喇叭
|
that.speakersMaskerLayers();//喇叭
|
||||||
this.jobDomMarkerLayers();//危险作业图片
|
that.jobDomMarkerLayers();//危险作业图片
|
||||||
this.areaMarkerLayers();//危险作业图片
|
that.areaMarkerLayers();//危险作业图片
|
||||||
|
|
||||||
let compassControl = new jsmap.JSCompassControl({
|
let compassControl = new jsmap.JSCompassControl({
|
||||||
position: jsmap.JSControlPosition.LEFT_TOP,
|
position: jsmap.JSControlPosition.LEFT_TOP,
|
||||||
offset: {
|
offset: {
|
||||||
x: 450,
|
x: 420,
|
||||||
y: 70
|
y: 50
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
window.map.addControl(compassControl);
|
window.map.addControl(compassControl);
|
||||||
let zoomControl = new jsmap.JSZoomControl({
|
let zoomControl = new jsmap.JSZoomControl({
|
||||||
position: jsmap.JSControlPosition.LEFT_TOP,
|
position: jsmap.JSControlPosition.LEFT_TOP,
|
||||||
offset: {
|
offset: {
|
||||||
x: 480,
|
x: 450,
|
||||||
y: 60
|
y: 5
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
window.map.addControl(zoomControl);
|
window.map.addControl(zoomControl);
|
||||||
|
|
@ -1006,7 +1003,7 @@ export default {
|
||||||
//人员
|
//人员
|
||||||
that.screenUserItem = item.properties.get("employee");
|
that.screenUserItem = item.properties.get("employee");
|
||||||
that.screenUser = true;
|
that.screenUser = true;
|
||||||
debugger;
|
// debugger;
|
||||||
window.map.flyToMarker(that.userMarker[that.screenUserItem.mac], {
|
window.map.flyToMarker(that.userMarker[that.screenUserItem.mac], {
|
||||||
duration: 1000
|
duration: 1000
|
||||||
})
|
})
|
||||||
|
|
@ -1025,14 +1022,10 @@ export default {
|
||||||
//左侧数据统计
|
//左侧数据统计
|
||||||
this.getManCount();//人员统计$$
|
this.getManCount();//人员统计$$
|
||||||
this.getWarnings();//报警统计$$
|
this.getWarnings();//报警统计$$
|
||||||
this.getAreas();//区域/风险区域$$
|
// this.getAreas();//区域/风险区域$$
|
||||||
this.getGroup();//部门$$
|
this.getGroup();//部门$$
|
||||||
//右上展示数据
|
//右上展示数据
|
||||||
// this.getVchannels();//摄像头$$
|
|
||||||
this.getDangers();//危险作业$$
|
this.getDangers();//危险作业$$
|
||||||
// this.getRisks();//风险区域$$
|
|
||||||
this.getSpeakers();//喇叭$$
|
|
||||||
// this.getAllMen();//人员
|
|
||||||
this.getAllPost();//岗位
|
this.getAllPost();//岗位
|
||||||
this.getWarningTotal();//事件统计
|
this.getWarningTotal();//事件统计
|
||||||
this.getWarningType();//事件类型
|
this.getWarningType();//事件类型
|
||||||
|
|
@ -1140,17 +1133,7 @@ export default {
|
||||||
this.countIndex = index;
|
this.countIndex = index;
|
||||||
this.getManCount();
|
this.getManCount();
|
||||||
},
|
},
|
||||||
//获取喇叭列表
|
|
||||||
getSpeakers() {
|
|
||||||
let that = this;
|
|
||||||
that.$API.am.tdevice.speaker.req().then(res => {
|
|
||||||
if (res.err_msg) {
|
|
||||||
that.$message.error(res.err_msg);
|
|
||||||
} else {
|
|
||||||
that.speakerList = res.rows;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
//获取危险作业
|
//获取危险作业
|
||||||
getDangers() {
|
getDangers() {
|
||||||
let that = this;
|
let that = this;
|
||||||
|
|
@ -1169,7 +1152,7 @@ export default {
|
||||||
if (res.err_msg) {
|
if (res.err_msg) {
|
||||||
} else {
|
} else {
|
||||||
that.areaList = res.results;
|
that.areaList = res.results;
|
||||||
that.showRiskMarkers();
|
that.showRiskMarkers(res.results);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -1194,7 +1177,7 @@ export default {
|
||||||
this.$API.ecm.event.list.req(this.warningData.params).then(res => {
|
this.$API.ecm.event.list.req(this.warningData.params).then(res => {
|
||||||
if (res.err_msg) {
|
if (res.err_msg) {
|
||||||
} else {
|
} else {
|
||||||
debugger;
|
// debugger;
|
||||||
this.warningData.list = res.results.filter(item => {
|
this.warningData.list = res.results.filter(item => {
|
||||||
return item.handle_user === null;
|
return item.handle_user === null;
|
||||||
});
|
});
|
||||||
|
|
@ -1204,7 +1187,7 @@ export default {
|
||||||
},
|
},
|
||||||
//警报类型查询
|
//警报类型查询
|
||||||
warningTypeSelected(id) {
|
warningTypeSelected(id) {
|
||||||
debugger;
|
// debugger;
|
||||||
let that = this;
|
let that = this;
|
||||||
this.warningTypeShow = false;
|
this.warningTypeShow = false;
|
||||||
let params = new Object();
|
let params = new Object();
|
||||||
|
|
@ -1274,8 +1257,6 @@ export default {
|
||||||
show: false
|
show: false
|
||||||
});
|
});
|
||||||
window.map.addLayer(that.cameraMaskerLayer);
|
window.map.addLayer(that.cameraMaskerLayer);
|
||||||
debugger;
|
|
||||||
console.log(that.cameraMaskerLayer);
|
|
||||||
that.getVchannels();
|
that.getVchannels();
|
||||||
},
|
},
|
||||||
//监控视频播放
|
//监控视频播放
|
||||||
|
|
@ -1328,7 +1309,8 @@ export default {
|
||||||
show: false
|
show: false
|
||||||
});
|
});
|
||||||
window.map.addLayer(that.materialsMaskerLayer);
|
window.map.addLayer(that.materialsMaskerLayer);
|
||||||
this.showSpeakersMarkers();
|
//获取喇叭列表
|
||||||
|
this.getSpeakers();
|
||||||
},
|
},
|
||||||
//危险作业Layer
|
//危险作业Layer
|
||||||
polygonMarkerLayers() {//危险作业
|
polygonMarkerLayers() {//危险作业
|
||||||
|
|
@ -1342,118 +1324,127 @@ export default {
|
||||||
that.showPolygonMarkers();
|
that.showPolygonMarkers();
|
||||||
},
|
},
|
||||||
//风险区域
|
//风险区域
|
||||||
showRiskMarkers() {
|
showRiskMarkers(list) {
|
||||||
let that = this;
|
let that = this;
|
||||||
console.log(that.areaList);
|
if(list.length>0){
|
||||||
// debugger;
|
list.forEach(item => {
|
||||||
that.areaList.forEach(item => {
|
let boxMarker = null;
|
||||||
// debugger
|
let pointsList = [], floorId = null;
|
||||||
let pointsList = [], floorId = null;
|
if (item.third_info.xx_rail!==null&&item.third_info.xx_rail!==undefined) {
|
||||||
if (item.third_info.xx_rail!==null&&item.third_info.xx_rail!==undefined) {
|
floorId = item.third_info.xx_rail.detail.floorId;
|
||||||
floorId = item.third_info.xx_rail.detail.floorId;
|
let points = item.third_info.xx_rail.detail.polygon.points;
|
||||||
let points = item.third_info.xx_rail.detail.polygon.points;
|
pointsList = points.map(item => {
|
||||||
pointsList = points.map(item => {
|
let obj = item;
|
||||||
let obj = item;
|
obj.z = 0;
|
||||||
obj.z = 0;
|
return obj
|
||||||
return obj
|
});
|
||||||
});
|
let maskColor = '',strokeColor='';
|
||||||
// debugger;
|
if(item.level===10){
|
||||||
console.log(pointsList);
|
maskColor = 'rgba(0,0,255,.44)';//蓝色
|
||||||
let boxMarker = new jsmap.JSBoxMarker({
|
strokeColor = '#0000ff';
|
||||||
id: item.id,
|
}else if(item.level===20){
|
||||||
position: pointsList,
|
maskColor = 'rgba(255,255,0,0.44)';//黄色
|
||||||
floorId: floorId,//楼层id
|
strokeColor = '#ffff00';
|
||||||
color: 'rgba(255,0,0,0.44)',//颜色
|
}else if(item.level===30){
|
||||||
height: 0,//基底高度
|
maskColor = 'rgba(255,153,0,0.44)';//橙色
|
||||||
stretchHeight: 6,//拉伸高度
|
strokeColor = '#ff9900';
|
||||||
strokeColor: '#ff0000',//边线颜色
|
}else if(item.level===40){
|
||||||
show: true, //是否显示
|
maskColor = 'rgba(255,0,0,0.44)';//红色
|
||||||
// depthTest: Boolean,
|
strokeColor = '#ff0000';
|
||||||
allowPicking: true, //是否允许点击
|
|
||||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),//可见范围
|
|
||||||
callback: (marker) => {
|
|
||||||
// console.log(marker);
|
|
||||||
}
|
}
|
||||||
});
|
boxMarker = new jsmap.JSBoxMarker({
|
||||||
that.riskMarkerLayer.addMarker(boxMarker);
|
id: item.id,
|
||||||
}
|
position: pointsList,
|
||||||
})
|
floorId: floorId,//楼层id
|
||||||
|
color: maskColor,//颜色
|
||||||
|
height: 0,//基底高度
|
||||||
|
stretchHeight: 25,//拉伸高度
|
||||||
|
strokeColor: strokeColor,//边线颜色
|
||||||
|
show: true, //是否显示
|
||||||
|
allowPicking: true, //是否允许点击
|
||||||
|
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),//可见范围
|
||||||
|
|
||||||
var boxMarker1 = new jsmap.JSBoxMarker({
|
});
|
||||||
id: 'box',
|
// debugger;
|
||||||
position: [
|
console.log(that.riskMarkerLayer);
|
||||||
{ x: 114.6284236353879, y: 38.81587979561416, z: 0 },
|
that.riskMarkerLayer.addMarker(boxMarker);
|
||||||
{ x: 114.62920209224112, y: 38.81519905830823, z: 0 },
|
}
|
||||||
{ x: 114.63022009284202, y: 38.81594033572247, z: 0 },
|
})
|
||||||
{ x: 114.62938229018444, y: 38.81656925374177, z: 0 },
|
}
|
||||||
],
|
|
||||||
floorId: 1,//楼层id
|
|
||||||
color: 'rgba(134,255,78,0.44)',//颜色
|
|
||||||
height: 0,//基底高度
|
|
||||||
stretchHeight: 20,//拉伸高度
|
|
||||||
strokeColor: '#87FF4F',//边线颜色
|
|
||||||
show: true, //是否显示
|
|
||||||
depthTest: Boolean,
|
|
||||||
allowPicking: true, //是否允许点击
|
|
||||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),//可见范围
|
|
||||||
callback: (marker) => {
|
|
||||||
// console.log(marker);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.riskMarkerLayer.addMarker(boxMarker1);
|
|
||||||
},
|
},
|
||||||
/*showPointMarkers() {
|
|
||||||
let pointMarker = new jsmap.JSPointMarker({
|
|
||||||
id: 'point1',
|
|
||||||
color: '#00FF00', //填充颜色
|
|
||||||
size: 10, //尺寸
|
|
||||||
position: new jsmap.JSPoint(114.6318495165543, 38.81301151091491, 3), //坐标
|
|
||||||
floorId: 1, //楼层id,默认为1(地面)
|
|
||||||
outlineColor: '#CD5C5C', //边线颜色
|
|
||||||
outlineWidth: 2, //边线宽
|
|
||||||
// depthTest: true, //是否开启深度检测
|
|
||||||
show: true, //是否显示
|
|
||||||
allowPicking: true, //是否允许点击
|
|
||||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000), //可见范围
|
|
||||||
nearFarScale: new jsmap.JSNearFarScale(0.0, 10.0, 500, 0.5), //比例缩放
|
|
||||||
callback: (node) => {
|
|
||||||
// console.log(node);
|
|
||||||
}//回调事件
|
|
||||||
});
|
|
||||||
this.pointMarkerLayer.addMarker(pointMarker);
|
|
||||||
},*/
|
|
||||||
//摄像头
|
//摄像头
|
||||||
showCameraMarkers(list) {
|
showCameraMarkers(list) {
|
||||||
|
debugger;
|
||||||
|
let that = this;
|
||||||
|
if(list.length>0){
|
||||||
|
list.forEach(item => {
|
||||||
|
let cameraMarker = null;
|
||||||
|
let pixel = item.my_info.location;
|
||||||
|
if(pixel.x){
|
||||||
|
cameraMarker = new jsmap.JSIconTextMarker({
|
||||||
|
id: item.channelCode,
|
||||||
|
position: { x: pixel.x, y: pixel.y, z: pixel.z }, //坐标
|
||||||
|
floorId: pixel.floorId, //楼层id,默认为1(地面)
|
||||||
|
image: "/img/camera.svg",
|
||||||
|
text: item.channelName,
|
||||||
|
font: 'lighter 12px 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,
|
||||||
|
callback: () => {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
debugger;
|
||||||
|
console.log(that.cameraMaskerLayer)
|
||||||
|
that.cameraMaskerLayer.addMarker(cameraMarker);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
//喇叭
|
||||||
|
showSpeakersMarkers(list) {
|
||||||
let that = this;
|
let that = this;
|
||||||
list.forEach(item => {
|
list.forEach(item => {
|
||||||
let cameraMarker = null;
|
// debugger;
|
||||||
|
console.log(item)
|
||||||
|
let materialMarker = null;
|
||||||
let pixel = item.my_info.location;
|
let pixel = item.my_info.location;
|
||||||
cameraMarker = new jsmap.JSIconTextMarker({
|
materialMarker = new jsmap.JSIconTextMarker({
|
||||||
id: item.channelCode,
|
id: item.id,
|
||||||
position: { x: pixel.x, y: pixel.y, z: pixel.z }, //坐标
|
position: {x: pixel.x, y: pixel.y, z: pixel.z}, //坐标
|
||||||
floorId: 1, //楼层id,默认为1(地面)
|
floorId: pixel.floorId, //楼层id,默认为1(地面)
|
||||||
image: "/img/camera.svg",
|
image: "/img/sound.svg",
|
||||||
text: '摄像头',
|
text: item.name,
|
||||||
font: '10px sans-serif',
|
font: '10px sans-serif',
|
||||||
fontColor: '#ffffff',
|
fontColor: '#ffffff',
|
||||||
imageHeight: 25,
|
imageHeight: 25,
|
||||||
imageWidth: 25,
|
imageWidth: 25,
|
||||||
backgroundColor: 'rgba(0,0,0,0.3)',
|
// fontStrokeColor: '#1f0fdd',
|
||||||
backgroundRadius: 1,
|
fontStrokeWidth: 1,
|
||||||
backgroundStrokeColor: 'rgba(0,0,0,0.3)',
|
backgroundColor: 'rgba(0,0,0,0.3)',
|
||||||
backgroundStrokeWidth: 1,
|
backgroundRadius: 1,
|
||||||
iconTextType: jsmap.JSIconTextType.TOPTEXT_BOTTOMICON,
|
backgroundStrokeColor: 'rgba(0,0,0,0.3)',
|
||||||
allowPicking: true,
|
backgroundStrokeWidth: 1,
|
||||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
iconTextType: jsmap.JSIconTextType.TOPTEXT_BOTTOMICON,
|
||||||
nearFarScale: new jsmap.JSNearFarScale(0.0, 1, 500, 1),
|
allowPicking: false,
|
||||||
show: true,
|
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
||||||
callback: () => {
|
nearFarScale: new jsmap.JSNearFarScale(0.0, 1, 500, 1),
|
||||||
}
|
show: true
|
||||||
});
|
});
|
||||||
debugger;
|
this.materialsMaskerLayer.addMarker(materialMarker);
|
||||||
console.log(that.cameraMaskerLayer);
|
|
||||||
that.cameraMaskerLayer.addMarker(cameraMarker);
|
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
//人员
|
//人员
|
||||||
showUserMarkers(userList) {
|
showUserMarkers(userList) {
|
||||||
|
|
@ -1566,7 +1557,7 @@ export default {
|
||||||
if (bool !== false) arr.push(arr1[bool]);
|
if (bool !== false) arr.push(arr1[bool]);
|
||||||
}
|
}
|
||||||
let arrList = [arr, list];
|
let arrList = [arr, list];
|
||||||
debugger;
|
// debugger;
|
||||||
console.log(arrList);
|
console.log(arrList);
|
||||||
return arrList;
|
return arrList;
|
||||||
},
|
},
|
||||||
|
|
@ -1619,32 +1610,7 @@ export default {
|
||||||
});
|
});
|
||||||
this.jobDomMarkerLayer.addMarker(domMarker);
|
this.jobDomMarkerLayer.addMarker(domMarker);
|
||||||
},
|
},
|
||||||
//喇叭
|
|
||||||
showSpeakersMarkers() {
|
|
||||||
let materialMarker = new jsmap.JSIconTextMarker({
|
|
||||||
id: 'iconTextMarker',
|
|
||||||
position: { x: 114.6302317964304, y: 38.81315596674133 }, //坐标
|
|
||||||
floorId: 1, //楼层id,默认为1(地面)
|
|
||||||
image: "/img/speaker.png",
|
|
||||||
text: '喇叭1',
|
|
||||||
font: '10px sans-serif',
|
|
||||||
fontColor: '#ffffff',
|
|
||||||
imageHeight: 25,
|
|
||||||
imageWidth: 25,
|
|
||||||
// fontStrokeColor: '#1f0fdd',
|
|
||||||
fontStrokeWidth: 1,
|
|
||||||
backgroundColor: 'rgba(0,0,0,0.3)',
|
|
||||||
backgroundRadius: 1,
|
|
||||||
backgroundStrokeColor: 'rgba(0,0,0,0.3)',
|
|
||||||
backgroundStrokeWidth: 1,
|
|
||||||
iconTextType: jsmap.JSIconTextType.TOPTEXT_BOTTOMICON,
|
|
||||||
allowPicking: false,
|
|
||||||
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
|
|
||||||
nearFarScale: new jsmap.JSNearFarScale(0.0, 1, 500, 1),
|
|
||||||
show: true
|
|
||||||
});
|
|
||||||
this.materialsMaskerLayer.addMarker(materialMarker);
|
|
||||||
},
|
|
||||||
//显示人员类型选项
|
//显示人员类型选项
|
||||||
userSelect() {
|
userSelect() {
|
||||||
this.showUserSelect = !this.showUserSelect
|
this.showUserSelect = !this.showUserSelect
|
||||||
|
|
@ -1707,34 +1673,34 @@ export default {
|
||||||
that.markList[0] = false;
|
that.markList[0] = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// if (that.markList[1]) {
|
||||||
|
// window.map.showBuildingMarker = true;
|
||||||
|
// } else {
|
||||||
|
// window.map.showBuildingMarker = false;
|
||||||
|
// }
|
||||||
if (that.markList[1]) {
|
if (that.markList[1]) {
|
||||||
window.map.showBuildingMarker = true;
|
|
||||||
} else {
|
|
||||||
window.map.showBuildingMarker = false;
|
|
||||||
}
|
|
||||||
if (that.markList[2]) {
|
|
||||||
that.cameraMaskerLayer.show = true;
|
that.cameraMaskerLayer.show = true;
|
||||||
} else {
|
} else {
|
||||||
that.cameraMaskerLayer.show = false;
|
that.cameraMaskerLayer.show = false;
|
||||||
}
|
}
|
||||||
if (that.markList[3]) {
|
if (that.markList[2]) {
|
||||||
that.materialsMaskerLayer.show = true;
|
that.materialsMaskerLayer.show = true;
|
||||||
} else {
|
} else {
|
||||||
that.materialsMaskerLayer.show = false;
|
that.materialsMaskerLayer.show = false;
|
||||||
}
|
}
|
||||||
if (that.markList[4]) {
|
if (that.markList[3]) {
|
||||||
that.jobDomMarkerLayer.show = true;
|
that.jobDomMarkerLayer.show = true;
|
||||||
that.polygonMaskerLayer.show = true;
|
that.polygonMaskerLayer.show = true;
|
||||||
} else {
|
} else {
|
||||||
that.jobDomMarkerLayer.show = false;
|
that.jobDomMarkerLayer.show = false;
|
||||||
that.polygonMaskerLayer.show = false;
|
that.polygonMaskerLayer.show = false;
|
||||||
}
|
}
|
||||||
if (that.markList[5]) {
|
if (that.markList[4]) {
|
||||||
that.riskMarkerLayer.show = true;
|
that.riskMarkerLayer.show = true;
|
||||||
} else {
|
} else {
|
||||||
that.riskMarkerLayer.show = false;
|
that.riskMarkerLayer.show = false;
|
||||||
}
|
}
|
||||||
if (that.markList[6]) {
|
if (that.markList[5]) {
|
||||||
that.userMaskerLayer.show = true;
|
that.userMaskerLayer.show = true;
|
||||||
} else {
|
} else {
|
||||||
that.userMaskerLayer.show = false;
|
that.userMaskerLayer.show = false;
|
||||||
|
|
@ -1743,15 +1709,28 @@ export default {
|
||||||
//获取摄像头列表
|
//获取摄像头列表
|
||||||
getVchannels() {
|
getVchannels() {
|
||||||
let that = this;
|
let that = this;
|
||||||
this.$API.am.video.list.req(that.params).then(res => {
|
debugger;
|
||||||
|
that.$API.am.tdevice.vchannel.req({pageSize:999}).then(res => {
|
||||||
if (res.err_msg) {
|
if (res.err_msg) {
|
||||||
this.$message.error(res.err_msg);
|
that.$message.error(res.err_msg);
|
||||||
} else {
|
} else {
|
||||||
that.Vchannels = res.pageData;
|
that.Vchannels = res.pageData;
|
||||||
that.showCameraMarkers(res.pageData);
|
that.showCameraMarkers(res.pageData);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
//获取喇叭列表
|
||||||
|
getSpeakers() {
|
||||||
|
let that = this;
|
||||||
|
that.$API.am.tdevice.speaker.req().then(res => {
|
||||||
|
if (res.err_msg) {
|
||||||
|
that.$message.error(res.err_msg);
|
||||||
|
} else {
|
||||||
|
that.speakerList = res.rows;
|
||||||
|
that.showSpeakersMarkers(res.rows);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
//报警详情
|
//报警详情
|
||||||
warningItemShow(item) {
|
warningItemShow(item) {
|
||||||
this.screenJob = false;
|
this.screenJob = false;
|
||||||
|
|
@ -1790,7 +1769,7 @@ export default {
|
||||||
},
|
},
|
||||||
//员工列表点击
|
//员工列表点击
|
||||||
userRowClick(row) {
|
userRowClick(row) {
|
||||||
debugger;
|
// debugger;
|
||||||
console.log(row);
|
console.log(row);
|
||||||
let that = this;
|
let that = this;
|
||||||
that.screenUserItem.name = row.my_info.employee_.name;
|
that.screenUserItem.name = row.my_info.employee_.name;
|
||||||
|
|
@ -2471,11 +2450,9 @@ export default {
|
||||||
padding: 0 20px 20px;
|
padding: 0 20px 20px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: rgba(24, 36, 51, .7);
|
background: rgba(24, 36, 51, .7);
|
||||||
|
|
||||||
.basic-head {
|
.basic-head {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|
||||||
.header-tab {
|
.header-tab {
|
||||||
width: 160px;
|
width: 160px;
|
||||||
}
|
}
|
||||||
|
|
@ -2483,7 +2460,6 @@ export default {
|
||||||
|
|
||||||
.basic-info {
|
.basic-info {
|
||||||
min-height: 400px;
|
min-height: 400px;
|
||||||
|
|
||||||
.info-item {
|
.info-item {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
|
|
@ -2769,7 +2745,7 @@ export default {
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
|
|
||||||
.filter-ctrl {
|
.filter-ctrl {
|
||||||
width: 610px;
|
width: 520px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -2798,7 +2774,8 @@ export default {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
transition: .5s;
|
transition: .5s;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
|
max-height: 50vh;
|
||||||
|
overflow-y: scroll;
|
||||||
.drop-content-item {
|
.drop-content-item {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -3096,15 +3073,13 @@ export default {
|
||||||
|
|
||||||
.alarm-detail-info {
|
.alarm-detail-info {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 445px;
|
left: 480px;
|
||||||
top: -73px;
|
top: -73px;
|
||||||
width: 390px;
|
width: 390px;
|
||||||
background: rgba(24, 36, 51, .7);
|
background: rgba(24, 36, 51, .7);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 0 12px 0 12px;
|
padding: 0 12px 0 12px;
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
/*min-height: 400px;*/
|
|
||||||
|
|
||||||
.action-group {
|
.action-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue