diff --git a/src/api/approval/instance/index.ts b/src/api/approval/instance/index.ts index f34ddc9..21a41fd 100644 --- a/src/api/approval/instance/index.ts +++ b/src/api/approval/instance/index.ts @@ -4,7 +4,8 @@ import type { ApprovalCompletionForm, ApprovalInstance, ApprovalItem, - ApprovalMineParam + ApprovalMineParam, + ApprovalTaskListParam } from '../model'; import { THINK_API_URL } from '@/config/setting'; @@ -61,3 +62,31 @@ export async function pageMine(params: ApprovalMineParam) { } return Promise.reject(new Error(res.data.message)); } + +/** + * 我的待办 + */ +export async function pageTodo(params: ApprovalTaskListParam) { + const res = await request.get>>( + THINK_API_URL + '/approval/todo/page', + { params } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 我的已办 + */ +export async function pageDone(params: ApprovalTaskListParam) { + const res = await request.get>>( + THINK_API_URL + '/approval/done/page', + { params } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/approval/model/index.ts b/src/api/approval/model/index.ts index 1a0a548..bd2d258 100644 --- a/src/api/approval/model/index.ts +++ b/src/api/approval/model/index.ts @@ -136,6 +136,21 @@ export interface ApprovalMineParam extends PageParam { docType?: string; } +/** + * 待办/已办查询参数 + */ +export interface ApprovalTaskListParam extends PageParam { + status?: string; + docType?: string; +} + +/** + * 任务动作参数(通过/驳回) + */ +export interface ApprovalTaskActionParam { + opinion?: string; +} + /** * 组织 */ diff --git a/src/api/approval/task/index.ts b/src/api/approval/task/index.ts index 523577c..a6c9ab8 100644 --- a/src/api/approval/task/index.ts +++ b/src/api/approval/task/index.ts @@ -1,5 +1,6 @@ import request from '@/utils/request'; import type { ApiResult } from '@/api'; +import type { ApprovalInstance } from '../model'; import { THINK_API_URL } from '@/config/setting'; /** @@ -14,3 +15,44 @@ export async function getTodoCount() { } return Promise.reject(new Error(res.data.message)); } + +/** + * 通过(意见可选) + */ +export async function approveTask(id: number, opinion?: string) { + const res = await request.post>( + THINK_API_URL + '/approval/task/' + id + '/approve', + { opinion } + ); + if (res.data.code === 0 && res.data.data) { + return res.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 驳回(意见必填) + */ +export async function rejectTask(id: number, opinion: string) { + const res = await request.post>( + THINK_API_URL + '/approval/task/' + id + '/reject', + { opinion } + ); + if (res.data.code === 0 && res.data.data) { + return res.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 撤回 + */ +export async function withdrawInstance(id: number) { + const res = await request.post>( + THINK_API_URL + '/approval/instance/' + id + '/withdraw' + ); + 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 47c52ed..eb591a8 100644 --- a/src/packageApproval/pages/detail.vue +++ b/src/packageApproval/pages/detail.vue @@ -109,13 +109,35 @@ 暂无记录 - + + + + + + + + {{ actionDialog === 'approve' ? '审批意见' : '驳回意见' }} +