优化审批功能

This commit is contained in:
hero920103 committed 2026-10-16 22:40:02 +08:00
1 parent 184d5b0403
commit 395c7f717e
15 files changed
+2997 -16

No files matched your search

+142
View File
@@ -0,0 +1,142 @@
// approval.js — 审批列表 API 服务
// 提供审批列表的增删改查接口,供 `pages/approval/index.vue` 使用。
import { request } from '@/api/request.js'
/**
* 获取审批列表
* @param {object} params - 分页、筛选参数
* @returns {Promise<object>} { list, total, page, pageSize }
*/
export async function fetchApprovalList(params) {
const res = await request({
url: '/approval/list',
method: 'GET',
...params,
})
return res
}
/**
* 获取审批类型下拉选项(用于筛选)
* @returns {Promise<object>} 审批类型列表
*/
export async function fetchApprovalTypes() {
const res = await request({
url: '/approval/types',
method: 'GET',
})
return res
}
/**
* 获取审批项详情
* @param {number} id - 审批项 ID
* @returns {Promise<object>} 审批项详情
*/
export async function fetchApprovalDetail(id) {
const res = await request({
url: `/approval/detail/${id}`,
method: 'GET',
})
return res
}
/**
* 创建审批项
* @param {object} data - 审批项数据
* @returns {Promise<object>} 创建结果
*/
export async function createApproval(data) {
const res = await request({
url: '/approval/create',
method: 'POST',
data,
})
return res
}
/**
* 更新审批项
* @param {number} id - 审批项 ID
* @param {object} data - 更新的数据
* @returns {Promise<object>} 更新结果
*/
export async function updateApproval(id, data) {
const res = await request({
url: `/approval/update/${id}`,
method: 'PUT',
data,
})
return res
}
/**
* 删除审批项
* @param {number} id - 审批项 ID
* @returns {Promise<object>} 删除结果
*/
export async function deleteApproval(id) {
const res = await request({
url: `/approval/delete/${id}`,
method: 'DELETE',
})
return res
}
/**
* 批量删除审批项
* @param {number[]} ids - 审批项 ID 数组
* @returns {Promise<object>} 批量删除结果
*/
export async function batchDeleteApprovals(ids) {
const res = await request({
url: '/approval/batch-delete',
method: 'POST',
data: { ids },
})
return res
}
/**
* 同意/通过审批项
* @param {number} id - 审批项 ID
* @param {string} reason - 通过原因
* @returns {Promise<object>} 通过结果
*/
export async function approveApproval(id, reason) {
const res = await request({
url: `/approval/approve/${id}`,
method: 'POST',
data: { reason },
})
return res
}
/**
* 驳回审批项
* @param {number} id - 审批项 ID
* @param {string} reason - 驳回原因
* @returns {Promise<object>} 驳回结果
*/
export async function rejectApproval(id, reason) {
const res = await request({
url: `/approval/reject/${id}`,
method: 'POST',
data: { reason },
})
return res
}
/**
* 获取审批进度(待办 / 进行中 / 已完成)
* @param {number} id - 审批项 ID
* @returns {Promise<object>} 进度信息
*/
export async function fetchApprovalProgress(id) {
const res = await request({
url: `/approval/progress/${id}`,
method: 'GET',
})
return res
}