diff --git a/src/views/analysis/HOLTER.vue b/src/views/analysis/HOLTER.vue index 97a025d..c945cec 100644 --- a/src/views/analysis/HOLTER.vue +++ b/src/views/analysis/HOLTER.vue @@ -1070,7 +1070,49 @@ const resetQuery = () => { /** 分析 */ const handleAnalysis = async (row) => { try { - ElMessage.success('正在启动Holter分析程序...') + // 验证佩戴时间是否已设置 + if (!row.wearstarttime) { + ElMessage.warning('请先设置佩戴开始时间后再进行分析') + return + } + + // 构建请求参数 + const params = { + examId: row.examid, + patientName: encodeURIComponent(row.name), // URL编码患者姓名 + gender: row.gender === '1' ? '男' : row.gender === '2' ? '女' : '未知', + age: row.age?.toString() || '', + examTime: row.wearstarttime ? formatWearTime(row.wearstarttime) : '', + hospitalName: row.orgname || '', + department: '内科' // 默认值,可以根据实际需求调整 + } + + // 调用分析接口 + const response = await fetch('http://localhost:48082/api/analyze', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(params) + }) + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`) + } + + const result = await response.json() + + // 处理返回结果 + if (result.message === '分析文件不存在') { + ElMessage.warning('分析文件不存在,请先导入数据文件') + return + } else if (result.message === '分析程序已启动') { + ElMessage.success('分析程序已启动,正在进行分析...') + // 这里可以添加后续的处理逻辑,比如轮询分析状态等 + } else { + // 其他情况,显示返回的消息 + ElMessage.success(result.message || '分析请求已发送') + } } catch (error) { console.error('启动分析程序失败:', error) ElMessage.error('启动分析程序失败,请检查程序是否正确安装') @@ -1475,27 +1517,24 @@ const handleDownload = async (row) => { clearInterval(progressInterval) // 判断返回结果 - if (!result.success) { + if (result.success) { if (result.message === '文件不存在于服务器') { ElMessage.error('文件不存在于服务器') - return } else { - ElMessage.error(result.message || '下载失败') - return + // 接口返回成功,进度条变满 + row.downloadProgress = 100 + + // 等待一小段时间让用户看到100% + await new Promise((resolve) => { + setTimeout(() => { + resolve(true) + }, 500) + }) + ElMessage.success('下载并解压成功') } + } else { + ElMessage.error(result.message || '下载失败') } - - // 接口返回成功,进度条变满 - row.downloadProgress = 100 - - // 等待一小段时间让用户看到100% - await new Promise((resolve) => { - setTimeout(() => { - resolve(true) - }, 500) - }) - - ElMessage.success('下载并解压成功') } catch (error) { clearInterval(progressInterval) console.error('下载失败:', error)