修改 影像工作台诊断医生、审核医生下拉选择

This commit is contained in:
weapon 2025-04-29 14:31:51 +08:00
parent e962ca1ffd
commit 7e7843b749
5 changed files with 147 additions and 120 deletions

View File

@ -149,9 +149,6 @@ importers:
vue3-print-nb:
specifier: ^0.1.4
version: 0.1.4(typescript@5.3.3)
vue3-video-play:
specifier: ^1.3.2
version: 1.3.2(typescript@5.3.3)
vuedraggable:
specifier: ^4.1.0
version: 4.1.0(vue@3.4.21(typescript@5.3.3))
@ -3546,9 +3543,6 @@ packages:
resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==}
engines: {node: '>=12.0.0'}
hls.js@1.5.15:
resolution: {integrity: sha512-6cD7xN6bycBHaXz2WyPIaHn/iXFizE5au2yvY5q9aC4wfihxAr16C9fUy4nxh2a3wOw0fEgLRa9dN6wsYjlpNg==}
htm@3.1.1:
resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==}
@ -5091,10 +5085,6 @@ packages:
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
throttle-debounce@3.0.1:
resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
engines: {node: '>=10'}
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
@ -5465,9 +5455,6 @@ packages:
vue3-print-nb@0.1.4:
resolution: {integrity: sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==}
vue3-video-play@1.3.2:
resolution: {integrity: sha512-eEwCJ0NIkfVQgTj0I3Kf9b1E/04Qne8mQQiE8r77BocblHsZ2T6af3q8l8Zzs/OvjlpQAQvkN/ACVUOJC3RSXg==}
vue@3.4.21:
resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
peerDependencies:
@ -9328,8 +9315,6 @@ snapshots:
highlight.js@11.9.0: {}
hls.js@1.5.15: {}
htm@3.1.1: {}
html-tags@3.3.1: {}
@ -10900,8 +10885,6 @@ snapshots:
text-table@0.2.0: {}
throttle-debounce@3.0.1: {}
through@2.3.8: {}
tiny-svg@2.2.4: {}
@ -11358,14 +11341,6 @@ snapshots:
transitivePeerDependencies:
- typescript
vue3-video-play@1.3.2(typescript@5.3.3):
dependencies:
hls.js: 1.5.15
throttle-debounce: 3.0.1
vue: 3.4.21(typescript@5.3.3)
transitivePeerDependencies:
- typescript
vue@3.4.21(typescript@5.3.3):
dependencies:
'@vue/compiler-dom': 3.4.21

View File

@ -40,8 +40,6 @@ import '@/plugins/tongji' // 百度统计
import Logger from '@/utils/Logger'
import VueDOMPurifyHTML from 'vue-dompurify-html' // 解决v-html 的安全隐患
import print from "vue3-print-nb";//打印的
import vue3videoPlay from 'vue3-video-play' // 引入组件
import 'vue3-video-play/dist/style.css' // 引入css
import '@/views/applyregistration/reportPrintStatistics/reportPrint.scss' //打印(全局)
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
// 创建实例
@ -65,7 +63,6 @@ const setupAll = async () => {
setupAuth(app)
await router.isReady()
app.use(vue3videoPlay)
app.use(VueDOMPurifyHTML)
app.use(print);

View File

@ -235,18 +235,36 @@
<el-divider />
<div class="form-row-yx">
<el-form-item label="诊断医生" class="form-item">
<el-input
<el-select
v-model="applyFormVO.diagDoctor"
style="width: 180px"
:disabled="true"
/>
placeholder="请选择诊断医生"
clearable
:disabled="savedisabled"
>
<el-option
v-for="doctor in doctorList"
:key="doctor.doctorID"
:label="doctor.doctorName"
:value="doctor.doctorName+'|'+doctor.doctorID"
/>
</el-select>
</el-form-item>
<el-form-item label="审核医生" class="form-item">
<el-input
<el-select
v-model="applyFormVO.reviewDoctor"
style="width: 180px"
:disabled="true"
/>
placeholder="请选择审核医生"
clearable
:disabled="applyFormVO.reportstatus === '已审核'"
>
<el-option
v-for="doctor in doctorList"
:key="doctor.doctorID"
:label="doctor.doctorName"
:value="doctor.doctorName+'|'+doctor.doctorID"
/>
</el-select>
</el-form-item>
<el-form-item label="报告状态" class="form-item">
@ -343,7 +361,8 @@ 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'
import {Api, VO} from "@/api/system/doctor"; //
/** dicom */
defineOptions({ name: 'DicomViewForm' })
const showPdfContent = ref(false) //CT
@ -363,6 +382,7 @@ const savedisabled = ref(false) //保存按钮是否可用
const examinedisabled = ref(false) //
const dataLoaded = ref(false) //
const tagLoaded = ref(true) //
const doctorList = ref<VO[]>([]) //
//使
const clickuptime = async (pid: string) => {
@ -397,6 +417,10 @@ const notes = ref()
//
const save = async () => {
try {
if(applyFormVO.value.diagDoctor==null||applyFormVO.value.diagDoctor=='undefined' || applyFormVO.value.diagDoctor==''){
message.warning('请选择诊断医生')
return
}
//
await message.delConfirm('是否进行保存', '确认')
let timesta = new Date()
@ -408,8 +432,12 @@ const save = async () => {
examineFormVO.value.diagResults = zdjl.value
examineFormVO.value.notes = notes.value
examineFormVO.value.diagFlag = radio1.value
examineFormVO.value.diagDoctor = Profilevo.value.doctorname
examineFormVO.value.diagDoctorId = Profilevo.value.doctorID
// examineFormVO.value.diagDoctor = Profilevo.value.doctorname
// examineFormVO.value.diagDoctorId = Profilevo.value.doctorID
let diagDoctor = applyFormVO.value.diagDoctor.split('|')[0]
let diagDoctorId = applyFormVO.value.diagDoctor.split('|')[1]
examineFormVO.value.diagDoctor = diagDoctor
examineFormVO.value.diagDoctorId = diagDoctorId
// examineFormVO.value.reviewDoctor = Profilevo.value.username
examineFormVO.value.reportstatus = '已分析'
@ -438,7 +466,15 @@ const save = async () => {
//
const examine = async () => {
if (applyFormVO.value.reportstatus === '已分析') {
const response = await PatientexamlistApi.examine(ID.toString())
if(applyFormVO.value.reviewDoctor==null||applyFormVO.value.reviewDoctor=='undefined' || applyFormVO.value.reviewDoctor==''){
message.warning('请选择审核医生')
return
}
let reviewDoctor = applyFormVO.value.reviewDoctor.split('|')[0]
let reviewDoctorId = applyFormVO.value.reviewDoctor.split('|')[1]
const response = await PatientexamlistApi.examine(ID.toString(),reviewDoctorId,reviewDoctor)
if (response) {
message.alertSuccess('审核成功')
await getPatientexamlist(ID)
@ -480,45 +516,50 @@ const exportPdfCTToBase64 = async () => {
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
// })
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)
})
// ================================================
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
})
// ================================================
// =================================================
// 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({
@ -707,6 +748,9 @@ const open = async (id: number, orgid: string, regid: string, examId: string, is
//
getlogininfo()
//
getdoctorlist(orgid)
} finally {
if (newSrc.value != 'about:blank') {
nextTick(async () => {
@ -720,6 +764,12 @@ const open = async (id: number, orgid: string, regid: string, examId: string, is
formLoading.value = false
}
}
//
const getdoctorlist = async (orgid:string) => {
const data = await Api.getAlllist(orgid)
doctorList.value = data
}
//
const iframeData = async () => {
try {
@ -787,6 +837,7 @@ const PrintForm = () => {
//
const getlogininfo = async () => {
Profilevo.value = await getUserProfile()
console.log(Profilevo.value )
console.log('审核是否可见' + Profilevo.value.isimageexamine)
if (Profilevo.value.isimageexamine === '1') {
examinedisabled.value = true

View File

@ -748,7 +748,7 @@ const iframeData = async () => {
localStorage.setItem('regid_pathology', regId.value)
localStorage.removeItem('orgId_pathology')
localStorage.setItem('orgId_pathology', orgId.value)
const Src = `/bl/static/dicom/dicomViewPc1.html?method=PathologyView&t=${new Date().getTime()}`
const Src = `/static/dicom/dicomViewPc1.html?method=PathologyView&t=${new Date().getTime()}`
newSrc.value = Src
} else {
// statussuccess

View File

@ -677,48 +677,52 @@ const exportPdfUSToBase64 = async () => {
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
// })
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)
})
// ================================================
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
})
// ================================================
// =================================================
// 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({