perf(web): 优化大数据量页面切换与聚合性能
This commit is contained in:
@@ -37,6 +37,7 @@ export function aggregateWorkItems(
|
||||
requirementVersionMap: Map<string, string>,
|
||||
): WorkItem[] {
|
||||
const items: WorkItem[] = [];
|
||||
if (!userName.trim()) return items;
|
||||
|
||||
// Plans: owner === userName
|
||||
plans.filter((p) => p.owner === userName).forEach((p) => {
|
||||
@@ -127,6 +128,17 @@ export function getWorkspacePendingCount(items: ReadonlyArray<Pick<WorkItem, 'co
|
||||
return items.reduce((sum, item) => sum + (item.completed ? 0 : 1), 0);
|
||||
}
|
||||
|
||||
export function getWorkspacePendingCountByVersion(
|
||||
items: ReadonlyArray<Pick<WorkItem, 'versionId' | 'completed'>>,
|
||||
): Map<string, number> {
|
||||
const map = new Map<string, number>();
|
||||
for (const item of items) {
|
||||
if (!item.versionId || item.completed) continue;
|
||||
map.set(item.versionId, (map.get(item.versionId) ?? 0) + 1);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
export const WORK_ITEM_TYPE_LABEL: Record<WorkItemType, string> = {
|
||||
plan_research: '调研',
|
||||
plan_product: '产品方案',
|
||||
|
||||
Reference in New Issue
Block a user