优化报销功能

This commit is contained in:
hero920103 committed 2026-10-16 23:46:49 +08:00
1 parent 395c7f717e
commit 4306cbd74b
19 files changed
+2059 -534

No files matched your search

+3 -45
View File
@@ -84,31 +84,6 @@ export function getApprovalMultiModeLabel(value) {
return labelOf(APPROVAL_MULTI_MODE_OPTIONS, value, '或签')
}
// ============================ 单据类型 / 流程 ============================
/**
* 获取本租户可用的单据类型(biz_type)下拉项。
* 用于「发起审批」选择单据类型。
*/
export async function fetchApprovalCategories() {
const data = await request({ url: '/api/oa/approval/categories' })
const list = (data && data.list) || []
return list
}
/**
* 按 biz_type 获取本租户可发起的流程列表(含 flow_name + 节点名)。
*/
export async function fetchApprovalFlows(params = {}) {
const data = await request({
url: '/api/oa/approval/flows',
data: {
biz_type: params.bizType || ''
}
})
return { list: (data && data.list) || [], total: (data && data.total) || 0 }
}
// ============================ 我的发起 ============================
/**
@@ -178,26 +153,9 @@ export async function fetchApprovalDetail(id) {
}
}
// ============================ 发起 / 审批 / 撤回 ============================
/**
* 提交审批(发起)。
* payload: { biz_type, flow_code?, flow_id?, biz_title, biz_id?, form_data? }
*/
export async function submitApproval(payload) {
return request({
url: '/api/oa/approval/submit',
method: 'POST',
data: {
biz_type: payload.bizType || '',
flow_code: payload.flowCode || '',
flow_id: payload.flowId || 0,
biz_title: payload.bizTitle || '',
biz_id: payload.bizId || 0,
form_data: payload.formData || {}
}
})
}
// ============================ 审批 / 撤回 ============================
// 说明:审批不允许在此处「自由发起」,统一由具体业务模块提交
// (如报销单在「报销管理」提交后自动进入审批流),本模块只负责查询与处理。
/**
* 审批人通过 / 驳回任务。
+5 -4
View File
@@ -163,15 +163,16 @@ export async function submitExpense(id) {
}
/**
* 手动确认更改单据状态(与 Web 端「手动确认」能力一致)
* 报销人确认款项到账(仅「已通过」的单据可用)
* 确认成功后单据状态变为「已打款」;其它状态由审批引擎推进,端上不可手动修改。
*/
export async function updateExpenseStatus(id, status) {
export async function confirmExpensePaid(id) {
const res = await request({
url: `/api/oa/expense/status/${id}`,
method: 'POST',
data: { status }
data: { status: EXPENSE_STATUS.PAID }
})
return res?.status
return res?.status ?? EXPENSE_STATUS.PAID
}
/**