diff --git a/src/components/business/save-download/CreateCover.vue b/src/components/business/save-download/CreateCover.vue index a08dd7a..e6b0234 100644 --- a/src/components/business/save-download/CreateCover.vue +++ b/src/components/business/save-download/CreateCover.vue @@ -13,11 +13,15 @@ import { useStore } from 'vuex' import html2canvas from 'html2canvas' import Qiniu from '@/common/methods/QiNiu' -import { useSetupMapGetters } from '@/common/hooks/mapGetters' +// import { useSetupMapGetters } from '@/common/hooks/mapGetters' +import { storeToRefs } from 'pinia'; +import { useCanvasStore } from '@/pinia'; const store = useStore(); -const { dZoom } = useSetupMapGetters(['dZoom']) +// const { dZoom } = useSetupMapGetters(['dZoom']) +const canvasStore = useCanvasStore() +const { dZoom } = storeToRefs(canvasStore) // props: ['modelValue'], @@ -29,7 +33,8 @@ async function createCover(cb: any) { store.dispatch('selectWidget', { uuid: '-1', }) - store.dispatch('updateZoom', 100) + canvasStore.updateZoom(100) + // store.dispatch('updateZoom', 100) const opts = { useCORS: true, // 跨域图片 @@ -51,7 +56,8 @@ async function createCover(cb: any) { 'image/jpeg', 0.15, ) - store.dispatch('updateZoom', nowZoom) + canvasStore.updateZoom(nowZoom) + // store.dispatch('updateZoom', nowZoom) clonePage.remove() }) }, 10) diff --git a/src/components/modules/layout/designBoard/index.vue b/src/components/modules/layout/designBoard/index.vue index 2403dcc..d9cd711 100644 --- a/src/components/modules/layout/designBoard/index.vue +++ b/src/components/modules/layout/designBoard/index.vue @@ -70,7 +70,7 @@ import getComponentsData from '@/common/methods/DesignFeatures/setComponents' import { debounce } from 'throttle-debounce' import { move, moveInit } from '@/mixins/move' import { useSetupMapGetters } from '@/common/hooks/mapGetters' -import { usePageStore } from '@/pinia' +import { useCanvasStore, usePageStore } from '@/pinia' import { storeToRefs } from 'pinia' // 页面设计组件 type TProps = { @@ -92,11 +92,12 @@ type TSetting = { const store = useStore() const { pageDesignCanvasId } = defineProps() const { - dPaddingTop, dZoom, dScreen, dWidgets, + dWidgets, dActiveElement, dSelectWidgets, dAltDown, dDraging, dHoverUuid, showRotatable -} = useSetupMapGetters(['dPaddingTop', 'dZoom', 'dScreen', 'dWidgets', 'dActiveElement', 'dHoverUuid', 'dSelectWidgets', 'dAltDown', 'dDraging', 'showRotatable']) +} = useSetupMapGetters(['dWidgets', 'dActiveElement', 'dHoverUuid', 'dSelectWidgets', 'dAltDown', 'dDraging', 'showRotatable']) const { dPage } = storeToRefs(usePageStore()) +const { dZoom, dPaddingTop, dScreen } = storeToRefs(useCanvasStore()) let _dropIn: string | null = '' @@ -188,24 +189,24 @@ async function drop(e: MouseEvent) { } }) const half = { - x: parent.width ? (parent.width * store.getters.dZoom) / 100 / 2 : 0, - y: parent.height ? (parent.height * store.getters.dZoom) / 100 / 2 : 0 + x: parent.width ? (parent.width * dZoom.value) / 100 / 2 : 0, + y: parent.height ? (parent.height * dZoom.value) / 100 / 2 : 0 } componentItem.forEach((element) => { - element.left += (lost ? lostX - half.x : e.layerX - half.x) * (100 / store.getters.dZoom) - element.top += (lost ? lostY - half.y : e.layerY - half.y) * (100 / store.getters.dZoom) + element.left += (lost ? lostX - half.x : e.layerX - half.x) * (100 / dZoom.value) + element.top += (lost ? lostY - half.y : e.layerY - half.y) * (100 / dZoom.value) }) store.dispatch('addGroup', componentItem) // addGroup(item) } // 设置坐标 const half = { - x: setting.width ? (setting.width * store.getters.dZoom) / 100 / 2 : 0, - y: setting.height ? (setting.height * store.getters.dZoom) / 100 / 2 : 0 + x: setting.width ? (setting.width * dZoom.value) / 100 / 2 : 0, + y: setting.height ? (setting.height * dZoom.value) / 100 / 2 : 0 } // const half = { x: (this.dDragInitData.offsetX * this.dZoom) / 100, y: (this.dDragInitData.offsetY * this.dZoom) / 100 } - setting.left = (lost ? lostX - half.x : e.layerX - half.x) * (100 / store.getters.dZoom) - setting.top = (lost ? lostY - half.y : e.layerY - half.y) * (100 / store.getters.dZoom) + setting.left = (lost ? lostX - half.x : e.layerX - half.x) * (100 / dZoom.value) + setting.top = (lost ? lostY - half.y : e.layerY - half.y) * (100 / dZoom.value) if (lost && type === 'image') { // 如果不从画布加入,且不是图片类型,则判断是否加入到svg中 const target = await getTarget(eventTarget) diff --git a/src/components/modules/layout/lineGuides.vue b/src/components/modules/layout/lineGuides.vue index fd399e3..5f88cc3 100644 --- a/src/components/modules/layout/lineGuides.vue +++ b/src/components/modules/layout/lineGuides.vue @@ -13,6 +13,7 @@ import { watch } from 'vue' import { useStore } from 'vuex' import Guides, { GuideOptions } from '@scena/guides' +import { useCanvasStore } from '@/pinia'; type TProps = { show: boolean @@ -35,6 +36,7 @@ const props = withDefaults(defineProps(), { }) const store = useStore() +const canvasStore = useCanvasStore() const container = 'page-design' // page-design out-page let guidesTop: TGuidesData | null = null let guidesLeft: TGuidesData | null = null @@ -47,7 +49,7 @@ watch( ) watch( - () => store.getters.dZoom, + () => canvasStore.dZoom, () => { changeScroll() }, @@ -113,7 +115,7 @@ function render() { function changeScroll() { if (guidesTop && guidesLeft) { - const zoom = store.getters.dZoom / 100 + const zoom = canvasStore.dZoom / 100 guidesTop.zoom = zoom guidesLeft.zoom = zoom if (zoom < 0.9) { diff --git a/src/components/modules/layout/zoomControl/index.vue b/src/components/modules/layout/zoomControl/index.vue index deb318a..5ff3161 100644 --- a/src/components/modules/layout/zoomControl/index.vue +++ b/src/components/modules/layout/zoomControl/index.vue @@ -27,7 +27,7 @@ import { OtherList, TZoomData, ZoomList } from './data'; import { useSetupMapGetters } from '@/common/hooks/mapGetters'; import { useRoute } from 'vue-router'; import { storeToRefs } from 'pinia'; -import { usePageStore } from '@/pinia'; +import { useCanvasStore, usePageStore } from '@/pinia'; const route = useRoute() const store = useStore() @@ -48,8 +48,10 @@ const otherIndex = ref(-1) const bestZoom = ref(0) const curAction = ref('') -const { dScreen, zoomScreenChange, dZoom } = useSetupMapGetters(['dScreen', 'zoomScreenChange', 'dZoom']) +const { zoomScreenChange } = useSetupMapGetters(['zoomScreenChange']) +const canvasStore = useCanvasStore() const { dPage } = storeToRefs(usePageStore()) +const { dZoom, dScreen } = storeToRefs(canvasStore) watch( @@ -79,7 +81,8 @@ watch( if (realValue === -1) { realValue = calcZoom() } - store.dispatch('updateZoom', realValue) + canvasStore.updateZoom(realValue) + // store.dispatch('updateZoom', realValue) // updateZoom(realValue) autoFixTop() } @@ -152,7 +155,8 @@ function changeScreen() { function screenChange() { // 弹性尺寸即时修改 if (activezoomIndex.value === zoomList.value.length - 1) { - store.dispatch('updateZoom', calcZoom()) + canvasStore.updateZoom(calcZoom()) + // store.dispatch('updateZoom', calcZoom()) // this.updateZoom(this.calcZoom()) autoFixTop() } @@ -221,7 +225,8 @@ function sub() { function mousewheelZoom(down: boolean) { const value = Number(dZoom.value.toFixed(0)) if (down && value <= 1) return - store.dispatch('updateZoom', down ? value - 1 : value + 1) + canvasStore.updateZoom(down ? value - 1 : value + 1) + // store.dispatch('updateZoom', down ? value - 1 : value + 1) // updateZoom(down ? value - 1 : value + 1) zoom.value.text = (value + '%') as any autoFixTop() diff --git a/src/components/modules/panel/wrap/GraphListWrap.vue b/src/components/modules/panel/wrap/GraphListWrap.vue index 9f1e3bc..bd0e4f9 100644 --- a/src/components/modules/panel/wrap/GraphListWrap.vue +++ b/src/components/modules/panel/wrap/GraphListWrap.vue @@ -41,7 +41,8 @@