import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import Step1Upload from './Step1Upload'; import Step2Schema from './Step2Schema'; import Step3Processing from './Step3Processing'; import Step4Verify from './Step4Verify'; import Step5Result from './Step5Result'; import StepIndicator from './components/StepIndicator'; import { Bot, Split, ArrowLeft } from 'lucide-react'; export type Step = 'upload' | 'schema' | 'processing' | 'verify' | 'result'; export interface ExtractionField { id: string; name: string; desc: string; width?: string; } export interface ToolBState { // Step 1 fileName: string; fileKey: string; fileSize: number; totalRows: number; columns: string[]; selectedColumn: string; healthCheckResult: { status: 'unknown' | 'good' | 'bad'; emptyRate?: number; avgLength?: number; totalRows?: number; estimatedTokens?: number; message?: string; }; // Step 2 diseaseType: string; reportType: string; fields: ExtractionField[]; // Step 3 taskId?: string; progress: number; // Step 4 rows: any[]; // Step 5 resultFileUrl?: string; } const ToolBModule: React.FC = () => { const navigate = useNavigate(); const [currentStep, setCurrentStep] = useState('upload'); const [state, setState] = useState({ fileName: '', fileKey: '', fileSize: 0, totalRows: 0, columns: [], selectedColumn: '', healthCheckResult: { status: 'unknown' }, diseaseType: 'lung_cancer', reportType: 'pathology', fields: [], progress: 0, rows: [], }); const updateState = (updates: Partial) => { setState(prev => ({ ...prev, ...updates })); }; return (
{/* Header */}

病历结构化机器人

双模型交叉验证 DeepSeek-V3 & Qwen-Max
{/* 状态指示器 */} {currentStep === 'verify' && (
DeepSeek
Qwen
)}
{/* Step Indicator */}
{/* Main Content - ⭐ 修复:添加overflow-y-auto允许内部滚动 */}
{currentStep === 'upload' && ( setCurrentStep('schema')} /> )} {currentStep === 'schema' && ( setCurrentStep('processing')} onPrev={() => setCurrentStep('upload')} /> )} {currentStep === 'processing' && ( setCurrentStep('verify')} /> )} {currentStep === 'verify' && ( setCurrentStep('result')} /> )} {currentStep === 'result' && ( )}
); }; export default ToolBModule;