| | |
| | | import React, { useState, useEffect, useRef } from 'react'; |
| | | import React, { useState, useEffect, useRef, forwardRef, useImperativeHandle } from 'react'; |
| | | import { useCaseData } from '../../contexts/CaseDataContext'; |
| | | import { formatDuration, formatSuccessRate, formatRoundCount } from '../../utils/stateTranslator'; |
| | | import ProcessAPIService from '../../services/ProcessAPIService'; |
| | |
| | | |
| | | /** |
| | | * 选项卡容器组件 - 4个选项卡 |
| | | * 通过 forwardRef 暴露 switchTab 方法供父组件调用 |
| | | */ |
| | | const TabContainer = () => { |
| | | const TabContainer = forwardRef((props, ref) => { |
| | | const [activeTab, setActiveTab] = useState('mediation-data-board'); |
| | | // 证据材料汇总Tab的审核状态badge |
| | | const [evidenceBadge, setEvidenceBadge] = useState(null); |
| | | |
| | | // 暴露 switchTab 方法给父组件 |
| | | useImperativeHandle(ref, () => ({ |
| | | switchTab: (tabKey) => { |
| | | setActiveTab(tabKey); |
| | | } |
| | | })); |
| | | |
| | | const tabs = [ |
| | | { key: 'mediation-data-board', label: '调解分析', icon: 'fa-chart-line' }, |
| | |
| | | </div> |
| | | </div> |
| | | ); |
| | | }; |
| | | }); |
| | | |
| | | /** |
| | | * 调解数据看板 |
| | |
| | | // 使用getMergedParams获取参数(URL参数优先,默认值兜底) |
| | | const params = getMergedParams(); |
| | | const caseId = params.caseId; |
| | | const caseType = params.caseTypeFirst; |
| | | const caseType = params.caseType ||params.caseTypeFirst; |
| | | const platformCode = params.platform_code; |
| | | |
| | | console.log('EvidenceBoard loadData params:', { caseId, caseType, platformCode }); |