diff --git a/core/core-frontend/src/utils/canvasUtils.ts b/core/core-frontend/src/utils/canvasUtils.ts index e106b35000..bd5d9dcf40 100644 --- a/core/core-frontend/src/utils/canvasUtils.ts +++ b/core/core-frontend/src/utils/canvasUtils.ts @@ -432,19 +432,28 @@ export async function decompressionPre(params, callBack) { callBack(deTemplateData) } -export function trackBarStyleCheck(element, trackbarStyle, scale) { +export function trackBarStyleCheck(element, trackbarStyle, _scale, trackMenuNumber) { const { width, height } = element.style const widthReal = width const heightReal = height + // 浮窗高度 + function calculateTrackHeight(trackMenuNumber) { + if (trackMenuNumber === 2) { + return 75 + } else { + const increment = Math.floor(trackMenuNumber - 2) * 35 + return 75 + increment + } + } if (trackbarStyle.left < 0) { trackbarStyle.left = 0 } else if (widthReal - trackbarStyle.left < 60) { trackbarStyle.left = trackbarStyle.left - 60 } - + const trackMenuHeight = calculateTrackHeight(trackMenuNumber) if (trackbarStyle.top < 0) { trackbarStyle.top = 0 - } else if (heightReal - trackbarStyle.top < 100) { - trackbarStyle.top = trackbarStyle.top - 100 + } else if (trackbarStyle.top + trackMenuHeight + 60 > heightReal) { + trackbarStyle.top = trackbarStyle.top - trackMenuHeight } } diff --git a/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue b/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue index b953c53b94..b5b233070c 100644 --- a/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue +++ b/core/core-frontend/src/views/chart/components/views/components/ChartComponentG2Plot.vue @@ -244,7 +244,7 @@ const action = param => { left: param.x - 50, top: param.y + 10 } - trackBarStyleCheck(props.element, barStyleTemp, props.scale) + trackBarStyleCheck(props.element, barStyleTemp, props.scale, trackMenu.value.length) state.trackBarStyle.left = barStyleTemp.left + 'px' state.trackBarStyle.top = barStyleTemp.top + 'px' viewTrack.value.trackButtonClick() diff --git a/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue b/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue index 7900e71a29..c2bbc01c0c 100644 --- a/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue +++ b/core/core-frontend/src/views/chart/components/views/components/ChartComponentS2.vue @@ -261,7 +261,7 @@ const action = param => { left: param.x - 50, top: param.y + 10 } - trackBarStyleCheck(props.element, barStyleTemp, props.scale) + trackBarStyleCheck(props.element, barStyleTemp, props.scale, trackMenu.value.length) state.trackBarStyle.left = barStyleTemp.left + 'px' state.trackBarStyle.top = barStyleTemp.top + 'px' viewTrack.value.trackButtonClick()