diff --git a/core/core-frontend/src/components/visualization/DvSidebar.vue b/core/core-frontend/src/components/visualization/DvSidebar.vue index b3064dd..cba2e41 100644 --- a/core/core-frontend/src/components/visualization/DvSidebar.vue +++ b/core/core-frontend/src/components/visualization/DvSidebar.vue @@ -5,15 +5,21 @@ import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain' import { storeToRefs } from 'pinia' import { snapshotStoreWithOut } from '@/store/modules/data-visualization/snapshot' import Icon from '../icon-custom/src/Icon.vue' +import dvInfoSvg from '@/assets/svg/dv-info.svg' +import { useI18n } from '@/hooks/web/useI18n' +import combinationSvg from '@/assets/svg/combinationpage.svg' +import scatterSvg from '@/assets/svg/scatterpage.svg' +import { composeStoreWithOut } from '@/store/modules/data-visualization/compose' const dvMainStore = dvMainStoreWithOut() -const { canvasCollapse } = storeToRefs(dvMainStore) +const { canvasCollapse,curComponent } = storeToRefs(dvMainStore) let componentNameEdit = ref(false) let inputComponentName = ref({ id: null, name: null }) let componentNameInputAttr = ref(null) -import dvInfoSvg from '@/assets/svg/dv-info.svg' -import { useI18n } from '@/hooks/web/useI18n' const snapshotStore = snapshotStoreWithOut() +const composeStore = composeStoreWithOut() +const { areaData } = storeToRefs(composeStore) const { t } = useI18n() +const emit = defineEmits(['close', 'rename']) const props = defineProps({ element: { required: false, @@ -58,10 +64,13 @@ const props = defineProps({ type: String as PropType, default: 'light' }, - title: String + title: String, + activePosition: { + type: String, + default: 'canvas' + } }) - -const { width, asidePosition, sideName, themeInfo, view, themes, element } = toRefs(props) +const { width, asidePosition, sideName, themeInfo, view, themes, element,activePosition } = toRefs(props) const collapseChange = () => { canvasCollapse.value[sideName.value] = !canvasCollapse.value[sideName.value] } @@ -122,6 +131,33 @@ const editComponentName = () => { const onComponentNameChange = () => { snapshotStore.recordSnapshotCache('onComponentNameChange') } + +//组合 +const combinationclick = () => { + if(areaData.value.components.length){ + composeStore.compose() + snapshotStore.recordSnapshotCache('componentCompose') + menuOpt('componentCompose') + }else{ + ElMessage.warning('请选择多个组件进行组合!') + return + } +} +//打散 +const scatterclick= () => { + if(curComponent.value['component'] == 'Group'){ + composeStore.decompose() + snapshotStore.recordSnapshotCache('decompose') + menuOpt('decompose') + }else{ + ElMessage.warning('请选择组合!') + return + } +} +const menuOpt = optName => { + const param = { opt: optName } + activePosition.value === 'aside' && emit('close', param) +} -
+
{{ t('visualization.view_id') }}
-
+
{{ view.id }}