From 2482b2d1a5caaa821dc5a0c60eca0f648131948e Mon Sep 17 00:00:00 2001
From: tony.cheng <chengmingwei_1984122@126.com>
Date: Wed, 04 Mar 2026 10:29:13 +0800
Subject: [PATCH] feat: 优化TabContainer组件,增强标签页功能和用户体验
---
web-app/src/contexts/CaseDataContext.jsx | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/web-app/src/contexts/CaseDataContext.jsx b/web-app/src/contexts/CaseDataContext.jsx
index 976a0c5..e860cec 100644
--- a/web-app/src/contexts/CaseDataContext.jsx
+++ b/web-app/src/contexts/CaseDataContext.jsx
@@ -139,6 +139,17 @@
if (successJobs.length > 0) {
localStorage.setItem(OUTBOUND_JOBS_KEY, JSON.stringify(successJobs));
console.log('存储外呼任务成功,数量:', successJobs.length);
+
+ // 外呼成功后,清除对应的失败记录
+ const storedFailedJobs = JSON.parse(localStorage.getItem(`${OUTBOUND_JOBS_KEY}_failed`) || '[]');
+ if (storedFailedJobs.length > 0) {
+ // 获取成功任务的 personId 列表
+ const successPersonIds = successJobs.map(job => job.personId);
+ // 过滤掉已成功的 personId 对应的失败记录
+ const remainingFailedJobs = storedFailedJobs.filter(job => !successPersonIds.includes(job.personId));
+ localStorage.setItem(`${OUTBOUND_JOBS_KEY}_failed`, JSON.stringify(remainingFailedJobs));
+ console.log('外呼成功后清除失败记录,清除数量:', storedFailedJobs.length - remainingFailedJobs.length);
+ }
}
// 存储失败的任务到 localStorage(用于气泡显示)
@@ -256,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);
--
Gitblit v1.8.0