diff --git a/src/mock/treeData.ts b/src/mock/treeData.ts index bb0f3b1..7a724b0 100644 --- a/src/mock/treeData.ts +++ b/src/mock/treeData.ts @@ -14,9 +14,9 @@ export const treeData = [ title: '顶层沸溢火', point: 1, position: [ - 11660769.28, + 11660771.84, 3692443.52, - 67.69076171875 + 47.9283447265625 ], content: '模拟在密闭建筑物内发生火灾,消防员在高温、浓烟、高噪音的情况下进行火情侦察,寻找被困人员,救出被困人员,灭火抢险等战斗', }, { diff --git a/src/popup/pop.component.vue b/src/popup/pop.component.vue index fd77021..886e0cf 100644 --- a/src/popup/pop.component.vue +++ b/src/popup/pop.component.vue @@ -6,19 +6,21 @@
-
+
+ +
-
顶层沸溢火
+
{{$route.query.title}}
难度:
- 火点:5个 + 火点:{{$route.query.point}}个
@@ -26,13 +28,13 @@ 训练说明
- 模拟在密闭建筑物内发生火灾,消防员在高温、浓烟、高噪音的情况下进行火情侦察,寻找被困人员,救出被困人员,灭火抢险等战斗 + {{$route.query.content}}
训练要点
- 模拟在密闭建筑物内发生火灾,消防员在高温、浓烟、高噪音的情况下进行火情侦察,寻找被困人员,救出被困人员,灭火抢险等战斗 + {{$route.query.mainPoint}}
diff --git a/src/views/base.component.ts b/src/views/base.component.ts index 7414501..64a2722 100644 --- a/src/views/base.component.ts +++ b/src/views/base.component.ts @@ -104,10 +104,10 @@ export default class BaseComponent extends Vue { imagePath:layer.url || layer.urls[item.type], imageSize:[48,48], popupSize:[480,388], - popupOffset:[600,0], + popupOffset:[50,0], autoHidePopupWindow:false, // popupURL:, - lineSize:[2,40], + lineSize:item.hasPop?[0,0]:[2,40], useTextAnimation: false, lineOffset:[24,0], autoHeight:true, @@ -128,7 +128,8 @@ export default class BaseComponent extends Vue { } layer.ids = options.map(item=>item.id); if(layer.showPop){ - this.player.api.marker.showAllPopupWindow() + this.player.api.marker.showPopupWindow(layer.ids) + this.player.api.marker.focus(layer.ids,50,2) } } @@ -136,12 +137,12 @@ export default class BaseComponent extends Vue { }else{ if(layer.selected){ if(layer.showPop){ - this.player.api.marker.showAllPopupWindow() + this.player.api.marker.showPopupWindow(layer.ids) } this.player.api.marker.show(layer.ids) }else{ if(layer.showPop){ - this.player.api.marker.hideAllPopupWindow() + this.player.api.marker.hidePopupWindow(layer.ids) } this.player.api.marker.hide(layer.ids) } diff --git a/src/views/overview.component.ts b/src/views/overview.component.ts index efe3643..eb7c703 100644 --- a/src/views/overview.component.ts +++ b/src/views/overview.component.ts @@ -40,6 +40,7 @@ export default class OverViewComponent extends BaseComponent { public hideAllPanel = false; public viewRightData = {}; + public viewLayer = {} as any; async created(){ // this.currentLayers = this.getCurrentLayers(); @@ -180,6 +181,11 @@ export default class OverViewComponent extends BaseComponent { } //右侧详情点击事件 showDetail(item){ + if(this.currentEvent && this.currentEvent.id !==item.id){ + this.viewLayer[this.currentEvent.id].selected = false; + this.addCustom(this.viewLayer[this.currentEvent.id],true); + this.currentEvent = null; + } if(!this.viewLayer[item.id]){ const data = [] as any; if(item.point>1){ @@ -203,12 +209,19 @@ export default class OverViewComponent extends BaseComponent { value:"fire", popData:item, showPop:true, + selected:true, scale:[3,3,3], urls:[], ids:[], data, } + this.currentEvent = item; + }else{ + this.viewLayer[item.id].selected = !this.viewLayer[item.id].selected; + if(this.viewLayer[item.id].selected){ + this.currentEvent = item; + } } this.addCustom(this.viewLayer[item.id],true); console.log('右侧详情点击事件',item)