fix(ui): [UI7-2] 统一全局 Design Tokens,移除冗余字体,修复异常色值引用

这个提交包含在:
2026-03-06 09:48:37 +08:00
父节点 62fd2a5398
当前提交 73b51ac068
共修改 39 个文件,包含 253 行新增和 250 行删除
+18 -18
查看文件
@@ -118,7 +118,7 @@ export function BudgetsPage() {
return (
<div className="space-y-4">
<PageHeader title="预算管理" subtitle="你当前没有预算权限,请联系管理员开通。" />
<Card className="p-6 text-sm text-slate-600">所需权限:budget.view 或 budget.manage</Card>
<Card className="p-6 text-sm text-zinc-600">所需权限:budget.view 或 budget.manage</Card>
</div>
);
}
@@ -139,10 +139,10 @@ export function BudgetsPage() {
) : null}
<Card className="space-y-3 p-6">
<h3 className="text-base font-semibold text-slate-900">筛选条件</h3>
<h3 className="text-base font-semibold text-zinc-900">筛选条件</h3>
<div className="grid gap-3 md:grid-cols-3">
<select
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
value={status}
onChange={(event) => {
setStatus(event.target.value as "active" | "archived" | "");
@@ -155,7 +155,7 @@ export function BudgetsPage() {
</select>
<select
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
value={departmentId}
onChange={(event) => {
setDepartmentId(event.target.value);
@@ -182,22 +182,22 @@ export function BudgetsPage() {
{canManageBudget ? (
<Card className="space-y-3 p-6">
<h3 className="text-base font-semibold text-slate-900">新建预算池</h3>
<h3 className="text-base font-semibold text-zinc-900">新建预算池</h3>
<div className="grid gap-3 md:grid-cols-3">
<input
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
placeholder="编码(例如 BGT-2026-RD)"
value={code}
onChange={(event) => setCode(event.target.value)}
/>
<input
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
placeholder="名称"
value={name}
onChange={(event) => setName(event.target.value)}
/>
<select
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
value={formDepartmentId}
onChange={(event) => setFormDepartmentId(event.target.value)}
>
@@ -209,25 +209,25 @@ export function BudgetsPage() {
))}
</select>
<input
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
type="date"
value={periodStart}
onChange={(event) => setPeriodStart(event.target.value)}
/>
<input
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
type="date"
value={periodEnd}
onChange={(event) => setPeriodEnd(event.target.value)}
/>
<input
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
placeholder="预算总额(例如 100000.00)"
value={allocatedAmount}
onChange={(event) => setAllocatedAmount(event.target.value)}
/>
<input
className="h-11 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm"
className="h-11 rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm"
type="number"
min={1}
max={100}
@@ -254,13 +254,13 @@ export function BudgetsPage() {
) : null}
<Card className="space-y-3 p-6">
<h3 className="text-base font-semibold text-slate-900">预算池列表</h3>
<h3 className="text-base font-semibold text-zinc-900">预算池列表</h3>
{budgetsQuery.isLoading ? <TableSkeleton columns={7} rows={4} /> : null}
{!budgetsQuery.isLoading ? (
<>
<div className="rounded-lg border border-slate-200">
<div className="rounded-lg border border-zinc-200">
<Table>
<TableHeader>
<TableRow>
@@ -277,7 +277,7 @@ export function BudgetsPage() {
{(budgetsQuery.data?.items ?? []).length ? (
(budgetsQuery.data?.items ?? []).map((item) => (
<TableRow key={item.id}>
<TableCell className="font-medium text-slate-900">{item.code}</TableCell>
<TableCell className="font-medium text-zinc-900">{item.code}</TableCell>
<TableCell>{item.name}</TableCell>
<TableCell><StatusBadge status={item.status} /></TableCell>
<TableCell>
@@ -285,7 +285,7 @@ export function BudgetsPage() {
</TableCell>
<TableCell>
{item.usedAmount} / {item.allocatedAmount}
<div className="text-xs text-slate-500">剩余 {item.remainingAmount}</div>
<div className="text-xs text-zinc-500">剩余 {item.remainingAmount}</div>
</TableCell>
<TableCell>{item.warningThresholdPercent}%</TableCell>
<TableCell>
@@ -300,14 +300,14 @@ export function BudgetsPage() {
归档
</Button>
) : (
<span className="text-xs text-slate-400">-</span>
<span className="text-xs text-zinc-400">-</span>
)}
</TableCell>
</TableRow>
))
) : (
<TableRow>
<TableCell className="py-3 text-slate-500" colSpan={7}>
<TableCell className="py-3 text-zinc-500" colSpan={7}>
暂无预算池
</TableCell>
</TableRow>