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/App.js | 35 ++++++++++++++++++++++++++++++++---
1 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/web-app/src/App.js b/web-app/src/App.js
index 05bc219..813675c 100644
--- a/web-app/src/App.js
+++ b/web-app/src/App.js
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React, { useState, useRef } from 'react';
import { Spin } from 'antd';
import './App.css';
@@ -14,6 +14,7 @@
// 弹窗组件
import ToolModal from './components/common/ToolModal';
+import OutboundCallWidget from './components/common/OutboundCallWidget';
// 工具内容组件
import WageCalculatorContent from './components/tools/WageCalculatorContent';
@@ -31,7 +32,10 @@
function AppContent() {
const [activeModal, setActiveModal] = useState(null);
- const { loading } = useCaseData();
+ const { loading, refreshData } = useCaseData();
+
+ // TabContainer ref - 用于切换Tab
+ const tabContainerRef = useRef(null);
// 工具配置
const toolConfig = {
@@ -65,6 +69,25 @@
setActiveModal(null);
};
+ /**
+ * 切换Tab页签
+ * @param {string} tabKey - Tab键名
+ */
+ const handleSwitchTab = (tabKey) => {
+ if (tabContainerRef.current) {
+ tabContainerRef.current.switchTab(tabKey);
+ }
+ };
+
+ /**
+ * 刷新案件数据
+ */
+ const handleRefreshData = () => {
+ if (refreshData) {
+ refreshData();
+ }
+ };
+
const renderModalContent = () => {
if (!activeModal || !toolConfig[activeModal]) return null;
const Component = toolConfig[activeModal].component;
@@ -91,7 +114,7 @@
<MediationProgress />
{/* 选项卡容器 */}
- <TabContainer />
+ <TabContainer ref={tabContainerRef} />
</div>
{/* B区域:右侧工具栏 */}
@@ -112,6 +135,12 @@
{renderModalContent()}
</ToolModal>
)}
+
+ {/* 智能外呼通话显示组件 - 默认隐藏,可主动触发显示 */}
+ <OutboundCallWidget
+ onSwitchTab={handleSwitchTab}
+ onRefreshData={handleRefreshData}
+ />
</div>
</Spin>
);
--
Gitblit v1.8.0