修改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);
|
||||
border: 1px solid rgba(var(--color-sdk-base-rgb), 0.5);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding: 5px 16px 4px 16px;
|
||||
color: #ffffff;
|
||||
@ -448,7 +448,6 @@
|
||||
.YJ-custom-base-dialog>.content .table {
|
||||
background-color: #ffffff00;
|
||||
color: #000;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog>.content .table {
|
||||
@ -476,6 +475,9 @@
|
||||
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 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -552,6 +554,8 @@
|
||||
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 .td {
|
||||
flex: 1;
|
||||
@ -569,7 +573,40 @@
|
||||
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 {
|
||||
min-height: 32px;
|
||||
@ -584,8 +621,6 @@
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
=======
|
||||
.YJ-custom-base-dialog>.content .table.camera-table {
|
||||
overflow-x: auto;
|
||||
}
|
||||
@ -648,7 +683,6 @@
|
||||
min-width: 74px;
|
||||
}
|
||||
|
||||
>>>>>>> Stashed changes
|
||||
.YJ-custom-base-dialog>.content select>option {
|
||||
color: #000;
|
||||
}
|
||||
@ -1171,9 +1205,9 @@
|
||||
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;
|
||||
} */
|
||||
}
|
||||
|
||||
.YJ-custom-base-dialog .ew-color-picker-box {
|
||||
border-width: 4px;
|
||||
@ -1735,8 +1769,6 @@
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
<<<<<<< Updated upstream
|
||||
=======
|
||||
/* 点标注 */
|
||||
.YJ-custom-base-dialog.billboard-object>.content {
|
||||
width: 590px;
|
||||
@ -1789,7 +1821,6 @@
|
||||
height: auto;
|
||||
}
|
||||
|
||||
>>>>>>> Stashed changes
|
||||
/* 富文本 */
|
||||
.richText-box {
|
||||
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>
|
||||
<div class="model-management-container">
|
||||
<div class="equipment_title" style="margin-bottom: 10px">
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@click="importModelDB"
|
||||
>
|
||||
<template #icon>
|
||||
<svg-icon name="select" />
|
||||
</template>
|
||||
<span>选择军标库</span>
|
||||
</el-button>
|
||||
<div>
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@click="importModelDB"
|
||||
>
|
||||
<template #icon>
|
||||
<svg-icon name="select" />
|
||||
</template>
|
||||
<span>选择军标库</span>
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@click="createModelDB"
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@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>
|
||||
<svg-icon name="addDevice" />
|
||||
</template>
|
||||
<span>创建军标库</span>
|
||||
</el-button>
|
||||
</el-input>
|
||||
</div>
|
||||
<el-row :gutter="20">
|
||||
<!-- 左侧分类树 -->
|
||||
@ -47,6 +58,7 @@
|
||||
@node-drag-over="handleDragOver"
|
||||
@node-drag-end="handleDragEnd"
|
||||
@node-drop="handleDrop"
|
||||
:filter-node-method="filterNode"
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<!-- <span> {{ node.label }}</span> -->
|
||||
@ -134,6 +146,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { Search } from '@element-plus/icons-vue'
|
||||
import type { TableColumnCtx } from 'element-plus'
|
||||
import contextMenuCom from './contentMenu.vue'
|
||||
import Sortable from 'sortablejs'
|
||||
@ -187,6 +200,18 @@ const treeRef = ref()
|
||||
// @ts-ignore
|
||||
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 dialogTitle: any = ref('添加军标类型')
|
||||
@ -857,7 +882,13 @@ onMounted(() => {
|
||||
--el-input-focus-border-color: rgba(var(--color-base1), 0.5) !important;
|
||||
}
|
||||
::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 {
|
||||
text-shadow: 0px 0px 9px var(--color-sdk-text-shadow) !important;
|
||||
|
||||
@ -1,27 +1,36 @@
|
||||
<template>
|
||||
<div class="model-management-container">
|
||||
<div class="equipment_title" style="margin-bottom: 10px">
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@click="importModelDB"
|
||||
>
|
||||
<template #icon>
|
||||
<svg-icon name="select" />
|
||||
</template>
|
||||
<span>选择模型库</span>
|
||||
</el-button>
|
||||
<div class="equipment_title">
|
||||
<div>
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@click="importModelDB"
|
||||
>
|
||||
<template #icon>
|
||||
<svg-icon name="select" />
|
||||
</template>
|
||||
<span>选择模型库</span>
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@click="createModelDB"
|
||||
>
|
||||
<template #icon>
|
||||
<svg-icon name="addDevice" />
|
||||
</template>
|
||||
<span>创建模型库</span>
|
||||
</el-button>
|
||||
<el-button
|
||||
color="#004b4b"
|
||||
style="border: 1px solid rgba(var(--color-base1), 0.5)"
|
||||
@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"
|
||||
/>
|
||||
</div>
|
||||
<el-row :gutter="20">
|
||||
<!-- 左侧分类树 -->
|
||||
@ -47,6 +56,7 @@
|
||||
@node-drag-over="handleDragOver"
|
||||
@node-drag-end="handleDragEnd"
|
||||
@node-drop="handleDrop"
|
||||
:filter-node-method="filterNode"
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<!-- <span> {{ node.label }}</span> -->
|
||||
@ -142,6 +152,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive, onMounted, nextTick } from 'vue'
|
||||
import { Search } from '@element-plus/icons-vue'
|
||||
import type { TableColumnCtx } from 'element-plus'
|
||||
import contextMenuCom from './contentMenu.vue'
|
||||
import Sortable from 'sortablejs'
|
||||
@ -207,6 +218,19 @@ const closeDialog = () => {
|
||||
modelType.value = ''
|
||||
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
|
||||
const addType = () => {
|
||||
if (!modelType.value) {
|
||||
@ -890,7 +914,8 @@ onMounted(() => {
|
||||
--el-input-focus-border-color: rgba(var(--color-base1), 0.5) !important;
|
||||
}
|
||||
::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 {
|
||||
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);
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.equipment_title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0px -10px 10px -10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1056,6 +1056,7 @@ onMounted(() => {
|
||||
.equipment_title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 0px -10px 10px -10px;
|
||||
}
|
||||
::v-deep .typeList {
|
||||
width: 100%;
|
||||
|
||||
@ -183,6 +183,9 @@ const handleKeyDown = (e) => {
|
||||
clickChange.mouseLocation = false
|
||||
new YJ.Global.MouseCoordinate(window.earth, clickChange.mouseLocation)
|
||||
// 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() {
|
||||
clickChange.mouseLocation = !clickChange.mouseLocation
|
||||
ElMessage({
|
||||
message: '按下键盘ESC键可快速退出',
|
||||
type: 'warning'
|
||||
})
|
||||
|
||||
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) {
|
||||
// window.addEventListener('keydown', handleKeyDown)
|
||||
@ -1020,6 +1032,16 @@ defineExpose({
|
||||
initList
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
.custom-cursor {
|
||||
cursor:
|
||||
url('@/assets/img/mouse.png') 16 16,
|
||||
auto;
|
||||
}
|
||||
.default-cursor {
|
||||
cursor: default;
|
||||
}
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
.leftSideSecond {
|
||||
display: none;
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
@change="precisionChange"
|
||||
/>
|
||||
<span class="arrow"></span> -->
|
||||
<el-slider
|
||||
<!-- <el-slider
|
||||
v-model="precision"
|
||||
:min="0"
|
||||
:max="360"
|
||||
@ -53,14 +53,51 @@
|
||||
@change="precisionInput"
|
||||
/>
|
||||
<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>
|
||||
</template>
|
||||
<template #footer>
|
||||
<!-- <template #footer>
|
||||
<button @click="draw">绘制</button>
|
||||
</template>
|
||||
</template> -->
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
@ -72,7 +109,7 @@ import Dialog from '@/components/dialog/baseDialog.vue'
|
||||
const baseDialog: any = ref(null)
|
||||
const eventBus: any = inject('bus')
|
||||
const viewPointHeight: any = ref(1.8)
|
||||
const precision: any = ref(20)
|
||||
const precision: any = ref(0)
|
||||
|
||||
var visibility: any = reactive([])
|
||||
eventBus.on('circleViewShedDialog', () => {
|
||||
@ -88,10 +125,12 @@ const open = () => {
|
||||
viewPointHeight: viewPointHeight.value,
|
||||
precision: precision.value
|
||||
})
|
||||
updateDataAttr()
|
||||
}
|
||||
const closeCallBack = (e) => {
|
||||
viewPointHeight.value = 1.8
|
||||
precision.value = 20
|
||||
precision.value = 0
|
||||
maxNum.value = 100
|
||||
YJ.Measure.SetMeasureStatus(false)
|
||||
}
|
||||
onBeforeUnmount(() => {
|
||||
@ -116,21 +155,55 @@ const precisionInput = () => {
|
||||
// } else if (precision.value > dom.max * 1) {
|
||||
// precision.value = dom.max * 1
|
||||
// }
|
||||
console.log(precision, 'eeeeee')
|
||||
visibility.precisions = precision.value
|
||||
}
|
||||
const precisionChange = () => {
|
||||
console.log(precision, 'yyyy')
|
||||
}
|
||||
const precisionChange = () => {}
|
||||
const draw = (e) => {
|
||||
visibility.draw()
|
||||
// visibility.create(this)
|
||||
// !window.analysisArr && (window.analysisArr = [])
|
||||
// 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({
|
||||
open
|
||||
})
|
||||
</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="row">
|
||||
<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">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="custom-divider"></span>
|
||||
<!-- <span class="custom-divider"></span> -->
|
||||
<div class="div-item">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<span class="label">基准高度</span>
|
||||
<span class="label">高度值</span>
|
||||
<div class="input-number input-number-unit-1">
|
||||
<input
|
||||
class="input"
|
||||
@ -54,13 +54,34 @@
|
||||
/>
|
||||
<span class="arrow"></span>
|
||||
</div> -->
|
||||
<el-slider v-model="precision" :min="0" :max="360" @change="precisionInput" />
|
||||
<span class="firstTip">0</span>
|
||||
<span class="endTip">360</span>
|
||||
<el-slider
|
||||
v-model="precision"
|
||||
: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>
|
||||
<span class="custom-divider"></span>
|
||||
<span class="custom-divider" style="margin-top: 10px"></span>
|
||||
<div class="div-item">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
@ -126,6 +147,17 @@ var cutVolume: any = ref(0)
|
||||
|
||||
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', () => {
|
||||
baseDialog.value?.open()
|
||||
cutFill = new YJ.Analysis.CutFillAnalysis(window.earth, {
|
||||
@ -139,6 +171,7 @@ const open = () => {
|
||||
height: height.value,
|
||||
precision: precision.value
|
||||
})
|
||||
updateDataAttr() //解决默认打开时没有值
|
||||
}
|
||||
const heightInput = () => {
|
||||
let dom: any = document.getElementById('height')
|
||||
@ -149,6 +182,15 @@ const heightInput = () => {
|
||||
}
|
||||
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 = () => {
|
||||
// let dom = document.getElementById('precision')
|
||||
// if (precision.value < dom.min * 1) {
|
||||
@ -196,4 +238,24 @@ defineExpose({
|
||||
})
|
||||
</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