From f92ab64ffcd4d3a60bc3c822194496958ff83c00 Mon Sep 17 00:00:00 2001 From: Roan Date: Wed, 26 Feb 2025 15:03:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20bpm=E6=B5=81=E7=A8=8B=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/bpm/form/editor/index.vue | 10 ++++++++++ src/views/bpm/form/index.vue | 23 ++++++++++++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/views/bpm/form/editor/index.vue b/src/views/bpm/form/editor/index.vue index 12945e0f..4165fcc4 100644 --- a/src/views/bpm/form/editor/index.vue +++ b/src/views/bpm/form/editor/index.vue @@ -50,11 +50,13 @@ import FcDesigner from '@form-create/designer' import { encodeConf, encodeFields, setConfAndFields } from '@/utils/formCreate' import { useTagsViewStore } from '@/store/modules/tagsView' import { useFormCreateDesigner } from '@/components/FormCreate' +import { useRoute } from 'vue-router' defineOptions({ name: 'BpmFormEditor' }) const { t } = useI18n() // 国际化 const message = useMessage() // 消息 +const route = useRoute() // 路由 const { push, currentRoute } = useRouter() // 路由 const { query } = useRoute() // 路由信息 const { delView } = useTagsViewStore() // 视图操作 @@ -150,6 +152,14 @@ onMounted(async () => { const data = await FormApi.getForm(id) formData.value = data setConfAndFields(designer, data.conf, data.fields) + + if (route.query.type !== 'copy') { + return + } + // 场景三: 复制表单 + const { id: foo, ...copied } = data + formData.value = copied + formData.value.name += '_copy' }) diff --git a/src/views/bpm/form/index.vue b/src/views/bpm/form/index.vue index 46edd8f9..57b44a36 100644 --- a/src/views/bpm/form/index.vue +++ b/src/views/bpm/form/index.vue @@ -59,7 +59,15 @@ v-hasPermi="['bpm:form:update']" link type="primary" - @click="openForm(scope.row.id)" + @click="openForm('copy', scope.row.id)" + > + 复制 + + 编辑 @@ -139,16 +147,17 @@ const resetQuery = () => { } /** 添加/修改操作 */ -const openForm = (id?: number) => { - const toRouter: { name: string; query?: { id: number } } = { - name: 'BpmFormEditor' +const openForm = (type: string, id?: number) => { + const toRouter: { name: string; query: { type: string; id?: number } } = { + name: 'BpmFormEditor', + query: { + type + } } console.log(typeof id) // 表单新建的时候id传的是event需要排除 if (typeof id === 'number' || typeof id === 'string') { - toRouter.query = { - id - } + toRouter.query.id = id } push(toRouter) } -- Gitee