diff --git a/src/api/risk-workorder.ts b/src/api/risk-workorder.ts index a08d099..1e95490 100644 --- a/src/api/risk-workorder.ts +++ b/src/api/risk-workorder.ts @@ -426,7 +426,7 @@ export type RiskTaskStats = { }; /** 提交异步风险评估任务 */ -export const submitRiskAssessment = (projectId: number) => { +export const submitRiskAssessment = (projectId: number | string) => { return http.request>( "post", `/api/v1/risk/sse/assess/${projectId}` diff --git a/src/store/modules/sse.ts b/src/store/modules/sse.ts index 3be5804..fa6befc 100644 --- a/src/store/modules/sse.ts +++ b/src/store/modules/sse.ts @@ -149,12 +149,13 @@ export const useSseStore = defineStore("sse", () => { riskAssessTask.value = data; riskAssessProgress.value = 100; riskAssessStatus.value = "completed"; - console.log("SSE Store: 风险评估完成", data.result); + console.log("SSE Store: 风险评估完成,完整数据:", data); + console.log("SSE Store: result 结构:", data.result); - // 发送通知 + // 发送通知 - 使用更通用的消息 ElNotification({ title: "风险评估完成", - message: `项目风险评估已完成,已识别 ${data.result?.identifiedRisks?.length || 0} 个风险。`, + message: "项目风险评估已完成,请查看风险列表。", type: "success", duration: 5000, position: "top-right" diff --git a/src/views/risk-assessment/index.vue b/src/views/risk-assessment/index.vue index 7595b17..d457fc2 100644 --- a/src/views/risk-assessment/index.vue +++ b/src/views/risk-assessment/index.vue @@ -85,17 +85,27 @@ const isAssessing = computed( ); // 监听风险评估完成 -watch(riskAssessStatus, newStatus => { - if (newStatus === "completed") { - message("风险评估完成!", { type: "success" }); - loadRiskList(); - loadStatistics(); - sseStore.resetRiskAssessStatus(); - } else if (newStatus === "error") { - message(riskAssessErrorMessage.value || "风险评估失败", { type: "error" }); - sseStore.resetRiskAssessStatus(); - } -}); +watch( + () => sseStore.riskAssessStatus, + newStatus => { + console.log("风险状态变化:", newStatus); + if (newStatus === "completed") { + message("风险评估完成!", { type: "success" }); + loadRiskList(); + loadStatistics(); + // 延迟重置状态,让用户看到完成效果 + setTimeout(() => { + sseStore.resetRiskAssessStatus(); + }, 2000); + } else if (newStatus === "error") { + message(riskAssessErrorMessage.value || "风险评估失败", { + type: "error" + }); + sseStore.resetRiskAssessStatus(); + } + }, + { immediate: false } +); // 分页 const pagination = ref({ @@ -516,7 +526,8 @@ async function handleCreate() { } try { - const res = await submitRiskAssessment(Number(queryParams.value.projectId)); + // 直接传递字符串ID,避免精度丢失 + const res = await submitRiskAssessment(String(queryParams.value.projectId)); console.log("风险评估API响应:", res); console.log("res.data:", res.data); const responseData = res.data as any;