feat: Track 网页端已完成/已入库/已出库状态展示与筛选

- ProductCard/ScanPage 徽标改用整体状态,补全宏观状态中文映射
- 产品管理/任务全景/我的任务/看板/WIP分析 状态筛选与徽标区分
- 转入在库显示在库实际操作人;新增已出库/OUTBOUND 状态色
This commit is contained in:
2026-09-01 13:53:30 +08:00
parent 73faa1fd93
commit 6cb7731cbb
10 changed files with 122 additions and 16 deletions

View File

@ -115,7 +115,10 @@ const SlimCard = memo(function SlimCard({
<p className={`${sz.title} font-bold text-gray-800 truncate`}>{task.task_name}</p>
<div className={`${sz.metaRow} flex items-center gap-1`}>
<span className={`rounded-full ${sz.status} font-medium ${cfg.bg} ${cfg.text}`}>{cfg.label}</span>
<span className={`${sz.assignee} text-gray-400 truncate`}>{assigneeName || task.assignee_id || "—"}</span>
{/* 在库任务不单独显示负责人,由下方"转入在库"统一展示实际操作人 */}
{!isWarehouse && (
<span className={`${sz.assignee} text-gray-400 truncate`}>{assigneeName || task.assignee_id || "—"}</span>
)}
</div>
{/* 单行时间 */}
<p className={`${sz.time} text-gray-300`}>
@ -124,9 +127,9 @@ const SlimCard = memo(function SlimCard({
</p>
{legacy && <p className={`${sz.sub} text-orange-500`}>: {assigneeName || (findParent(task)?.assignee_id) || "历史任务"}</p>}
{isNestedSpawn && <p className={`${sz.sub} text-purple-500`}>: {findParent(task)?.assignee_id || "—"}</p>}
{/* 📥 在库任务:显示谁转入在库 */}
{isWarehouse && task.created_by && (
<p className={`${sz.sub} text-emerald-600`}>📥 : {assigneeNames?.[task.created_by] || task.created_by}</p>
{/* 📥 在库任务:显示实际执行"转入在库"的操作人(任务负责人) */}
{isWarehouse && task.assignee_id && (
<p className={`${sz.sub} text-emerald-600`}>📥 : {assigneeName || task.assignee_id}</p>
)}
{/* 操作按钮 */}
{active && isOwner && (