优化PC核心工作流视觉 Wave2(05-27-pc-core-workflow-visual-wave2)

这个提交包含在:
2026-05-27 18:12:23 +08:00
父节点 8f17d6454d
当前提交 9ac73a3872
共修改 16 个文件,包含 771 行新增和 96 行删除
+10 -11
查看文件
@@ -15,7 +15,6 @@ import { ConfirmDialog } from "../components/common/ConfirmDialog";
import { StatusBadge } from "../components/common/StatusBadge";
import { TableSkeleton } from "../components/common/TableSkeleton";
import {
ActionToolbar,
FilterBar,
ListWorkspace,
PrimaryTable,
@@ -210,11 +209,11 @@ export function WorkflowTasksPage() {
<WorkspaceHeader
eyebrow="审批"
title="审批中心"
subtitle="待处理、已处理和业务类型。"
subtitle="任务、节点、业务状态。"
/>
<div data-testid="workflow-task-summary">
<StatStrip columns={4}>
<StatStrip columns={4} className="ops-status-strip">
<MetricCard title="待办总数" value={summaryQuery.data?.pendingTotal ?? "-"} />
<MetricCard title="超时待办" value={summaryQuery.data?.overdueTotal ?? "-"} tone="warning" />
<MetricCard title="最早待处理" value={formatSummaryTime(summaryQuery.data?.earliestPendingAt)} />
@@ -232,14 +231,14 @@ export function WorkflowTasksPage() {
</StatStrip>
</div>
<FilterBar>
<ActionToolbar className="items-start">
<FilterBar className="ops-command-bar !p-3 md:!p-3.5">
<div className="ops-command-bar__row">
<Tabs
data-testid="workflow-tasks-status-tabs"
value={status}
onValueChange={(value) => updateSearchParams({ status: value as WorkflowStatusFilter, page: 1 })}
>
<TabsList className="flex w-full flex-wrap justify-start gap-1 xl:w-auto">
<TabsList className="ops-command-bar__tabs !h-auto !justify-start !bg-slate-50">
{WORKFLOW_STATUS_OPTIONS.map((item) => (
<TabsTrigger
data-testid={`workflow-tasks-tab-${item.value}`}
@@ -252,13 +251,13 @@ export function WorkflowTasksPage() {
</TabsList>
</Tabs>
<div className="flex w-full items-center gap-2 sm:w-auto">
<label className="text-sm font-medium text-zinc-700" htmlFor="workflow-entity-type-filter">
<div className="ops-command-bar__actions">
<label className="ops-filter-label" htmlFor="workflow-entity-type-filter">
业务类型
</label>
<select
id="workflow-entity-type-filter"
className="select-std min-w-36 flex-1 sm:flex-none"
className="select-sm min-w-32"
data-testid="workflow-tasks-entity-filter"
value={entityType}
onChange={(event) => updateSearchParams({ entityType: event.target.value as WorkflowEntityFilter, page: 1 })}
@@ -270,7 +269,7 @@ export function WorkflowTasksPage() {
))}
</select>
</div>
</ActionToolbar>
</div>
</FilterBar>
{query.isLoading ? <TableSkeleton columns={7} rows={5} /> : null}
@@ -352,7 +351,7 @@ export function WorkflowTasksPage() {
)}
</div>
<PrimaryTable className="hidden md:block">
<PrimaryTable className="hidden md:block ops-table-focus">
<Table data-testid="workflow-tasks-table">
<TableHeader>
<tr>