feat(approval): add safe risk disposition workflow

This commit is contained in:
caoxiaozhu
2026-07-16 15:34:58 +08:00
parent ee88a36baf
commit 4940ebc419
64 changed files with 6602 additions and 631 deletions

View File

@@ -231,6 +231,15 @@ function createPreReviewRequestId() {
return `pre-review:${Date.now()}:${Math.random().toString(16).slice(2)}`
}
export function createExpenseClaimActionRequestId(action, claimId) {
const normalizedAction = String(action || 'action').trim() || 'action'
const normalizedClaimId = String(claimId || 'claim').trim() || 'claim'
if (typeof globalThis.crypto?.randomUUID === 'function') {
return `${normalizedAction}:${normalizedClaimId}:${globalThis.crypto.randomUUID()}`
}
return `${normalizedAction}:${normalizedClaimId}:${Date.now()}:${Math.random().toString(16).slice(2)}`
}
export function preReviewExpenseClaim(claimId, requestId = '') {
const normalizedRequestId = String(requestId || '').trim() || createPreReviewRequestId()
return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/pre-review`, {
@@ -261,10 +270,10 @@ export function approveExpenseClaim(claimId, payload = {}) {
})
}
export function payExpenseClaim(claimId) {
export function payExpenseClaim(claimId, payload = {}) {
return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/pay`, {
method: 'POST',
body: JSON.stringify({})
body: JSON.stringify(payload)
})
}