140 lines
3.9 KiB
TypeScript
140 lines
3.9 KiB
TypeScript
import type { PageParam, PageResult } from '@vben/request';
|
||
|
||
import type { BpmProcessInstanceApi } from '../processInstance';
|
||
|
||
import { requestClient } from '#/api/request';
|
||
|
||
export namespace BpmTaskApi {
|
||
// TODO @ziye:不用 VO 后缀;注释使用 /** */ 风格;
|
||
/** BPM 流程监听器 VO */
|
||
export interface TaskVO {
|
||
id: number; // 编号
|
||
name: string; // 监听器名字
|
||
type: string; // 监听器类型
|
||
status: number; // 监听器状态
|
||
event: string; // 监听事件
|
||
valueType: string; // 监听器值类型
|
||
}
|
||
|
||
// 流程任务 VO
|
||
export interface TaskManagerVO {
|
||
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.ProcessInstanceVO; // 流程实例
|
||
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<PageResult<BpmTaskApi.TaskVO>>(
|
||
'/bpm/task/todo-page',
|
||
{
|
||
params,
|
||
},
|
||
);
|
||
}
|
||
|
||
/** 查询已办任务分页 */
|
||
export async function getTaskDonePage(params: PageParam) {
|
||
return requestClient.get<PageResult<BpmTaskApi.TaskVO>>(
|
||
'/bpm/task/done-page',
|
||
{
|
||
params,
|
||
},
|
||
);
|
||
}
|
||
|
||
/** 查询任务管理分页 */
|
||
export async function getTaskManagerPage(params: PageParam) {
|
||
return requestClient.get<PageResult<BpmTaskApi.TaskVO>>(
|
||
'/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 myTodoTask = async (processInstanceId: string) => {
|
||
return await requestClient.get(
|
||
`/bpm/task/my-todo?processInstanceId=${processInstanceId}`,
|
||
);
|
||
};
|
||
|
||
// 获取加签任务列表
|
||
export const getChildrenTaskList = async (id: string) => {
|
||
return await requestClient.get(
|
||
`/bpm/task/list-by-parent-task-id?parentTaskId=${id}`,
|
||
);
|
||
};
|