A3 收口报销发票 OCR 主链路

这个提交包含在:
2026-05-10 10:37:23 +08:00
父节点 9d6abc7d63
当前提交 e79d252b7d
共修改 7 个文件,包含 111 行新增和 53 行删除
+5 -5
查看文件
@@ -177,7 +177,7 @@ export function InvoicePoolPage() {
if (previousStatus === "pending_ocr" && currentStatus && currentStatus !== "pending_ocr") {
void queryClient.invalidateQueries({ queryKey: ["invoice-pool"] });
if (currentStatus === "available") {
toast.success("票据识别已完成,可继续绑定或验真");
toast.success("票据识别已完成,可继续添加到业务单据或财务复核");
} else if (currentStatus === "ocr_failed") {
toast.error(`票据识别未完成:${formatInvoiceOcrErrorMessage(detailQuery.data?.ocrLastError)}`);
}
@@ -385,9 +385,9 @@ export function InvoicePoolPage() {
queryClient.invalidateQueries({ queryKey: ["invoice-pool", "verification"] }),
]);
setError("");
toast.success("验真已触发");
toast.success("发票核验已提交");
},
onError: (err) => handleError(err, "触发验真失败,请稍后重试"),
onError: (err) => handleError(err, "提交发票核验失败,请稍后重试"),
});
const retryVerificationMutation = useMutation({
@@ -398,9 +398,9 @@ export function InvoicePoolPage() {
queryClient.invalidateQueries({ queryKey: ["invoice-pool", "verification"] }),
]);
setError("");
toast.success("验真重试已触发");
toast.success("发票核验已重新提交");
},
onError: (err) => handleError(err, "重试验真失败,请稍后重试"),
onError: (err) => handleError(err, "重新提交发票核验失败,请稍后重试"),
});
const overrideDuplicateMutation = useMutation({