修改bug文档
This commit is contained in:
4
src/renderer/public/sdk/YJEarth.min.js
vendored
4
src/renderer/public/sdk/YJEarth.min.js
vendored
File diff suppressed because one or more lines are too long
@ -161,7 +161,7 @@
|
|||||||
background: rgba(var(--color-sdk-base-rgb), 0.2);
|
background: rgba(var(--color-sdk-base-rgb), 0.2);
|
||||||
border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5);
|
border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: flex-start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 5px 16px 4px 16px;
|
padding: 5px 16px 4px 16px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@ -448,7 +448,6 @@
|
|||||||
.YJ-custom-base-dialog>.content .table {
|
.YJ-custom-base-dialog>.content .table {
|
||||||
background-color: #ffffff00;
|
background-color: #ffffff00;
|
||||||
color: #000;
|
color: #000;
|
||||||
font-size: 12px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.YJ-custom-base-dialog>.content .table {
|
.YJ-custom-base-dialog>.content .table {
|
||||||
@ -476,6 +475,9 @@
|
|||||||
border-top: none;
|
border-top: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr,
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr {}
|
||||||
|
|
||||||
.YJ-custom-base-dialog>.content .table .table-empty {
|
.YJ-custom-base-dialog>.content .table .table-empty {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -552,6 +554,8 @@
|
|||||||
background-color: rgba(var(--color-sdk-base-rgb), 0.1);
|
background-color: rgba(var(--color-sdk-base-rgb), 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.YJ-custom-base-dialog>.content .table .table-body .tr:last-child {}
|
||||||
|
|
||||||
.YJ-custom-base-dialog>.content .table .tr .th,
|
.YJ-custom-base-dialog>.content .table .tr .th,
|
||||||
.YJ-custom-base-dialog>.content .table .tr .td {
|
.YJ-custom-base-dialog>.content .table .tr .td {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
@ -569,7 +573,40 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .th:nth-child(1),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td:nth-child(1),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .th:nth-child(1),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td:nth-child(1) {
|
||||||
|
width: 164px;
|
||||||
|
flex: 0 0 164px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .th:nth-child(2),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td:nth-child(2),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .th:nth-child(2),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td:nth-child(2) {
|
||||||
|
width: 226px;
|
||||||
|
flex: 0 0 226px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .th:nth-child(3),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td:nth-child(3),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .th:nth-child(3),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td:nth-child(3) {
|
||||||
|
flex: 0 0 150px;
|
||||||
|
width: 150px;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-link .table .tr .td .input-group .input,
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-vr .table .tr .td .input-group .input {
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-materials .table .tr .th:nth-child(1),
|
||||||
|
.YJ-custom-base-dialog>.content .attribute-content-materials .table .tr .td:nth-child(1) {
|
||||||
|
flex: 0 0 60px;
|
||||||
|
}
|
||||||
|
|
||||||
.YJ-custom-base-dialog>.content .table .tr .td .link-edit {
|
.YJ-custom-base-dialog>.content .table .tr .td .link-edit {
|
||||||
min-height: 32px;
|
min-height: 32px;
|
||||||
@ -584,8 +621,6 @@
|
|||||||
border-right: none;
|
border-right: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
<<<<<<< Updated upstream
|
|
||||||
=======
|
|
||||||
.YJ-custom-base-dialog>.content .table.camera-table {
|
.YJ-custom-base-dialog>.content .table.camera-table {
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
@ -648,7 +683,6 @@
|
|||||||
min-width: 74px;
|
min-width: 74px;
|
||||||
}
|
}
|
||||||
|
|
||||||
>>>>>>> Stashed changes
|
|
||||||
.YJ-custom-base-dialog>.content select>option {
|
.YJ-custom-base-dialog>.content select>option {
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
@ -1171,9 +1205,9 @@
|
|||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtngroup button.ew-color-clear {
|
.YJ-custom-base-dialog .ew-color-picker .ew-color-dropbtngroup button.ew-color-clear {
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
} */
|
}
|
||||||
|
|
||||||
.YJ-custom-base-dialog .ew-color-picker-box {
|
.YJ-custom-base-dialog .ew-color-picker-box {
|
||||||
border-width: 4px;
|
border-width: 4px;
|
||||||
@ -1735,8 +1769,6 @@
|
|||||||
top: 10px;
|
top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
<<<<<<< Updated upstream
|
|
||||||
=======
|
|
||||||
/* 点标注 */
|
/* 点标注 */
|
||||||
.YJ-custom-base-dialog.billboard-object>.content {
|
.YJ-custom-base-dialog.billboard-object>.content {
|
||||||
width: 590px;
|
width: 590px;
|
||||||
@ -1789,7 +1821,6 @@
|
|||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
>>>>>>> Stashed changes
|
|
||||||
/* 富文本 */
|
/* 富文本 */
|
||||||
.richText-box {
|
.richText-box {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
BIN
src/renderer/src/assets/img/mouse.png
Normal file
BIN
src/renderer/src/assets/img/mouse.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 561 B |
@ -1,27 +1,38 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="model-management-container">
|
<div class="model-management-container">
|
||||||
<div class="equipment_title" style="margin-bottom: 10px">
|
<div class="equipment_title" style="margin-bottom: 10px">
|
||||||
<el-button
|
<div>
|
||||||
color="#004b4b"
|
<el-button
|
||||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
color="#004b4b"
|
||||||
@click="importModelDB"
|
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||||
>
|
@click="importModelDB"
|
||||||
<template #icon>
|
>
|
||||||
<svg-icon name="select" />
|
<template #icon>
|
||||||
</template>
|
<svg-icon name="select" />
|
||||||
<span>选择军标库</span>
|
</template>
|
||||||
</el-button>
|
<span>选择军标库</span>
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
color="#004b4b"
|
color="#004b4b"
|
||||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||||
@click="createModelDB"
|
@click="createModelDB"
|
||||||
|
>
|
||||||
|
<template #icon>
|
||||||
|
<svg-icon name="addDevice" />
|
||||||
|
</template>
|
||||||
|
<span>创建军标库</span>
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-input
|
||||||
|
v-model="photoName"
|
||||||
|
style="max-width: 150px"
|
||||||
|
placeholder="请输入图标名称进行搜索"
|
||||||
|
class="input-with-select"
|
||||||
|
:suffix-icon="Search"
|
||||||
>
|
>
|
||||||
<template #icon>
|
</el-input>
|
||||||
<svg-icon name="addDevice" />
|
|
||||||
</template>
|
|
||||||
<span>创建军标库</span>
|
|
||||||
</el-button>
|
|
||||||
</div>
|
</div>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<!-- 左侧分类树 -->
|
<!-- 左侧分类树 -->
|
||||||
@ -47,6 +58,7 @@
|
|||||||
@node-drag-over="handleDragOver"
|
@node-drag-over="handleDragOver"
|
||||||
@node-drag-end="handleDragEnd"
|
@node-drag-end="handleDragEnd"
|
||||||
@node-drop="handleDrop"
|
@node-drop="handleDrop"
|
||||||
|
:filter-node-method="filterNode"
|
||||||
>
|
>
|
||||||
<template #default="{ node, data }">
|
<template #default="{ node, data }">
|
||||||
<!-- <span> {{ node.label }}</span> -->
|
<!-- <span> {{ node.label }}</span> -->
|
||||||
@ -134,6 +146,7 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
|
import { Search } from '@element-plus/icons-vue'
|
||||||
import type { TableColumnCtx } from 'element-plus'
|
import type { TableColumnCtx } from 'element-plus'
|
||||||
import contextMenuCom from './contentMenu.vue'
|
import contextMenuCom from './contentMenu.vue'
|
||||||
import Sortable from 'sortablejs'
|
import Sortable from 'sortablejs'
|
||||||
@ -187,6 +200,18 @@ const treeRef = ref()
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
var sortableInstance: any = reactive(null)
|
var sortableInstance: any = reactive(null)
|
||||||
|
|
||||||
|
//搜索
|
||||||
|
var photoName = ref(null)
|
||||||
|
|
||||||
|
watch(photoName, (val) => {
|
||||||
|
if (treeRef.value && treeRef.value !== '') {
|
||||||
|
treeRef.value!.filter(val)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const filterNode: any = (value, data) => {
|
||||||
|
if (!value) return true
|
||||||
|
return data.label.includes(value)
|
||||||
|
}
|
||||||
//--------------添加模型类型----------------
|
//--------------添加模型类型----------------
|
||||||
var dialogVisible: any = ref(false)
|
var dialogVisible: any = ref(false)
|
||||||
var dialogTitle: any = ref('添加军标类型')
|
var dialogTitle: any = ref('添加军标类型')
|
||||||
@ -857,7 +882,13 @@ onMounted(() => {
|
|||||||
--el-input-focus-border-color: rgba(var(--color-base1), 0.5) !important;
|
--el-input-focus-border-color: rgba(var(--color-base1), 0.5) !important;
|
||||||
}
|
}
|
||||||
::v-deep .el-input__wrapper {
|
::v-deep .el-input__wrapper {
|
||||||
background-color: rgba(0, 0, 0, 0.5) !important;
|
/* background-color: rgba(0, 0, 0, 0.5) !important; */
|
||||||
|
background-color: unset !important;
|
||||||
|
}
|
||||||
|
.equipment_title {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0px -10px 10px -10px;
|
||||||
}
|
}
|
||||||
::v-deep .el-dialog__title {
|
::v-deep .el-dialog__title {
|
||||||
text-shadow: 0px 0px 9px var(--color-sdk-text-shadow) !important;
|
text-shadow: 0px 0px 9px var(--color-sdk-text-shadow) !important;
|
||||||
|
|||||||
@ -1,27 +1,36 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="model-management-container">
|
<div class="model-management-container">
|
||||||
<div class="equipment_title" style="margin-bottom: 10px">
|
<div class="equipment_title">
|
||||||
<el-button
|
<div>
|
||||||
color="#004b4b"
|
<el-button
|
||||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
color="#004b4b"
|
||||||
@click="importModelDB"
|
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||||
>
|
@click="importModelDB"
|
||||||
<template #icon>
|
>
|
||||||
<svg-icon name="select" />
|
<template #icon>
|
||||||
</template>
|
<svg-icon name="select" />
|
||||||
<span>选择模型库</span>
|
</template>
|
||||||
</el-button>
|
<span>选择模型库</span>
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
color="#004b4b"
|
color="#004b4b"
|
||||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||||
@click="createModelDB"
|
@click="createModelDB"
|
||||||
>
|
>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<svg-icon name="addDevice" />
|
<svg-icon name="addDevice" />
|
||||||
</template>
|
</template>
|
||||||
<span>创建模型库</span>
|
<span>创建模型库</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
|
</div>
|
||||||
|
<el-input
|
||||||
|
v-model="photoName"
|
||||||
|
style="max-width: 150px"
|
||||||
|
placeholder="请输入模型名称进行搜索"
|
||||||
|
class="input-with-select"
|
||||||
|
:suffix-icon="Search"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<!-- 左侧分类树 -->
|
<!-- 左侧分类树 -->
|
||||||
@ -47,6 +56,7 @@
|
|||||||
@node-drag-over="handleDragOver"
|
@node-drag-over="handleDragOver"
|
||||||
@node-drag-end="handleDragEnd"
|
@node-drag-end="handleDragEnd"
|
||||||
@node-drop="handleDrop"
|
@node-drop="handleDrop"
|
||||||
|
:filter-node-method="filterNode"
|
||||||
>
|
>
|
||||||
<template #default="{ node, data }">
|
<template #default="{ node, data }">
|
||||||
<!-- <span> {{ node.label }}</span> -->
|
<!-- <span> {{ node.label }}</span> -->
|
||||||
@ -142,6 +152,7 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||||
|
import { Search } from '@element-plus/icons-vue'
|
||||||
import type { TableColumnCtx } from 'element-plus'
|
import type { TableColumnCtx } from 'element-plus'
|
||||||
import contextMenuCom from './contentMenu.vue'
|
import contextMenuCom from './contentMenu.vue'
|
||||||
import Sortable from 'sortablejs'
|
import Sortable from 'sortablejs'
|
||||||
@ -207,6 +218,19 @@ const closeDialog = () => {
|
|||||||
modelType.value = ''
|
modelType.value = ''
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//搜索
|
||||||
|
var photoName = ref(null)
|
||||||
|
|
||||||
|
watch(photoName, (val) => {
|
||||||
|
if (treeRef.value && treeRef.value !== '') {
|
||||||
|
treeRef.value!.filter(val)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const filterNode: any = (value, data) => {
|
||||||
|
if (!value) return true
|
||||||
|
return data.label.includes(value)
|
||||||
|
}
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
const addType = () => {
|
const addType = () => {
|
||||||
if (!modelType.value) {
|
if (!modelType.value) {
|
||||||
@ -890,7 +914,8 @@ onMounted(() => {
|
|||||||
--el-input-focus-border-color: rgba(var(--color-base1), 0.5) !important;
|
--el-input-focus-border-color: rgba(var(--color-base1), 0.5) !important;
|
||||||
}
|
}
|
||||||
::v-deep .el-input__wrapper {
|
::v-deep .el-input__wrapper {
|
||||||
background-color: rgba(0, 0, 0, 0.5) !important;
|
/* background-color: rgba(0, 0, 0, 0.5) !important; */
|
||||||
|
background-color: unset !important;
|
||||||
}
|
}
|
||||||
::v-deep .el-dialog__title {
|
::v-deep .el-dialog__title {
|
||||||
text-shadow: 0px 0px 9px var(--color-sdk-text-shadow) !important;
|
text-shadow: 0px 0px 9px var(--color-sdk-text-shadow) !important;
|
||||||
@ -905,4 +930,9 @@ onMounted(() => {
|
|||||||
border-bottom: 1px solid rgba(var(--color-base1), 0.5);
|
border-bottom: 1px solid rgba(var(--color-base1), 0.5);
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
}
|
}
|
||||||
|
.equipment_title {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0px -10px 10px -10px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1056,6 +1056,7 @@ onMounted(() => {
|
|||||||
.equipment_title {
|
.equipment_title {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
margin: 0px -10px 10px -10px;
|
||||||
}
|
}
|
||||||
::v-deep .typeList {
|
::v-deep .typeList {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@ -183,6 +183,9 @@ const handleKeyDown = (e) => {
|
|||||||
clickChange.mouseLocation = false
|
clickChange.mouseLocation = false
|
||||||
new YJ.Global.MouseCoordinate(window.earth, clickChange.mouseLocation)
|
new YJ.Global.MouseCoordinate(window.earth, clickChange.mouseLocation)
|
||||||
// window.removeEventListener('keydown', handleKeyDown)
|
// window.removeEventListener('keydown', handleKeyDown)
|
||||||
|
let dom = document.getElementById('earthContainer')
|
||||||
|
dom?.classList.remove('custom-cursor')
|
||||||
|
dom?.classList.add('default-cursor')
|
||||||
}
|
}
|
||||||
|
|
||||||
//视频录制
|
//视频录制
|
||||||
@ -674,11 +677,20 @@ const methodMap = {
|
|||||||
//鼠标定位
|
//鼠标定位
|
||||||
mouseLocation() {
|
mouseLocation() {
|
||||||
clickChange.mouseLocation = !clickChange.mouseLocation
|
clickChange.mouseLocation = !clickChange.mouseLocation
|
||||||
ElMessage({
|
|
||||||
message: '按下键盘ESC键可快速退出',
|
|
||||||
type: 'warning'
|
|
||||||
})
|
|
||||||
new YJ.Global.MouseCoordinate(window.earth, clickChange.mouseLocation)
|
new YJ.Global.MouseCoordinate(window.earth, clickChange.mouseLocation)
|
||||||
|
let dom = document.getElementById('earthContainer')
|
||||||
|
if (clickChange.mouseLocation) {
|
||||||
|
ElMessage({
|
||||||
|
message: '按下键盘ESC键可快速退出',
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
dom?.classList.remove('default-cursor')
|
||||||
|
dom?.classList.add('custom-cursor')
|
||||||
|
} else {
|
||||||
|
dom?.classList.remove('custom-cursor')
|
||||||
|
dom?.classList.add('default-cursor')
|
||||||
|
}
|
||||||
|
|
||||||
// if (clickChange.mouseLocation) {
|
// if (clickChange.mouseLocation) {
|
||||||
// window.addEventListener('keydown', handleKeyDown)
|
// window.addEventListener('keydown', handleKeyDown)
|
||||||
@ -1020,6 +1032,16 @@ defineExpose({
|
|||||||
initList
|
initList
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
.custom-cursor {
|
||||||
|
cursor:
|
||||||
|
url('@/assets/img/mouse.png') 16 16,
|
||||||
|
auto;
|
||||||
|
}
|
||||||
|
.default-cursor {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.leftSideSecond {
|
.leftSideSecond {
|
||||||
display: none;
|
display: none;
|
||||||
|
|||||||
@ -45,7 +45,7 @@
|
|||||||
@change="precisionChange"
|
@change="precisionChange"
|
||||||
/>
|
/>
|
||||||
<span class="arrow"></span> -->
|
<span class="arrow"></span> -->
|
||||||
<el-slider
|
<!-- <el-slider
|
||||||
v-model="precision"
|
v-model="precision"
|
||||||
:min="0"
|
:min="0"
|
||||||
:max="360"
|
:max="360"
|
||||||
@ -53,14 +53,51 @@
|
|||||||
@change="precisionInput"
|
@change="precisionInput"
|
||||||
/>
|
/>
|
||||||
<span class="firstTip">0</span>
|
<span class="firstTip">0</span>
|
||||||
<span class="endTip">360</span>
|
<span class="endTip">360</span> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<el-slider
|
||||||
|
v-model="precision"
|
||||||
|
:min="0"
|
||||||
|
:max="maxNum"
|
||||||
|
placement="bottom"
|
||||||
|
@change="precisionInput"
|
||||||
|
:show-tooltip="false"
|
||||||
|
popper-class="custom-tooltip"
|
||||||
|
@input="updateDataAttr"
|
||||||
|
/>
|
||||||
|
<!-- <span class="firstTip">0</span>
|
||||||
|
<span class="endTip">360</span> -->
|
||||||
|
<div class="input-number input-number-unit" style="margin-left: 10px">
|
||||||
|
<input
|
||||||
|
class="input"
|
||||||
|
id="precision"
|
||||||
|
type="number"
|
||||||
|
title=""
|
||||||
|
min="1"
|
||||||
|
max="360"
|
||||||
|
v-model="maxNum"
|
||||||
|
@input="precisionMaxInput"
|
||||||
|
/>
|
||||||
|
<span class="arrow"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row" style="margin-top: 30px">
|
||||||
|
<div class="col">
|
||||||
|
<span class="label">绘制区域</span>
|
||||||
|
<button class="draw-btn" @click="draw">
|
||||||
|
<svg class="icon-draw"><use xlink:href="#yj-icon-draw"></use></svg>开始绘制
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<!-- <template #footer>
|
||||||
<button @click="draw">绘制</button>
|
<button @click="draw">绘制</button>
|
||||||
</template>
|
</template> -->
|
||||||
</Dialog>
|
</Dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -72,7 +109,7 @@ import Dialog from '@/components/dialog/baseDialog.vue'
|
|||||||
const baseDialog: any = ref(null)
|
const baseDialog: any = ref(null)
|
||||||
const eventBus: any = inject('bus')
|
const eventBus: any = inject('bus')
|
||||||
const viewPointHeight: any = ref(1.8)
|
const viewPointHeight: any = ref(1.8)
|
||||||
const precision: any = ref(20)
|
const precision: any = ref(0)
|
||||||
|
|
||||||
var visibility: any = reactive([])
|
var visibility: any = reactive([])
|
||||||
eventBus.on('circleViewShedDialog', () => {
|
eventBus.on('circleViewShedDialog', () => {
|
||||||
@ -88,10 +125,12 @@ const open = () => {
|
|||||||
viewPointHeight: viewPointHeight.value,
|
viewPointHeight: viewPointHeight.value,
|
||||||
precision: precision.value
|
precision: precision.value
|
||||||
})
|
})
|
||||||
|
updateDataAttr()
|
||||||
}
|
}
|
||||||
const closeCallBack = (e) => {
|
const closeCallBack = (e) => {
|
||||||
viewPointHeight.value = 1.8
|
viewPointHeight.value = 1.8
|
||||||
precision.value = 20
|
precision.value = 0
|
||||||
|
maxNum.value = 100
|
||||||
YJ.Measure.SetMeasureStatus(false)
|
YJ.Measure.SetMeasureStatus(false)
|
||||||
}
|
}
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
@ -116,21 +155,55 @@ const precisionInput = () => {
|
|||||||
// } else if (precision.value > dom.max * 1) {
|
// } else if (precision.value > dom.max * 1) {
|
||||||
// precision.value = dom.max * 1
|
// precision.value = dom.max * 1
|
||||||
// }
|
// }
|
||||||
console.log(precision, 'eeeeee')
|
|
||||||
visibility.precisions = precision.value
|
visibility.precisions = precision.value
|
||||||
}
|
}
|
||||||
const precisionChange = () => {
|
const precisionChange = () => {}
|
||||||
console.log(precision, 'yyyy')
|
|
||||||
}
|
|
||||||
const draw = (e) => {
|
const draw = (e) => {
|
||||||
visibility.draw()
|
visibility.draw()
|
||||||
// visibility.create(this)
|
// visibility.create(this)
|
||||||
// !window.analysisArr && (window.analysisArr = [])
|
// !window.analysisArr && (window.analysisArr = [])
|
||||||
// window.analysisArr.push(visibility)
|
// window.analysisArr.push(visibility)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//滑块
|
||||||
|
var maxNum: any = ref(100)
|
||||||
|
const updateDataAttr = async () => {
|
||||||
|
await nextTick()
|
||||||
|
const sliderButton = document.querySelector('.el-slider__button-wrapper')
|
||||||
|
if (sliderButton) {
|
||||||
|
sliderButton.setAttribute('data-value', precision.value.toString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const precisionMaxInput = () => {
|
||||||
|
let dom: any = document.getElementById('precision')
|
||||||
|
if (maxNum.value < dom.min * 1) {
|
||||||
|
maxNum.value = dom.min * 1
|
||||||
|
} else if (maxNum.value > dom.max * 1) {
|
||||||
|
maxNum.value = dom.max * 1
|
||||||
|
}
|
||||||
|
// cutFill.heights = maxNum.value
|
||||||
|
}
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open
|
open
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss"></style>
|
<style scoped lang="scss">
|
||||||
|
::v-deep .el-slider__button-wrapper::before {
|
||||||
|
content: attr(data-value);
|
||||||
|
position: absolute;
|
||||||
|
width: 30px;
|
||||||
|
height: 25px;
|
||||||
|
line-height: 25px;
|
||||||
|
border-radius: 4px;
|
||||||
|
text-align: center;
|
||||||
|
bottom: -15px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
background: unset;
|
||||||
|
color: white;
|
||||||
|
font-size: 12px;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@ -12,18 +12,18 @@
|
|||||||
<div class="div-item">
|
<div class="div-item">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<span class="label" style="flex: 0 0 70px">绘制分析区域</span>
|
<span class="label" style="flex: 0 0 70px">土方分析区域</span>
|
||||||
<button class="draw-btn" @click="draw">
|
<button class="draw-btn" @click="draw">
|
||||||
<svg class="icon-edit"><use xlink:href="#yj-icon-edit"></use></svg>开始绘制
|
<svg class="icon-edit"><use xlink:href="#yj-icon-draw"></use></svg>开始绘制
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span class="custom-divider"></span>
|
<!-- <span class="custom-divider"></span> -->
|
||||||
<div class="div-item">
|
<div class="div-item">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<span class="label">基准高度</span>
|
<span class="label">高度值</span>
|
||||||
<div class="input-number input-number-unit-1">
|
<div class="input-number input-number-unit-1">
|
||||||
<input
|
<input
|
||||||
class="input"
|
class="input"
|
||||||
@ -54,13 +54,34 @@
|
|||||||
/>
|
/>
|
||||||
<span class="arrow"></span>
|
<span class="arrow"></span>
|
||||||
</div> -->
|
</div> -->
|
||||||
<el-slider v-model="precision" :min="0" :max="360" @change="precisionInput" />
|
<el-slider
|
||||||
<span class="firstTip">0</span>
|
v-model="precision"
|
||||||
<span class="endTip">360</span>
|
:min="0"
|
||||||
|
:max="maxNum"
|
||||||
|
@change="precisionInput"
|
||||||
|
:show-tooltip="false"
|
||||||
|
popper-class="custom-tooltip"
|
||||||
|
@input="updateDataAttr"
|
||||||
|
/>
|
||||||
|
<!-- <span class="firstTip">0</span>
|
||||||
|
<span class="endTip">360</span> -->
|
||||||
|
<div class="input-number input-number-unit" style="margin-left: 10px">
|
||||||
|
<input
|
||||||
|
class="input"
|
||||||
|
id="precision"
|
||||||
|
type="number"
|
||||||
|
title=""
|
||||||
|
min="1"
|
||||||
|
max="1250"
|
||||||
|
v-model="maxNum"
|
||||||
|
@input="precisionMaxInput"
|
||||||
|
/>
|
||||||
|
<span class="arrow"></span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span class="custom-divider"></span>
|
<span class="custom-divider" style="margin-top: 10px"></span>
|
||||||
<div class="div-item">
|
<div class="div-item">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
@ -126,6 +147,17 @@ var cutVolume: any = ref(0)
|
|||||||
|
|
||||||
var cutFill: any = reactive([])
|
var cutFill: any = reactive([])
|
||||||
|
|
||||||
|
var maxNum: any = ref(1250)
|
||||||
|
|
||||||
|
//tooltip
|
||||||
|
const updateDataAttr = async () => {
|
||||||
|
await nextTick()
|
||||||
|
const sliderButton = document.querySelector('.el-slider__button-wrapper')
|
||||||
|
if (sliderButton) {
|
||||||
|
sliderButton.setAttribute('data-value', precision.value.toString())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
eventBus.on('cutFillDialog', () => {
|
eventBus.on('cutFillDialog', () => {
|
||||||
baseDialog.value?.open()
|
baseDialog.value?.open()
|
||||||
cutFill = new YJ.Analysis.CutFillAnalysis(window.earth, {
|
cutFill = new YJ.Analysis.CutFillAnalysis(window.earth, {
|
||||||
@ -139,6 +171,7 @@ const open = () => {
|
|||||||
height: height.value,
|
height: height.value,
|
||||||
precision: precision.value
|
precision: precision.value
|
||||||
})
|
})
|
||||||
|
updateDataAttr() //解决默认打开时没有值
|
||||||
}
|
}
|
||||||
const heightInput = () => {
|
const heightInput = () => {
|
||||||
let dom: any = document.getElementById('height')
|
let dom: any = document.getElementById('height')
|
||||||
@ -149,6 +182,15 @@ const heightInput = () => {
|
|||||||
}
|
}
|
||||||
cutFill.heights = height.value
|
cutFill.heights = height.value
|
||||||
}
|
}
|
||||||
|
const precisionMaxInput = () => {
|
||||||
|
let dom: any = document.getElementById('precision')
|
||||||
|
if (maxNum.value < dom.min * 1) {
|
||||||
|
maxNum.value = dom.min * 1
|
||||||
|
} else if (maxNum.value > dom.max * 1) {
|
||||||
|
maxNum.value = dom.max * 1
|
||||||
|
}
|
||||||
|
// cutFill.heights = height.value
|
||||||
|
}
|
||||||
const precisionInput = () => {
|
const precisionInput = () => {
|
||||||
// let dom = document.getElementById('precision')
|
// let dom = document.getElementById('precision')
|
||||||
// if (precision.value < dom.min * 1) {
|
// if (precision.value < dom.min * 1) {
|
||||||
@ -196,4 +238,24 @@ defineExpose({
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss"></style>
|
<style scoped lang="scss">
|
||||||
|
::v-deep .content {
|
||||||
|
width: 600px !important;
|
||||||
|
}
|
||||||
|
::v-deep .el-slider__button-wrapper::before {
|
||||||
|
content: attr(data-value);
|
||||||
|
position: absolute;
|
||||||
|
width: 30px;
|
||||||
|
height: 25px;
|
||||||
|
line-height: 25px;
|
||||||
|
border-radius: 4px;
|
||||||
|
text-align: center;
|
||||||
|
bottom: -15px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
background: unset;
|
||||||
|
color: white;
|
||||||
|
font-size: 12px;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user