feat(web): add reimbursements service and ConfirmDialog component

- services/reimbursements.js: add reimbursement API service client
- components/shared/ConfirmDialog.vue: add shared confirm dialog component
This commit is contained in:
caoxiaozhu
2026-05-13 03:37:47 +00:00
parent 46644d429f
commit fae9966a11
2 changed files with 290 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
import { apiRequest } from './api.js'
export function fetchExpenseClaims() {
return apiRequest('/reimbursements/claims')
}
export function fetchExpenseClaimDetail(claimId) {
return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}`)
}
export function updateExpenseClaimItem(claimId, itemId, payload) {
return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items/${encodeURIComponent(String(itemId || '').trim())}`, {
method: 'PATCH',
body: JSON.stringify(payload)
})
}
export function submitExpenseClaim(claimId) {
return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/submit`, {
method: 'POST',
body: JSON.stringify({})
})
}
export function deleteExpenseClaim(claimId) {
return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}`, {
method: 'DELETE'
})
}