飞行漫游
This commit is contained in:
@ -33,11 +33,18 @@
|
||||
<span class="fankuai"></span>
|
||||
{{ t('auths.authType') }}
|
||||
</div>
|
||||
<div v-if="authInfo.status != null" class="auth_info_text" style="font-size: 16px">
|
||||
<div
|
||||
v-if="authInfo.status != null"
|
||||
class="auth_info_text"
|
||||
style="font-size: 16px"
|
||||
:style="{ color: authInfo.status ? 'rgba(27, 248, 195, 1)' : 'rgba(255, 161, 69, 1)' }"
|
||||
>
|
||||
{{ authInfo.status ? t('auths.authTempExpire') : t('auths.authexpire') }}
|
||||
</div>
|
||||
<!-- <div v-else class="auth_info_text">{{ authInfo.message || '无' }}</div> -->
|
||||
<div v-else class="auth_info_text" style="font-size: 16px">{{ t('auths.noAuthexpire') }}</div>
|
||||
<div v-else class="auth_info_text" style="font-size: 16px; color: rgba(241, 108, 85, 1)">
|
||||
{{ t('auths.noAuthexpire') }}
|
||||
</div>
|
||||
</div>
|
||||
<uploadFiles accept=".lic" :maxSize="1"></uploadFiles>
|
||||
</div>
|
||||
|
||||
@ -420,7 +420,7 @@ const methodMap = {
|
||||
},
|
||||
//模型压平
|
||||
pressModel() {
|
||||
// if (window.checkAuthIsValid) {
|
||||
if (window.checkAuthIsValid) {
|
||||
let selectedNode = window.treeObj.getSelectedNodes()[0]
|
||||
if (selectedNode) {
|
||||
let isTileset = ['bim', 'tileset'].includes(selectedNode.sourceType)
|
||||
@ -487,28 +487,28 @@ const methodMap = {
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
// } else {
|
||||
// this.$message({
|
||||
// message: '您没有该功能的权限',
|
||||
// type: 'warning'
|
||||
// })
|
||||
// }
|
||||
} else {
|
||||
ElMessage({
|
||||
message: '您没有该功能的权限',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
},
|
||||
//地形开挖
|
||||
terrainDig() {
|
||||
// if (window.checkAuthIsValid) {
|
||||
if (window.checkAuthIsValid) {
|
||||
// new YJ.Analysis.TerrainExcavation(window.Earth1);
|
||||
eventBus.emit('terrainExcavationDialog')
|
||||
// } else {
|
||||
// this.$message({
|
||||
// message: '您没有该功能的权限',
|
||||
// type: 'warning'
|
||||
// })
|
||||
// }
|
||||
} else {
|
||||
ElMessage({
|
||||
message: '您没有该功能的权限',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
},
|
||||
//剖切
|
||||
tilesetClipping() {
|
||||
// if (window.checkAuthIsValid) {
|
||||
if (window.checkAuthIsValid) {
|
||||
let selectedNode = window.treeObj.getSelectedNodes()
|
||||
if (selectedNode.length < 1) {
|
||||
ElMessage({
|
||||
@ -532,12 +532,12 @@ const methodMap = {
|
||||
})
|
||||
// _entityMap.set(selectedNode.source_id + 'pouqie', section)
|
||||
})
|
||||
// } else {
|
||||
// this.$message({
|
||||
// message: '您没有该功能的权限',
|
||||
// type: 'warning'
|
||||
// })
|
||||
// }
|
||||
} else {
|
||||
ElMessage({
|
||||
message: '您没有该功能的权限',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
},
|
||||
//删除剖切
|
||||
clearTilesetClipping() {
|
||||
@ -555,26 +555,25 @@ const methodMap = {
|
||||
gdbImport() {},
|
||||
//圆形统计
|
||||
circleStatistics() {
|
||||
// if (window.checkAuthIsValid) {
|
||||
if (window.checkAuthIsValid) {
|
||||
eventBus.emit('goodsSearchCircleDialog')
|
||||
// } else {
|
||||
// this.$message({
|
||||
// message: '您没有该功能的权限',
|
||||
// type: 'warning'
|
||||
// })
|
||||
// }
|
||||
} else {
|
||||
ElMessage({
|
||||
message: '您没有该功能的权限',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
},
|
||||
//多边形统计
|
||||
polygonStatistics() {
|
||||
// if (window.checkAuthIsValid) {
|
||||
if (window.checkAuthIsValid) {
|
||||
eventBus.emit('goodsSearchPolgonDialog')
|
||||
|
||||
// } else {
|
||||
// this.$message({
|
||||
// message: "您没有该功能的权限",
|
||||
// type: "warning",
|
||||
// });
|
||||
// }
|
||||
} else {
|
||||
ElMessage({
|
||||
message: '您没有该功能的权限',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
ref="baseDialog"
|
||||
class="fly-roam"
|
||||
title="飞行漫游"
|
||||
width="382px"
|
||||
left="180px"
|
||||
top="100px"
|
||||
:closeCallback="closeCallBack"
|
||||
@ -11,15 +12,29 @@
|
||||
<span class="custom-divider"></span>
|
||||
<div class="div-item">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="col" style="flex: 0 0 205px">
|
||||
<span class="label">名称</span>
|
||||
<input class="input" type="text" name="name" />
|
||||
</div>
|
||||
<div class="col"></div>
|
||||
<div class="col">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="repeat"
|
||||
style="
|
||||
width: 16px;
|
||||
line-height: 15px;
|
||||
height: 15px;
|
||||
cursor: pointer;
|
||||
width: auto;
|
||||
margin-right: 5px;
|
||||
"
|
||||
/>
|
||||
<span class="label">循环播放</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="custom-divider"></span>
|
||||
<div class="div-item">
|
||||
<!-- <div class="div-item">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<input
|
||||
@ -67,28 +82,63 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="custom-divider"></span>
|
||||
<span class="custom-divider"></span> -->
|
||||
<div class="div-item">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<!-- <div class="col">
|
||||
<button class="add-point">
|
||||
<svg class="icon-add"><use xlink:href="#yj-icon-add"></use></svg>增加视点
|
||||
</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
</div> -->
|
||||
<!-- <div class="col">
|
||||
<button class="modify-point">
|
||||
<svg class="icon-edit"><use xlink:href="#yj-icon-edit"></use></svg>调整视点
|
||||
</button>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="col">
|
||||
<button class="afreshPlay">
|
||||
<svg class="icon-play"><use xlink:href="#yj-icon-play"></use></svg>播放
|
||||
<svg class="icon-play"><use xlink:href="#yj-icon-play"></use></svg>全局播放
|
||||
</button>
|
||||
<button class="cease" style="margin-left: 10px">
|
||||
<svg-icon name="stop" :size="12" color="rgba(255, 255, 255, 1)"></svg-icon>结束播放
|
||||
</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<!-- <div class="col">
|
||||
<button class="cease">
|
||||
<svg class="icon-pause"><use xlink:href="#yj-icon-pause"></use></svg>结束
|
||||
<svg class="icon-pause"><use xlink:href="#yj-icon-pause"></use></svg>结束播放
|
||||
</button>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col" style="flex: 0 0 200px">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="isTotalTime"
|
||||
style="
|
||||
width: 16px;
|
||||
line-height: 15px;
|
||||
height: 15px;
|
||||
cursor: pointer;
|
||||
width: auto;
|
||||
margin-right: 5px;
|
||||
"
|
||||
/>
|
||||
<span class="label">设置总时长</span>
|
||||
<div class="input-number input-number-unit-3">
|
||||
<input
|
||||
class="input total-time"
|
||||
type="number"
|
||||
title=""
|
||||
min="0"
|
||||
max="999999.99"
|
||||
step="0.01"
|
||||
name="totalTime"
|
||||
value="0"
|
||||
/>
|
||||
<span class="unit" style="top: 6px">s</span>
|
||||
<span class="arrow"></span>
|
||||
</div>
|
||||
<!-- <button style="margin-left: 10px" @click="apply">应用</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
@ -110,8 +160,13 @@
|
||||
<span class="custom-divider"></span>
|
||||
</template>
|
||||
<template #footer>
|
||||
<button @click="draw">确定</button>
|
||||
<button @click="close">关闭</button>
|
||||
<div style="position: absolute; left: 24px; display: flex">
|
||||
<button class="add-point">
|
||||
<svg class="icon-add"><use xlink:href="#yj-icon-add"></use></svg>增加视点
|
||||
</button>
|
||||
</div>
|
||||
<button class="saveRoam" @click="draw">保存</button>
|
||||
<button @click="close">取消</button>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
@ -120,6 +175,12 @@
|
||||
import { ref, reactive } from 'vue'
|
||||
import { inject } from 'vue'
|
||||
import Dialog from '@/components/dialog/baseDialog.vue'
|
||||
import { app } from 'electron'
|
||||
import { TreeApi } from '@/api/tree'
|
||||
import { useTreeNode } from '../tree/hooks/treeNode'
|
||||
import { ElMessage } from 'element-plus'
|
||||
|
||||
const { cusAddNodes } = useTreeNode()
|
||||
|
||||
const baseDialog: any = ref(null)
|
||||
const eventBus: any = inject('bus')
|
||||
@ -130,9 +191,44 @@ eventBus.on('flyRoamDialog', () => {
|
||||
show.value = true
|
||||
baseDialog.value?.open()
|
||||
setTimeout(() => {
|
||||
flyRoam = YJ.Global.FlyRoam.open(window.earth, { repeat: Infinity })
|
||||
flyRoam = YJ.Global.FlyRoam.open(window.earth, { repeat: Infinity }, {}, draw)
|
||||
}, 100)
|
||||
})
|
||||
const draw = (data) => {
|
||||
if (data.points.length != 0) {
|
||||
let selectedNodes = window.treeObj.getSelectedNodes()
|
||||
let node = selectedNodes && selectedNodes[selectedNodes.length - 1]
|
||||
let parentId
|
||||
if (node) {
|
||||
if (node.sourceType === 'directory') {
|
||||
parentId = node.id
|
||||
} else {
|
||||
parentId = node.parentId
|
||||
}
|
||||
}
|
||||
let id = new YJ.Tools().randomString()
|
||||
let paramsData: any = {
|
||||
params: data,
|
||||
id,
|
||||
sourceName: '漫游路径',
|
||||
sourceType: 'roam',
|
||||
parentId: parentId
|
||||
}
|
||||
|
||||
TreeApi.addOtherSource(paramsData)
|
||||
paramsData.isShow = true
|
||||
paramsData.params = JSON.stringify(paramsData.params)
|
||||
cusAddNodes(window.treeObj, paramsData.parentId, [paramsData])
|
||||
baseDialog.value?.close()
|
||||
} else {
|
||||
ElMessage({
|
||||
message: '请添加数据',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
|
||||
console.log(data)
|
||||
}
|
||||
|
||||
const clangeViewPointHeight = () => {}
|
||||
const viewPointHeightInput = () => {
|
||||
@ -147,11 +243,30 @@ const closeCallBack = (e) => {
|
||||
YJ.Global.FlyRoam.cease(window.earth)
|
||||
YJ.Global.FlyRoam.close()
|
||||
}
|
||||
const draw = (e) => {}
|
||||
const apply = (e) => {
|
||||
YJ.Global.FlyRoam.apply()
|
||||
}
|
||||
const close = (e) => {
|
||||
show.value = false
|
||||
baseDialog.value?.close()
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
<style scoped lang="scss">
|
||||
.afreshPlay {
|
||||
background:
|
||||
linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
|
||||
linear-gradient(180deg, rgba(27, 248, 195, 0.2) 0%, rgba(27, 248, 195, 0) 100%) !important;
|
||||
border: 1px solid rgba(27, 248, 195, 1) !important;
|
||||
}
|
||||
.cease {
|
||||
background:
|
||||
linear-gradient(180deg, rgba(241, 108, 85, 0.2) 0%, rgba(241, 108, 85, 0) 100%),
|
||||
rgba(0, 0, 0, 0.5) !important;
|
||||
border: 1px solid rgba(241, 108, 85, 1) !important;
|
||||
}
|
||||
::v-deep .content input.YJ-custom-checkbox[type='checkbox'] {
|
||||
border: 1px solid rgba(var(--color-sdk-base-rgb), 1) !important;
|
||||
background-color: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user