diff --git a/src/api/ecgworkstation/index.ts b/src/api/ecgworkstation/index.ts new file mode 100644 index 0000000..11b7e08 --- /dev/null +++ b/src/api/ecgworkstation/index.ts @@ -0,0 +1,89 @@ +import request from '@/config/axios' +import { patientinfoVO } from '../patientinfo' + +// 心电工作站患者信息 VO +export interface EcgworkstationVO { + id: number // 主键ID + regid: string // 患者ID + examid: string // 检查ID + name: string // 患者姓名 + gender: string // 性别: 0-未知, 1-男, 2-女 + age: string // 年龄 + wearstarttime: Date // 佩戴开始时间 + wearendtime: Date // 佩戴结束时间 + duration: string // 佩戴时长 (时分秒格式) + durationseconds: number // 佩戴时长 (秒数) + reportgenerated: number // 是否生成报告: 0-未生成, 1-已生成 + superiorrequest: number // 是否上级申请: 0-否, 1-是 + orgid: string // 机构ID + orgname: string // 机构名称 + managementorg: string // 管理机构 + status: number // 状态: 0-禁用, 1-启用 + createtime: Date // 创建时间 + updatetime: Date // 更新时间 + filename: string // 文件名称 + zipname: string // 压缩文件名称 + isreplay: number // 是否回放: 0-否, 1-是 +} + +// 心电工作站患者信息 API +export const EcgworkstationApi = { + // 查询心电工作站患者信息分页 + getEcgworkstationPage: async (params: any) => { + return await request.get({ url: `/system/ecgworkstation/page`, params }) + }, + + // 查询心电工作站患者信息详情 + getEcgworkstation: async (id: number) => { + return await request.get({ url: `/system/ecgworkstation/get?id=` + id }) + }, + + // 新增心电工作站患者信息 + createEcgworkstation: async (data: EcgworkstationVO) => { + return await request.post({ url: `/system/ecgworkstation/create`, data }) + }, + + // 修改心电工作站患者信息 + updateEcgworkstation: async (data: EcgworkstationVO) => { + return await request.put({ url: `/system/ecgworkstation/update`, data }) + }, + + // 删除心电工作站患者信息 + deleteEcgworkstation: async (id: number) => { + return await request.delete({ url: `/system/ecgworkstation/delete?id=` + id }) + }, + + // 导出心电工作站患者信息 Excel + exportEcgworkstation: async (params) => { + return await request.download({ url: `/system/ecgworkstation/export-excel`, params }) + }, + + //批量插入心电工作站患者信息 + insertEcgworkstationPatientData: async (data: patientinfoVO[]) => { + return await request.post({ + url: `/system/ecgworkstation/insertEcgworkstationPatientData`, + data + }) + }, + + // 下载文件 + downloadFile: async (filename: string) => { + return await request.download({ + url: `${import.meta.env.VITE_FILE_DOWNLOAD_URL}${filename}`, + responseType: 'blob' + }) + } +} + +/** 调用本地心电工作站分析程序 */ +export const callEcgworkstationAnalysis = (data: { + examid: string + patientName: string + examDate: string + // 其他参数 +}) => { + return request.post({ + url: '/ecgworkstation/call-ecgworkstation-analysis', + data + }) +} diff --git a/src/patientcom/index.vue b/src/patientcom/index.vue index 63794d3..e516e7c 100644 --- a/src/patientcom/index.vue +++ b/src/patientcom/index.vue @@ -207,6 +207,7 @@ import { CgmApi } from '@/api/cgm/index' import { arterialApi } from '@/api/arterial/index' import { PftApi } from '@/api/pft/index' import { EraApi } from '@/api/era/index' +import { EcgworkstationApi } from '@/api/ecgworkstation/index' const message = useMessage() // 消息弹窗 @@ -378,6 +379,10 @@ const handleConfirm = async () => { // 批量新增ERA患者数据 await EraApi.insertEraPatientData(selectedPatients.value) } + if (props.type === 'ecgworkstation') { + // 批量新增心电工作站患者数据 + await EcgworkstationApi.insertEcgworkstationPatientData(selectedPatients.value) + } handleCancel() } catch (error) { diff --git a/src/views/analysis/ECG_workstation.vue b/src/views/analysis/ECG_workstation.vue new file mode 100644 index 0000000..0a29f3a --- /dev/null +++ b/src/views/analysis/ECG_workstation.vue @@ -0,0 +1,2587 @@ + + + + +