From 527f17527ea98b8759e3c460c317e8d1f9a3b7e8 Mon Sep 17 00:00:00 2001
From: tony.cheng <chengmingwei_1984122@126.com>
Date: Tue, 03 Mar 2026 18:36:49 +0800
Subject: [PATCH] fix: 优化调解进度组件和案件数据上下文处理

---
 web-app/src/services/ProcessAPIService.js              |    6 +++++-
 web-app/src/contexts/CaseDataContext.jsx               |    4 ++--
 web-app/src/components/dashboard/MediationProgress.jsx |    2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/web-app/src/components/dashboard/MediationProgress.jsx b/web-app/src/components/dashboard/MediationProgress.jsx
index 27af2b0..7c39eec 100644
--- a/web-app/src/components/dashboard/MediationProgress.jsx
+++ b/web-app/src/components/dashboard/MediationProgress.jsx
@@ -13,7 +13,7 @@
   const { processNodes } = useCaseData();
   
   // 使用processNodes,如果为空则使用默认节点
-  const nodes = (processNodes && processNodes.length > 0) ? processNodes : defaultNodes;
+  const nodes = (processNodes && processNodes.length > 0) ? processNodes : [];
   
   console.log('MediationProgress - using nodes:', nodes);
   
diff --git a/web-app/src/contexts/CaseDataContext.jsx b/web-app/src/contexts/CaseDataContext.jsx
index 80382a9..e860cec 100644
--- a/web-app/src/contexts/CaseDataContext.jsx
+++ b/web-app/src/contexts/CaseDataContext.jsx
@@ -267,8 +267,8 @@
       // 提取timeline数据
       const timelineData = response.timeline || response.data?.timeline || response;
       
-      // 提取nodes数据(确保为数组)
-      const nodesData = response.nodes || response.data?.nodes || [];
+      // 提取nodes数据(确保为数组),兼容 nodeList 和 nodes 两种字段名
+      const nodesData = response.data?.nodeList || response.data?.nodes || response.nodes || [];
       
       console.log('API Response:', response);
       console.log('Extracted nodesData:', nodesData);
diff --git a/web-app/src/services/ProcessAPIService.js b/web-app/src/services/ProcessAPIService.js
index cd9a81d..91ec9ad 100644
--- a/web-app/src/services/ProcessAPIService.js
+++ b/web-app/src/services/ProcessAPIService.js
@@ -88,9 +88,13 @@
       console.log('Timeline result:', results[0]);
       console.log('Nodes result:', results[1]);
 
+      // nodes接口返回 { nodeList: [...] },需提取 nodeList 数组
+      const nodesRaw = results[1].data;
+      const nodes = nodesRaw?.nodeList || (Array.isArray(nodesRaw) ? nodesRaw : []);
+
       return {
         timeline: results[0].data || {},
-        nodes: results[1].data || []
+        nodes
       };
     } catch (error) {
       return Promise.reject(error);

--
Gitblit v1.8.0