动态心电界面
This commit is contained in:
parent
2c21ec062f
commit
e5e61cfb15
@ -18,7 +18,7 @@ export interface abpmVO {
|
||||
systolicPressure: number // 收缩压(mmHg)
|
||||
diastolicPressure: number // 舒张压(mmHg)
|
||||
heartRate: number // 心率(次/分)
|
||||
measureTime: Date // 测量时间
|
||||
weartime: Date // 佩戴时间
|
||||
analysisResult: string // 分析结果
|
||||
}
|
||||
|
||||
|
||||
55
src/api/abpmdata/index.ts
Normal file
55
src/api/abpmdata/index.ts
Normal file
@ -0,0 +1,55 @@
|
||||
import request from '@/config/axios'
|
||||
|
||||
// 动态血压监测数据 VO
|
||||
export interface AbpmdataVO {
|
||||
id: number // 主键ID
|
||||
regid: string // 注册ID
|
||||
examid: string // 检查ID
|
||||
weartime: Date // 佩戴时间
|
||||
measuretime: Date // 测量时间
|
||||
deviceid: string // 设备ID
|
||||
devicename: string // 设备名称
|
||||
systolicpressure: number // 收缩压(mmHg)
|
||||
diastolicpressure: number // 舒张压(mmHg)
|
||||
heartrate: number // 心率(次/分)
|
||||
createdtime: Date // 创建时间
|
||||
updatedtime: Date // 更新时间
|
||||
}
|
||||
|
||||
// 动态血压监测数据 API
|
||||
export const AbpmdataApi = {
|
||||
// 查询动态血压监测数据分页
|
||||
getAbpmdataPage: async (params: any) => {
|
||||
return await request.get({ url: `/system/abpmdata/page`, params })
|
||||
},
|
||||
|
||||
// 查询动态血压监测数据详情
|
||||
getAbpmdata: async (id: number) => {
|
||||
return await request.get({ url: `/system/abpmdata/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增动态血压监测数据
|
||||
createAbpmdata: async (data: AbpmdataVO) => {
|
||||
return await request.post({ url: `/system/abpmdata/create`, data })
|
||||
},
|
||||
|
||||
// 修改动态血压监测数据
|
||||
updateAbpmdata: async (data: AbpmdataVO) => {
|
||||
return await request.put({ url: `/system/abpmdata/update`, data })
|
||||
},
|
||||
|
||||
// 删除动态血压监测数据
|
||||
deleteAbpmdata: async (id: number) => {
|
||||
return await request.delete({ url: `/system/abpmdata/delete?id=` + id })
|
||||
},
|
||||
|
||||
// 导出动态血压监测数据 Excel
|
||||
exportAbpmdata: async (params) => {
|
||||
return await request.download({ url: `/system/abpmdata/export-excel`, params })
|
||||
},
|
||||
|
||||
// 查询动态血压监测数据统计
|
||||
getAbpmdataStatistics: async (params: any) => {
|
||||
return await request.get({ url: `/system/abpmdata/statistics`, params })
|
||||
}
|
||||
}
|
||||
@ -71,7 +71,7 @@
|
||||
<!-- 数据表格区 -->
|
||||
<el-card class="table-card" shadow="never" style="margin-top: 16px">
|
||||
<el-table v-loading="loading" :data="tableData" border stripe style="width: 100%">
|
||||
<el-table-column type="index" label="序号" align="center" min-width="60" />
|
||||
<el-table-column prop="examid" label="检查ID" align="center" min-width="180" />
|
||||
<el-table-column prop="name" label="姓名" align="center" min-width="90" />
|
||||
<el-table-column prop="gender" label="性别" align="center" min-width="60">
|
||||
<template #default="{ row }">
|
||||
@ -79,12 +79,12 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="age" label="年龄" align="center" min-width="60" />
|
||||
<el-table-column prop="measureTime" label="佩戴时间" align="center" min-width="180">
|
||||
<el-table-column prop="weartime" label="佩戴时间" align="center" min-width="180">
|
||||
<template #default="{ row, $index }">
|
||||
<!-- 编辑状态 -->
|
||||
<div v-if="row.editingMeasureTime" style="display: flex; align-items: center; gap: 8px">
|
||||
<el-date-picker
|
||||
v-model="row.measureTime"
|
||||
v-model="row.weartime"
|
||||
type="datetime"
|
||||
placeholder="选择时间"
|
||||
size="small"
|
||||
@ -103,7 +103,7 @@
|
||||
v-else
|
||||
style="display: flex; align-items: center; justify-content: center; gap: 8px"
|
||||
>
|
||||
<span>{{ formatMeasureTime(row.measureTime) }}</span>
|
||||
<span>{{ formatMeasureTime(row.weartime) }}</span>
|
||||
<el-button type="primary" size="small" @click="editMeasureTime(row, $index)" link>
|
||||
<Icon icon="ep:edit" />
|
||||
</el-button>
|
||||
@ -334,28 +334,28 @@ const cancelEditDevice = (row: any, index: number) => {
|
||||
// 佩戴时间编辑相关方法
|
||||
const editMeasureTime = (row: any, index: number) => {
|
||||
// 保存原始值,用于取消时恢复
|
||||
row.originalMeasureTime = row.measureTime
|
||||
row.originalMeasureTime = row.weartime
|
||||
row.editingMeasureTime = true
|
||||
}
|
||||
|
||||
const saveMeasureTime = async (row: any, index: number) => {
|
||||
try {
|
||||
// 将佩戴时间转换为时间戳
|
||||
const measureTimeTimestamp = row.measureTime ? new Date(row.measureTime).getTime() : null
|
||||
const measureTimeTimestamp = row.weartime ? new Date(row.weartime).getTime() : null
|
||||
|
||||
// 调用API更新佩戴时间
|
||||
const updateData = { ...row, measureTime: measureTimeTimestamp }
|
||||
const updateData = { ...row, weartime: measureTimeTimestamp }
|
||||
await abpmApi.updateabpm(updateData)
|
||||
|
||||
row.editingMeasureTime = false
|
||||
delete row.originalMeasureTime
|
||||
ElMessage.success(`已更新佩戴时间为:${formatMeasureTime(row.measureTime)}`)
|
||||
ElMessage.success(`已更新佩戴时间为:${formatMeasureTime(row.weartime)}`)
|
||||
} catch (error) {
|
||||
console.error('更新佩戴时间失败:', error)
|
||||
ElMessage.error('更新佩戴时间失败,请重试')
|
||||
// 恢复原始值
|
||||
if (row.originalMeasureTime !== undefined) {
|
||||
row.measureTime = row.originalMeasureTime
|
||||
row.weartime = row.originalMeasureTime
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -363,15 +363,27 @@ const saveMeasureTime = async (row: any, index: number) => {
|
||||
const cancelEditMeasureTime = (row: any, index: number) => {
|
||||
// 恢复原始值
|
||||
if (row.originalMeasureTime !== undefined) {
|
||||
row.measureTime = row.originalMeasureTime
|
||||
row.weartime = row.originalMeasureTime
|
||||
}
|
||||
row.editingMeasureTime = false
|
||||
delete row.originalMeasureTime
|
||||
}
|
||||
|
||||
const onAnalyze = (row: any) => {
|
||||
// 打开分析弹窗并传递患者数据
|
||||
analysisDialogRef.value?.open(row)
|
||||
// 传递完整的患者信息和检查数据
|
||||
const params = {
|
||||
examid: row.examid,
|
||||
regid: row.regid,
|
||||
deviceid: row.deviceid,
|
||||
devicename: row.devicename,
|
||||
weartime: row.weartime,
|
||||
// 患者基本信息
|
||||
name: row.name,
|
||||
gender: row.gender,
|
||||
age: row.age,
|
||||
orgname: row.orgname
|
||||
}
|
||||
analysisDialogRef.value?.open(params)
|
||||
}
|
||||
const onViewReport = (row: any) => {
|
||||
ElMessage.success(`查看报告:${row.name}`)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user