From ebe935974cf992ed693cdfd2cf40f337993391a0 Mon Sep 17 00:00:00 2001
From: lichuanyang <1176537920@qq.com>
Date: Mon, 30 Dec 2024 15:44:00 +0800
Subject: [PATCH] =?UTF-8?q?ecg=E7=9A=84=E7=9B=B8=E5=85=B3=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/tblist/ecganalysisparas/index.ts | 16 +-
src/views/ECG/ECGForm.vue | 163 ++++++++++++++----
src/views/ECG/ECGPositiveStatistics/index.vue | 6 +-
src/views/ECG/processManage/index.vue | 96 ++++++-----
4 files changed, 197 insertions(+), 84 deletions(-)
diff --git a/src/api/tblist/ecganalysisparas/index.ts b/src/api/tblist/ecganalysisparas/index.ts
index 3c026e77..51c5c428 100644
--- a/src/api/tblist/ecganalysisparas/index.ts
+++ b/src/api/tblist/ecganalysisparas/index.ts
@@ -35,10 +35,10 @@ export interface EcganalysisparasVO {
ecgJsonDataFilePath: string // 心电数据json格式的数据文件路径:路径或URL
createDate: Date // 分析参数的创建时间
regId: String//患者ID
- name:String
- gender:String
- age:String
- diagtime:undefined
+ name: String
+ gender: String
+ age: String
+ diagtime: undefined
}
// 心电分析数据 API
@@ -93,9 +93,15 @@ export const EcganalysisparasApi = {
exportWorkloadExcel: async (doctorName: string, startTime: string, endTime: string) => {
return await request.download({ url: `/tblist/ecganalysisparas/export-workload-excel?doctorName=${doctorName}&startTime=${startTime}&endTime=${endTime} ` })
},
-
+ // 获取心电分析数据对应的pdf图像
+ getEcgPdfImage: async (data: any) => {
+ return await request.post({ url: `/tblist/ecganalysisparas/getEcgPdfImage`, data })
+ },
// 调用打印服务生成pdf
SaveEcgPdf: async (data: EcganalysisparasVO) => {
return await request.put({ url: `/tblist/ecganalysisparas/SaveEcgPdf`, data })
},
+ getDoctorBydoctorID: async (doctorID: any) => {
+ return await request.get({ url: `/doctor/getBydoctorID?doctorID=` + doctorID })
+ }
}
diff --git a/src/views/ECG/ECGForm.vue b/src/views/ECG/ECGForm.vue
index c5e762f1..7e0a646f 100644
--- a/src/views/ECG/ECGForm.vue
+++ b/src/views/ECG/ECGForm.vue
@@ -8,6 +8,11 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
:destroy-on-close="true"
+ @close="
+ () => {
+ isChildVisible = false
+ }
+ "
>
@@ -28,22 +33,20 @@
-
-
+
+
- 复制链接
+ >复制链接
- 分享
+ 分享
打印预览
@@ -509,15 +511,22 @@
@@ -580,8 +619,8 @@ import ECGReport from '@/views/ECG/ECGWaring/ECGReport.vue'
import { WarningApi, WarningVO } from '@/api/system/warning'
import ECGCopmareDialog from '@/views/ECG/ECGCompare.vue'
import ECGApplyforRepair from '@/views/ECG/ECGModify/ECGApplyforRepair.vue'
-import useClipboard from "vue-clipboard3";//复制组件
-const { toClipboard } = useClipboard();
+import useClipboard from 'vue-clipboard3' //复制组件
+const { toClipboard } = useClipboard()
import ECGSB from '@/views/ECG/ECGSB.vue'
/** 提交表单 */
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
@@ -591,7 +630,7 @@ const dialogTitle = ref('') // 弹窗的标题
const id = ref() //患者ID
const orgid = ref() //机构编码
const Primarykey = ref() //主键ID
-const rowinfo = ref() //当前患者数据行
+const rowinfo = ref
({}) //当前患者数据行
const snapshotTime = ref() //心电事件快照事件
// 定义一个响应式变量来控制子组件的显示
const isChildVisible = ref(false)
@@ -616,6 +655,7 @@ const isshare = ref(true) //是否展示分享二维码
const qrcodeRef = ref(null)
const isdiagshow = ref(false) //是否显示打印窗体
const imagebase64 = ref('')
+const imagebase64_new = ref('')
const isprintimage = ref(false) //是否生成打印文件base64
const ECGDialog = ref() //危急值消息弹窗
const isshowwjz = ref(false)
@@ -672,7 +712,7 @@ const open = async (row: any) => {
const warningdata = await WarningApi.getexmidororgiddata(row.examId, row.orgId)
//判断是否显示危急值上报功能 条件是当前机构等于上级机构
isshowwjz.value = Profilevo.value.orgId === row.highLevelOrgId ? true : false
- if (warningdata.reportDate) {
+ if (warningdata && warningdata.reportDate) {
isshowysb.value = Profilevo.value.orgId === row.orgId ? true : false
}
//判断保存按钮是否可用 审核后不允许在保存
@@ -841,17 +881,74 @@ function resetForm() {
function printclose() {
isprintimage.value = false
imagebase64.value = ''
+ imagebase64_new.value = ''
isdiagshow.value = false
}
//打印
function print() {
- if (!queryParams.value.autoDiagTime) {
- isdiagshow.value = false
- //isprintimage.value = false
+ //isprintimage.value = false
+ isdiagshow.value = false
+ if (false && !queryParams.value.autoDiagTime) {
message.alertError('请保存后再进行打印')
+ } else if (rowinfo.value && rowinfo.value.reportstatus != '已审核') {
+ message.alertError('请审核后再进行打印')
} else {
- isdiagshow.value = true
//isprintimage.value = true
+ isdiagshow.value = true
+ nextTick(() => {
+ setTimeout(async () => {
+ if (applyFormVO.value.pdfurl) {
+ imagebase64_new.value = applyFormVO.value.pdfurl.trim()
+ } else {
+ let doctorEcgDiagInfo: any = null
+ if (queryParams.value && queryParams.value.doctorId) {
+ doctorEcgDiagInfo = await EcganalysisparasApi.getDoctorBydoctorID(
+ queryParams.value.doctorId.trim()
+ )
+ }
+ let mapRes = await EcganalysisparasApi.getEcgPdfImage({
+ type: 2,
+ regid: id.value,
+ examid: queryParams.value.examId,
+ name: rowinfo.value.pname,
+ gender: rowinfo.value.gender,
+ age: age.value,
+ ward: '',
+ hr: queryParams.value.hr,
+ pr: queryParams.value.pr,
+ qrs: queryParams.value.qrsAxle,
+ qtqtc: queryParams.value.qt + '/' + queryParams.value.qtc,
+ rv5sv1: queryParams.value.rv5 + '/' + queryParams.value.sv1,
+ rv5sv1plus: (
+ Number(queryParams.value.rv5 ? queryParams.value.rv5 : '') +
+ Number(queryParams.value.sv1 ? queryParams.value.sv1 : '')
+ ).toString(),
+ pt:
+ queryParams.value.paxle +
+ '/' +
+ queryParams.value.taxle +
+ '/' +
+ queryParams.value.qrsAxle,
+ ptimelimit: queryParams.value.ptimeLimit,
+ diagnosisHint: '',
+ department: rowinfo.value.billDoctorDepartment,
+ doctorDiagTime: formatDate(
+ queryParams.value.doctorDiagTime as any,
+ 'YYYY-MM-DD HH:mm:ss'
+ ),
+ diagContent: queryParams.value.doctorDiagResult,
+ DepartName: queryParams.value.departName,
+ doctorName: queryParams.value.doctorName,
+ image: doctorEcgDiagInfo ? doctorEcgDiagInfo.esignatureUrl : '',
+ filepath: queryParams.value.ecgJsonDataFilePath,
+ orgname: rowinfo.value.orgName
+ })
+ if (mapRes && mapRes.code == '200') {
+ imagebase64_new.value = mapRes.dataImage
+ }
+ }
+ }, 100)
+ })
}
}
//纠错窗体回传值
@@ -891,7 +988,7 @@ function Refresh() {
isrefresh.value = isrefresh.value ? false : true
}
//复制链接
-function touchCopy () {
+function touchCopy() {
// 调用
if (applyFormVO.value.pdfurl) {
toClipboard(applyFormVO.value.pdfurl)
@@ -966,7 +1063,7 @@ function FD() {
const value = IsFD.value === false ? true : false
IsFD.value = value
if (value) {
- message.alertSuccess('开启放大')
+ message.alertSuccess('开启放大')
} else {
message.alertSuccess('关闭放大')
}
@@ -1088,9 +1185,9 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/* 打印(报告单) */
.page-item-ecg {
- padding: 1mm 0.8mm 1mm 0.6mm;
- max-width: 1184px;
- margin: 3vh auto 0 auto;
+ padding: 1mm 1mm 0.12mm 1mm;
+ max-width: 1200px;
+ margin: 1.2vh auto 0 auto;
border: 2px solid #ccc;
border-radius: 8px;
}
@@ -1110,12 +1207,12 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
.page-item-ecg {
border-width: 0;
- height: 206mm;
+ height: 204.6mm;
page-break-after: always;
padding: 0;
max-width: none;
- width: calc(100% - 3mm);
- margin: 0 0 0 1.2mm;
+ width: calc(100% - 2mm);
+ margin: 1.4mm 0 0 1mm;
}
}
diff --git a/src/views/ECG/ECGPositiveStatistics/index.vue b/src/views/ECG/ECGPositiveStatistics/index.vue
index 1f21e906..f81c2169 100644
--- a/src/views/ECG/ECGPositiveStatistics/index.vue
+++ b/src/views/ECG/ECGPositiveStatistics/index.vue
@@ -119,7 +119,7 @@
:formatter="dateFormatter2"
width="110px"
/>
-
+
{
examId: '',
regId: '',
orgId: '',
- pname: '',
+ pName: '',
gender: '',
birthday: '',
billDoctorDepartment: '',
diff --git a/src/views/ECG/processManage/index.vue b/src/views/ECG/processManage/index.vue
index a1a1f551..b97bb841 100644
--- a/src/views/ECG/processManage/index.vue
+++ b/src/views/ECG/processManage/index.vue
@@ -11,14 +11,31 @@
class="-mb-15px"
>
-
-
-
- 全部
- 申请
- 审核
- 拒绝
-
+
+
+
+
+
+
+
+
@@ -48,31 +65,22 @@
/>
-
-
-
-
-
-
-
-
+
+
+ {
+ handleQuery()
+ }
+ "
+ class="item-width radio-group"
+ >
+ 全部
+ 申请
+ 审核
+ 拒绝
+
@@ -83,6 +91,7 @@
v-model="queryParams.regId"
placeholder="请输入登记号"
clearable
+ @keyup.enter="handleQuery"
class="item-width"
/>
@@ -93,6 +102,7 @@
v-model="queryParams.pname"
placeholder="请输入患者姓名"
clearable
+ @keyup.enter="handleQuery"
class="item-width"
/>
@@ -136,15 +146,6 @@
-
-
-
+
+
+
申请
审核通过
拒绝