feat: 在制品加业务序列号 + 追溯码改名为身份证

1. 在制品行: 显示 external_serial(业务序列号)
   优先 external_serial → 兜底 product_sn
   旧: 装配 A1B2C3D4  张三
   新: 装配 25022  张三

2. 留言板: 追溯码 → 身份证
   旧: 追溯码: 000000000000000D
   新: 身份证: 000000000000000D

3. 后端: WipTask 新增 external_serial 字段
   关联查询 Product.external_serial
This commit is contained in:
2026-08-12 14:23:23 +08:00
parent ff7c791d49
commit 079b65e761
3 changed files with 9 additions and 4 deletions

View File

@ -89,7 +89,9 @@ function WipRow({ t }: { t: WipTask }) {
<div className="min-w-0 flex-1">
<div className="flex items-baseline gap-2">
<span className="text-sm font-medium text-gray-700 truncate">{t.task_name}</span>
<span className="font-mono text-xs text-gray-400 shrink-0">{t.product_sn}</span>
<span className="text-xs text-gray-500 shrink-0">
{t.external_serial || t.product_sn}
</span>
<span className="text-xs text-gray-400 shrink-0">{t.assignee}</span>
</div>
<div className="mt-0.5 flex items-center gap-2 text-[11px] text-gray-400">
@ -135,7 +137,7 @@ function MsgRow({ m }: { m: ProductMessageItem }) {
<span className="font-medium text-gray-600">{m.external_serial || "未录入"}</span>
</span>
)}
<span className="text-[10px] text-gray-300 font-mono">: {m.product_sn}</span>
<span className="text-[10px] text-gray-300 font-mono">: {m.product_sn}</span>
</div>
</div>
</div>

View File

@ -20,6 +20,7 @@ export interface WipTask {
task_name: string;
assignee: string;
product_sn: string;
external_serial: string | null;
status: string;
received_at: string;
duration_hours: number;