/** * 文件详情组件 * 显示文件基本信息、合同信息和评查信息 */ import { ReactNode } from 'react'; // 文件基本信息 interface FileInfo { fileName: string; contractNumber: string; fileSize: string; fileFormat: string; pageCount: number; uploadTime: string; uploadUser: string; fileType: string; } // 合同信息 interface ContractInfo { contractType: string; signDate: string; parties: { partyA: string; partyB: string; }; amount: string; period: string; } // 评查信息 interface ReviewInfo { reviewTime: string; reviewModel: string; ruleGroup: string; result: string; issueCount: number; } interface FileDetailsProps { fileInfo: FileInfo; contractInfo: ContractInfo; reviewInfo: ReviewInfo; } export function FileDetails({ fileInfo, contractInfo, reviewInfo }: FileDetailsProps) { // 情况状态对应的标签 const controlContractShow = false const renderResultBadge = (result: string) => { switch (result) { case 'success': return ( 通过 ); case 'warning': return ( 警告 ); case 'error': return ( 不通过 ); default: return ( 警告 ); } }; // 渲染信息区块 const renderInfoSection = (title: string, icon: string, color: string, children: ReactNode) => { // 根据color参数返回对应的具体类名 const getBgClass = (colorName: string) => { switch(colorName) { case 'blue': return 'bg-blue-50'; case 'green': return 'bg-green-50'; case 'purple': return 'bg-purple-50'; default: return 'bg-gray-50'; } }; const getTextClass = (colorName: string) => { switch(colorName) { case 'blue': return 'text-blue-500'; case 'green': return 'text-green-500'; case 'purple': return 'text-purple-500'; default: return 'text-gray-500'; } }; const getTextTitleClass = (colorName: string) => { switch(colorName) { case 'blue': return 'text-blue-700'; case 'green': return 'text-green-700'; case 'purple': return 'text-purple-700'; default: return 'text-gray-700'; } }; return (