diff --git a/apps/desktop/src/components/MaterialMatchingResultDialog.tsx b/apps/desktop/src/components/MaterialMatchingResultDialog.tsx index f135943..1f1273d 100644 --- a/apps/desktop/src/components/MaterialMatchingResultDialog.tsx +++ b/apps/desktop/src/components/MaterialMatchingResultDialog.tsx @@ -188,19 +188,6 @@ export const MaterialMatchingResultDialog: React.FC匹配失败 ({result.failed_segments.length}) - @@ -215,9 +202,6 @@ export const MaterialMatchingResultDialog: React.FC )} - {activeTab === 'records' && ( - - )} ) : ( @@ -547,131 +531,3 @@ const FailuresTab: React.FC<{ failures: FailedSegmentMatch[] }> = ({ failures }) ); }; - -// 匹配记录选项卡组件 -const MatchingRecordsTab: React.FC = () => { - // 模拟匹配记录数据 - const mockRecords = [ - { - id: '1', - timestamp: '2024-01-15 14:30:25', - template_name: '时尚写真模板', - project_name: '春季新品拍摄', - success_rate: 0.85, - total_segments: 24, - matched_segments: 20, - used_materials: 15, - used_models: 3 - }, - { - id: '2', - timestamp: '2024-01-14 16:45:12', - template_name: '商务风格模板', - project_name: '企业形象拍摄', - success_rate: 0.92, - total_segments: 18, - matched_segments: 17, - used_materials: 12, - used_models: 2 - }, - { - id: '3', - timestamp: '2024-01-13 10:20:08', - template_name: '休闲生活模板', - project_name: '日常生活记录', - success_rate: 0.78, - total_segments: 32, - matched_segments: 25, - used_materials: 20, - used_models: 4 - } - ]; - - const getSuccessRateColor = (rate: number): string => { - if (rate >= 0.8) return 'text-green-600'; - if (rate >= 0.6) return 'text-yellow-600'; - return 'text-red-600'; - }; - - const getSuccessRateBgColor = (rate: number): string => { - if (rate >= 0.8) return 'bg-green-100'; - if (rate >= 0.6) return 'bg-yellow-100'; - return 'bg-red-100'; - }; - - return ( -
-
-
-

历史匹配记录

-

查看之前的素材匹配结果

-
-
- 共 {mockRecords.length} 条记录 -
-
- - {mockRecords.length === 0 ? ( -
- -

暂无匹配记录

-

完成首次匹配后,记录将显示在这里

-
- ) : ( -
- {mockRecords.map((record) => ( -
-
-
-
-

{record.template_name}

- - {(record.success_rate * 100).toFixed(1)}% 成功率 - -
-

项目: {record.project_name}

-

{record.timestamp}

-
-
-
-
匹配: {record.matched_segments}/{record.total_segments}
-
素材: {record.used_materials} 个
-
模特: {record.used_models} 个
-
-
-
- - {/* 进度条 */} -
-
- 匹配进度 - {record.matched_segments}/{record.total_segments} -
-
-
= 0.8 ? 'bg-gradient-to-r from-green-500 to-green-600' : - record.success_rate >= 0.6 ? 'bg-gradient-to-r from-yellow-500 to-yellow-600' : - 'bg-gradient-to-r from-red-500 to-red-600' - }`} - style={{ width: `${record.success_rate * 100}%` }} - /> -
-
- - {/* 操作按钮 */} -
- - -
-
- ))} -
- )} -
- ); -}; diff --git a/apps/desktop/src/components/TabNavigation.tsx b/apps/desktop/src/components/TabNavigation.tsx index 0f35c04..c6e6fae 100644 --- a/apps/desktop/src/components/TabNavigation.tsx +++ b/apps/desktop/src/components/TabNavigation.tsx @@ -31,7 +31,7 @@ export const TabNavigation: React.FC = ({ className = '', }) => { const getTabClasses = (tab: TabItem, isActive: boolean) => { - const baseClasses = 'inline-flex items-center gap-2 font-medium transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2'; + const baseClasses = 'inline-flex items-center gap-2 font-medium'; // 尺寸样式 const sizeClasses = { diff --git a/apps/desktop/src/components/TemplateMatchingResultDetailModal.tsx b/apps/desktop/src/components/TemplateMatchingResultDetailModal.tsx index 6683814..a04c296 100644 --- a/apps/desktop/src/components/TemplateMatchingResultDetailModal.tsx +++ b/apps/desktop/src/components/TemplateMatchingResultDetailModal.tsx @@ -304,6 +304,8 @@ export const TemplateMatchingResultDetailModal: React.FC {/* 标签页内容 */} diff --git a/apps/desktop/src/pages/ProjectDetails.tsx b/apps/desktop/src/pages/ProjectDetails.tsx index d289502..ddab99b 100644 --- a/apps/desktop/src/pages/ProjectDetails.tsx +++ b/apps/desktop/src/pages/ProjectDetails.tsx @@ -404,10 +404,10 @@ export const ProjectDetails: React.FC = () => { if (savedResult && typeof savedResult === 'object' && 'id' in savedResult) { try { await invoke('create_usage_records_from_matching_result', { - project_id: project?.id, - template_id: currentMatchingBinding.binding.template_id, - binding_id: currentMatchingBinding.binding.id, - template_matching_result_id: (savedResult as any).id, + projectId: project?.id, + templateId: currentMatchingBinding.binding.template_id, + bindingId: currentMatchingBinding.binding.id, + templateMatchingResultId: (savedResult as any).id, matches: result.matches }); console.log('素材使用记录创建成功');