Merge branch 'master' of 81.70.119.104:guangyin/hbt-training-ui

wuyanfu
chenran 2023-05-24 15:48:02 +08:00
commit 9fbd4f60f0
8 changed files with 1620 additions and 1082 deletions

View File

@ -9,6 +9,7 @@
class="tree-line" class="tree-line"
:indent="0" :indent="0"
icon-class="none" icon-class="none"
default-expand-all
highlight-current highlight-current
:current-node-key="currentNodeKey" :current-node-key="currentNodeKey"
@node-click="nodeClick" @node-click="nodeClick"
@ -48,7 +49,8 @@
<i class="el-icon-right"></i> <i class="el-icon-right"></i>
<span>{{item.to}}</span> <span>{{item.to}}</span>
</div> </div>
<img src="~@/assets/img/view/view.png" alt=""> <img v-if="i === 0" src="~@/assets/img/view/r1.png" alt="">
<img v-else src="~@/assets/img/view/r2.png" alt="">
</div> </div>
</div> </div>
</div> </div>

View File

@ -8,7 +8,7 @@
<div class="text-con flex-0"> <div class="text-con flex-0">
{{viewRightData.data.content}} {{viewRightData.data.content}}
</div> </div>
<h3 class="sub-title flex-0">模拟火情</h3> <h3 v-show="viewRightData.data.dataList.length>0" class="sub-title flex-0">模拟火情</h3>
<div class="right-view-list"> <div class="right-view-list">
<div class="right-view-item d-flex align-items-center" @click="showDetail(item)" v-for="(item,i) in viewRightData.data.dataList"> <div class="right-view-item d-flex align-items-center" @click="showDetail(item)" v-for="(item,i) in viewRightData.data.dataList">
<!-- <img v-if="1%2 === 0" src="~@/assets/img/view/fire.png" alt=""> <!-- <img v-if="1%2 === 0" src="~@/assets/img/view/fire.png" alt="">

View File

@ -5,7 +5,7 @@
:data-index="i" :data-index="i"
class="warning-list-box animate__animated"> class="warning-list-box animate__animated">
<div :data-index="i" class="warning-list-box-title">{{ item.title }}</div> <div :data-index="i" class="warning-list-box-title">{{ item.title }}</div>
<div :data-index="i" class="warning-list-box-info">{{ item.info }}</div> <div :data-index="i" :title="item.info" class="warning-list-box-info">{{ item.info }}</div>
<!-- <div :data-index="i" class="warning-list-box-date">{{ item.time }}</div>--> <!-- <div :data-index="i" class="warning-list-box-date">{{ item.time }}</div>-->
</div> </div>
<div class="d-flex align-items-center is-justify-space-center" v-show="dataList.length === 0"> <div class="d-flex align-items-center is-justify-space-center" v-show="dataList.length === 0">

File diff suppressed because it is too large Load Diff

View File

@ -233,12 +233,12 @@ export default new Vuex.Store({
'通过这种油罐火灾事故处置训练设施,消防人员能够在接近真实火灾环境中训练,提高熟练度和技能。这对于提高消防队伍的整体应对能力和降低重大火灾事故风险具有重要意义。', '通过这种油罐火灾事故处置训练设施,消防人员能够在接近真实火灾环境中训练,提高熟练度和技能。这对于提高消防队伍的整体应对能力和降低重大火灾事故风险具有重要意义。',
level:'3', level:'3',
position:[ position:[
11661039.260938, 11661009.394687,
3692602.370615, 3692599.953516,
46.328384, 88.347148,
-85.23777, -45.539948,
63.604343, 71.90834,
-0.000082 0.000002
], ],
pointList:[ pointList:[
{ {
@ -276,7 +276,7 @@ export default new Vuex.Store({
} }
] ]
},{ },{
title:'危品槽罐车火灾泄漏事故处置训练设施', title:'危化品槽罐车火灾泄漏事故处置训练设施',
info:'危险化学品槽罐车火灾泄漏事故处置训练设施是一种专业的训练设备,旨在为应对危险化学品槽罐车发生火灾、泄漏等事故的相关人员提供实际操作和技能培训。', info:'危险化学品槽罐车火灾泄漏事故处置训练设施是一种专业的训练设备,旨在为应对危险化学品槽罐车发生火灾、泄漏等事故的相关人员提供实际操作和技能培训。',
main:'危险化学品槽罐车火灾泄漏事故处置训练设施是一种专业的训练设备,旨在为应对危险化学品槽罐车发生火灾、泄漏等事故的相关人员提供实际操作和技能培训。这种设施模拟了实际危险化学品运输的场景,帮助应急响应部门、消防队伍和相关企业人员掌握槽罐车泄漏事故的处理流程,提高应对突发事故的能力。\n' + main:'危险化学品槽罐车火灾泄漏事故处置训练设施是一种专业的训练设备,旨在为应对危险化学品槽罐车发生火灾、泄漏等事故的相关人员提供实际操作和技能培训。这种设施模拟了实际危险化学品运输的场景,帮助应急响应部门、消防队伍和相关企业人员掌握槽罐车泄漏事故的处理流程,提高应对突发事故的能力。\n' +
'\n' + '\n' +
@ -295,19 +295,20 @@ export default new Vuex.Store({
'通过使用危险化学品槽罐车火灾泄漏事故处置训练设施,相关人员可以在仿真环境中熟悉危险化学品事故的应急处理程序,掌握相关设备的使用方法,提高化学品泄漏和火灾事故的处置能力,为日常工作和突发事件提供有力的保障。', '通过使用危险化学品槽罐车火灾泄漏事故处置训练设施,相关人员可以在仿真环境中熟悉危险化学品事故的应急处理程序,掌握相关设备的使用方法,提高化学品泄漏和火灾事故的处置能力,为日常工作和突发事件提供有力的保障。',
level:'3', level:'3',
position:[ position:[
11661039.260938, 11661011.309062,
3692602.370615, 3692500.402813,
46.328384, 49.279678,
-85.23777, -48.485798,
63.604343, 65.995995,
-0.000082 0.000003
], ],
pointList:[ pointList:[
{ {
name:'', name:'',
} }
] ]
},{ }
/*,{
title:'高空救助训练设施 ', title:'高空救助训练设施 ',
info:'高空救助训练设施是一种专业针对高空作业人员、救援队伍及相关行业从业者进行高空救助技能培训的场所和设备。此类设施旨在提高参训者在高处进行救援任务时的安全性、效率和技能水平。', info:'高空救助训练设施是一种专业针对高空作业人员、救援队伍及相关行业从业者进行高空救助技能培训的场所和设备。此类设施旨在提高参训者在高处进行救援任务时的安全性、效率和技能水平。',
main:'高空救助训练设施是一种专业针对高空作业人员、救援队伍及相关行业从业者进行高空救助技能培训的场所和设备。此类设施旨在提高参训者在高处进行救援任务时的安全性、效率和技能水平。这些设施一般会包括以下几个主要部分:\n' + main:'高空救助训练设施是一种专业针对高空作业人员、救援队伍及相关行业从业者进行高空救助技能培训的场所和设备。此类设施旨在提高参训者在高处进行救援任务时的安全性、效率和技能水平。这些设施一般会包括以下几个主要部分:\n' +
@ -330,7 +331,7 @@ export default new Vuex.Store({
name:'', name:'',
} }
] ]
} }*/
], ],
peopleList:[], peopleList:[],
companyList:[], companyList:[],

View File

@ -1,7 +1,6 @@
<div class="overview-container"> <div class="overview-container">
<MapComponent id="map" @onLoaded="getMap" @onHandleChange="handleChange"></MapComponent> <MapComponent id="map" @onLoaded="getMap" @onHandleChange="handleChange"></MapComponent>
<div class="bg-box left animate__animated"> <div class="bg-box left animate__animated">
<div class="panel-container"> <div class="panel-container">
<!-- 首页--> <!-- 首页-->
@ -37,10 +36,10 @@
</div> </div>
<div class="fixed-btn" @click="resetMap"> <div class="fixed-btn" v-show="!hideAllPanel" @click="resetMap">
<hbt-svg name="fixed"></hbt-svg> <hbt-svg name="fixed"></hbt-svg>
</div> </div>
<div class="layer-btn-box" :style="{height:openLayerDrawer?(currentLayers.length+1) * 50+'px':'50px'}"> <div class="layer-btn-box" v-show="!hideAllPanel" :style="{height:openLayerDrawer?(currentLayers.length+1) * 50+'px':'50px'}">
<div class="layer-btn" :class="{active:item.selected}" v-show="openLayerDrawer" <div class="layer-btn" :class="{active:item.selected}" v-show="openLayerDrawer"
v-for="(item,index) in currentLayers" :key="index"> v-for="(item,index) in currentLayers" :key="index">
<el-tooltip effect="dark" :content="item.name" placement="left"> <el-tooltip effect="dark" :content="item.name" placement="left">
@ -58,13 +57,12 @@
</div> </div>
<div class="exitFullScreen" :style="{top:!hideAllPanel?'-90px':0}"> <div class="exitFullScreen" :style="{top:!hideAllPanel?'-90px':0}">
<div class="top-btn" @click="toggleAllPanel"> <div class="top-btn" @click="toggleAllPanel">
<i class="el-icon-close">退出自由导览</i> <i class="el-icon-close">退出导览</i>
</div> </div>
</div> </div>
<div :style="{right:!hideAllPanel?'-90px':0}" class="right-control"> <div :style="{right:!hideAllPanel?'-90px':0}" class="right-control">
<div @click="playAction('pause')" class="play-btn"><i class="el-icon-video-pause"></i><span>暂停</span></div> <div v-show="showPlay" @click="playAction('pause')" class="play-btn"><i class="el-icon-video-pause"></i><span>暂停</span></div>
<div @click="playAction('resume')" class="play-btn"><i class="el-icon-video-play"></i><span>继续</span></div> <div v-show="showPlay" @click="playAction('resume')" class="play-btn"><i class="el-icon-video-play"></i><span>继续</span></div>
</div> </div>
<!-- 大号弹窗组件--> <!-- 大号弹窗组件-->

View File

@ -19,7 +19,7 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
overflow: hidden;
#map { #map {
width: 100%; width: 100%;
@ -410,6 +410,13 @@
margin-bottom: 20px; margin-bottom: 20px;
} }
} }
div.overview-container{
div.none{
.panel-container{
pointer-events: none;
}
}
}

View File

@ -353,6 +353,22 @@ export default class OverViewComponent extends BaseComponent {
} }
} }
this.addCustom(this.viewLayer[item.id],item.hasPop); this.addCustom(this.viewLayer[item.id],item.hasPop);
if(item.needFocus){
if(item.look){
this.player.api.camera.lookAt(
item.look[0],
item.look[1],
item.look[2],
0,
item.look[4], //pitch
item.look[5], //yaw
2
)
}else{
this.player.api.customObject.focus(item.id,item.distance,2)
}
}
} }
mounted() { mounted() {
} }