import type { PageParam, PageResult } from '@vben/request'; import type { BpmProcessInstanceApi } from '../processInstance'; import { requestClient } from '#/api/request'; export namespace BpmTaskApi { /** 流程任务 */ export interface Task { id: string; // 编号 name: string; // 任务名字 status: number; // 任务状态 createTime: number; // 创建时间 endTime: number; // 结束时间 durationInMillis: number; // 持续时间 reason: string; // 审批理由 ownerUser: any; // 负责人 assigneeUser: any; // 处理人 taskDefinitionKey: string; // 任务定义的标识 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; // 节点类型 } } /** 查询待办任务分页 */ export async function getTaskTodoPage(params: PageParam) { return requestClient.get>('/bpm/task/todo-page', { params, }); } /** 查询已办任务分页 */ export async function getTaskDonePage(params: PageParam) { return requestClient.get>('/bpm/task/done-page', { params, }); } /** 查询任务管理分页 */ export async function getTaskManagerPage(params: PageParam) { return requestClient.get>( '/bpm/task/manager-page', { params }, ); } /** 审批任务 */ export const approveTask = async (data: any) => { return await requestClient.put('/bpm/task/approve', data); }; /** 驳回任务 */ export const rejectTask = async (data: any) => { return await requestClient.put('/bpm/task/reject', data); }; /** 根据流程实例 ID 查询任务列表 */ export const getTaskListByProcessInstanceId = async (id: string) => { return await requestClient.get( `/bpm/task/list-by-process-instance-id?processInstanceId=${id}`, ); }; /** 获取所有可退回的节点 */ export const getTaskListByReturn = async (id: string) => { return await requestClient.get(`/bpm/task/list-by-return?id=${id}`); }; /** 退回任务 */ export const returnTask = async (data: any) => { return await requestClient.put('/bpm/task/return', data); }; /** 委派任务 */ export const delegateTask = async (data: any) => { return await requestClient.put('/bpm/task/delegate', data); }; /** 转派任务 */ export const transferTask = async (data: any) => { return await requestClient.put('/bpm/task/transfer', data); }; /** 加签任务 */ export const signCreateTask = async (data: any) => { return await requestClient.put('/bpm/task/create-sign', data); }; /** 减签任务 */ export const signDeleteTask = async (data: any) => { return await requestClient.delete('/bpm/task/delete-sign', data); }; /** 抄送任务 */ export const copyTask = async (data: any) => { return await requestClient.put('/bpm/task/copy', data); }; /** 获取加签任务列表 */ export const getChildrenTaskList = async (id: string) => { return await requestClient.get( `/bpm/task/list-by-parent-task-id?parentTaskId=${id}`, ); }; /** 撤回任务 */ export const withdrawTask = async (taskId: string) => { return await requestClient.put('/bpm/task/withdraw', null, { params: { taskId }, }); };