diff --git a/src/api/approval/model/index.ts b/src/api/approval/model/index.ts index af22166..cf1768d 100644 --- a/src/api/approval/model/index.ts +++ b/src/api/approval/model/index.ts @@ -173,3 +173,15 @@ export interface ApprovalOrganization { organizationCode?: string; leaderId?: number; } + +/** + * 审批目录用户(派单候选池) + */ +export interface ApprovalUser { + userId: number; + username?: string; + nickname?: string; + realName?: string; + organizationId?: number; + organizationName?: string; +} diff --git a/src/api/approval/task/index.ts b/src/api/approval/task/index.ts index 4f82cd7..462f0d5 100644 --- a/src/api/approval/task/index.ts +++ b/src/api/approval/task/index.ts @@ -1,6 +1,6 @@ import request from '@/utils/request'; import type { ApiResult } from '@/api'; -import type { ApprovalInstance } from '../model'; +import type { ApprovalInstance, ApprovalUser } from '../model'; import { THINK_API_URL } from '@/config/setting'; /** @@ -70,6 +70,33 @@ export async function archiveTask(id: number) { return Promise.reject(new Error(res.data.message)); } +/** + * 派单候选池(仅派单节点、本人待办) + */ +export async function listDispatchCandidates(id: number) { + const res = await request.get>( + THINK_API_URL + '/approval/task/' + id + '/candidates' + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 派单(选定 1 人即完成派单节点) + */ +export async function dispatchTask(id: number, targetUserId: number) { + const res = await request.post>( + THINK_API_URL + '/approval/task/' + id + '/dispatch', + { targetUserId } + ); + if (res.data.code === 0 && res.data.data) { + return res.data; + } + return Promise.reject(new Error(res.data.message)); +} + /** * 撤回 */ diff --git a/src/packageApproval/pages/detail.vue b/src/packageApproval/pages/detail.vue index 2cf8fa3..6acf7ea 100644 --- a/src/packageApproval/pages/detail.vue +++ b/src/packageApproval/pages/detail.vue @@ -146,6 +146,13 @@ > 通过 +