From 41687f5a515ce9c1ce1f1913cc09bc2abaf55a09 Mon Sep 17 00:00:00 2001 From: lichuanyang <1176537920@qq.com> Date: Thu, 16 Jan 2025 09:26:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/tblist/patientexamlist/index.ts | 11 +- src/views/dicomForm/dicomViewForm.vue | 84 ++++++++++---- src/views/ultrasoniccom/ultrasonicForm.vue | 122 ++++++++++++++++----- 3 files changed, 160 insertions(+), 57 deletions(-) diff --git a/src/api/tblist/patientexamlist/index.ts b/src/api/tblist/patientexamlist/index.ts index fd8e41eb..bf913d7e 100644 --- a/src/api/tblist/patientexamlist/index.ts +++ b/src/api/tblist/patientexamlist/index.ts @@ -110,18 +110,21 @@ export const PatientexamlistApi = { GetDateYYZDYXCount: async () => { return await request.get({ url: `/tblist/patientexamlist/GetDateYYZDYXCount` }) }, - // 收藏功能 CollectAndCancellation: async (id: String, type: string) => { return await request.get({ url: `/tblist/patientexamlist/CollectAndCancellation?id=${id}&&type=${type}` }) }, - + generatePdf_ct: async (data: any) => { + return await request.post({ url: `/tblist/patientexamlist/generatePdf_ct`, data }) + }, + generatePdf_us: async (data: any) => { + return await request.post({ url: `/tblist/patientexamlist/generatePdf_us`, data }) + }, ftppdf: async (data: inspdfscreenshotVO) => { return await request.post({ url: `/tblist/patientexamlist/ftppdf`, data }) }, // 更新危急值标识 Updatetblistwarning: async (id: String, type: string) => { return await request.get({ url: `/tblist/patientexamlist/Updatetblistwarning?id=${id}&&type=${type}` }) - }, - + } } diff --git a/src/views/dicomForm/dicomViewForm.vue b/src/views/dicomForm/dicomViewForm.vue index b3b28d8c..5e2068b4 100644 --- a/src/views/dicomForm/dicomViewForm.vue +++ b/src/views/dicomForm/dicomViewForm.vue @@ -317,7 +317,13 @@
@@ -337,7 +343,7 @@ import htmlToPdf from '@/utils/htmlPdf' import { formatDate } from '@/utils/formatTime' import { object } from 'vue-types' import { ReportPrintStatisticsApi } from '@/api/applyregistration/reportPrintStatistics' -import * as ConfigApi from '@/api/infra/config'//李晓东 +import * as ConfigApi from '@/api/infra/config' //李晓东 /** dicom */ defineOptions({ name: 'DicomViewForm' }) const showPdfContent = ref(false) //控制CT 组件 是否显示 @@ -404,7 +410,7 @@ const save = async () => { examineFormVO.value.diagFlag = radio1.value examineFormVO.value.diagDoctor = Profilevo.value.doctorname examineFormVO.value.diagDoctorId = Profilevo.value.doctorID - + // examineFormVO.value.reviewDoctor = Profilevo.value.username examineFormVO.value.reportstatus = '已分析' // examineFormVO.value.diagDate=localDateTime @@ -469,26 +475,50 @@ const exportPdfCTToBase64 = async () => { if (applyFormVO.value.reviewDate !== null) { infoParams.value.reviewDate = formatDate(applyFormVO.value.reviewDate, 'YYYY-MM-DD') } - infoParams.value.extraInfo= orgInfo.value + infoParams.value.extraInfo = orgInfo.value //infoParams.value.reviewDate=applyFormVO.value.reviewDate.toString() - showPdfContent.value = true - nextTick(() => { - setTimeout(async () => { - try { - //生成PDF - const pdfBase64String = await htmlToPdf.getPdfBase64('CT报告单', '#hiddenPdfDiv') - await PatientexamlistApi.ftppdf({ - id: ID.toString(), - imagebase: pdfBase64String, - model: '0', - folderPath: await ConfigApi.getConfigKey('url.ftpimage') + '\\' + ID.toString() - }) - } finally { - showPdfContent.value = false - } - }, 1000) + calculateAge(applyFormVO.value.birthday) //刷新年龄 + let orgInfoTemp = await ReportPrintStatisticsApi.getOrg(infoParams.value.orgId.trim()) + await PatientexamlistApi.generatePdf_ct({ + model: '0', + folderPath: (await ConfigApi.getConfigKey('url.ftpimage')) + '\\' + ID.toString(), + id: ID.toString(), + regid: infoParams.value.regId, + examid: infoParams.value.examId, + name: infoParams.value.pname, + gender: infoParams.value.gender, + age: age.value + '岁', + deviceName: infoParams.value.deviceName, + Department: infoParams.value.billDoctorDepartment, + examItemName: infoParams.value.examItemName, + examDescription: infoParams.value.examDescription, + diagResults: infoParams.value.diagResults, + hsname: orgInfoTemp.orgName, + diagDoctor: infoParams.value.diagDoctor, + diagDate: infoParams.value.diagDate, + reviewDoctor: infoParams.value.reviewDoctor, + reviewDate: infoParams.value.reviewDate }) + if (false) { + showPdfContent.value = true + nextTick(() => { + setTimeout(async () => { + try { + //生成PDF + const pdfBase64String = await htmlToPdf.getPdfBase64('CT报告单', '#hiddenPdfDiv') + await PatientexamlistApi.ftppdf({ + id: ID.toString(), + imagebase: pdfBase64String, + model: '0', + folderPath: (await ConfigApi.getConfigKey('url.ftpimage')) + '\\' + ID.toString() + }) + } finally { + showPdfContent.value = false + } + }, 1000) + }) + } } const infoParams = ref({ @@ -604,7 +634,11 @@ const handleselectchange = async () => { if (fordevicemValue.value) { //选择模版后 刷新接口 //通用 - const dd = await ultrasoniccomApi.getreporttemplatelist(Profilevo.value.orgId, String(fordevicemValue.value), '') + const dd = await ultrasoniccomApi.getreporttemplatelist( + Profilevo.value.orgId, + String(fordevicemValue.value), + '' + ) treeData.value = dd const pridate = await ultrasoniccomApi.getreporttemplatelist( @@ -652,7 +686,11 @@ const open = async (id: number, orgid: string, regid: string, examId: string, is formLoading.value = true try { //通用 - const dd = await ultrasoniccomApi.getreporttemplatelist(Profilevo.value.orgId, String(fordevicemValue.value), '') + const dd = await ultrasoniccomApi.getreporttemplatelist( + Profilevo.value.orgId, + String(fordevicemValue.value), + '' + ) treeData.value = dd console.log('返回值1' + dd) console.log('返回值2' + treeData.value) @@ -753,7 +791,7 @@ const getlogininfo = async () => { if (Profilevo.value.isimageexamine === '1') { examinedisabled.value = true } - orgInfo.value= await ReportPrintStatisticsApi.getOrg( Profilevo.value.orgId.trim()) + orgInfo.value = await ReportPrintStatisticsApi.getOrg(Profilevo.value.orgId.trim()) } /** 重置表单 */ diff --git a/src/views/ultrasoniccom/ultrasonicForm.vue b/src/views/ultrasoniccom/ultrasonicForm.vue index 8c56fe78..4d418005 100644 --- a/src/views/ultrasoniccom/ultrasonicForm.vue +++ b/src/views/ultrasoniccom/ultrasonicForm.vue @@ -489,12 +489,18 @@ - -
+ +
@@ -516,7 +522,7 @@ import videoForm from './videoForm.vue' import { ReportPrintStatisticsApi } from '@/api/applyregistration/reportPrintStatistics' import { formatDate } from '@/utils/formatTime' import PdfContent from '@/views/applyregistration/reportPrintStatistics/ReportInfoUS.vue' // 引入你的PDF内容组件 -import * as ConfigApi from '@/api/infra/config'//李晓东 +import * as ConfigApi from '@/api/infra/config' //李晓东 /** 超声组件 */ defineOptions({ name: 'Ultrasonic' }) @@ -616,27 +622,79 @@ const exportPdfUSToBase64 = async () => { if (applyFormVO.value.reviewDate !== null) { infoParams.value.reviewDate = formatDate(applyFormVO.value.reviewDate, 'YYYY-MM-DD') } - infoParams.value.extraInfo= orgInfo.value + infoParams.value.extraInfo = orgInfo.value //infoParams.value.reviewDate=applyFormVO.value.reviewDate.toString() //D:\\FLYPACS\\ftp - - showPdfContent.value = true - nextTick(() => { - setTimeout(async () => { - try { - //生成PDF - const pdfBase64String = await htmlToPdf.getPdfBase64('US报告单', '#hiddenUSPdfDiv') - await PatientexamlistApi.ftppdf({ - id: ID.toString(), - imagebase: pdfBase64String, - model: '0', - folderPath: await ConfigApi.getConfigKey('url.ftpimage') + '\\' + ID.toString() - }) - } finally { - showPdfContent.value = false - } - }, 1000) + + calculateAge(applyFormVO.value.birthday) //刷新年龄 + let orgInfoTemp = await ReportPrintStatisticsApi.getOrg(infoParams.value.orgId.trim()) + let image1 = '' + let image2 = '' + let image3 = '' + const imageslist = await ultrasoniccomApi.getimageslist( + infoParams.value.orgId, + infoParams.value.regId, + '1' + ) + if (imageslist && Array.isArray(imageslist)) { + if (imageslist[0] && imageslist[0].imgUrl) { + image1 = imageslist[0].imgUrl.trim() + if (image1.indexOf('http') != 0 && image1.indexOf('/') == 0) + image1 = window.location.origin + image1 + } + if (imageslist[1] && imageslist[1].imgUrl) { + image2 = imageslist[1].imgUrl.trim() + if (image2.indexOf('http') != 0 && image2.indexOf('/') == 0) + image2 = window.location.origin + image2 + } + if (imageslist[2] && imageslist[2].imgUrl) { + image3 = imageslist[2].imgUrl.trim() + if (image3.indexOf('http') != 0 && image3.indexOf('/') == 0) + image3 = window.location.origin + image3 + } + } + await PatientexamlistApi.generatePdf_us({ + model: '0', + folderPath: (await ConfigApi.getConfigKey('url.ftpimage')) + '\\' + ID.toString(), + id: ID.toString(), + regid: infoParams.value.regId, + examid: infoParams.value.examId, + name: infoParams.value.pname, + gender: infoParams.value.gender, + age: age.value + '岁', + deviceName: infoParams.value.deviceName, + Department: infoParams.value.billDoctorDepartment, + examItemName: infoParams.value.examItemName, + examDescription: infoParams.value.examDescription, + diagResults: infoParams.value.diagResults, + hsname: orgInfoTemp.orgName, + diagDoctor: infoParams.value.diagDoctor, + diagDate: infoParams.value.diagDate, + reviewDoctor: infoParams.value.reviewDoctor, + reviewDate: infoParams.value.reviewDate, + image1: image1, + image2: image2, + image3: image3 }) + if (false) { + showPdfContent.value = true + nextTick(() => { + setTimeout(async () => { + try { + //生成PDF + const pdfBase64String = await htmlToPdf.getPdfBase64('US报告单', '#hiddenUSPdfDiv') + await PatientexamlistApi.ftppdf({ + id: ID.toString(), + imagebase: pdfBase64String, + model: '0', + folderPath: (await ConfigApi.getConfigKey('url.ftpimage')) + '\\' + ID.toString() + }) + } finally { + showPdfContent.value = false + } + }, 1000) + }) + } } const infoParams = ref({ @@ -722,14 +780,14 @@ const examine = async () => { if (response) { message.alertSuccess('审核成功') //查询患者信息 根据ID - await getPatientexamlist(ID) + await getPatientexamlist(ID) isImageLoaded.value = false isImageLoaded2.value = false isImageLoaded3.value = false images.value = [] // 如果是审核或者已分析加载选中的图片 loadimagelist() - await exportPdfUSToBase64() + await exportPdfUSToBase64() emit('success') } } else if (applyFormVO.value.reportstatus === '已审核') { @@ -844,21 +902,21 @@ const upimageselect = async () => { updateexamineimage.value = [] updateexamineimage.value.push({ - regid:regId.value, + regid: regId.value, id: selecteimagedoneid.toString(), isDelete: '', deletePerson: '', selected: '1' }) updateexamineimage.value.push({ - regid:regId.value, + regid: regId.value, id: selecteimagedtwoid.toString(), isDelete: '', deletePerson: '', selected: '1' }) updateexamineimage.value.push({ - regid:regId.value, + regid: regId.value, id: selecteimagedthreeid.toString(), isDelete: '', deletePerson: '', @@ -877,7 +935,7 @@ const upimagedeleteor = async () => { updateexamineimage.value = [] updateexamineimage.value.push({ - regid:regId.value, + regid: regId.value, id: deleteimageid.value, isDelete: '1', deletePerson: Profilevo.value.username, @@ -1025,7 +1083,11 @@ const handleselectchange = async () => { if (fordevicemValue.value) { //选择模版后 刷新接口 //通用 - const dd = await ultrasoniccomApi.getreporttemplatelist(Profilevo.value.orgId, String(fordevicemValue.value), '') + const dd = await ultrasoniccomApi.getreporttemplatelist( + Profilevo.value.orgId, + String(fordevicemValue.value), + '' + ) treeData.value = dd const pridate = await ultrasoniccomApi.getreporttemplatelist( @@ -1134,7 +1196,7 @@ const getlogininfo = async () => { if (Profilevo.value.isexamine === '1') { examinedisabled.value = true } - orgInfo.value= await ReportPrintStatisticsApi.getOrg( Profilevo.value.orgId.trim()) + orgInfo.value = await ReportPrintStatisticsApi.getOrg(Profilevo.value.orgId.trim()) } /** 重置表单 */