fix(数据大屏): 移动端调整缩放对跳转下钻弹框的影响

This commit is contained in:
wangjiahao 2024-12-03 14:55:47 +08:00
parent 5f68f73df5
commit d5f29146be
2 changed files with 33 additions and 14 deletions

View File

@ -3,18 +3,20 @@
<el-dropdown :teleported="false" trigger="click">
<input id="input" ref="trackButton" type="button" hidden />
<template #dropdown>
<el-dropdown-menu
class="track-menu"
:style="{ 'font-family': fontFamily }"
:append-to-body="false"
>
<el-dropdown-item
v-for="(item, key) in trackMenu"
:key="key"
@click="trackMenuClick(item)"
><span class="menu-item">{{ state.i18n_map[item] }}</span></el-dropdown-item
<div>
<el-dropdown-menu
class="track-menu"
:style="{ 'font-family': fontFamily }"
:append-to-body="false"
>
</el-dropdown-menu>
<el-dropdown-item
v-for="(item, key) in trackMenu"
:key="key"
@click="trackMenuClick(item)"
><span class="menu-item">{{ state.i18n_map[item] }}</span></el-dropdown-item
>
</el-dropdown-menu>
</div>
</template>
</el-dropdown>
</div>

View File

@ -23,8 +23,8 @@ import { defaultsDeep, cloneDeep } from 'lodash-es'
import ChartError from '@/views/chart/components/views/components/ChartError.vue'
import { BASE_VIEW_CONFIG } from '../../editor/util/chart'
import { customAttrTrans, customStyleTrans, recursionTransObj } from '@/utils/canvasStyle'
import { deepCopy } from '@/utils/utils'
import { trackBarStyleCheck } from '@/utils/canvasUtils'
import { deepCopy, isMobile } from '@/utils/utils'
import { isDashboard, trackBarStyleCheck } from '@/utils/canvasUtils'
import { useEmitt } from '@/hooks/web/useEmitt'
import { L7ChartView } from '@/views/chart/components/js/panel/types/impl/l7'
@ -92,7 +92,6 @@ const { view, showPosition, scale, terminal, suffixId } = toRefs(props)
const isError = ref(false)
const errMsg = ref('')
const linkageActiveHistory = ref(false)
const antVRenderStatus = ref(false)
const state = reactive({
trackBarStyle: {
@ -100,6 +99,11 @@ const state = reactive({
left: '50px',
top: '50px'
},
trackBarStyleMobile: {
position: 'absolute',
left: '50px',
top: '50px'
},
linkageActiveParam: null,
pointParam: null,
data: { fields: [] } //
@ -369,12 +373,25 @@ const action = param => {
top: param.y + 10
}
trackBarStyleCheck(props.element, barStyleTemp, props.scale, trackMenu.value.length)
const trackBarX = barStyleTemp.left
let trackBarY = 50
state.trackBarStyle.left = barStyleTemp.left + 'px'
if (curView.type === 'symbolic-map') {
trackBarY = param.y + 10
state.trackBarStyle.top = param.y + 10 + 'px'
} else {
trackBarY = barStyleTemp.top
state.trackBarStyle.top = barStyleTemp.top + 'px'
}
if (!isDashboard() && isMobile()) {
state.trackBarStyle.left = trackBarX / props.scale + 'px'
state.trackBarStyle.top = trackBarY / props.scale + 'px'
state.trackBarStyle['zoom'] = props.scale
} else {
state.trackBarStyle.left = trackBarX + 'px'
state.trackBarStyle.top = trackBarY + 'px'
}
viewTrack.value.trackButtonClick()
}
}