R30-1 R30-9: 建立零人工发布门禁并补齐高频回归

这个提交包含在:
2026-03-23 10:00:26 +08:00
父节点 c17a72830c
当前提交 994d98e74c
共修改 22 个文件,包含 1189 行新增和 41 行删除
+7 -7
查看文件
@@ -252,7 +252,7 @@ export function ReimbursementDetailPage() {
]);
setActionError("");
const suffix = result.requeued ? "已重入队" : result.duplicated ? "已复用现有队列" : "已入队";
toast.success(`ERP 导出${suffix}`);
toast.success(`财务桥接出队${suffix}`);
},
onError: (error) => {
if (isApiError(error)) {
@@ -268,8 +268,8 @@ export function ReimbursementDetailPage() {
return;
}
setActionError("ERP 导出失败,请稍后重试");
toast.error("ERP 导出失败,请稍后重试");
setActionError("财务桥接出队失败,请稍后重试");
toast.error("财务桥接出队失败,请稍后重试");
},
});
@@ -461,11 +461,11 @@ export function ReimbursementDetailPage() {
<div className="card-std space-y-4 p-6" data-testid="reimbursement-erp-export">
<div className="flex flex-col gap-3 md:flex-row md:items-start md:justify-between">
<div className="space-y-1">
<h3 className="text-base font-semibold text-zinc-900">ERP 导出</h3>
<p className="text-sm text-zinc-500">已付款报销单会按标准凭证切片通过 Outbox 异步发送到 ERP。</p>
<h3 className="text-base font-semibold text-zinc-900">财务桥接</h3>
<p className="text-sm text-zinc-500">已付款报销单会按标准凭证切片通过 Outbox 异步发送到财务桥接出口。</p>
</div>
<Button onClick={() => erpExportMutation.mutate()} disabled={erpExportMutation.isPending}>
{erpExportMutation.isPending ? "导出中..." : "导出到 ERP"}
{erpExportMutation.isPending ? "出队中..." : "发送到财务桥接"}
</Button>
</div>
@@ -478,7 +478,7 @@ export function ReimbursementDetailPage() {
erpPreviewQuery.error.details,
erpPreviewQuery.error.message,
)}`
: "加载 ERP 导出预览失败"}
: "加载财务桥接预览失败"}
</p>
) : null}