feat: 工作流支持审批人撤回

pull/804/head
LesanOuO 2025-08-02 14:15:34 +08:00
parent 9bce2e48f5
commit a164509565
4 changed files with 43 additions and 13 deletions

View File

@ -106,6 +106,11 @@ export const copyTask = async (data: any) => {
return await request.put({ url: '/bpm/task/copy', data })
}
// 撤回
export const withdrawTask = async (taskId: string) => {
return await request.put({ url: '/bpm/task/withdraw', params: { taskId } })
}
// 获取我的待办任务
export const myTodoTask = async (processInstanceId: string) => {
return await request.get({ url: '/bpm/task/my-todo?processInstanceId=' + processInstanceId })

View File

@ -11,6 +11,17 @@
</div>
</div>
</el-form-item>
<el-form-item class="mb-20px">
<template #label>
<el-text size="large" tag="b">审批人权限</el-text>
</template>
<div class="flex flex-col">
<el-checkbox v-model="modelData.allowWithdrawTask" label="允许审批人撤回任务" />
<div class="ml-22px">
<el-text type="info"> 审批人可撤回正在审批节点的前一节点 </el-text>
</div>
</div>
</el-form-item>
<el-form-item v-if="modelData.processIdRule" class="mb-20px">
<template #label>
<el-text size="large" tag="b">流程编码</el-text>
@ -239,25 +250,24 @@ const props = defineProps({
modelFormId: {
type: Number,
required: false,
default: undefined,
default: undefined
}
})
// modelFormId
watch(
() => props.modelFormId,
async (newVal) => {
if (newVal) {
const form = await FormApi.getForm(newVal);
formFields.value = form?.fields;
const form = await FormApi.getForm(newVal)
formFields.value = form?.fields
} else {
// modelFormId
formFields.value = [];
formFields.value = []
}
},
{ immediate: true },
);
{ immediate: true }
)
// 使
provide('formFields', formFields)
@ -445,6 +455,9 @@ const initData = () => {
if (modelData.value.taskAfterTriggerSetting) {
taskAfterTriggerEnable.value = true
}
if (modelData.value.allowWithdrawTask) {
modelData.value.allowWithdrawTask = false
}
}
defineExpose({ initData })

View File

@ -80,7 +80,8 @@
<ExtraSettings
ref="extraSettingsRef"
v-model="formData"
:model-form-id="formData.formId"/>
:model-form-id="formData.formId"
/>
</div>
</div>
</div>
@ -176,7 +177,8 @@ const formData: any = ref({
summarySetting: {
enable: false,
summary: []
}
},
allowWithdrawTask: false
})
//

View File

@ -184,8 +184,9 @@
:show-overflow-tooltip="true"
/>
<el-table-column align="center" label="任务编号" prop="id" :show-overflow-tooltip="true" />
<el-table-column align="center" label="操作" fixed="right" width="80">
<el-table-column align="center" label="操作" fixed="right" width="130">
<template #default="scope">
<el-button link type="warning" @click="handleWithdraw(scope.row)"></el-button>
<el-button link type="primary" @click="handleAudit(scope.row)"></el-button>
</template>
</el-table-column>
@ -209,6 +210,7 @@ import * as DefinitionApi from '@/api/bpm/definition'
defineOptions({ name: 'BpmDoneTask' })
const { push } = useRouter() //
const message = useMessage()
const loading = ref(true) //
const total = ref(0) //
@ -262,6 +264,14 @@ const handleAudit = (row: any) => {
})
}
/** 测回按钮 */
const handleWithdraw = (row: any) => {
TaskApi.withdrawTask(row.id).then(() => {
message.success('撤回成功')
getList()
})
}
/** 初始化 **/
onMounted(async () => {
await getList()