diff --git a/src/views/devices/Device_Data_Components/ECG_datas.vue b/src/views/devices/Device_Data_Components/ECG_datas.vue index 5cb4d3090..cba47cdec 100644 --- a/src/views/devices/Device_Data_Components/ECG_datas.vue +++ b/src/views/devices/Device_Data_Components/ECG_datas.vue @@ -379,10 +379,13 @@ export default { const selectedTime = this.timeList[parseInt(index)] try { const response = await EcgdataApi.getEcgdataByTime(selectedTime.collecttime, this.selectedPerson.userid) + console.log(response) this.selectedPersonData = response this.hasData = !!this.selectedPersonData // 处理心电图图片数组 this.processEcgImages() + // 加载诊断结论到输入框 + this.conclusionText = this.selectedPersonData?.diagnosis || '' } catch (error) { console.error('获取指定时间的心电数据失败:', error) this.$message.error('获取数据失败') @@ -575,19 +578,30 @@ export default { this.currentEcgIndex = 0 this.ecgImages = [] - if (this.selectedPersonData && this.selectedPersonData.ecgimageurls) { - // 检查是否是多个图片URL(数组形式) + if (this.selectedPersonData && this.selectedPersonData.ecgimageurl) { + // 处理 ecgimageurl 字段,支持逗号分割的多个图片URL + if (typeof this.selectedPersonData.ecgimageurl === 'string') { + // 按逗号分割并过滤空值 + const urls = this.selectedPersonData.ecgimageurl + .split(',') + .map(url => url.trim()) + .filter(url => url && url.length > 0) + + this.ecgImages = urls + } else if (Array.isArray(this.selectedPersonData.ecgimageurl)) { + // 如果已经是数组,直接过滤 + this.ecgImages = this.selectedPersonData.ecgimageurl.filter(url => url && url.trim()) + } + } else if (this.selectedPersonData && this.selectedPersonData.ecgimageurls) { + // 兼容 ecgimageurls 字段(复数形式) if (Array.isArray(this.selectedPersonData.ecgimageurls)) { this.ecgImages = this.selectedPersonData.ecgimageurls.filter(url => url && url.trim()) - } - } else if (this.selectedPersonData && this.selectedPersonData.ecgimageurl) { - // 兼容旧的字段名 ecgimageurl - if (Array.isArray(this.selectedPersonData.ecgimageurl)) { - this.ecgImages = this.selectedPersonData.ecgimageurl.filter(url => url && url.trim()) - } else if (typeof this.selectedPersonData.ecgimageurl === 'string') { - // 如果是字符串,可能包含多个URL,用逗号分隔 - const urls = this.selectedPersonData.ecgimageurl.split(',').map(url => url.trim()).filter(url => url) - this.ecgImages = urls.length > 0 ? urls : [this.selectedPersonData.ecgimageurl] + } else if (typeof this.selectedPersonData.ecgimageurls === 'string') { + const urls = this.selectedPersonData.ecgimageurls + .split(',') + .map(url => url.trim()) + .filter(url => url && url.length > 0) + this.ecgImages = urls } } }, @@ -621,23 +635,26 @@ export default { return } + if (!this.selectedPersonData || !this.selectedPersonData.id) { + this.message.warning('请先选择时间查看数据') + return + } + try { - // 这里可以调用API保存结论到后端 - // 暂时使用本地存储模拟 - const conclusionData = { - userid: this.selectedPerson.userid, - username: this.selectedPerson.username, - deviceid: this.currentDeviceId, - conclusion: this.conclusionText, - createtime: new Date().getTime(), - createby: this.userProfile ? this.userProfile.nickname : '医生' + // 构建更新数据,只更新diagnosis字段 + const updateData = { + ...this.selectedPersonData, // 保持原有数据 + diagnosis: this.conclusionText.trim() // 只更新诊断结论 } - // TODO: 调用后端API保存结论 - // await ConclusionApi.saveConclusion(conclusionData) + // 调用更新API + await EcgdataApi.updateEcgdata(updateData) + + // 更新本地数据 + this.selectedPersonData.diagnosis = this.conclusionText.trim() this.message.success('结论保存成功') - console.log('保存的结论数据:', conclusionData) + console.log('保存的结论数据:', updateData) } catch (error) { console.error('保存结论失败:', error) this.message.error('保存结论失败')