fix: 修复智能薄壳分析全选功能ID重复导致的选择数量不匹配问题
- 重构零件数据合并逻辑,抽取addUniqueIdAndCategory函数遵循DRY原则 - 为每个零件生成唯一ID,保留原始ID作为originalId字段 - 解决不同类别零件ID重复导致Set去重的问题 - 现在全选功能能正确选择所有筛选类别的零件 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c218beefe4
commit
cf1c92bf0d
@ -243,24 +243,28 @@ const analysisResults = computed(() => {
|
||||
return props.analysisData.data
|
||||
})
|
||||
|
||||
// 为零件添加唯一ID和类别标记
|
||||
const addUniqueIdAndCategory = (parts, category, startId) => {
|
||||
return parts.map((part, index) => ({
|
||||
...part,
|
||||
id: startId + index,
|
||||
originalId: part.id,
|
||||
deletion_recommendation: category
|
||||
}))
|
||||
}
|
||||
|
||||
// 合并所有零件列表
|
||||
const allParts = computed(() => {
|
||||
if (!analysisResults.value) return []
|
||||
|
||||
const safeDeletions = analysisResults.value.safeDeletions.map(part => ({
|
||||
...part,
|
||||
deletion_recommendation: 'safe_delete'
|
||||
}))
|
||||
let currentId = 1
|
||||
const safeDeletions = addUniqueIdAndCategory(analysisResults.value.safeDeletions, 'safe_delete', currentId)
|
||||
currentId += safeDeletions.length
|
||||
|
||||
const suggestedDeletions = analysisResults.value.suggestedDeletions.map(part => ({
|
||||
...part,
|
||||
deletion_recommendation: 'recommended_delete'
|
||||
}))
|
||||
const suggestedDeletions = addUniqueIdAndCategory(analysisResults.value.suggestedDeletions, 'recommended_delete', currentId)
|
||||
currentId += suggestedDeletions.length
|
||||
|
||||
const preserveList = analysisResults.value.preserveList.map(part => ({
|
||||
...part,
|
||||
deletion_recommendation: 'must_keep'
|
||||
}))
|
||||
const preserveList = addUniqueIdAndCategory(analysisResults.value.preserveList, 'must_keep', currentId)
|
||||
|
||||
return [...safeDeletions, ...suggestedDeletions, ...preserveList]
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user