修复报销票据门禁提示与 OCR 降级(08-30-b2-submit-error-ocr-fallback)
这个提交包含在:
@@ -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",
|
||||
|
||||
在新工单中引用
屏蔽一个用户