fix: 3个逻辑/UI Bug修复

Bug1 — 任务总数与进度条不匹配:
  tasks_total 从全库历史总数改为 PENDING+WIP+COMPLETED(时段)+REJECTED(时段)
  确保进度条4段之和 = 显示的总数, 不再出现11≠9的缺口

Bug2 — 在制品排序混乱:
  移除DB层order_by, 改为Python统一按duration_hours降序
  无视status, 纯数值排序, 滞留最久排最前
  取limit*2条后在Python中排序再截断

Bug3 — 留言板产品显示割裂:
  [Tag:SN] 物料名 → 物料名 (SN: A1B2C3D4...)
  物料名加粗, SN等宽灰色, 阅读更顺畅
This commit is contained in:
2026-08-12 14:13:26 +08:00
parent 7906b8834a
commit c14bbeb891
2 changed files with 12 additions and 9 deletions

View File

@ -4,7 +4,7 @@ import {
RefreshCw, Loader2, AlertCircle, ArrowRight, Clock, MessageCircle,
} from "lucide-react";
import { useNavigate } from "react-router-dom";
import { Radio, DatePicker, Drawer, Input, Tag } from "antd";
import { Radio, DatePicker, Drawer, Input } from "antd";
import dayjs, { type Dayjs } from "dayjs";
import {
fetchDashboardStats, fetchWipTasks, fetchDashboardMessages,
@ -127,11 +127,11 @@ function MsgRow({ m }: { m: ProductMessageItem }) {
<span className="shrink-0 text-xs text-gray-400">{t}</span>
</div>
<p className="mb-2 text-sm leading-relaxed text-gray-600">{m.content}</p>
<div className="flex items-center gap-2">
<Tag color="blue" className="m-0 text-xs font-mono">{m.product_sn}</Tag>
<div className="flex items-center gap-1 text-xs text-gray-500">
{m.material_name && (
<span className="truncate text-xs text-gray-500">{m.material_name}</span>
<span className="font-medium text-gray-700">{m.material_name}</span>
)}
<span className="font-mono text-gray-400">(SN: {m.product_sn})</span>
</div>
</div>
</div>