feat:调整火焰位置

wuyanfu
吴延福 2023-05-18 14:55:02 +08:00
parent f0de2e4001
commit dc0a11a501
4 changed files with 29 additions and 13 deletions

View File

@ -14,9 +14,9 @@ export const treeData = [
title: '顶层沸溢火', title: '顶层沸溢火',
point: 1, point: 1,
position: [ position: [
11660769.28, 11660771.84,
3692443.52, 3692443.52,
67.69076171875 47.9283447265625
], ],
content: '模拟在密闭建筑物内发生火灾,消防员在高温、浓烟、高噪音的情况下进行火情侦察,寻找被困人员,救出被困人员,灭火抢险等战斗', content: '模拟在密闭建筑物内发生火灾,消防员在高温、浓烟、高噪音的情况下进行火情侦察,寻找被困人员,救出被困人员,灭火抢险等战斗',
}, { }, {

View File

@ -6,19 +6,21 @@
<div class="border l-b"></div> <div class="border l-b"></div>
<div class="content mg-b-20"> <div class="content mg-b-20">
<div class="flow-light-box"> <div class="flow-light-box">
<div class="img-box"></div> <div class="img-box">
<img :src="$route.query.img" alt="">
</div>
</div> </div>
<div class="content col" style="justify-content: center;s"> <div class="content col" style="justify-content: center;s">
<div class="mg-b-5 title">顶层沸溢火</div> <div class="mg-b-5 title">{{$route.query.title}}</div>
<div class="content disable opacity5 mg-b-5"> <div class="content disable opacity5 mg-b-5">
难度 难度
<el-rate <el-rate
v-model="star" v-model="$route.query.rate"
:colors="colors"> :colors="colors">
</el-rate> </el-rate>
</div> </div>
<div class="content disable opacity5"> <div class="content disable opacity5">
火点5 火点{{$route.query.point}}
</div> </div>
</div> </div>
</div> </div>
@ -26,13 +28,13 @@
训练说明 训练说明
</div> </div>
<div class="opacity5 mg-b-20"> <div class="opacity5 mg-b-20">
模拟在密闭建筑物内发生火灾消防员在高温浓烟高噪音的情况下进行火情侦察寻找被困人员救出被困人员灭火抢险等战斗 {{$route.query.content}}
</div> </div>
<div class="mg-b-20 title"> <div class="mg-b-20 title">
训练要点 训练要点
</div> </div>
<div class="opacity5 mg-b-20"> <div class="opacity5 mg-b-20">
模拟在密闭建筑物内发生火灾消防员在高温浓烟高噪音的情况下进行火情侦察寻找被困人员救出被困人员灭火抢险等战斗 {{$route.query.mainPoint}}
</div> </div>
</div> </div>
</template> </template>

View File

@ -104,10 +104,10 @@ export default class BaseComponent extends Vue {
imagePath:layer.url || layer.urls[item.type], imagePath:layer.url || layer.urls[item.type],
imageSize:[48,48], imageSize:[48,48],
popupSize:[480,388], popupSize:[480,388],
popupOffset:[600,0], popupOffset:[50,0],
autoHidePopupWindow:false, autoHidePopupWindow:false,
// popupURL:, // popupURL:,
lineSize:[2,40], lineSize:item.hasPop?[0,0]:[2,40],
useTextAnimation: false, useTextAnimation: false,
lineOffset:[24,0], lineOffset:[24,0],
autoHeight:true, autoHeight:true,
@ -128,7 +128,8 @@ export default class BaseComponent extends Vue {
} }
layer.ids = options.map(item=>item.id); layer.ids = options.map(item=>item.id);
if(layer.showPop){ 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{ }else{
if(layer.selected){ if(layer.selected){
if(layer.showPop){ if(layer.showPop){
this.player.api.marker.showAllPopupWindow() this.player.api.marker.showPopupWindow(layer.ids)
} }
this.player.api.marker.show(layer.ids) this.player.api.marker.show(layer.ids)
}else{ }else{
if(layer.showPop){ if(layer.showPop){
this.player.api.marker.hideAllPopupWindow() this.player.api.marker.hidePopupWindow(layer.ids)
} }
this.player.api.marker.hide(layer.ids) this.player.api.marker.hide(layer.ids)
} }

View File

@ -40,6 +40,7 @@ export default class OverViewComponent extends BaseComponent {
public hideAllPanel = false; public hideAllPanel = false;
public viewRightData = {}; public viewRightData = {};
public viewLayer = {} as any; public viewLayer = {} as any;
async created(){ async created(){
// this.currentLayers = this.getCurrentLayers(); // this.currentLayers = this.getCurrentLayers();
@ -180,6 +181,11 @@ export default class OverViewComponent extends BaseComponent {
} }
//右侧详情点击事件 //右侧详情点击事件
showDetail(item){ 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]){ if(!this.viewLayer[item.id]){
const data = [] as any; const data = [] as any;
if(item.point>1){ if(item.point>1){
@ -203,12 +209,19 @@ export default class OverViewComponent extends BaseComponent {
value:"fire", value:"fire",
popData:item, popData:item,
showPop:true, showPop:true,
selected:true,
scale:[3,3,3], scale:[3,3,3],
urls:[], urls:[],
ids:[], ids:[],
data, 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); this.addCustom(this.viewLayer[item.id],true);
console.log('右侧详情点击事件',item) console.log('右侧详情点击事件',item)