From dc655a6c9c08261446d8539cdd56f471733016d5 Mon Sep 17 00:00:00 2001
From: tony.cheng <chengmingwei_1984122@126.com>
Date: Tue, 17 Mar 2026 12:02:37 +0800
Subject: [PATCH] fix: 修复状态控制按钮显示逻辑,解决getControlButtonProps返回null时按钮不显示的问题
---
web-app/src/App.js | 33 +++++++++++++++++++++++++++++----
1 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/web-app/src/App.js b/web-app/src/App.js
index dc6e992..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';
@@ -32,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 = {
@@ -66,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;
@@ -92,7 +114,7 @@
<MediationProgress />
{/* 选项卡容器 */}
- <TabContainer />
+ <TabContainer ref={tabContainerRef} />
</div>
{/* B区域:右侧工具栏 */}
@@ -115,7 +137,10 @@
)}
{/* 智能外呼通话显示组件 - 默认隐藏,可主动触发显示 */}
- <OutboundCallWidget />
+ <OutboundCallWidget
+ onSwitchTab={handleSwitchTab}
+ onRefreshData={handleRefreshData}
+ />
</div>
</Spin>
);
--
Gitblit v1.8.0