From 57a0b780b17825de5413947c135fc392c82ee210 Mon Sep 17 00:00:00 2001 From: egg Date: Mon, 23 Feb 2026 07:07:36 +0800 Subject: [PATCH] feat(query-tool): align lineage merge semantics and add tree exports --- frontend/src/query-tool/App.vue | 2 + .../components/LineageTreeChart.vue | 423 +++++++++++++++++- .../query-tool/components/LotTraceView.vue | 5 + .../components/SerialReverseTraceView.vue | 5 + .../query-tool/composables/useLotLineage.js | 10 +- .../composables/useReverseLineage.js | 112 ++++- src/mes_dashboard/services/lineage_engine.py | 100 +++-- .../services/query_tool_service.py | 150 +++++-- .../sql/lineage/merge_sources.sql | 6 +- tests/test_lineage_engine.py | 24 +- tests/test_query_tool_service.py | 84 +++- 11 files changed, 789 insertions(+), 132 deletions(-) diff --git a/frontend/src/query-tool/App.vue b/frontend/src/query-tool/App.vue index 64a4def..edfba00 100644 --- a/frontend/src/query-tool/App.vue +++ b/frontend/src/query-tool/App.vue @@ -481,6 +481,7 @@ watch( :name-map="lotLineage.nameMap" :node-meta-map="lotLineage.nodeMetaMap" :edge-type-map="lotLineage.edgeTypeMap" + :graph-edges="lotLineage.graphEdges.value" :leaf-serials="lotLineage.leafSerials" :lineage-loading="lotLineage.lineageLoading.value" :selected-container-ids="lotLineage.selectedContainerIds.value" @@ -520,6 +521,7 @@ watch( :name-map="reverseLineage.nameMap" :node-meta-map="reverseLineage.nodeMetaMap" :edge-type-map="reverseLineage.edgeTypeMap" + :graph-edges="reverseLineage.graphEdges.value" :leaf-serials="reverseLineage.leafSerials" :lineage-loading="reverseLineage.lineageLoading.value" :selected-container-ids="reverseLineage.selectedContainerIds.value" diff --git a/frontend/src/query-tool/components/LineageTreeChart.vue b/frontend/src/query-tool/components/LineageTreeChart.vue index 656d3be..fda153b 100644 --- a/frontend/src/query-tool/components/LineageTreeChart.vue +++ b/frontend/src/query-tool/components/LineageTreeChart.vue @@ -1,5 +1,5 @@