This commit is contained in:
zh
2025-09-11 19:17:52 +08:00
parent 6e237f2fd1
commit 515ce45992
13 changed files with 57 additions and 61 deletions

View File

@ -167,12 +167,12 @@ function createWindow(): void {
});
let recorder;
ipcMain.on("startRecoder", (event) => {
ipcMain.on("startRecoder", () => {
console.log("开始录制");
recorder = new Recorder();
recorder.start();
});
ipcMain.on("endRecoder", (event) => {
ipcMain.on("endRecoder", () => {
console.log("结束录制");
// 判断是否存在recorder是否有recorder.end方法
if (!recorder) {

View File

@ -53,20 +53,20 @@ export const initMapData = async (type, data) => {
entityObject.load((res) => {
// 等模型加载完后再加载压平模型
Array.from(window.pressModelMap.keys()).forEach((key) => {
Array.from((window as any).pressModelMap.keys()).forEach((key:any) => {
if (key.indexOf("_" + data.id) > -1) {
const nodes = window.pressModelMap.get(key);
const nodes = (window as any).pressModelMap.get(key);
if (nodes) {
if (nodes.isShow == 1) {
// nodeType[nodes.source_type].render(nodes);
const flatData = JSON.parse(nodes.params)
const entity = window.earth.entityMap.get(flatData.modelId).entity
let flat = new YJ.Analysis.Flat(window.earth, entity, {
let flat:any = new YJ.Analysis.Flat(window.earth, entity, {
positions: flatData.positions,
height: flatData.height,
name: nodes.sourceName
})
window.pressModelEntities.set(nodes.id, flat)
});
(window as any).pressModelEntities.set(nodes.id, flat)
}
}
}

View File

@ -19,7 +19,7 @@ export function processBase64Images(base64Data1, base64Data2, callback) {
resultCanvas.height = maxHeight;
// 获取Canvas绘图上下文
const ctx = resultCanvas.getContext("2d");
const ctx:any = resultCanvas.getContext("2d");
// 绘制第一个图像(左上角开始)
ctx.drawImage(img1, 0, 0);
@ -57,7 +57,7 @@ export function combineBase64Images(
return new Promise((resolve, reject) => {
// 创建canvas元素
const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
const ctx:any = canvas.getContext("2d");
// 设置canvas宽度和高度
canvas.width = width1 + width2;

View File

@ -43,7 +43,7 @@
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
import uploadFiles from '@/components/upload/uploadFiles.vue'
import { AuthApi } from '@/api/setting/auth.ts'
import { AuthApi } from '@/api/setting/auth'
const { t } = useI18n()
const authInfo = ref({
license_code: '',

View File

@ -31,7 +31,7 @@ import dayjs from 'dayjs'
const { t } = useI18n()
const { findParentId, findTreeIndex, cusAddNodes } = useTreeNode()
const fs = require('fs')
const obj = ref(null)
const obj:any = ref(null)
const isclick = ref(false)
const eventBus: any = inject('bus')
const initList = (value) => {
@ -50,7 +50,7 @@ eventBus.on('graffitiObj', (data: never) => {
function openLoading(
text = '拼命加载中...',
option = {
option:any = {
fullscreen: true,
background: 'rgba(0,0,0,0.63)',
lock: true
@ -308,11 +308,11 @@ const methodMap = {
})
}
if (window.splitScreen || window.multiViewportMode) {
if ((window as any).splitScreen || (window as any).multiViewportMode) {
let res = ''
let res2 = ''
let sdk
if (window.splitScreen) {
if ((window as any).splitScreen) {
sdk = YJ.Global.splitScreen.getSdk()
} else {
sdk = YJ.Global.multiViewportMode.getSdk()
@ -323,13 +323,13 @@ const methodMap = {
await new YJ.Global.ScreenShot(sdk.sdkP, (data) => {
res2 = data
})
if (window.multiViewportMode) {
if ((window as any).multiViewportMode) {
processBase64Images(res, res2, (mergedBase64) => {
downloadScreen(mergedBase64)
// window.multiViewportMode = false;
})
} else {
let doms = document.querySelectorAll('.cesium-widget')
let doms:any = document.querySelectorAll('.cesium-widget')
let leftWidth = doms[0].offsetWidth
let rightWidth = doms[1].offsetWidth
combineBase64Images(res2, leftWidth, res, rightWidth)
@ -356,16 +356,16 @@ const methodMap = {
videoRecord() {
clickChange.videoRecord = !clickChange.videoRecord
let time = 3
let time:any = 3
$changeComponentShow('#secondMenu', false)
if (clickChange.videoRecord) {
// document.addEventListener("keydown", onKeyDown);
let loading = openLoading(time, {
let loading:any = openLoading(time, {
background: 'rgba(0,0,0,0)',
fullscreen: false,
customClass: 'timer'
})
let timer = ''
let timer:any = ''
const p = document.createElement('p')
p.style.color = '#fff'
p.innerHTML = '再次点击录制结束'
@ -424,7 +424,7 @@ const methodMap = {
height: flat.height
}
let id = new YJ.Tools().randomString()
let paramsData = {
let paramsData:any = {
params: detailOption,
id,
sourceName: '压平面',
@ -435,10 +435,10 @@ const methodMap = {
}
TreeApi.addOtherSource(paramsData)
paramsData.isShow = true
paramsData.params = JSON.stringify(paramsData.params)
pressModelMap.set(id + '_' + selectedNode.id, paramsData)
window.pressModelEntities.set(id, flat)
paramsData.isShow = true;
paramsData.params = JSON.stringify(paramsData.params);
(window as any).pressModelMap.set(id + '_' + selectedNode.id, paramsData)
(window as any).pressModelEntities.set(id, flat)
cusAddNodes(window.treeObj, paramsData.parentId, [paramsData])
// //鼠标右键点击事件
flat.onRightClick = () => {}

View File

@ -70,7 +70,7 @@ eventBus.on('goodsSearchCircleDialog', () => {
function booleanOverlaps(positions1, flag = 'circle') {
let cross = undefined
function set3Array(positions) {
let arr = []
let arr:any = []
positions.forEach((item) => {
arr.push([item.lng, item.lat])
})
@ -94,19 +94,19 @@ function booleanOverlaps(positions1, flag = 'circle') {
// 获取物资处(特定的标注类型)
let allNodes = getNode(['point', 'vr', 'picture', 'Feature'])
console.log('allNodes', allNodes)
let itemInArea = [] //区域内的类型符合的标注
let itemInArea:any = [] //区域内的类型符合的标注
for (let i = 0; i < allNodes.length; i++) {
let item = allNodes[i]
let item:any = allNodes[i]
let getAllItemInArea = (lng, lat) => {
if (flag == 'circle') {
let { center, radius } = positions1
let distance = new YJ.Tools().randomString(center, { lng, lat })
distance < radius && itemInArea.push(item)
} else {
let polygon1 = turf.polygon([set3Array(positions1)])
let pt = turf.point([lng, lat])
turf.booleanPointInPolygon(pt, polygon1) && itemInArea.push(item)
let polygon1 = (window as any).turf.polygon([set3Array(positions1)]);
let pt = (window as any).turf.point([lng, lat]);
(window as any).turf.booleanPointInPolygon(pt, polygon1) && itemInArea.push(item)
}
}
console.log(item, item.sourceType, 'ooooo')
@ -178,8 +178,8 @@ function renderCanvas(nodes) {
console.log('x,y')
console.log(x)
console.log(y)
let notZeroX = []
let notZeroY = []
let notZeroX:any = []
let notZeroY:any = []
for (let i = 0; i < y.length; i++) {
if (y[i] != 0) {
notZeroX.push(x[i])
@ -193,7 +193,7 @@ function renderCanvas(nodes) {
if (!x.length) show.value = false
if (show.value) {
nextTick(() => {
let option = {
let option:any = {
grid: {
top: '20%',
left: '5%',

View File

@ -66,8 +66,8 @@ eventBus.on('goodsSearchPolgonDialog', () => {
function booleanOverlaps(positions1, flag = 'circle') {
let cross = undefined
function set3Array(positions) {
let arr = []
positions.forEach((item) => {
let arr:any = []
positions.forEach((item:any) => {
arr.push([item.lng, item.lat])
})
arr.push(arr[0])
@ -87,19 +87,19 @@ function booleanOverlaps(positions1, flag = 'circle') {
//绘制的区域
// 获取物资处(特定的标注类型)
let allNodes = getNode(['point', 'vr', 'picture', 'Feature'])
let itemInArea = [] //区域内的类型符合的标注
let itemInArea:any = [] //区域内的类型符合的标注
for (let i = 0; i < allNodes.length; i++) {
let item = allNodes[i]
let item:any = allNodes[i]
let getAllItemInArea = (lng, lat) => {
if (flag == 'circle') {
let { center, radius } = positions1
let distance = new YJ.Tools().randomString(center, { lng, lat })
distance < radius && itemInArea.push(item)
} else {
let polygon1 = turf.polygon([set3Array(positions1)])
let pt = turf.point([lng, lat])
turf.booleanPointInPolygon(pt, polygon1) && itemInArea.push(item)
let polygon1 = (window as any).turf.polygon([set3Array(positions1)]);
let pt = (window as any).turf.point([lng, lat]);
(window as any).turf.booleanPointInPolygon(pt, polygon1) && itemInArea.push(item)
}
}
switch (item.sourceType) {
@ -166,8 +166,8 @@ function renderCanvas(nodes) {
console.log('x,y')
console.log(x)
console.log(y)
let notZeroX = []
let notZeroY = []
let notZeroX:any = []
let notZeroY:any = []
for (let i = 0; i < y.length; i++) {
if (y[i] != 0) {
notZeroX.push(x[i])
@ -181,7 +181,7 @@ function renderCanvas(nodes) {
if (!x.length) show.value = false
if (show.value) {
nextTick(() => {
let option = {
let option:any = {
grid: {
top: '20%',
left: '5%',

View File

@ -231,8 +231,6 @@
import { ref, reactive } from 'vue'
import { inject } from 'vue'
import Dialog from '@/components/dialog/baseDialog.vue'
import Clipboard from 'clipboard'
import { ElMessage } from 'element-plus'
const baseDialog: any = ref(null)
const eventBus: any = inject('bus')
@ -260,7 +258,7 @@ const closeCallBack = (e) => {
status1.value = false
}
const reset = () => {
let contentElm = document
let contentElm:any = document
.getElementsByClassName('proj-convert')[0]
.getElementsByClassName('content')[0]
contentElm.getElementsByClassName('lng-dms-d')[0].value = null

View File

@ -91,11 +91,11 @@
</div>
<div style="display: flex; margin-bottom: 12px; align-items: center">
<span class="label" style="flex: 0 0 60px">经度(x)</span>
<input class="input right-x" readonly="readonly" />
<input class="input right-x" readonly />
</div>
<div style="display: flex; margin-bottom: 10px; align-items: center">
<span class="label" style="flex: 0 0 60px">纬度(y)</span>
<input class="input right-y" readonly="readonly" />
<input class="input right-y" readonly />
</div>
</div>
</div>
@ -112,8 +112,6 @@
import { ref, reactive } from 'vue'
import { inject } from 'vue'
import Dialog from '@/components/dialog/baseDialog.vue'
import Clipboard from 'clipboard'
import { ElMessage } from 'element-plus'
const baseDialog: any = ref(null)
const eventBus: any = inject('bus')
@ -141,7 +139,7 @@ const closeCallBack = (e) => {
tools && tools.projectionConvert(status1.value, () => {})
}
const reset = () => {
let contentElm = document
let contentElm:any = document
.getElementsByClassName('projection-convert')[0]
.getElementsByClassName('content')[0]
contentElm.getElementsByClassName('left-x')[0].value = null

View File

@ -69,7 +69,7 @@ const changeHeight = () => {
excavation.height = height.value
}
const heightInput = () => {
let dom = document.getElementById('height')
let dom:any = document.getElementById('height')
if (height.value < dom.min * 1) {
height.value = dom.min * 1
} else if (height.value > dom.max * 1) {

View File

@ -60,10 +60,10 @@ eventBus.on('flatDialog', (id) => {
})
const open = (data) => {
baseDialog.value?.open()
flat = window.pressModelEntities.get(data.id)
flat = (window as any).pressModelEntities.get(data.id)
let params = JSON.parse(data.params)
flatMsg = pressModelMap.get(data.id + '_' + params.modelId)
flatMsg = (window as any).pressModelMap.get(data.id + '_' + params.modelId)
setTimeout(() => {
flat.edit(true)
}, 100)

View File

@ -71,7 +71,7 @@ export const useTree = () => {
const onDblClick = (event: MouseEvent, treeId: string, treeNode: any) => {
let entityObject
if (treeNode.sourceType == 'pressModel') {
entityObject = window.pressModelEntities.get(treeNode.id)
entityObject = (window as any).pressModelEntities.get(treeNode.id)
} else {
entityObject = window.earth.entityMap.get(treeNode.id)
}
@ -227,9 +227,9 @@ export const useTree = () => {
if (treeNode.sourceType == 'pressModel') {
let params = JSON.parse(treeNode.params)
let id = treeNode.id + '_' + params.modelId
let data = window.pressModelMap.get(id)
let data = (window as any).pressModelMap.get(id)
data.isShow = treeNode.isShow
entityObject = window.pressModelEntities.get(treeNode.id)
entityObject = (window as any).pressModelEntities.get(treeNode.id)
if (!entityObject && treeNode.isShow) {
const entity = window.earth.entityMap.get(params.modelId).entity
@ -238,7 +238,7 @@ export const useTree = () => {
height: params.height,
name: treeNode.sourceName
})
window.pressModelEntities.set(treeNode.id, entityObject)
(window as any).pressModelEntities.set(treeNode.id, entityObject)
}
} else {
@ -443,8 +443,8 @@ export const useTree = () => {
return 0;
})
//将模型压平
window.pressModelMap = new Map();
window.pressModelEntities = new Map();
(window as any).pressModelMap = new Map();
(window as any).pressModelEntities = new Map();
for (let i = res.data.length - 1; i >= 0; i--) {
if (!res.data[i].id) {
// res.data.splice(i, 1);
@ -452,7 +452,7 @@ export const useTree = () => {
}
if (res.data[i].sourceType == "pressModel") {
const obj = JSON.parse(res.data[i].params);
pressModelMap.set(res.data[i].id + "_" + obj.modelId, res.data[i]);
(window as any).pressModelMap.set(res.data[i].id + "_" + obj.modelId, res.data[i]);
}
}
zNodes.value = res.data