This commit is contained in:
zh
2025-09-05 19:45:46 +08:00
parent 30745547c2
commit 41bffc2e83
8 changed files with 39 additions and 100 deletions

View File

@ -1,63 +0,0 @@
import { ipcRenderer, remote } from "electron";
import Vue from "vue";
import { Loading } from "element-ui";
let bus = new Vue();
// let bus = window.$root_home;
let $sendChanel = (chanel, arg = {}) => {
// let bus = new Vue();
bus.$emit(chanel, arg);
};
let $recvChanel = (chanel, cb) => {
bus.$on(chanel, cb);
};
let $offChanel = (chanel, cb) => {
bus.$off(chanel);
};
let $removeChanel = (chanel) => {
bus.$off(chanel);
};
let $sendElectronChanel = (chanel, arg = null) => {
ipcRenderer.send(chanel, arg);
};
let $removeElectronChanel = (chanel, cb) => {
ipcRenderer.removeListener(chanel, cb);
};
let $recvElectronChanel = (chanel, cb) => {
ipcRenderer.once(chanel, cb);
};
let $changeComponentShow = (selector, state, styleStr = false) => {
$(selector).css({ display: state ? "block" : "none" });
if (styleStr) {
console.log(123);
let str = styleStr.split(":");
if (str[0] === "top") $(selector).css({ top: str[1] });
if (str[0] === "z-index") $(selector).css({ zIndex: str[1] });
}
};
let openLoading = (
text = "拼命加载中...",
option = {
fullscreen: true,
background: "rgba(0,0,0,0.63)",
lock: true,
// spinner: 'el-icon-loading'
}
) => {
option.text = text;
let loadingInstance = Loading.service(option);
return loadingInstance;
};
let $remote = remote;
export {
openLoading,
$sendElectronChanel,
$removeElectronChanel,
$recvElectronChanel,
$sendChanel,
$recvChanel,
$offChanel,
$removeChanel,
$changeComponentShow,
$remote,
};

View File

@ -234,8 +234,8 @@ const bottomMenuList = ref([
"params": options "params": options
} }
console.log(params) console.log(params)
// eventBus.emit("openDialog", 'circle'); eventBus.emit("openDialog", 'circle');
TreeApi.addOtherSource(params) // TreeApi.addOtherSource(params)
}) })
} }
}, },

View File

@ -65,20 +65,20 @@
<div class="tr"> <div class="tr">
<div class="td">圆心坐标</div> <div class="td">圆心坐标</div>
<div class="td lng align-center" @dblclick="inputDblclick($event, 1, 'lng')"> <div class="td lng align-center" @dblclick="inputDblclick($event, 1, 'lng')">
<input class="input" @blur="inputBlurCallBack($event, i, 'lng', 8)" type="number" <input class="input" @blur="inputBlurCallBack($event, 1, 'lng', 8)" type="number"
v-model="entityOptions.center.lng" min="-180" max="180" v-if="activeTd.index == i && activeTd.name == 'lng'"> v-model="entityOptions.center.lng" min="-180" max="180" v-if="activeTd.index == 1 && activeTd.name == 'lng'">
<span style="pointer-events: none;" v-else>{{ (item.lng).toFixed(8) }}</span> <span style="pointer-events: none;" v-else>{{ entityOptions.center.lng.toFixed(8) }}</span>
</div> </div>
<div class="td lat align-center" @dblclick="inputDblclick($event, i, 'lat')"> <div class="td lat align-center" @dblclick="inputDblclick($event, 1, 'lat')">
<input class="input" @blur="inputBlurCallBack($event, i, 'lat', 8)" type="number" <input class="input" @blur="inputBlurCallBack($event, 1, 'lat', 8)" type="number"
v-model="entityOptions.center.lat" min="-180" max="180" v-if="activeTd.index == i && activeTd.name == 'lat'"> v-model="entityOptions.center.lat" min="-180" max="180" v-if="activeTd.index == 1 && activeTd.name == 'lat'">
<span style="pointer-events: none;" v-else>{{ (item.lat).toFixed(8) }}</span> <span style="pointer-events: none;" v-else>{{ entityOptions.center.lat.toFixed(8) }}</span>
</div> </div>
<div class="td alt align-center" @dblclick="inputDblclick($event, i, 'alt')"> <div class="td alt align-center" @dblclick="inputDblclick($event, 1, 'alt')">
<input class="input" @blur="inputBlurCallBack($event, i, 'alt', 2)" type="number" <input class="input" @blur="inputBlurCallBack($event, 1, 'alt', 2)" type="number"
v-model="entityOptions.height" min="-9999999" max="999999999" v-model="entityOptions.height" min="-9999999" max="999999999"
v-if="activeTd.index == i && activeTd.name == 'alt'"> v-if="activeTd.index == 1 && activeTd.name == 'alt'">
<span style="pointer-events: none;" v-else>{{ (entityOptions.height).toFixed(2) }}</span> <span style="pointer-events: none;" v-else>{{ entityOptions.height.toFixed(2) }}</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,4 +1,4 @@
<template> <!-- <template>
<Dialog ref="baseDialog" title="地形开挖" left="180px" top="100px" :closeCallback="closeCallBack"> <Dialog ref="baseDialog" title="地形开挖" left="180px" top="100px" :closeCallback="closeCallBack">
<template #content> <template #content>
<span class="custom-divider"></span> <span class="custom-divider"></span>
@ -53,8 +53,8 @@ import { ref, reactive } from 'vue'
import { inject } from 'vue' import { inject } from 'vue'
import Dialog from '@/components/dialog/baseDialog.vue' import Dialog from '@/components/dialog/baseDialog.vue'
const baseDialog = ref(null) const baseDialog: any = ref(null)
const eventBus = inject('bus') const eventBus: any = inject('bus')
var height: any = ref(10) var height: any = ref(10)
@ -62,7 +62,7 @@ var excavation: any = reactive([])
eventBus.on('terrainExcavationDialog', () => { eventBus.on('terrainExcavationDialog', () => {
baseDialog.value?.open() baseDialog.value?.open()
excavation = new YJ.Analysis.TerrainExcavation(this.sdk, { height: 10 }) excavation = new (window as any).YJ.Analysis.TerrainExcavation(this.sdk, { height: 10 })
}) })
const changeHeight = () => { const changeHeight = () => {
@ -88,4 +88,4 @@ const clear = (e) => {
} }
</script> </script>
<style scoped lang="scss"></style> <style scoped lang="scss"></style> -->

View File

@ -87,8 +87,8 @@ import { ref, reactive } from 'vue'
import { inject } from 'vue' import { inject } from 'vue'
import Dialog from '@/components/dialog/baseDialog.vue' import Dialog from '@/components/dialog/baseDialog.vue'
const baseDialog = ref(null) const baseDialog: any = ref(null)
const eventBus = inject('bus') const eventBus: any = inject('bus')
const viewPointHeight: any = ref(1.8) const viewPointHeight: any = ref(1.8)
var horizontalViewAngle: any = ref(90) var horizontalViewAngle: any = ref(90)
@ -98,13 +98,13 @@ var timeout: any = reactive([])
eventBus.on('viewShedDialog', () => { eventBus.on('viewShedDialog', () => {
baseDialog.value?.open() baseDialog.value?.open()
viewShed && viewShed.destroy && viewShed.destroy() viewShed && viewShed.destroy && viewShed.destroy()
viewShed = new YJ.Analysis.ViewShed(window.earth) viewShed = new (window as any).YJ.Analysis.ViewShed((window as any).earth)
setTimeout(() => { setTimeout(() => {
let contentElm = document.getElementsByClassName('view-shed')[0] let contentElm = document.getElementsByClassName('view-shed')[0]
let e_horizontalViewAngle = contentElm.querySelector("input[name='horizontalViewAngle']") let e_horizontalViewAngle:any = contentElm.querySelector("input[name='horizontalViewAngle']")
let rangeNodeActive = contentElm.getElementsByClassName('range-node-active')[0] let rangeNodeActive:any = contentElm.getElementsByClassName('range-node-active')[0]
let rangeNodeActiveText = rangeNodeActive.getElementsByClassName('range-node-active-text')[0] let rangeNodeActiveText = rangeNodeActive.getElementsByClassName('range-node-active-text')[0]
let rangeProcess = contentElm.getElementsByClassName('range-process')[0] let rangeProcess:any = contentElm.getElementsByClassName('range-process')[0]
let percentage = (horizontalViewAngle.value / 180) * 100 let percentage = (horizontalViewAngle.value / 180) * 100
rangeNodeActive.style.left = percentage + '%' rangeNodeActive.style.left = percentage + '%'
rangeProcess.style.width = percentage + '%' rangeProcess.style.width = percentage + '%'
@ -117,9 +117,9 @@ eventBus.on('viewShedDialog', () => {
}) })
function inputFun() { function inputFun() {
let contentElm = document.getElementsByClassName('view-shed')[0] let contentElm = document.getElementsByClassName('view-shed')[0]
let rangeNodeActive = contentElm.getElementsByClassName('range-node-active')[0] let rangeNodeActive:any = contentElm.getElementsByClassName('range-node-active')[0]
let rangeNodeActiveText = rangeNodeActive.getElementsByClassName('range-node-active-text')[0] let rangeNodeActiveText:any = rangeNodeActive.getElementsByClassName('range-node-active-text')[0]
let rangeProcess = contentElm.getElementsByClassName('range-process')[0] let rangeProcess:any = contentElm.getElementsByClassName('range-process')[0]
let percentage = (horizontalViewAngle.value / 180) * 100 let percentage = (horizontalViewAngle.value / 180) * 100
rangeNodeActive.style.left = percentage + '%' rangeNodeActive.style.left = percentage + '%'
rangeProcess.style.width = percentage + '%' rangeProcess.style.width = percentage + '%'
@ -138,7 +138,7 @@ const closeCallBack = (e) => {
horizontalViewAngle.value = 90 horizontalViewAngle.value = 90
} }
function viewPointHeightInput(e) { function viewPointHeightInput(e) {
let dom = document.getElementById('viewPointHeight') let dom:any = document.getElementById('viewPointHeight')
if (viewPointHeight.value != '.') { if (viewPointHeight.value != '.') {
if (viewPointHeight.value < dom.min * 1) { if (viewPointHeight.value < dom.min * 1) {
viewPointHeight.value = dom.min * 1 viewPointHeight.value = dom.min * 1

View File

@ -43,8 +43,8 @@ import { ref, reactive } from 'vue'
import { inject } from 'vue' import { inject } from 'vue'
import Dialog from '@/components/dialog/baseDialog.vue' import Dialog from '@/components/dialog/baseDialog.vue'
const baseDialog = ref(null) const baseDialog: any = ref(null)
const eventBus = inject('bus') const eventBus: any = inject('bus')
const viewPointHeight: any = ref(1.8) const viewPointHeight: any = ref(1.8)
var visibility: any = reactive([]) var visibility: any = reactive([])
eventBus.on('analysisDialog', () => { eventBus.on('analysisDialog', () => {
@ -53,7 +53,7 @@ eventBus.on('analysisDialog', () => {
const clangeViewPointHeight = () => {} const clangeViewPointHeight = () => {}
const viewPointHeightInput = () => { const viewPointHeightInput = () => {
let dom = document.getElementById('viewPointHeight') let dom: any = document.getElementById('viewPointHeight')
if (viewPointHeight.value < dom.min * 1) { if (viewPointHeight.value < dom.min * 1) {
viewPointHeight.value = dom.min * 1 viewPointHeight.value = dom.min * 1
} else if (viewPointHeight.value > dom.max * 1) { } else if (viewPointHeight.value > dom.max * 1) {
@ -61,16 +61,16 @@ const viewPointHeightInput = () => {
} }
} }
const closeCallBack = (e) => { const closeCallBack = (e) => {
viewPointHeight.value = 1.8 viewPointHeight.value = 1.8;
YJ.Measure.SetMeasureStatus(false) (window as any).YJ.Measure.SetMeasureStatus(false)
// visibility && visibility.end() // visibility && visibility.end()
} }
const draw = (e) => { const draw = (e) => {
visibility && visibility.end && visibility.end() visibility && visibility.end && visibility.end()
visibility = new YJ.Analysis.Visibility(window.earth, { viewPointHeight: viewPointHeight.value }) visibility = new YJ.Analysis.Visibility(window.earth, { viewPointHeight: viewPointHeight.value })
// visibility.create(this) // visibility.create(this)
!window.analysisArr && (window.analysisArr = []) !(window as any).analysisArr && ((window as any).analysisArr = []);
window.analysisArr.push(visibility) (window as any).analysisArr.push(visibility);
baseDialog.value?.close() baseDialog.value?.close()
} }
</script> </script>

View File

@ -61,6 +61,7 @@ let originalOptions: any
let that: any let that: any
const colorRef = ref(null) const colorRef = ref(null)
const open = async (id: any) => { const open = async (id: any) => {
id = window.standTextid
that = window.earth.entityMap.get(id) that = window.earth.entityMap.get(id)
originalOptions = structuredClone(that.options) originalOptions = structuredClone(that.options)
entityOptions.value = that entityOptions.value = that

View File

@ -34,6 +34,7 @@ import attackArrow from '../components/propertyBox/attackArrow.vue'
import richText from '../components/propertyBox/richText.vue' import richText from '../components/propertyBox/richText.vue'
import groundText from '../components/propertyBox/groundText.vue' import groundText from '../components/propertyBox/groundText.vue'
import standText from '../components/propertyBox/standText.vue' import standText from '../components/propertyBox/standText.vue'
import circleObject from '../components/propertyBox/circleObject.vue'
import addDirectory from '@/components/dialog/directory.vue' import addDirectory from '@/components/dialog/directory.vue'
import firstMenu from '@/views/components/leftSide/leftSideFirst.vue' import firstMenu from '@/views/components/leftSide/leftSideFirst.vue'
import bottomMenu from '@/views/components/bottomSide/bottomSide.vue' import bottomMenu from '@/views/components/bottomSide/bottomSide.vue'
@ -90,7 +91,7 @@ eventBus.on('openDialog', async (sourceType: any, id: any) => {
dynamicComponentRef.value?.open(id) dynamicComponentRef.value?.open(id)
break break
case 'circle': case 'circle':
currentComponent.value = polygonObject currentComponent.value = circleObject
await nextTick() await nextTick()
dynamicComponentRef.value?.open(id, 'circle') dynamicComponentRef.value?.open(id, 'circle')
break; break;
@ -100,7 +101,7 @@ eventBus.on('openDialog', async (sourceType: any, id: any) => {
dynamicComponentRef.value?.open(id, 'rectangle') dynamicComponentRef.value?.open(id, 'rectangle')
break break
case 'rendezvous': case 'rendezvous':
currentComponent.value = rendezvous currentComponent.value = polygonObject
await nextTick() await nextTick()
dynamicComponentRef.value?.open(id, 'rendezvous') dynamicComponentRef.value?.open(id, 'rendezvous')
break break