From ac305676d82f989523e299371d773eafd2601301 Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Wed, 26 Nov 2025 22:46:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20[bpm][ele]=20=E6=B5=81=E7=A8=8B/?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=AF=A6=E6=83=85=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-ele/package.json | 2 + apps/web-ele/src/api/bpm/task/index.ts | 27 + apps/web-ele/src/router/routes/modules/bpm.ts | 38 +- .../bpm/processInstance/detail/index.vue | 423 +++++ .../detail/modules/bpm-viewer.vue | 59 + .../detail/modules/operation-button.vue | 1424 +++++++++++++++++ .../detail/modules/process-print.vue | 299 ++++ .../detail/modules/signature.vue | 64 + .../detail/modules/simple-bpm-viewer.vue | 178 +++ .../detail/modules/task-list.vue | 197 +++ .../detail/modules/time-line.vue | 486 ++++++ pnpm-lock.yaml | 6 + 12 files changed, 3184 insertions(+), 19 deletions(-) create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/index.vue create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/modules/operation-button.vue create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/modules/process-print.vue create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/modules/signature.vue create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/modules/task-list.vue create mode 100644 apps/web-ele/src/views/bpm/processInstance/detail/modules/time-line.vue diff --git a/apps/web-ele/package.json b/apps/web-ele/package.json index 7031134e8..4f74ce6a1 100644 --- a/apps/web-ele/package.json +++ b/apps/web-ele/package.json @@ -57,6 +57,8 @@ "vue": "catalog:", "vue-dompurify-html": "catalog:", "vue-router": "catalog:", + "vue3-print-nb": "catalog:", + "vue3-signature": "catalog:", "vuedraggable": "catalog:" }, "devDependencies": { diff --git a/apps/web-ele/src/api/bpm/task/index.ts b/apps/web-ele/src/api/bpm/task/index.ts index 8572b7e6e..d6a0e81cb 100644 --- a/apps/web-ele/src/api/bpm/task/index.ts +++ b/apps/web-ele/src/api/bpm/task/index.ts @@ -15,6 +15,33 @@ export namespace BpmTaskApi { valueType: string; // 监听器值类型 processInstance?: BpmProcessInstanceApi.ProcessInstance; // 流程实例 } + + // 流程任务 + export interface TaskManager { + id: string; // 编号 + name: string; // 任务名称 + createTime: number; // 创建时间 + endTime: number; // 结束时间 + durationInMillis: number; // 持续时间 + status: number; // 状态 + reason: string; // 原因 + ownerUser: any; // 负责人 + assigneeUser: any; // 处理人 + taskDefinitionKey: string; // 任务定义key + processInstanceId: string; // 流程实例id + processInstance: BpmProcessInstanceApi.ProcessInstance; // 流程实例 + parentTaskId: any; // 父任务id + children: any; // 子任务 + formId: any; // 表单id + formName: any; // 表单名称 + formConf: any; // 表单配置 + formFields: any; // 表单字段 + formVariables: any; // 表单变量 + buttonsSetting: any; // 按钮设置 + signEnable: any; // 签名设置 + reasonRequire: any; // 原因设置 + nodeType: any; // 节点类型 + } } /** 查询待办任务分页 */ diff --git a/apps/web-ele/src/router/routes/modules/bpm.ts b/apps/web-ele/src/router/routes/modules/bpm.ts index 375b45830..05e0e5664 100644 --- a/apps/web-ele/src/router/routes/modules/bpm.ts +++ b/apps/web-ele/src/router/routes/modules/bpm.ts @@ -27,25 +27,25 @@ const routes: RouteRecordRaw[] = [ }, ], }, - // { - // path: 'process-instance/detail', - // component: () => import('#/views/bpm/processInstance/detail/index.vue'), - // name: 'BpmProcessInstanceDetail', - // meta: { - // title: '流程详情', - // activePath: '/bpm/task/my', - // icon: 'ant-design:history-outlined', - // keepAlive: false, - // hideInMenu: true, - // }, - // props: (route) => { - // return { - // id: route.query.id, - // taskId: route.query.taskId, - // activityId: route.query.activityId, - // }; - // }, - // }, + { + path: 'process-instance/detail', + component: () => import('#/views/bpm/processInstance/detail/index.vue'), + name: 'BpmProcessInstanceDetail', + meta: { + title: '流程详情', + activePath: '/bpm/task/my', + icon: 'ant-design:history-outlined', + keepAlive: false, + hideInMenu: true, + }, + props: (route) => { + return { + id: route.query.id, + taskId: route.query.taskId, + activityId: route.query.activityId, + }; + }, + }, { path: '/bpm/manager/form/edit', name: 'BpmFormEditor', diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/index.vue b/apps/web-ele/src/views/bpm/processInstance/detail/index.vue new file mode 100644 index 000000000..bda76b993 --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/index.vue @@ -0,0 +1,423 @@ + + + + + diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue b/apps/web-ele/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue new file mode 100644 index 000000000..2b9dfdeee --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue @@ -0,0 +1,59 @@ + + + diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/modules/operation-button.vue b/apps/web-ele/src/views/bpm/processInstance/detail/modules/operation-button.vue new file mode 100644 index 000000000..4e1cd2425 --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/modules/operation-button.vue @@ -0,0 +1,1424 @@ + + diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/modules/process-print.vue b/apps/web-ele/src/views/bpm/processInstance/detail/modules/process-print.vue new file mode 100644 index 000000000..85693735b --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/modules/process-print.vue @@ -0,0 +1,299 @@ + + + diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/modules/signature.vue b/apps/web-ele/src/views/bpm/processInstance/detail/modules/signature.vue new file mode 100644 index 000000000..a3f1b0861 --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/modules/signature.vue @@ -0,0 +1,64 @@ + + + diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue b/apps/web-ele/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue new file mode 100644 index 000000000..751f390ca --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue @@ -0,0 +1,178 @@ + + diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/modules/task-list.vue b/apps/web-ele/src/views/bpm/processInstance/detail/modules/task-list.vue new file mode 100644 index 000000000..5b64e38ad --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/modules/task-list.vue @@ -0,0 +1,197 @@ + + + diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/modules/time-line.vue b/apps/web-ele/src/views/bpm/processInstance/detail/modules/time-line.vue new file mode 100644 index 000000000..f085a6385 --- /dev/null +++ b/apps/web-ele/src/views/bpm/processInstance/detail/modules/time-line.vue @@ -0,0 +1,486 @@ + + + + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6b72b312..b37c4abdc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -940,6 +940,12 @@ importers: vue-router: specifier: 'catalog:' version: 4.6.3(vue@3.5.24(typescript@5.9.3)) + vue3-print-nb: + specifier: 'catalog:' + version: 0.1.4(typescript@5.9.3) + vue3-signature: + specifier: 'catalog:' + version: 0.2.4(vue@3.5.24(typescript@5.9.3)) vuedraggable: specifier: 'catalog:' version: 4.1.0(vue@3.5.24(typescript@5.9.3)) From fe8d13da66c19084a4d2565d327de0d069ae3efa Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Wed, 26 Nov 2025 22:49:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20[bpm][ele]=20=E6=B5=81=E7=A8=8B/?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=AF=A6=E6=83=85=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-ele/src/views/bpm/processInstance/detail/index.vue | 2 +- .../bpm/processInstance/detail/modules/operation-button.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web-ele/src/views/bpm/processInstance/detail/index.vue b/apps/web-ele/src/views/bpm/processInstance/detail/index.vue index bda76b993..ccc4a5811 100644 --- a/apps/web-ele/src/views/bpm/processInstance/detail/index.vue +++ b/apps/web-ele/src/views/bpm/processInstance/detail/index.vue @@ -1,4 +1,4 @@ -