提交 c4700a02 作者: 翁进城

fix: 地图视频切换在切换机库或无人机时的处理

上级 b5a93233
...@@ -19,9 +19,13 @@ export default { ...@@ -19,9 +19,13 @@ export default {
data() { data() {
return { return {
showMenu: false, showMenu: false,
activeIndex: -1, activeIndex: -1, // 激活项
}; };
}, },
beforeDestroy(){
console.log('hangar videoMapSwitch beforeDestroy');
this.reset();
},
methods: { methods: {
onMousemove() { onMousemove() {
this.showMenu = true; this.showMenu = true;
...@@ -67,8 +71,13 @@ export default { ...@@ -67,8 +71,13 @@ export default {
} }
}, },
reset() { reset() {
let cesiumParentEl = document.querySelector("#layer-container");
let cesiumEl = document.querySelector(".cesium-viewer"); let cesiumEl = document.querySelector(".cesium-viewer");
// 判断cesium的父元素是否是layer-container来确定当前是否已经切换, 未切换就退出
if(cesiumEl.parentElement.id === 'layer-container'){
return;
}
let cesiumParentEl = document.querySelector("#layer-container");
let uavParentEl = document.querySelector("#playerUavParent"); let uavParentEl = document.querySelector("#playerUavParent");
let uavEl = document.querySelector("#playerUav"); let uavEl = document.querySelector("#playerUav");
let innerParentEl = document.querySelector("#playInnerParent"); let innerParentEl = document.querySelector("#playInnerParent");
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</div> </div>
<div class="left-video-header"> <div class="left-video-header">
<div class="left-video-header__title" @click="listCollapse = false">机库列表</div> <div class="left-video-header__title" @click="openList">机库列表</div>
<div class="nest-name"> <div class="nest-name">
<span class="nest-name__text">{{ hangar.name }}</span> <span class="nest-name__text">{{ hangar.name }}</span>
<span class="nest-name__text">{{ hangar.name }}</span> <span class="nest-name__text">{{ hangar.name }}</span>
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
</div> </div>
</div> </div>
<VideoMapSwitch></VideoMapSwitch> <VideoMapSwitch ref="videoMapSwitch"></VideoMapSwitch>
</div> </div>
</template> </template>
...@@ -54,11 +54,6 @@ export default { ...@@ -54,11 +54,6 @@ export default {
data() { data() {
return { return {
openTask: true, //打开任务 openTask: true, //打开任务
openAIList: false, //打开AI列表
openTraffic: false, //打开交通指引
openFace: false, //打开人脸识别
openPlate: false, //车牌识别
openModeling: false, //打开建模
playerCollapse: false, //收起播放器 playerCollapse: false, //收起播放器
}; };
}, },
...@@ -81,7 +76,6 @@ export default { ...@@ -81,7 +76,6 @@ export default {
watch: { watch: {
hangar(){ hangar(){
this.openTask = false; this.openTask = false;
this.openAIList = false;
this.$nextTick(() => { this.$nextTick(() => {
this.openTask = true; this.openTask = true;
}) })
...@@ -93,52 +87,11 @@ export default { ...@@ -93,52 +87,11 @@ export default {
methods: { methods: {
onClickTask() { onClickTask() {
this.openTask = !this.openTask; this.openTask = !this.openTask;
this.openAIList = false;
this.closeAI();
},
onClickAI() {
this.openTask = false;
this.openAIList = !this.openAIList;
this.closeAI();
},
/**
* 切换AI功能
*/
switchAI(type) {
this.openFace = false;
this.openPlate = false;
this.openTraffic = false;
this.openModeling = false;
switch (type) {
case 0:
this.openFace = !this.openFace;
break;
case 1:
this.openPlate = !this.openPlate;
break;
case 2:
if (this.taskId == null) {
return this.$message.error("暂无绑定任务!");
}
this.openTraffic = !this.openTraffic;
break;
case 3:
this.openModeling = !this.openModeling;
break;
}
},
/**
* 关闭所有ai
*/
closeAI() {
this.openFace = false;
this.openPlate = false;
this.openTraffic = false;
this.openModeling = false;
}, },
openList(){
this.listCollapse = false;
this.$refs.videoMapSwitch.reset();
}
}, },
}; };
</script> </script>
......
...@@ -21,6 +21,10 @@ export default { ...@@ -21,6 +21,10 @@ export default {
activeIndex: -1, activeIndex: -1,
}; };
}, },
beforeDestroy(){
console.log('uav videoMapSwitch beforeDestroy');
this.reset();
},
methods: { methods: {
onMousemove() { onMousemove() {
this.showMenu = true; this.showMenu = true;
...@@ -56,12 +60,17 @@ export default { ...@@ -56,12 +60,17 @@ export default {
} }
}, },
reset() { reset() {
let cesiumParentEl = document.querySelector("#layer-container");
let cesiumEl = document.querySelector(".cesium-viewer"); let cesiumEl = document.querySelector(".cesium-viewer");
// 判断cesium的父元素是否是layer-container来确定当前是否已经切换, 未切换就退出
if(cesiumEl.parentElement.id === 'layer-container'){
return;
}
let cesiumParentEl = document.querySelector("#layer-container");
let uavParentEl = document.querySelector("#uavPlayerParent"); let uavParentEl = document.querySelector("#uavPlayerParent");
let uavEl = document.querySelector("#uavPlayer"); let uavEl = document.querySelector("#uavPlayer");
let uavPlayerWrap = document.querySelector('#uavPlayerWrap'); let uavPlayerWrap = document.querySelector('#uavPlayerWrap');
let uavPlayerParent = uavPlayerWrap.querySelector('.cpt_video'); let uavPlayerParent = uavPlayerWrap?.querySelector('.cpt_video');
cesiumParentEl.innerHTML = ""; cesiumParentEl.innerHTML = "";
uavParentEl.innerHTML = ""; uavParentEl.innerHTML = "";
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
</div> </div>
<TaskList class="task-list" v-if="!useAirway && openTask"></TaskList> <TaskList class="task-list" v-if="!useAirway && openTask"></TaskList>
<AirwayList class="task-list" v-if="useAirway && openTask"></AirwayList> <AirwayList class="task-list" v-if="useAirway && openTask"></AirwayList>
<VideoMapSwitch></VideoMapSwitch> <VideoMapSwitch ref="videoMapSwitch"></VideoMapSwitch>
</div> </div>
</template> </template>
...@@ -57,6 +57,9 @@ export default { ...@@ -57,6 +57,9 @@ export default {
this.openTask = true; this.openTask = true;
}); });
}, },
listCollapse(){
this.$refs.videoMapSwitch.reset();
}
}, },
methods: { methods: {
onClickTask() { onClickTask() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论