diff --git a/src/components/pages/ShellAnalysisResult.vue b/src/components/pages/ShellAnalysisResult.vue index b00210a..f257392 100644 --- a/src/components/pages/ShellAnalysisResult.vue +++ b/src/components/pages/ShellAnalysisResult.vue @@ -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] })