From 094bbc24775d93b28e661b2b7a287a13d3616c7f Mon Sep 17 00:00:00 2001 From: Flow <958079825@qq.com> Date: Mon, 16 Jun 2025 16:49:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BB=E7=94=9F=E9=80=9A=E7=9F=A5=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Device_Data_Components/ECG_datas.vue | 80 ++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/src/views/devices/Device_Data_Components/ECG_datas.vue b/src/views/devices/Device_Data_Components/ECG_datas.vue index 07473a6c3..a1fa1f269 100644 --- a/src/views/devices/Device_Data_Components/ECG_datas.vue +++ b/src/views/devices/Device_Data_Components/ECG_datas.vue @@ -122,6 +122,25 @@ + +
+ + + 发送 + 通知 + +
@@ -146,6 +165,7 @@ export default { currentDeviceName: '', selectedPersonData: null, // 新增:存储选中人员的心电数据 activeTab: 'basic', // 新增:当前激活的标签页 + doctorMessage: '', // 新增:医生通知内容 basicFields: [ { key: 'heartrate', label: '心率(次/分)' }, { key: 'rhythm', label: '心律类型' }, @@ -208,6 +228,7 @@ export default { this.activeTime = '' this.timeList = [] this.dateFilter = null // 重置日期筛选 + this.doctorMessage = '' // 重置医生通知内容 // 打开对话框并设置设备信息 this.dialogVisible = true @@ -267,6 +288,26 @@ export default { this.selectedPersonData = null this.hasData = false }, + // 新增:发送医生通知方法 + async sendDoctorNotification() { + if (!this.doctorMessage.trim()) { + this.$message.warning('请输入通知内容') + return + } + try { + // TODO: 这里需要调用后端API发送通知 + // await NotificationApi.sendDoctorNotification({ + // userId: this.selectedPerson.userid, + // message: this.doctorMessage, + // deviceId: this.currentDeviceId + // }) + this.$message.success('通知发送成功') + this.doctorMessage = '' // 清空输入框 + } catch (error) { + console.error('发送通知失败:', error) + this.$message.error('发送通知失败') + } + }, } } @@ -330,10 +371,13 @@ export default { .data-display { flex: 1; + position: relative; } .box-card { height: 100%; + display: flex; + flex-direction: column; } .card-header { @@ -355,6 +399,9 @@ export default { .ecg-data-content { min-height: 200px; + flex: 1; + overflow-y: auto; + padding-bottom: 120px; } .el-scrollbar { @@ -377,7 +424,7 @@ export default { border-radius: 8px; padding: 12px; transition: all 0.3s ease; - min-width: 0; /* 防止内容溢出 */ + min-width: 0; } .ecg-grid-item:hover { @@ -446,4 +493,35 @@ export default { color: #909399; font-size: 14px; } + +.doctor-notification { + position: absolute; + bottom: 0; + left: 0; + right: 0; + padding: 20px; + background-color: #fff; + display: flex; + gap: 15px; + align-items: flex-start; + z-index: 1; + margin-top: 20px; +} + +.doctor-notification :deep(.el-textarea__inner) { + flex: 1; + height: 80px !important; +} + +.doctor-send-btn { + height: 80px !important; + min-width: 60px; + white-space: pre-line; + display: flex; + align-items: center; + justify-content: center; + font-size: 16px; + line-height: 1.1; + padding: 0 16px; +}