From dc1d19fba60d6ef1043940fe7a6a505bafefd5fa Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Mon, 12 Jan 2026 10:00:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20[bpm]=20=E5=8A=A0=E7=AD=BE=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bpm/task/index.ts | 5 + src/components/system-select/user-picker.vue | 3 + .../processInstance/detail/add-sign/index.vue | 150 ++++++++++++++++++ .../detail/components/operation-button.vue | 5 +- .../processInstance/detail/return/index.vue | 1 - 5 files changed, 161 insertions(+), 3 deletions(-) create mode 100644 src/pages-bpm/processInstance/detail/add-sign/index.vue diff --git a/src/api/bpm/task/index.ts b/src/api/bpm/task/index.ts index 38386d5..4341290 100644 --- a/src/api/bpm/task/index.ts +++ b/src/api/bpm/task/index.ts @@ -81,3 +81,8 @@ export function returnTask(data: { id: string, targetTaskDefinitionKey: string, export function getTaskListByReturn(taskId: string) { return http.get(`/bpm/task/list-by-return?id=${taskId}`) } + +/** 加签任务 */ +export function signCreateTask(data: { id: string, type: string, userIds: number[], reason: string }) { + return http.put('/bpm/task/create-sign', data) +} diff --git a/src/components/system-select/user-picker.vue b/src/components/system-select/user-picker.vue index 3dbeca6..6efedbe 100644 --- a/src/components/system-select/user-picker.vue +++ b/src/components/system-select/user-picker.vue @@ -7,6 +7,7 @@ value-key="id" label-key="nickname" :type="type" + :prop="prop" filterable :placeholder="placeholder" @confirm="handleConfirm" @@ -23,10 +24,12 @@ const props = withDefaults(defineProps<{ type?: 'radio' | 'checkbox' label?: string placeholder?: string + prop?: string }>(), { type: 'checkbox', label: '', placeholder: '请选择', + prop: '', }) const emit = defineEmits<{ diff --git a/src/pages-bpm/processInstance/detail/add-sign/index.vue b/src/pages-bpm/processInstance/detail/add-sign/index.vue new file mode 100644 index 0000000..801108a --- /dev/null +++ b/src/pages-bpm/processInstance/detail/add-sign/index.vue @@ -0,0 +1,150 @@ + + + diff --git a/src/pages-bpm/processInstance/detail/components/operation-button.vue b/src/pages-bpm/processInstance/detail/components/operation-button.vue index 5441f64..c4dcc3b 100644 --- a/src/pages-bpm/processInstance/detail/components/operation-button.vue +++ b/src/pages-bpm/processInstance/detail/components/operation-button.vue @@ -108,7 +108,6 @@ function loadTodoTask(task: Task) { plain: false, }) } - console.log('rightOperationTypes====>', rightOperationTypes) // TODO 减签 // 左侧操作,和更多操作 Object.keys(task.buttonsSetting || {}).forEach((key) => { @@ -154,7 +153,9 @@ function handleOperation(operationType: number) { }) break case BpmTaskOperationButtonTypeEnum.ADD_SIGN: - toast.show('加签功能待实现') + uni.navigateTo({ + url: `/pages-bpm/processInstance/detail/add-sign/index?processInstanceId=${runningTask.value.processInstanceId}&taskId=${runningTask.value.id}`, + }) break case BpmTaskOperationButtonTypeEnum.RETURN: uni.navigateTo({ diff --git a/src/pages-bpm/processInstance/detail/return/index.vue b/src/pages-bpm/processInstance/detail/return/index.vue index a0ebfe7..b245c7c 100644 --- a/src/pages-bpm/processInstance/detail/return/index.vue +++ b/src/pages-bpm/processInstance/detail/return/index.vue @@ -105,7 +105,6 @@ if (!props.taskId || !props.processInstanceId) { async function loadReturnTaskList() { try { const result = await getTaskListByReturn(taskId.value) - console.log('[return] 获取可退回节点:', result) if (result && Array.isArray(result)) { activityOptions.value = result }