重构前端 Wave0-2 体验基线(05-28-frontend-ux-redesign)

这个提交包含在:
2026-05-28 23:03:40 +08:00
父节点 605dddf633
当前提交 8f38687186
共修改 23 个文件,包含 711 行新增和 146 行删除
+12 -11
查看文件
@@ -976,7 +976,7 @@ export function ReimbursementDetailPage() {
{downloadReasonDialog}
<EntityOverviewHero
title={`报销详情 ${displayCode}`}
subtitle="状态、票据、审批和付款集中处理。"
subtitle="先确认当前状态和下一步,再处理明细、发票、附件和审批记录。"
meta={(
<>
<StatusBadge status={detail.status} />
@@ -992,7 +992,7 @@ export function ReimbursementDetailPage() {
<Link to={`/reimbursements/${detail.id}/print`}>打印 / PDF</Link>
</Button>
<Button asChild variant="secondary" data-testid="reimbursement-back">
<Link to="/reimbursements">返回列表</Link>
<Link to="/reimbursements">报销列表</Link>
</Button>
{canRemindPendingWorkflow && pendingTaskId ? (
<Button
@@ -1022,7 +1022,7 @@ export function ReimbursementDetailPage() {
<div className="detail-workspace-grid">
<div className="space-y-5">
<SectionPanel title="办理摘要">
<SectionPanel title="当前状态与下一步" description="提交、付款、附件和审批依据集中在本页处理。">
<div className="space-y-4" data-testid="reimbursement-overview">
<StatStrip columns={4} className="ops-status-strip">
<MetricCard
@@ -1168,8 +1168,8 @@ export function ReimbursementDetailPage() {
<div className="space-y-4 text-sm">
<div className="flex flex-col gap-3 md:flex-row md:items-center md:justify-between">
<div className="space-y-1">
<h3 className="text-base font-semibold text-zinc-900">附件材料</h3>
<p className="text-xs text-zinc-500">支付截图、合同、订单或情况说明,不参与发票识别。</p>
<h3 className="text-base font-semibold text-zinc-900">补充附件</h3>
<p className="text-xs text-zinc-500">合同、订单、支付截图或情况说明;敏感附件下载会要求填写用途。</p>
</div>
{canEditItems ? (
<div className="flex flex-col gap-2 md:flex-row md:items-center">
@@ -1245,14 +1245,14 @@ export function ReimbursementDetailPage() {
</div>
</SectionPanel>
<SectionPanel title="明细与票据">
<SectionPanel title="明细与发票" description="明细决定金额,发票决定提交完整性。">
<div className="space-y-4">
<div className="space-y-4" data-testid="reimbursement-items">
<div className="flex flex-col gap-3 md:flex-row md:items-center md:justify-between">
<div className="space-y-1">
<h3 className="text-base font-semibold text-zinc-900">报销明细</h3>
<p className="text-xs text-zinc-500">明细变更会自动重算总金额。</p>
</div>
<div className="flex flex-col gap-3 md:flex-row md:items-center md:justify-between">
<div className="space-y-1">
<h3 className="text-base font-semibold text-zinc-900">报销明细</h3>
<p className="text-xs text-zinc-500">明细变更会自动重算总金额。</p>
</div>
{canEditItems ? (
<Button
@@ -1399,6 +1399,7 @@ export function ReimbursementDetailPage() {
<div className="flex flex-col gap-3 md:flex-row md:items-center md:justify-between">
<div className="space-y-1">
<h3 className="text-base font-semibold text-zinc-900">发票</h3>
<p className="mt-1 text-xs text-zinc-500">提交前至少添加 1 张发票;重复或不可用发票会给出原因。</p>
</div>
{canOpenInvoiceBindDialog ? (
<Button