feat: 在制品附加信息补全 — 设备名称|规格型号|序列号|身份证

后端: WipTask 新增 spec_model, 查询关联 Product.spec_model
前端: 第二行格式改为 物料|规格|序列号:xxx|身份证:xxx
This commit is contained in:
2026-08-12 14:43:20 +08:00
parent f608f6bf81
commit 729de138cd
3 changed files with 16 additions and 11 deletions

View File

@ -86,8 +86,6 @@ function WipRow({ t }: { t: WipTask }) {
window.open(`${base}/scan?sn=${t.product_sn}`, "_blank");
}
};
const sn = t.external_serial || "未录入";
const trace = t.product_sn ? t.product_sn.slice(-6) : "";
return (
<div
onClick={handleClick}
@ -109,11 +107,15 @@ function WipRow({ t }: { t: WipTask }) {
{durationLabel(t.duration_hours)}
</span>
</div>
{/* 附加信息行:物料名 + 序列号 + 身份证后6位 + 接收时间 */}
<div className="mt-1.5 flex items-center gap-2 text-[11px] text-gray-400">
{t.material_name && <span className="font-medium text-gray-500">{t.material_name}</span>}
<span>SN: {sn}</span>
<span className="font-mono text-gray-300">{trace}</span>
{/* 附加信息行 */}
<div className="mt-1.5 flex items-center gap-1.5 text-[11px] text-gray-400">
<span className="font-medium text-gray-500">{t.material_name || "未知设备"}</span>
<span className="text-gray-300">|</span>
<span>{t.spec_model || "无规格"}</span>
<span className="text-gray-300">|</span>
<span>: {t.external_serial || "未录入"}</span>
<span className="text-gray-300">|</span>
<span className="font-mono text-gray-300">: {t.product_sn}</span>
{t.received_at && <span className="ml-auto">{t.received_at}</span>}
</div>
</div>

View File

@ -22,6 +22,7 @@ export interface WipTask {
product_sn: string;
external_serial: string | null;
material_name: string;
spec_model: string;
status: string;
received_at: string;
duration_hours: number;