From 97e538539ea3dc3e460dcf7eb3181390fefb50e9 Mon Sep 17 00:00:00 2001 From: Lesan <1960681385@qq.com> Date: Fri, 29 Aug 2025 10:33:09 +0800 Subject: [PATCH 1/7] =?UTF-8?q?chore:=20=E6=B7=BB=E5=8A=A0wangeditor?= =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E5=BC=80=E5=8F=91=E7=9B=B8=E5=85=B3=E4=BE=9D?= =?UTF-8?q?=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index d3097b3db..a79cec967 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "@vueuse/core": "^10.9.0", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.10", + "@wangeditor/plugin-mention": "^1.0.0", "@zxcvbn-ts/core": "^3.0.4", "animate.css": "^4.1.1", "axios": "1.9.0", @@ -64,6 +65,7 @@ "pinia-plugin-persistedstate": "^3.2.1", "qrcode": "^1.5.3", "qs": "^6.12.0", + "snabbdom": "^3.6.2", "sortablejs": "^1.15.3", "steady-xml": "^0.1.0", "url": "^0.11.3", -- Gitee From 84de7fcd46ca565dda4c5aef6c95714eab5bc2cb Mon Sep 17 00:00:00 2001 From: Lesan <1960681385@qq.com> Date: Fri, 29 Aug 2025 14:19:52 +0800 Subject: [PATCH 2/7] =?UTF-8?q?feat:=20=E9=80=9A=E8=BF=87wangeditor?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=89=93=E5=8D=B0=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.ts | 5 + src/views/bpm/model/form/ExtraSettings.vue | 48 +++++++- .../bpm/model/form/PrintTemplate/Index.vue | 107 ++++++++++++++++++ .../model/form/PrintTemplate/MentionModal.vue | 99 ++++++++++++++++ .../bpm/model/form/PrintTemplate/index.ts | 9 ++ .../form/PrintTemplate/module/elem-to-html.ts | 12 ++ .../model/form/PrintTemplate/module/index.ts | 16 +++ .../module/menu/ProcessRecordMenu.ts | 42 +++++++ .../PrintTemplate/module/parse-elem-html.ts | 20 ++++ .../model/form/PrintTemplate/module/plugin.ts | 28 +++++ .../form/PrintTemplate/module/render-elem.ts | 72 ++++++++++++ .../form/PrintTemplate/module/utils/dom.ts | 21 ++++ src/views/bpm/model/form/index.vue | 5 +- 13 files changed, 482 insertions(+), 2 deletions(-) create mode 100644 src/views/bpm/model/form/PrintTemplate/Index.vue create mode 100644 src/views/bpm/model/form/PrintTemplate/MentionModal.vue create mode 100644 src/views/bpm/model/form/PrintTemplate/index.ts create mode 100644 src/views/bpm/model/form/PrintTemplate/module/elem-to-html.ts create mode 100644 src/views/bpm/model/form/PrintTemplate/module/index.ts create mode 100644 src/views/bpm/model/form/PrintTemplate/module/menu/ProcessRecordMenu.ts create mode 100644 src/views/bpm/model/form/PrintTemplate/module/parse-elem-html.ts create mode 100644 src/views/bpm/model/form/PrintTemplate/module/plugin.ts create mode 100644 src/views/bpm/model/form/PrintTemplate/module/render-elem.ts create mode 100644 src/views/bpm/model/form/PrintTemplate/module/utils/dom.ts diff --git a/src/main.ts b/src/main.ts index 874f7668d..211ecfbc3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -42,6 +42,9 @@ import Logger from '@/utils/Logger' import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐患 +// wangeditor插件注册 +import {setupWangeditorPlugin} from "@/views/bpm/model/form/PrintTemplate"; + // 创建实例 const setupAll = async () => { const app = createApp(App) @@ -62,6 +65,8 @@ const setupAll = async () => { setupAuth(app) setupMountedFocus(app) + setupWangeditorPlugin() + await router.isReady() app.use(VueDOMPurifyHTML) diff --git a/src/views/bpm/model/form/ExtraSettings.vue b/src/views/bpm/model/form/ExtraSettings.vue index b75fbbd06..73d316a9b 100644 --- a/src/views/bpm/model/form/ExtraSettings.vue +++ b/src/views/bpm/model/form/ExtraSettings.vue @@ -1,5 +1,5 @@