Files
gxtyzx-uniapp/src/api/approval/instance/index.ts
T

108 lines
2.7 KiB
TypeScript

import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type {
ApprovalCompletionForm,
ApprovalCoordinationForm,
ApprovalInstance,
ApprovalItem,
ApprovalMineParam,
ApprovalTaskListParam
} from '../model';
import { THINK_API_URL } from '@/config/setting';
/**
* 新建或保存业务完成确认单草稿,返回实例id
*/
export async function saveCompletion(data: ApprovalCompletionForm) {
const res = await request.post<ApiResult<number>>(
THINK_API_URL + '/approval/instance/completion',
data
);
if (res.data.code === 0) {
return res.data.data as number;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 新建或保存内部协调单草稿,返回实例id
*/
export async function saveCoordination(data: ApprovalCoordinationForm) {
const res = await request.post<ApiResult<number>>(
THINK_API_URL + '/approval/instance/coordination',
data
);
if (res.data.code === 0) {
return res.data.data as number;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 提交或重提
*/
export async function submitInstance(id: number) {
const res = await request.post<ApiResult<ApprovalInstance>>(
THINK_API_URL + '/approval/instance/' + id + '/submit'
);
if (res.data.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 单据详情
*/
export async function getInstance(id: number) {
const res = await request.get<ApiResult<ApprovalInstance>>(
THINK_API_URL + '/approval/instance/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 我发起的
*/
export async function pageMine(params: ApprovalMineParam) {
const res = await request.get<ApiResult<PageResult<ApprovalItem>>>(
THINK_API_URL + '/approval/mine/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 pageTodo(params: ApprovalTaskListParam) {
const res = await request.get<ApiResult<PageResult<ApprovalItem>>>(
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<ApiResult<PageResult<ApprovalItem>>>(
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));
}