ts类型
This commit is contained in:
@ -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) {
|
||||
|
||||
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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: '',
|
||||
|
||||
@ -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 = () => {}
|
||||
|
||||
@ -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%',
|
||||
|
||||
@ -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%',
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user