From 6f45735adfdcd973a19f638f9ced9629f79cd6de Mon Sep 17 00:00:00 2001
From: shimai <shimai@example.com>
Date: Wed, 15 Apr 2026 16:12:01 +0800
Subject: [PATCH] v2.0: 提交当前所有变更,准备创建v2.0标签
---
web-app/src/App.js | 45 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/web-app/src/App.js b/web-app/src/App.js
index 05bc219..0482c5c 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,11 @@
// 弹窗组件
import ToolModal from './components/common/ToolModal';
+import OutboundCallWidget from './components/common/OutboundCallWidget';
+
+// 新增组件
+import AppHeader from './components/common/AppHeader';
+import WarningAlert from './components/common/WarningAlert';
// 工具内容组件
import WageCalculatorContent from './components/tools/WageCalculatorContent';
@@ -31,7 +36,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 +73,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;
@@ -80,6 +107,9 @@
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
/>
+ {/* 蓝色顶部Header */}
+ <AppHeader />
+
{/* 顶部区域 */}
<TopSection />
@@ -90,8 +120,11 @@
{/* AI调解进度 */}
<MediationProgress />
+ {/* 预警提示消息 */}
+ <WarningAlert />
+
{/* 选项卡容器 */}
- <TabContainer />
+ <TabContainer ref={tabContainerRef} />
</div>
{/* B区域:右侧工具栏 */}
@@ -112,6 +145,12 @@
{renderModalContent()}
</ToolModal>
)}
+
+ {/* 智能外呼通话显示组件 - 默认隐藏,可主动触发显示 */}
+ <OutboundCallWidget
+ onSwitchTab={handleSwitchTab}
+ onRefreshData={handleRefreshData}
+ />
</div>
</Spin>
);
--
Gitblit v1.8.0