Commit 0b21afc0a28f3336bd424f318397c63dc6f8f16f
Merge branch 'fix/DEFECT-1302' into 'main_dev'
fix: DEFECT-1302修复组件复制功能,复制的组件布局信息为初始化布局信息 See merge request yunteng/thingskit-front!632
Showing
2 changed files
with
11 additions
and
4 deletions
... | ... | @@ -12,10 +12,11 @@ |
12 | 12 | import { addDataComponent, deleteDataComponent } from '/@/api/dataBoard'; |
13 | 13 | import { useBoardId } from '../../hooks/useBoardId'; |
14 | 14 | import { unref, toRaw } from 'vue'; |
15 | - import { ApiDataBoardDataType } from '../../types'; | |
15 | + import { ApiDataBoardDataType, ComponentLayoutType } from '../../types'; | |
16 | 16 | import { useCalcNewWidgetPosition } from '../../hooks/useCalcNewWidgetPosition'; |
17 | 17 | import { Layout } from 'vue3-grid-layout'; |
18 | 18 | import { DataComponentRecord } from '/@/api/dataBoard/model'; |
19 | + import { computed } from 'vue'; | |
19 | 20 | |
20 | 21 | const props = defineProps<{ |
21 | 22 | sourceInfo: WidgetDataType; |
... | ... | @@ -72,11 +73,16 @@ |
72 | 73 | } catch (error) {} |
73 | 74 | } |
74 | 75 | |
76 | + const getLayout = computed(() => { | |
77 | + const { sourceInfo } = props; | |
78 | + const { id, w, h, x, y } = sourceInfo; | |
79 | + return { id, w, h, x, y } as ComponentLayoutType; | |
80 | + }); | |
81 | + | |
75 | 82 | async function handleCopy() { |
76 | 83 | const id = props.sourceInfo.id; |
77 | 84 | const copyRecord = props.rawDataSource.componentData.find((item) => item.id === id); |
78 | - const copyLayout = props.rawDataSource.componentLayout.find((item) => item.id === id); | |
79 | - | |
85 | + const copyLayout = unref(getLayout); | |
80 | 86 | const raw = toRaw(copyRecord) as unknown as DataComponentRecord; |
81 | 87 | |
82 | 88 | const layout = useCalcNewWidgetPosition( | ... | ... |
... | ... | @@ -104,9 +104,10 @@ export const useDataSource = (propsRef: ComputedRef<Recordable>) => { |
104 | 104 | */ |
105 | 105 | const setLayoutInfo = async () => { |
106 | 106 | try { |
107 | + const layout = getLayoutInfo(); | |
107 | 108 | await updateDataBoardLayout({ |
108 | 109 | boardId: unref(getBoardId), |
109 | - layout: getLayoutInfo(), | |
110 | + layout, | |
110 | 111 | }); |
111 | 112 | } catch (error) {} |
112 | 113 | }; | ... | ... |