From 1fff89551de8da20e7b13d7ded60321e23493ab7 Mon Sep 17 00:00:00 2001 From: caixiaofeng <1941338475@qq.com> Date: Tue, 23 Jan 2024 14:05:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=92=A4=E9=94=80=E9=87=8D?= =?UTF-8?q?=E5=81=9A=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/flowDesign/index.vue | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/views/flowDesign/index.vue b/src/views/flowDesign/index.vue index 534ad2f..7d4fefc 100644 --- a/src/views/flowDesign/index.vue +++ b/src/views/flowDesign/index.vue @@ -4,10 +4,12 @@ import NodePenal from './penal/index.vue' import {FlowNode} from './nodes/Node/index' import useNode from './hooks/useNode' import {computed, onUnmounted, provide, ref} from "vue"; -import {Plus, Minus, Download, Sunny, Moon} from "@element-plus/icons-vue"; +import {Plus, Minus, Download, Sunny, Moon, TopRight, TopLeft} from "@element-plus/icons-vue"; import {useVModels} from "@vueuse/core"; import {Field} from "~/components/Render/interface"; import {downloadXml} from "~/api/modules/model"; +import {useRefHistory} from '@vueuse/core' +import {cloneDeep} from "lodash-es"; export interface FlowDesignProps { process: FlowNode, @@ -16,8 +18,11 @@ export interface FlowDesignProps { const $props = defineProps() const $emits = defineEmits(['update:process', 'update:fields']) -const {process, fields} = useVModels($props, $emits) - +const {fields} = useVModels($props, $emits) +const process = ref($props.process) +const { undo, redo, canUndo, canRedo} = useRefHistory(process, + {deep: true, clone: cloneDeep } +) const nodePenalRef = ref>() const zoom = ref(100) const getScale = computed(() => zoom.value / 100) @@ -99,6 +104,8 @@ onUnmounted(() => { {{ zoom }}% + 撤销 + 重做 校验 转bpmn