From 6bb08c2297be1b6415c8bc02e6917eba6ee355e5 Mon Sep 17 00:00:00 2001
From: shimai <shimai@example.com>
Date: Fri, 03 Apr 2026 10:42:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test/tony.cheng/260312' into test/shimai.huang/260309
---
web-app/src/contexts/CaseDataContext.jsx | 47 ++++++++++++++++++++++++++++++-----------------
1 files changed, 30 insertions(+), 17 deletions(-)
diff --git a/web-app/src/contexts/CaseDataContext.jsx b/web-app/src/contexts/CaseDataContext.jsx
index e64fbfa..8987d20 100644
--- a/web-app/src/contexts/CaseDataContext.jsx
+++ b/web-app/src/contexts/CaseDataContext.jsx
@@ -369,20 +369,6 @@
return;
}
- EvidenceAPIService.processCaseFilesOcr(params.caseId).catch((ocrError) => {
- console.error('触发案件文件OCR失败:', ocrError);
- });
-
- try {
- await OutboundBotAPIService.syncStatusByCase({ caseId: params.caseId });
- } catch (syncError) {
- console.error('同步外呼状态失败:', syncError);
- }
- try {
- await OutboundBotAPIService.backfillConversationByCase({ caseId: params.caseId });
- } catch (backfillError) {
- console.error('回补通话记录失败:', backfillError);
- }
// 调用API获取数据
// 将URL中的auth_token转换为authorization传入API
@@ -397,6 +383,14 @@
// 提取timeline数据
const timelineData = response.timeline || response.data?.timeline || response;
+
+ // 调试日志:输出提取的timeline数据
+ console.log('===== API数据提取 =====');
+ console.log('原始response:', response);
+ console.log('提取的timelineData:', timelineData);
+ console.log('timelineData.mediation:', timelineData.mediation);
+ console.log('timelineData.mediation?.state:', timelineData.mediation?.state);
+ console.log('========================');
// 提取nodes数据(确保为数组),兼容 nodeList 和 nodes 两种字段名
const nodesData = response.data?.nodeList || response.data?.nodes || response.nodes || [];
@@ -420,7 +414,7 @@
// 检查终态状态(调解成功/失败/人工接管),终态不执行外呼和存储
const mediationState = timelineData.mediation?.state;
- const isTerminalState = [2, 3, 4].includes(mediationState);
+ const isTerminalState = [2, 3, 4, 5].includes(mediationState);
if (isTerminalState) {
console.log('案件已处于终态状态:', mediationState, ',跳过外呼和存储');
@@ -437,15 +431,34 @@
// 加载任务时间数据
await loadTaskTime(timelineData);
+ EvidenceAPIService.processCaseFilesOcr(params.caseId).catch((ocrError) => {
+ console.error('触发案件文件OCR失败:', ocrError);
+ });
+
+ try {
+ await OutboundBotAPIService.syncStatusByCase({ caseId: params.caseId });
+ } catch (syncError) {
+ console.error('同步外呼状态失败:', syncError);
+ }
+ try {
+ await OutboundBotAPIService.backfillConversationByCase({ caseId: params.caseId });
+ } catch (backfillError) {
+ console.error('回补通话记录失败:', backfillError);
+ }
+
console.log('Case data loaded successfully:', timelineData);
} catch (err) {
console.error('Failed to load case data:', err);
setError(err.message || '加载案件数据失败');
// 显示错误提示
- message.error('加载案件数据失败,请稍后重试');
+ message.error('加载案件数据失败,使用模拟数据');
- // 使用Mock数据(缓存数据不包含nodes,所以统一使用Mock)
+ // 使用Mock数据作为降级方案
+ const mockTimeline = mockTimelineData.data?.timeline || mockTimelineData;
+ console.log('使用Mock数据降级:', mockTimeline);
+ setCaseData(mockTimeline);
+ setProcessNodes(mockTimelineData.data?.nodes || []);
setHasLoaded(true);
} finally {
--
Gitblit v1.8.0