mirror of
https://gitee.com/dromara/go-view.git
synced 2025-04-06 03:58:04 +08:00
feat: 新增解除组件还原位置
This commit is contained in:
parent
0779aeca6a
commit
fbc689b235
@ -650,7 +650,11 @@ export const useChartEditStore = defineStore({
|
|||||||
// 解组
|
// 解组
|
||||||
const unGroup = (targetIndex: number) => {
|
const unGroup = (targetIndex: number) => {
|
||||||
const targetGroup = this.getComponentList[targetIndex] as CreateComponentGroupType
|
const targetGroup = this.getComponentList[targetIndex] as CreateComponentGroupType
|
||||||
|
|
||||||
|
// 分离组件并还原位置属性
|
||||||
targetGroup.groupList.forEach(item => {
|
targetGroup.groupList.forEach(item => {
|
||||||
|
item.attr.x = item.attr.x + targetGroup.attr.x
|
||||||
|
item.attr.y = item.attr.y + targetGroup.attr.y
|
||||||
this.addComponentList(item)
|
this.addComponentList(item)
|
||||||
})
|
})
|
||||||
this.setTargetSelectChart(targetGroup.id)
|
this.setTargetSelectChart(targetGroup.id)
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
:data-id="groupData.id"
|
:data-id="groupData.id"
|
||||||
:index="groupIndex"
|
:index="groupIndex"
|
||||||
:item="groupData"
|
:item="groupData"
|
||||||
|
:hiddenPoint="true"
|
||||||
:style="{
|
:style="{
|
||||||
...useComponentStyle(groupData.attr, groupIndex),
|
...useComponentStyle(groupData.attr, groupIndex),
|
||||||
...useSizeStyle(groupData.attr),
|
...useSizeStyle(groupData.attr),
|
||||||
@ -24,6 +25,7 @@
|
|||||||
:data-id="item.id"
|
:data-id="item.id"
|
||||||
:index="groupIndex"
|
:index="groupIndex"
|
||||||
:item="item"
|
:item="item"
|
||||||
|
:hiddenPoint="true"
|
||||||
:style="{
|
:style="{
|
||||||
...useComponentStyle(item.attr, groupIndex)
|
...useComponentStyle(item.attr, groupIndex)
|
||||||
}"
|
}"
|
||||||
|
@ -2,13 +2,15 @@
|
|||||||
<div class="go-shape-box">
|
<div class="go-shape-box">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
<!-- 锚点 -->
|
<!-- 锚点 -->
|
||||||
<div
|
<template v-if="!hiddenPoint">
|
||||||
:class="`shape-point ${point}`"
|
<div
|
||||||
v-for="(point, index) in select ? pointList : []"
|
:class="`shape-point ${point}`"
|
||||||
:key="index"
|
v-for="(point, index) in select ? pointList : []"
|
||||||
:style="usePointStyle(point, index, item.attr, cursorResize)"
|
:key="index"
|
||||||
@mousedown="useMousePointHandle($event, point, item.attr)"
|
:style="usePointStyle(point, index, item.attr, cursorResize)"
|
||||||
></div>
|
@mousedown="useMousePointHandle($event, point, item.attr)"
|
||||||
|
></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
<!-- 选中 -->
|
<!-- 选中 -->
|
||||||
<div class="shape-modal" :style="useSizeStyle(item.attr)">
|
<div class="shape-modal" :style="useSizeStyle(item.attr)">
|
||||||
@ -30,6 +32,10 @@ const props = defineProps({
|
|||||||
item: {
|
item: {
|
||||||
type: Object as PropType<CreateComponentType | CreateComponentGroupType>,
|
type: Object as PropType<CreateComponentType | CreateComponentGroupType>,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
hiddenPoint: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user