From a6e3c981c1a5a3d1b4eee8c011f4aed51e7f378e Mon Sep 17 00:00:00 2001 From: caixiaofeng <1941338475@qq.com> Date: Wed, 24 Jan 2024 15:58:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=BC=E5=87=BAjson?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/flowDesign/index.vue | 31 +++++++++++++++++++++++++--- src/views/flowDesign/penal/index.vue | 2 +- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/views/flowDesign/index.vue b/src/views/flowDesign/index.vue index 1633353..526e575 100644 --- a/src/views/flowDesign/index.vue +++ b/src/views/flowDesign/index.vue @@ -20,7 +20,7 @@ const $props = defineProps() const $emits = defineEmits(['update:process', 'update:fields']) const {fields} = useVModels($props, $emits) const process = ref($props.process) -const { undo, redo, canUndo, canRedo} = useRefHistory(process, {deep: true, clone: cloneDeep }) +const {undo, redo, canUndo, canRedo} = useRefHistory(process, {deep: true, clone: cloneDeep}) const nodePenalRef = ref>() const zoom = ref(100) const getScale = computed(() => zoom.value / 100) @@ -79,6 +79,30 @@ const converterBpmn = () => { } downloadXml(processModel) } +const downloadJson = () => { + const processModel = { + code: 'test', + name: '测试', + icon: { + name: 'el:HomeFilled', + color: '#409EFF', + }, + process: process.value, + form: { + fields: fields.value + }, + version: 1, + sort: 0, + groupId: '', + remark: '', + } + const blob = new Blob([JSON.stringify(processModel, null, 2)], {type: 'application/json'}) + const a = document.createElement('a') + a.download = 'process.json' + a.href = URL.createObjectURL(blob) + a.click() + URL.revokeObjectURL(a.href) +} // 按住shift键滚动鼠标滚轮,可以放大/缩小 window.addEventListener('wheel', handleZoom) // 离开页面时,销毁事件监听 @@ -89,7 +113,7 @@ onUnmounted(() => {