fix(version): 限制任务需求候选为版本已关联需求

This commit is contained in:
2026-07-06 11:43:23 +08:00
parent bc6e9357ea
commit 8d61bb7c13
7 changed files with 84 additions and 12 deletions

View File

@@ -26,6 +26,22 @@ export function getProjectAdoptedRequirementCandidates(requirements: Requirement
.sort((a, b) => a.code.localeCompare(b.code, 'zh-CN'));
}
export function getVersionLinkedRequirementCandidates(requirements: Requirement[], requirementIds: string[]): Requirement[] {
const linkedOrder = new Map<string, number>();
requirementIds.forEach((id, index) => {
if (!linkedOrder.has(id)) linkedOrder.set(id, index);
});
return requirements
.filter((r) => linkedOrder.has(r.id))
.sort((a, b) => {
const orderA = linkedOrder.get(a.id) ?? Number.MAX_SAFE_INTEGER;
const orderB = linkedOrder.get(b.id) ?? Number.MAX_SAFE_INTEGER;
if (orderA !== orderB) return orderA - orderB;
return a.code.localeCompare(b.code, 'zh-CN');
});
}
export function mergeSelectedRequirementOptions(
candidates: Requirement[],
allRequirements: Requirement[],