标准图幅比例尺

This commit is contained in:
2025-09-15 18:41:45 +08:00
parent 95ce872278
commit b7a8707450
3 changed files with 105 additions and 0 deletions

View File

@ -333,6 +333,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { inject } from 'vue'
const eventBus: any = inject('bus')
const { t } = useI18n() const { t } = useI18n()
@ -407,7 +410,9 @@ const sysChange = async () => {
//地形遮挡 //地形遮挡
YJ.Global.setGroundCover(window.earth, systemSetting.value.occlusion) YJ.Global.setGroundCover(window.earth, systemSetting.value.occlusion)
//比例尺
await YJ.Global.SheetIndexStatusSwitch(window.earth, systemSetting.value.sheetIndexStatusSwitch) await YJ.Global.SheetIndexStatusSwitch(window.earth, systemSetting.value.sheetIndexStatusSwitch)
eventBus.emit('tufuInput', systemSetting.value.sheetIndexStatusSwitch)
//鹰眼图 //鹰眼图
if (systemSetting.value.showMapX) { if (systemSetting.value.showMapX) {

View File

@ -0,0 +1,98 @@
<template>
<div class="tufu_select" ref="tufu_select" v-if="show">
<span
style="
font-size: 20px;
color: white;
font-weight: bold;
margin-right: 10px;
vertical-align: middle;
display: inline-block;
"
>图幅比例尺</span
>
<el-select
v-model="value"
size="small"
:popper-append-to-body="false"
style="width: 100px; vertical-align: middle; display: inline-block"
placeholder="请选择"
@change="handleChange"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</template>
<script setup lang="ts">
import { reactive, ref } from 'vue'
import { inject } from 'vue'
const eventBus: any = inject('bus')
var show = ref(false)
var value = ref('1:100万')
var options = reactive([
{ value: '1:100万', label: '1:100万' },
{ value: '1:50万', label: '1:50万' },
{ value: '1:25万', label: '1:25万' },
{ value: '1:10万', label: '1:10万' },
{ value: '1:5万', label: '1:5万' },
{ value: '1:2.5万', label: '1:2.5万' },
{ value: '1:1万', label: '1:1万' },
{ value: '1:5000', label: '1:5000' }
])
const handleChange = (value) => {
YJ.Global.SheetIndexShangeScale(window.earth, value)
}
eventBus.on('tufuInput', (data) => {
show.value = data
})
</script>
<style scoped lang="scss">
.tufu_select {
// display: flex;
// align-items: center;
// justify-content: center;
position: absolute;
top: 17%;
right: 15px;
}
.el-range-editor.is-active .el-range-editor.is-active:hover,
.el-select .el-input.is-focus .el-input__inner,
.el-input.is-active .el-input__inner,
.el-input__inner:focus {
border-color: rgba(0, 255, 255, 1);
}
::v-deep .el-select__wrapper {
background-color: rgba(0, 0, 0, 0.5) !important;
color: white;
border: 1px solid rgba(0, 255, 255, 1);
box-shadow: unset !important;
}
.el-select-dropdown {
background-color: rgba(0, 0, 0, 0.5);
border-color: rgba(0, 255, 255, 1);
}
::v-deep .el-select__placeholder {
color: #fff !important;
}
.el-select-dropdown__item {
color: white;
text-align: center;
}
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
color: rgba(0, 255, 255, 1);
background-color: rgba(0, 255, 255, 0.5);
}
</style>

View File

@ -37,6 +37,7 @@
<ProjectionConvert ref="projectionConvert"></ProjectionConvert> <ProjectionConvert ref="projectionConvert"></ProjectionConvert>
<GoodsSearchCircle ref="goodsSearchCircle"></GoodsSearchCircle> <GoodsSearchCircle ref="goodsSearchCircle"></GoodsSearchCircle>
<GoodsSearchPolgon ref="goodsSearchPolgon"></GoodsSearchPolgon> <GoodsSearchPolgon ref="goodsSearchPolgon"></GoodsSearchPolgon>
<tufuSelect ref="tufuselect"></tufuSelect>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -81,6 +82,7 @@ import ProjectionConvert from '../components/propertyBox/ProjectionConvert.vue'
import GoodsSearchCircle from '../components/propertyBox/GoodsSearchCircle.vue' import GoodsSearchCircle from '../components/propertyBox/GoodsSearchCircle.vue'
import GoodsSearchPolgon from '../components/propertyBox/GoodsSearchPolgon.vue' import GoodsSearchPolgon from '../components/propertyBox/GoodsSearchPolgon.vue'
import flat from '../components/propertyBox/flat.vue' import flat from '../components/propertyBox/flat.vue'
import tufuSelect from '../components/headers/components/tufu_select.vue'
import { GisApi } from '@/api/gisApi' import { GisApi } from '@/api/gisApi'