From 51c593f319048fac1e521457297bf9b5cc9a325b Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Fri, 9 Jan 2026 14:23:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20[bpm]=20=E5=AE=A1=E6=89=B9=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E6=93=8D=E4=BD=9C=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bpm/processInstance/index.ts | 2 + src/api/bpm/task/index.ts | 6 + .../detail/components/operation-button.vue | 207 ++++++++++++++++++ .../processInstance/detail/index.vue | 71 ++---- src/pages/bpm/components/todo-list.vue | 2 +- 5 files changed, 236 insertions(+), 52 deletions(-) create mode 100644 src/pages-bpm/processInstance/detail/components/operation-button.vue diff --git a/src/api/bpm/processInstance/index.ts b/src/api/bpm/processInstance/index.ts index 3aa3930..bcb3f44 100644 --- a/src/api/bpm/processInstance/index.ts +++ b/src/api/bpm/processInstance/index.ts @@ -1,3 +1,4 @@ +import type { Task } from '@/api/bpm/task' import type { PageParam, PageResult } from '@/http/types' import { http } from '@/http/http' @@ -47,6 +48,7 @@ export interface ProcessInstance { export interface ApprovalDetail { processInstance: ProcessInstance processDefinition: ProcessDefinition + todoTask: Task } /** 抄送流程实例 */ diff --git a/src/api/bpm/task/index.ts b/src/api/bpm/task/index.ts index 115ba2e..8635186 100644 --- a/src/api/bpm/task/index.ts +++ b/src/api/bpm/task/index.ts @@ -11,6 +11,10 @@ export interface TaskUser { deptName?: string } +export interface OperationButtonSetting { + displayName: string // 按钮名称 + enable: boolean // 是否启用 +} /** 流程任务 */ export interface Task { id: string @@ -24,6 +28,8 @@ export interface Task { ownerUser?: TaskUser processInstanceId?: string // 流程实例 ID processInstance: ProcessInstance + reasonRequire?: boolean // 是否填写审批意见 + buttonsSetting?: Record // 按钮设置 } /** 查询待办任务分页列表 */ diff --git a/src/pages-bpm/processInstance/detail/components/operation-button.vue b/src/pages-bpm/processInstance/detail/components/operation-button.vue new file mode 100644 index 0000000..4c957e1 --- /dev/null +++ b/src/pages-bpm/processInstance/detail/components/operation-button.vue @@ -0,0 +1,207 @@ + + + + diff --git a/src/pages-bpm/processInstance/detail/index.vue b/src/pages-bpm/processInstance/detail/index.vue index 5474c8d..519aa5c 100644 --- a/src/pages-bpm/processInstance/detail/index.vue +++ b/src/pages-bpm/processInstance/detail/index.vue @@ -88,29 +88,15 @@ - - - - - 拒绝 - - - 同意 - - - - - - - + + diff --git a/src/pages/bpm/components/todo-list.vue b/src/pages/bpm/components/todo-list.vue index d0f61a0..3c49bfd 100644 --- a/src/pages/bpm/components/todo-list.vue +++ b/src/pages/bpm/components/todo-list.vue @@ -118,7 +118,7 @@ function handleReset() { /** 查看详情 */ function handleDetail(item: Task) { - uni.navigateTo({ url: `/pages-bpm/processInstance/detail/index?id=${item.processInstance.id}` }) + uni.navigateTo({ url: `/pages-bpm/processInstance/detail/index?id=${item.processInstance.id}&taskId=${item.id}` }) } /** 同意 */