From 1691dc5f771ed11a27e7212b223ebccaa4db950f Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Fri, 18 Jul 2025 16:34:06 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E5=BF=83=E7=94=B5=E6=A8=A1=E5=9D=97=E7=95=8C=E9=9D=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/analysis/HOLTER.vue | 73 +++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 17 deletions(-) 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) From 3d2d27a899587322cc0e4877164abc291c509457 Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Fri, 18 Jul 2025 16:52:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=82=A3=E8=80=85?= =?UTF-8?q?=E5=90=8E=20=E7=82=B9=E5=87=BB=E7=A1=AE=E8=AE=A4=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/analysis/HOLTER.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/analysis/HOLTER.vue b/src/views/analysis/HOLTER.vue index c945cec..75e82cc 100644 --- a/src/views/analysis/HOLTER.vue +++ b/src/views/analysis/HOLTER.vue @@ -1602,8 +1602,8 @@ const handleSelectPatients = () => { /** 患者选择确认 */ const handlePatientConfirm = (patients: any[], type: string) => { - console.log('选中的患者:', patients) - console.log('操作类型:', type) + // 刷新列表数据 + getList() } /** 患者选择取消 */ From ebe2ecfec28a4a80f475ed56cb21052d3aff1fe4 Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Fri, 18 Jul 2025 17:04:59 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=BF=83=E7=94=B5?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=95=8C=E9=9D=A2=E6=8C=89=E7=85=A7=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/analysis/HOLTER.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/views/analysis/HOLTER.vue b/src/views/analysis/HOLTER.vue index 75e82cc..180161d 100644 --- a/src/views/analysis/HOLTER.vue +++ b/src/views/analysis/HOLTER.vue @@ -1035,9 +1035,9 @@ const getList = async () => { gender: queryParams.gender || undefined, examid: queryParams.examid || undefined, orgname: queryParams.orgname || undefined, - orgid: Profilevo.value.orgid || undefined + orgid: undefined as any } - + params.orgid = Profilevo.value.orgid // 如果有日期范围,添加到参数中 if (queryParams.examDate && queryParams.examDate.length === 2) { params['wearstarttimeBegin'] = queryParams.examDate[0] @@ -1663,6 +1663,7 @@ const cancelWearTimeChange = ( /** 初始化 */ onMounted(async () => { Profilevo.value = await getUserProfile() + await fetchDrives() getList() })