修复报销票据门禁提示与 OCR 降级(08-30-b2-submit-error-ocr-fallback)

这个提交包含在:
2026-08-31 20:20:20 +08:00
父节点 8b19538584
当前提交 f57e2236f2
共修改 21 个文件,包含 1829 行新增和 49 行删除
+19
查看文件
@@ -194,6 +194,7 @@ export type ReimbursementDetail = {
mimeType: string | null;
fileSize: number | null;
linkedItemId: string | null;
amountEvidenceStatus: "verified" | "manual_review" | "ocr_failed";
}>;
attachments: Array<{
id: string;
@@ -225,6 +226,7 @@ export type ReimbursementDetail = {
approvalHistory: ReimbursementApprovalHistoryItem[];
riskFlags: RiskFlag[];
invoiceGuardEnabled?: boolean;
invoiceAmountManualReviewRequired?: boolean;
items: ReimbursementItem[];
};
@@ -391,6 +393,8 @@ export type ReimbursementSubmitResponse = {
precheckDecision: "pass" | "warn" | "manual_review";
standardWarnings: ExpenseStandardCheck[];
openedRiskFlagCount: number;
invoiceAmountManualReviewRequired: boolean;
manualReviewItemCount: number;
};
function toQueryString(query: Record<string, string | number | undefined>) {
@@ -472,6 +476,21 @@ export async function submitReimbursement(reimbursementId: string) {
});
}
export async function linkReimbursementInvoiceItem(
reimbursementId: string,
invoiceId: string,
linkedItemId: string,
) {
return apiRequestData<{
reimbursementId: string;
invoiceId: string;
linkedItemId: string;
}>(`/api/reimbursements/${reimbursementId}/invoices/${invoiceId}/item-link`, {
method: "PATCH",
body: JSON.stringify({ linkedItemId }),
});
}
export async function withdrawReimbursement(reimbursementId: string, comment?: string) {
return apiRequestData<Record<string, unknown>>(`/api/reimbursements/${reimbursementId}/withdraw`, {
method: "POST",