refactor(数据大屏): 分组和Tab组件禁用相互组合

This commit is contained in:
wangjiahao 2024-08-27 18:06:25 +08:00
parent e11dbf0f8c
commit d704bc618f
3 changed files with 15 additions and 11 deletions

View File

@ -39,7 +39,7 @@ const areaDataPush = component => {
component.isShow &&
component.canvasId === 'canvas-main' &&
component.category !== 'hidden' &&
!['Group', 'GroupArea'].includes(component.component)
!['Group', 'GroupArea', 'DeTabs'].includes(component.component)
) {
areaData.value.components.push(component)
}
@ -75,7 +75,7 @@ const shiftDataPush = curClickIndex => {
!component.isLock &&
component.isShow &&
component.category !== 'hidden' &&
!['Group', 'GroupArea'].includes(component.component)
!['Group', 'GroupArea', 'DeTabs'].includes(component.component)
)
areaData.value.components.push(...shiftAreaComponents)
dvMainStore.setCurComponent({ component: null, index: null })

View File

@ -160,7 +160,7 @@ const state = reactive({
id: ''
},
// Tab
ignoreTabMoveComponent: ['de-button', 'de-reset-button', 'DeTabs'],
ignoreTabMoveComponent: ['de-button', 'de-reset-button', 'DeTabs', 'Group'],
// tab
parentWidthTabOffset: 40,
canvasChangeTips: 'none',
@ -431,7 +431,7 @@ const areaDataPush = component => {
!component.isLock &&
component.isShow &&
component.canvasId === 'canvas-main' &&
!['Group', 'GroupArea'].includes(component.component)
!['Group', 'GroupArea', 'DeTabs'].includes(component.component)
) {
areaData.value.components.push(component)
}

View File

@ -142,9 +142,7 @@ export const composeStore = defineStore('compose', {
const components = []
areaData.components.forEach(component => {
if (!['Group', 'GroupArea'].includes(component.component)) {
components.push(component)
} else {
if (['Group'].includes(component.component)) {
// 如果要组合的组件中已经存在组合数据则需要提前拆分
const parentStyle = { ...component.style }
const subComponents = component.propValue
@ -155,6 +153,10 @@ export const composeStore = defineStore('compose', {
})
components.push(...component.propValue)
} else if (['DeTabs', 'GroupArea'].includes(component.component)) {
// do nothing GroupAreas组合视阔区 DeTabs 均不加入分组中
} else {
components.push(component)
}
})
@ -202,10 +204,12 @@ export const composeStore = defineStore('compose', {
// 将已经放到 Group 组件数据删除也就是在 componentData 中删除因为它们已经从 componentData 挪到 Group 组件中了
batchDeleteComponent(deleteData) {
deleteData.forEach(component => {
for (let i = 0, len = componentData.value.length; i < len; i++) {
if (component.id == componentData.value[i].id) {
componentData.value.splice(i, 1)
break
if (!['DeTabs', 'GroupArea'].includes(component.component)) {
for (let i = 0, len = componentData.value.length; i < len; i++) {
if (component.id == componentData.value[i].id) {
componentData.value.splice(i, 1)
break
}
}
}
})