Browse Source

使用store存储XbsjEarthUI

master
DIAMOND 12 months ago
parent
commit
42c9f118ff
  1. 1
      src/store/modules/earthMap.ts
  2. 2608
      src/views/earthMap/edit/EarthComp copy.vue
  3. 22
      src/views/earthMap/edit/EarthComp.vue
  4. 1904
      src/views/earthMap/edit/EarthCompTest.vue
  5. 23
      src/views/military/modules/earthMap/scene/model/sceneInfo/SenceInfo.vue

1
src/store/modules/earthMap.ts

@ -20,6 +20,7 @@ export const useEarthMapStore = defineStore({
shapeShowList: <any>[], //绘画存储(临时) shapeShowList: <any>[], //绘画存储(临时)
keyAreaPos: <number[][]>[], //记录创建防区的点位,重点管控区域 keyAreaPos: <number[][]>[], //记录创建防区的点位,重点管控区域
shipDataList: <any>[], //船只数据列表 shipDataList: <any>[], //船只数据列表
xbsjEarthUI: <any>null, //XbsjEarthUI
}), }),
getters: { getters: {
getCustomPrimitiveList(): any { getCustomPrimitiveList(): any {

2608
src/views/earthMap/edit/EarthComp copy.vue

File diff suppressed because it is too large

22
src/views/earthMap/edit/EarthComp.vue

@ -116,6 +116,7 @@
import circleDot1 from '@/assets/earthMap/circleDot1.png'; import circleDot1 from '@/assets/earthMap/circleDot1.png';
import circleDot3 from '@/assets/earthMap/circleDot3.png'; import circleDot3 from '@/assets/earthMap/circleDot3.png';
import ship from '@/assets/images/ship.png'; import ship from '@/assets/images/ship.png';
import { onBeforeUnmount } from 'vue';
class HandleNodeType { class HandleNodeType {
#sn; #sn;
@ -528,6 +529,8 @@
createEarth() { createEarth() {
let that = this; let that = this;
//使storeXbsjEarthUI
this.store.xbsjEarthUI = XbsjEarthUI;
XbsjEarthUI.create('earthContainer').then(async (earthUI: any) => { XbsjEarthUI.create('earthContainer').then(async (earthUI: any) => {
// //
window.$uia = earthUI; window.$uia = earthUI;
@ -4188,6 +4191,8 @@
// //
beforeDestroy() { beforeDestroy() {
// vue // vue
console.log("vue程序销毁");
this._earth = this._earth && this._earth.destroy(); this._earth = this._earth && this._earth.destroy();
this.websocketclose(); this.websocketclose();
// //
@ -4195,6 +4200,23 @@
clearInterval(this.timer2); clearInterval(this.timer2);
clearInterval(this.alarmTrackClearTimer); clearInterval(this.alarmTrackClearTimer);
} }
//
destroy(){
// vue
console.log("vue程序销毁",this._earth);
// this.websocketclose();
//
clearInterval(this.timer);
clearInterval(this.timer2);
clearInterval(this.alarmTrackClearTimer);
// window.$uia.tools.sceneTree.destroy()
// this._earth = this._earth && this._earth.destroy();
//store.xbsjEarthUI window.XbsjEarthUI
window.XbsjEarthUI = this.store.xbsjEarthUI
this._earth = undefined;
}
} }
</script> </script>

1904
src/views/earthMap/edit/EarthCompTest.vue

File diff suppressed because it is too large

23
src/views/military/modules/earthMap/scene/model/sceneInfo/SenceInfo.vue

@ -119,13 +119,13 @@
title="拾取中心坐标和相机数据" title="拾取中心坐标和相机数据"
:visible="mapVisible" :visible="mapVisible"
@ok="handleOk" @ok="handleOk"
@cancel="()=> mapVisible = false" @cancel="destroyed"
width="60vw" width="60vw"
:destroyOnClose="true" destroyOnClose
wrapClassName="EarthMap"> wrapClassName="EarthMap">
<a-row> <a-row style="height: 60vh;">
<a-col :span="24"> <a-col :span="24">
<EarthComp /> <EarthComp ref="earth"/>
</a-col> </a-col>
</a-row> </a-row>
@ -135,13 +135,26 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import { toRefs, ref, watch, computed, onMounted } from 'vue'; import { toRefs, ref, watch, computed, onMounted, nextTick } from 'vue';
import locationPng from '@/assets/images/getLocation.png'; import locationPng from '@/assets/images/getLocation.png';
import EarthMapModal from '../MapModel/EarthMapModal.vue'; import EarthMapModal from '../MapModel/EarthMapModal.vue';
import { defHttp } from '@/utils/http/axios'; import { defHttp } from '@/utils/http/axios';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { EditOutlined } from '@ant-design/icons-vue'; import { EditOutlined } from '@ant-design/icons-vue';
import EarthComp from '@/views/earthMap/edit/EarthComp.vue'; import EarthComp from '@/views/earthMap/edit/EarthComp.vue';
// import EarthComp from '@/views/earthMap/edit/EarthCompTest.vue';
const earth = ref()
function destroyed() {
console.log("earth",earth.value);
earth.value.destroy();
nextTick(()=>{
mapVisible.value = false
})
}
// //
const addScene = (params) => { const addScene = (params) => {

Loading…
Cancel
Save