mirror of
https://gitee.com/myxzgzs/boyue-ui-admin-vue3
synced 2025-08-08 08:22:41 +08:00
105 lines
2.8 KiB
TypeScript
105 lines
2.8 KiB
TypeScript
import request from '@/config/axios'
|
||
import { ProcessDefinitionVO } from '@/api/bpm/model'
|
||
import { NodeType, CandidateStrategy } from '@/components/SimpleProcessDesignerV2/src/consts'
|
||
export type Task = {
|
||
id: string
|
||
name: string
|
||
}
|
||
|
||
export type ProcessInstanceVO = {
|
||
id: number
|
||
name: string
|
||
processDefinitionId: string
|
||
category: string
|
||
result: number
|
||
tasks: Task[]
|
||
fields: string[]
|
||
status: number
|
||
remark: string
|
||
businessKey: string
|
||
createTime: string
|
||
endTime: string
|
||
processDefinition?: ProcessDefinitionVO
|
||
}
|
||
|
||
// 用户信息
|
||
export type User = {
|
||
id: number
|
||
nickname: string
|
||
avatar: string
|
||
}
|
||
|
||
// 审批任务信息
|
||
export type ApprovalTaskInfo = {
|
||
id: number
|
||
ownerUser: User
|
||
assigneeUser: User
|
||
status: number
|
||
reason: string
|
||
sign: string // TODO @lesan:字段改成 signPicUrl 签名照片。只有 sign 感觉是签名文本哈。
|
||
}
|
||
|
||
// 审批节点信息
|
||
export type ApprovalNodeInfo = {
|
||
id: number
|
||
name: string
|
||
nodeType: NodeType
|
||
candidateStrategy?: CandidateStrategy
|
||
status: number
|
||
startTime?: Date
|
||
endTime?: Date
|
||
candidateUsers?: User[]
|
||
tasks: ApprovalTaskInfo[]
|
||
}
|
||
|
||
export const getProcessInstanceMyPage = async (params: any) => {
|
||
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
||
}
|
||
|
||
export const getProcessInstanceManagerPage = async (params: any) => {
|
||
return await request.get({ url: '/bpm/process-instance/manager-page', params })
|
||
}
|
||
|
||
export const createProcessInstance = async (data) => {
|
||
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
||
}
|
||
|
||
export const cancelProcessInstanceByStartUser = async (id: number, reason: string) => {
|
||
const data = {
|
||
id: id,
|
||
reason: reason
|
||
}
|
||
return await request.delete({ url: '/bpm/process-instance/cancel-by-start-user', data: data })
|
||
}
|
||
|
||
export const cancelProcessInstanceByAdmin = async (id: number, reason: string) => {
|
||
const data = {
|
||
id: id,
|
||
reason: reason
|
||
}
|
||
return await request.delete({ url: '/bpm/process-instance/cancel-by-admin', data: data })
|
||
}
|
||
|
||
export const getProcessInstance = async (id: string) => {
|
||
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
||
}
|
||
|
||
export const getProcessInstanceCopyPage = async (params: any) => {
|
||
return await request.get({ url: '/bpm/process-instance/copy/page', params })
|
||
}
|
||
|
||
// 获取审批详情
|
||
export const getApprovalDetail = async (params: any) => {
|
||
return await request.get({ url: 'bpm/process-instance/get-approval-detail', params })
|
||
}
|
||
|
||
// 获取表单字段权限
|
||
export const getFormFieldsPermission = async (params: any) => {
|
||
return await request.get({ url: '/bpm/process-instance/get-form-fields-permission', params })
|
||
}
|
||
|
||
// 获取流程实例的 BPMN 模型视图
|
||
export const getProcessInstanceBpmnModelView = async (id: string) => {
|
||
return await request.get({ url: '/bpm/process-instance/get-bpmn-model-view?id=' + id })
|
||
}
|