diff --git a/src/api/review/ai.ts b/src/api/review/ai.ts index 596715e28..731285142 100644 --- a/src/api/review/ai.ts +++ b/src/api/review/ai.ts @@ -22,6 +22,11 @@ export interface ReviewAiSummaryVO { summaryMarkdown: string | null sourceFileIds: number[] errorMessage: string | null + ready: boolean + pendingFileCount: number + failedFileCount: number + skippedFileCount: number + blockReason: string | null summary: { projectOverview: string businessGoal: string @@ -37,7 +42,7 @@ export interface ReviewAiSummaryVO { export interface ReviewAiConversationVO { conversationId: number title: string - knowledgeId: number + knowledgeId: number | null } // ============================================================ @@ -52,6 +57,10 @@ export const getProjectAiSummary = (reviewMeetingProjectId: number): Promise request.post({ url: `/project/review-ai/project/${reviewMeetingProjectId}/rebuild` }) +/** 重建单个文件 AI */ +export const rebuildReviewFileAi = (fileId: number) => + request.post({ url: `/project/review-ai/file/${fileId}/rebuild` }) + /** 打开 / 获取当前项目共享会话 */ export const openProjectAiConversation = ( reviewMeetingProjectId: number diff --git a/src/api/review/project.ts b/src/api/review/project.ts index abf44efd1..203b453e8 100644 --- a/src/api/review/project.ts +++ b/src/api/review/project.ts @@ -21,6 +21,8 @@ export interface ReviewMeetingProjectRespVO { reviewResult?: 'PASS' | 'REJECT' preMeetingMaterialsComplete?: boolean postMeetingMaterialsComplete?: boolean + aiSummaryStatus?: number + aiSummaryUpdatedTime?: string } export const REVIEW_AGENDA_CATEGORY_OPTIONS = ['项目立项', '预验收', '项目终验'] as const @@ -67,6 +69,10 @@ export interface ReviewMeetingFileRespVO { fileUrl: string fileSize: number fileType: string + aiBuildStatus?: number + aiBuildStatusName?: string + aiBuildErrorMessage?: string + aiBuildTime?: string creator: string createTime: string } diff --git a/src/views/review/meeting/ProjectDetail.vue b/src/views/review/meeting/ProjectDetail.vue index 411cafbaf..cd1cdd16e 100644 --- a/src/views/review/meeting/ProjectDetail.vue +++ b/src/views/review/meeting/ProjectDetail.vue @@ -35,6 +35,44 @@ +
+
+
+
AI 构建状态
+
{{ aiSummary?.blockReason || 'AI 能力仅影响摘要与助手,不影响主流程' }}
+
+
+ {{ aiSummary?.statusName || '待构建' }} + + 构建全部待构建文件 + +
+
+
+
+ 待构建 + {{ aiSummary?.pendingFileCount ?? 0 }} +
+
+ 失败 + {{ aiSummary?.failedFileCount ?? 0 }} +
+
+ 无需构建 + {{ aiSummary?.skippedFileCount ?? 0 }} +
+
+ 最近更新时间 + {{ aiSummary?.updatedTime || '-' }} +
+
+
+
会前资料
@@ -48,15 +86,31 @@ - + @@ -73,15 +127,31 @@ - + @@ -117,10 +187,16 @@ diff --git a/src/views/review/meeting/ProjectList.vue b/src/views/review/meeting/ProjectList.vue index 84dd3bc78..8b18bc96e 100644 --- a/src/views/review/meeting/ProjectList.vue +++ b/src/views/review/meeting/ProjectList.vue @@ -152,6 +152,13 @@ + + +