fix: 三致命Bug—macro_status预计算+排除已完工脏读+flush落盘+递归深度限制10

This commit is contained in:
2026-08-09 18:23:55 +08:00
parent d8623df7de
commit 45b5376537
6 changed files with 49 additions and 5 deletions

View File

@ -81,15 +81,18 @@ export default function AdminTasksPage() {
loadProducts(keyword);
}
/** 🔧 本地计算产品综合状态(与表格列渲染逻辑100%统一) */
/** 🔧 产品综合状态:优先后端预计算的 macro_status,兜底本地 taskTree */
function calcProductStatus(p: ProductResponse): string {
// 后端已批量预计算 macro_status(WIP/PENDING/COMPLETED)
if (p.macro_status) return p.macro_status;
// 兜底:展开过的流转树
const tree = taskTrees[p.serial_number];
if (tree?.task_tree?.length) {
if (tree.task_tree.some(t => t.status === "WIP")) return "WIP";
if (tree.task_tree.every(t => t.status === "COMPLETED" || t.status === "ARCHIVED")) return "COMPLETED";
return tree.task_tree[0].status;
}
return p.status; // 未展开流转树时兜底产品状态
return p.status;
}
// ---- 按订单分组 + 本地状态过滤 ----