diff --git a/src/views/system/ai-ppt.vue b/src/views/system/ai-ppt.vue index 11ed83d..14e1a5c 100644 --- a/src/views/system/ai-ppt.vue +++ b/src/views/system/ai-ppt.vue @@ -302,6 +302,7 @@ const filteredFiles = ref([]); // 用于存储过滤后的文件列表 const selectedFile = ref(null); // 用于存储已选文件,改为单选 const uploadFileVisible = ref(false); // 控制上传文件对话框的显示与隐藏 + const donePages= ref(0); const baseInfo = ref({ user_id: 0, session_id: 0, @@ -464,7 +465,7 @@ } let msg1:MessageOutline = { role: "user", content: pMsgContent, finished: true, isOutline: false,outline: null } messages.push(msg1); - + ElMessage.success("正在生成PPT大纲,请稍等,若输入文件过大则生成速度较慢,请耐心等待..."); let result = await CreateSparkPPTOutlineService(req); if (result['code'] === 0) { baseInfo.value = result['base']; @@ -531,6 +532,8 @@ }; const getMessage = async (session_id: number) => { + sessionID.value = session_id; + donePages.value = 0; let result = {}; try { let req = { @@ -541,12 +544,16 @@ if (result["code"] === 0) { console.log(result["data"]); let data = result["data"]; + if (data.length == 2) { + buttionConverse.value = 1; // 显示生成ppt按钮 + } messages.length = 0; // 清空消息 let m1 = JSON.parse(data[0]["Msg"]); let message1: MessageOutline = { role: "user", content: `[${m1.fileName}](${m1.fileUrl})` + "\n"+ m1.query, outline: null, isOutline: false }; messages.push(message1); let m2 = JSON.parse(data[1]["Msg"]); let message2: MessageOutline = { role: "assistant", content:"" , outline: m2.data.outline, isOutline: true, finished: true }; + createOutlineResp.value = m2; messages.push(message2); let m3 = JSON.parse(data[2]["Msg"]); let message3: MessageOutline = { role: "user", content: "", outline: m3.outline, isOutline: true, finished: true }; @@ -562,6 +569,7 @@ } catch (e) { console.log(e); } + getCreatedPPTStatus() return {}; }; const copyMessage = (content: string) => { @@ -651,6 +659,9 @@ const CreateSparkPPTOutline = async () => { const CreateSparkPPT = async () => { console.log("CreateSparkPPT:", selectedFile.value); + console.log("sessionID:", sessionID.value); + + console.log("createOutlineResp:", createOutlineResp.value); let req = { token: localStorage.getItem('token'), function: "spark-create-ppt", @@ -664,6 +675,7 @@ const CreateSparkPPT = async () => { let msg1 :MessageOutline = { role: "user", content: `[${req.fileName}](${req.fileUrl})` + "\n"+ req.query, finished: true, isOutline: true,outline: req.outline } messages.push(msg1); if (result['code'] === 0) { + baseInfo.value = result['base']; createPPTResp.value = result['data']; console.log("ppt:", result['data']); @@ -677,6 +689,7 @@ const CreateSparkPPT = async () => { await getCreatedPPTStatus(); console.log("ppt_status:", getPPTStatus.value); if (getPPTStatus.value != null && getPPTStatus.value.data.pptStatus === "done") { + ElMessage.success("PPT生成完成,服务器正在下载中,请稍等刷新该会话即可查看"); getMessage(sessionID.value); // 获取消息 // 停止定时任务 clearInterval(timerId); @@ -688,6 +701,8 @@ const CreateSparkPPT = async () => { }, 1000); // 每 1 秒获取一次状态 } + + const getCreatedPPTStatus = async () => { let req = { token: localStorage.getItem('token'), @@ -698,9 +713,13 @@ const getCreatedPPTStatus = async () => { if (result['code'] === 0) { getPPTStatus.value = result['data']; console.log("ppt_status:", result['data']); + if(donePages.value != result['data']['data']["donePages"]){ + ElMessage.success("PPT总共"+result['data']['data']["totalPages"]+"页,已完成"+result['data']['data']["donePages"]+"页"); + donePages.value = result['data']['data']["donePages"]; + } } } -getCreatedPPTStatus(); +//getCreatedPPTStatus(); getSparkPPTThemeList();