This commit is contained in:
lxd 2025-01-17 10:09:52 +08:00
commit 11639b6a18
3 changed files with 160 additions and 57 deletions

View File

@ -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}` })
},
}
}

View File

@ -317,7 +317,13 @@
<div id="hiddenPdfDiv" v-if="showPdfContent">
<PdfContent
v-bind="{ ...infoParams, showQRcode: false }"
style="border-width: 1; height: 400mm; width: 300mm; page-break-after: always;font-size: 20px;"
style="
border-width: 1;
height: 400mm;
width: 300mm;
page-break-after: always;
font-size: 20px;
"
/>
</div>
</div>
@ -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())
}
/** 重置表单 */

View File

@ -489,12 +489,18 @@
<videoForm ref="videoformRef" />
<!-- 隐藏的 div用于渲染 ReportInfoUS 组件 style="border-width: 1; height: 297mm; page-break-after: always"-->
<div style="position: fixed; top: 0; left: 0; z-index: -100">
<!-- 隐藏的 div用于渲染 ReportInfoUS 组件 style="border-width: 1; height: 297mm; page-break-after: always"-->
<div style="position: fixed; top: 0; left: 0; z-index: -100">
<div id="hiddenUSPdfDiv" v-if="showPdfContent">
<PdfContent
v-bind="{ ...infoParams, showQRcode: false }"
style="border-width: 1; height: 400mm; width: 300mm; page-break-after: always;font-size: 20px;"
style="
border-width: 1;
height: 400mm;
width: 300mm;
page-break-after: always;
font-size: 20px;
"
/>
</div>
</div>
@ -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())
}
/** 重置表单 */