feat: 新增图表外层

This commit is contained in:
MTrun 2022-01-27 20:47:22 +08:00
parent a606039976
commit b93509a6bb
4 changed files with 40 additions and 15 deletions

View File

@ -0,0 +1,3 @@
import ShapeBox from './index.vue'
export { ShapeBox }

View File

@ -0,0 +1,13 @@
<template>
<div class="go-shape-box">
<slot></slot>
</div>
</template>
<script setup lang="ts"></script>
<style lang="scss" scoped>
@include go(shape-box) {
position: absolute;
}
</style>

View File

@ -10,8 +10,13 @@ export const useComponentStyle = (attr: AttrType, index: number) => {
zIndex: index,
left: `${attr.x}px`,
top: `${attr.y}px`,
width: `${attr.w}px`,
height: `${attr.h}px`
}
return componentStyle
}
export const useSizeStyle = (attr: AttrType) => {
const sizeStyle = {
width: `${attr.w}px`,
height: `${attr.h}px`
}
return sizeStyle
}

View File

@ -12,14 +12,19 @@
<div id="go-chart-edit-content">
<!-- 展示 -->
<EditRange>
<component
class="edit-content-chart"
<ShapeBox
v-for="(item, index) in chartEditStore.getComponentList"
:key="item.id"
:index="index"
:style="useComponentStyle(item.attr, index)"
>
<component
class="edit-content-chart"
:is="item.key"
:chartData="item"
:style="useComponentStyle(item.attr, index)"
:style="useSizeStyle(item.attr)"
/>
</ShapeBox>
</EditRange>
</div>
<!-- 底部控制 -->
@ -34,10 +39,11 @@ import { onUnmounted, onMounted, toRefs } from 'vue'
import { ContentBox } from '../ContentBox/index'
import { EditRange } from './components/EditRange'
import { EditBottom } from './components/EditBottom'
import { ShapeBox } from './components/ShapeBox/index'
import { useLayout } from './hooks/useLayout.hook'
import { handleDrop, handleDragOver } from './hooks/useDrop.hook'
import { getChartEditStore } from './hooks/useStore.hook'
import { useComponentStyle } from './hooks/useStyle.hook'
import { useComponentStyle, useSizeStyle } from './hooks/useStyle.hook'
const chartEditStore = getChartEditStore()
@ -50,19 +56,17 @@ useLayout()
position: relative;
width: 100%;
overflow: hidden;
@include background-image("background-point");
@include background-image('background-point');
@extend .go-point-bg;
@include goId(chart-edit-content) {
position: relative;
top: 20px;
left: 20px;
margin: 20px;
overflow: hidden;
transform-origin: left top;
border: 1px solid rgba(0, 0, 0, 0);
overflow: hidden;
@extend .go-transition;
&.content-resize {
border-radius: 15px;
@include hover-border-color("hover-border-color");
@include hover-border-color('hover-border-color');
}
.edit-content-chart {
position: absolute;