瀏覽代碼

Merge branch 'main' of https://git.yishihui.com/howard/Agent

guantao 2 周之前
父節點
當前提交
8e68c81856
共有 1 個文件被更改,包括 17 次插入3 次删除
  1. 17 3
      knowhub/frontend/src/pages/Dashboard.tsx

+ 17 - 3
knowhub/frontend/src/pages/Dashboard.tsx

@@ -2385,7 +2385,13 @@ export function Dashboard({ pendingNode, onPendingConsumed }: { pendingNode?: st
       });
       reqPlanBData.requirements.forEach((req: any) => {
         const reqId = req.requirement_id;
+        const sourceNodes = new Set<string>((req.source_nodes || []).map((sn: any) => 
+          typeof sn === 'object' ? (sn.node_name || sn.name || '') : sn
+        ));
         (req.patterns || []).forEach((pattern: any) => {
+          const hasValidRepresents = (pattern.judgments || []).some((j: any) => j.represents && sourceNodes.has(j.node));
+          if (!hasValidRepresents) return;
+
           const patternId = String(pattern.pattern_id);
           if (!map.has(patternId)) map.set(patternId, new Set<string>());
           map.get(patternId)!.add(reqId);
@@ -2459,13 +2465,21 @@ export function Dashboard({ pendingNode, onPendingConsumed }: { pendingNode?: st
     const reqInfo = reqPlanBData.requirements.find((r: any) => r.requirement_id === selectedReqId);
     if (!reqInfo) return undefined;
 
+    const sourceNodes = new Set<string>((reqInfo.source_nodes || []).map((sn: any) => 
+      typeof sn === 'object' ? (sn.node_name || sn.name || '') : sn
+    ));
+
     const map: Record<string, Set<string>> = {};
     (reqInfo.patterns || []).forEach((pattern: any) => {
       const set = new Set<string>();
-      (pattern.represents || []).forEach((name: string) => {
-        if (name) set.add(name);
+      (pattern.judgments || []).forEach((j: any) => {
+        if (j.represents && sourceNodes.has(j.node)) {
+          set.add(j.node);
+        }
       });
-      map[String(pattern.pattern_id)] = set;
+      if (set.size > 0) {
+        map[String(pattern.pattern_id)] = set;
+      }
     });
     return map;
   }, [reqPlanBData, selectedReqId]);