refactor(数据大屏): 编辑时预览逻辑针对Tab画布优化

This commit is contained in:
wangjiahao 2024-08-19 20:38:59 +08:00
parent 703047630f
commit 823241d0c9
3 changed files with 24 additions and 20 deletions

View File

@ -101,7 +101,7 @@ const dashboardActive = computed(() => {
// full
const dataVKeepRadio = computed(() => {
return canvasStyleData.value.screenAdaptor !== 'full'
return canvasStyleData.value?.screenAdaptor !== 'full'
})
const isReport = computed(() => {
return !!router.currentRoute.value.query?.report
@ -205,12 +205,13 @@ const resetLayout = () => {
: outerScale.value * 100
} else {
//
// tip tab 使 outerScale.value canvasStyleData.value {}
const scaleMinHeight = dataVKeepRadio.value ? scaleMin.value : scaleHeightPoint.value
changeRefComponentsSizeWithScalePoint(
baseComponentData.value,
canvasStyleData.value,
scaleMin.value,
scaleMinHeight
scaleMin.value || outerScale.value * 100,
scaleMinHeight || outerScale.value * 100
)
scaleMin.value = isMainCanvas(canvasId.value) ? scaleMin.value : outerScale.value * 100
}

View File

@ -66,7 +66,7 @@
:dv-info="dvInfo"
:cur-gap="curPreviewGap"
:component-data="tabItem.componentData"
:canvas-style-data="canvasStyleData"
:canvas-style-data="{}"
:canvas-view-info="canvasViewInfo"
:canvas-id="element.id + '--' + tabItem.name"
:preview-active="editableTabsValue === tabItem.name"
@ -289,11 +289,9 @@ const componentMoveIn = component => {
component.style.left = 0
component.style.top = 0
tabItem.componentData.push(component)
if (isDashboard()) {
nextTick(() => {
refInstance.addItemBox(component) //
})
}
nextTick(() => {
refInstance.addItemBox(component) //
})
}
} else {
//
@ -310,7 +308,9 @@ const componentMoveIn = component => {
}
const componentMoveOut = component => {
canvasChangeAdaptor(component, bashMatrixInfo.value, true)
if (isDashboard()) {
canvasChangeAdaptor(component, bashMatrixInfo.value, true)
}
// Tab
eventBus.emit('removeMatrixItemById-' + component.canvasId, component.id)
dvMainStore.setCurComponent({ component: null, index: null })
@ -324,6 +324,9 @@ const componentMoveOut = component => {
}
const addToMain = component => {
const { left, top } = element.value.style
component.style.left = component.style.left + left
component.style.top = component.style.top + top
component.canvasId = 'canvas-main'
dvMainStore.addComponent({
component,

View File

@ -33,18 +33,18 @@ export function changeComponentsSizeWithScale(scale, changeAttrs = needToChangeA
getOriginStyle(component.style[key], canvasStyleData.value.scale),
scale
)
// 如果是分组组件 则要进行分组内部组件groupStyle进行深度计算
// 计算逻辑 Group 中样式 * groupComponent.groupStyle[sonKey].
if (['Group', 'DeTabs'].includes(component.component)) {
try {
groupSizeStyleAdaptor(component)
} catch (e) {
// 旧Group适配
console.error('group adaptor error:' + e)
}
}
}
})
// 如果是分组组件 则要进行分组内部组件groupStyle进行深度计算
// 计算逻辑 Group 中样式 * groupComponent.groupStyle[sonKey].
if (['Group', 'DeTabs'].includes(component.component)) {
try {
groupSizeStyleAdaptor(component)
} catch (e) {
// 旧Group适配
console.error('group adaptor error:' + e)
}
}
})
dvMainStore.setComponentData(componentDataCopy)