feat: migrate cross checking ui to v3 flow

This commit is contained in:
wren
2026-05-07 18:15:40 +08:00
parent a14a1f0ee1
commit add399e126
7 changed files with 786 additions and 333 deletions
+30 -13
View File
@@ -25,15 +25,18 @@ interface ReviewTabsProps {
auditStatus?: number;
type?: string;
comparisonId?: number;
backTo?: string;
};
onConfirmResults: () => void;
onExportReport?: () => void;
jwtToken?: string | null;
showConfirmButton?: boolean;
showCompareTab?: boolean;
/** 下载前保存文档的回调,返回 true 表示保存成功可以继续下载 */
onSaveBeforeDownload?: () => Promise<boolean>;
}
export function ReviewTabs({ activeTab, onTabChange, children, fileInfo, onConfirmResults, onExportReport, jwtToken, onSaveBeforeDownload }: ReviewTabsProps) {
export function ReviewTabs({ activeTab, onTabChange, children, fileInfo, onConfirmResults, onExportReport, jwtToken, showConfirmButton = true, showCompareTab = true, onSaveBeforeDownload }: ReviewTabsProps) {
const [isNavigating, setIsNavigating] = useState(false);
const [isReuploadModalOpen, setIsReuploadModalOpen] = useState(false);
const [selectedTemplateFiles, setSelectedTemplateFiles] = useState<File[]>([]);
@@ -54,11 +57,15 @@ export function ReviewTabs({ activeTab, onTabChange, children, fileInfo, onConfi
// 根据来源页面返回
const previousRoute = fileInfo.previousRoute || 'documents';
const returnTo = previousRoute === 'documents'
? "/documents/list"
: previousRoute === 'filesUpload'
? "/files/upload"
: "/rules-files";
const returnTo = fileInfo.backTo || (
previousRoute === 'documents'
? "/documents/list"
: previousRoute === 'filesUpload'
? "/files/upload"
: previousRoute === 'crossChecking'
? "/cross-checking"
: "/rules-files"
);
navigate(returnTo);
setTimeout(() => {
revalidator.revalidate();
@@ -266,7 +273,7 @@ export function ReviewTabs({ activeTab, onTabChange, children, fileInfo, onConfi
>
<i className="ri-lightbulb-line"></i> AI智能分析
</button> */}
{fileInfo.type?.toString().includes('1') && (
{showCompareTab && fileInfo.type?.toString().includes('1') && (
<button
className={`tab-nav-item ${activeTab === 'filecompare' ? 'active' : ''}`}
onClick={() => onTabChange('filecompare')}
@@ -328,12 +335,22 @@ export function ReviewTabs({ activeTab, onTabChange, children, fileInfo, onConfi
<i className="ri-file-copy-line mr-1"></i>
</button>
)}
<button
className={`ant-btn ant-btn-primary my-2 flex items-center ${fileInfo.auditStatus === 1 ? 'hidden' : ''}`}
onClick={onConfirmResults}
>
<i className="ri-check-double-line mr-1"></i>
</button>
{showConfirmButton && (
<button
className={`ant-btn ant-btn-primary my-2 flex items-center ${fileInfo.auditStatus === 1 ? 'hidden' : ''}`}
onClick={onConfirmResults}
>
<i className="ri-check-double-line mr-1"></i>
</button>
)}
{showConfirmButton && (
<button
className={`ant-btn ant-btn-primary my-2 flex items-center ${fileInfo.auditStatus === 1 ? 'hidden' : ''}`}
onClick={onConfirmResults}
>
<i className="ri-check-double-line mr-1"></i>
</button>
)}
</div>
</div>