| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <template>
- <div class="go-edit-range go-transition" :style="rangeStyle" @mousedown="mousedownHandleUnStop($event, undefined)">
- <slot></slot>
- <!-- 水印 -->
- <edit-watermark></edit-watermark>
- <!-- 标尺 -->
- <edit-rule></edit-rule>
- <!-- 拖拽时的辅助线 -->
- <edit-align-line></edit-align-line>
- <!-- 拖拽时的遮罩 -->
- <div class="go-edit-range-model" :style="rangeModelStyle"></div>
- </div>
- </template>
- <script setup lang="ts">
- import { toRefs, computed } from 'vue'
- import { useSizeStyle } from '../../hooks/useStyle.hook'
- import { mousedownHandleUnStop } from '../../hooks/useDrag.hook'
- import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
- import { EditAlignLine } from '../EditAlignLine'
- import { EditWatermark } from '../EditWatermark'
- import { EditRule } from '../EditRule'
- const chartEditStore = useChartEditStore()
- const { getEditCanvasConfig, getEditCanvas } = toRefs(chartEditStore)
- const size = computed(() => {
- return {
- w: getEditCanvasConfig.value.width,
- h: getEditCanvasConfig.value.height
- }
- })
- const rangeStyle = computed(() => {
- // 缩放
- const scale = {
- transform: `scale(${getEditCanvas.value.scale})`
- }
- // @ts-ignore
- return { ...useSizeStyle(size.value), ...scale }
- })
- // 模态层
- const rangeModelStyle = computed(() => {
- const dragStyle = getEditCanvas.value.isCreate && { 'z-index': 99999 }
- // @ts-ignore
- return { ...useSizeStyle(size.value), ...dragStyle }
- })
- </script>
- <style lang="scss" scoped>
- @include go(edit-range) {
- position: relative;
- transform-origin: left top;
- background-size: cover;
- @include fetch-border-color('hover-border-color');
- @include fetch-bg-color('background-color2');
- @include go(edit-range-model) {
- z-index: -1;
- position: absolute;
- left: 0;
- top: 0;
- }
- }
- </style>
|