From 7e7843b749f8d00b25356cddf89eaac2565b1b14 Mon Sep 17 00:00:00 2001 From: weapon <2453592284@qq.com> Date: Tue, 29 Apr 2025 14:31:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E5=BD=B1=E5=83=8F?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E8=AF=8A=E6=96=AD=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E3=80=81=E5=AE=A1=E6=A0=B8=E5=8C=BB=E7=94=9F=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pnpm-lock.yaml | 25 --- src/main.ts | 3 - src/views/dicomForm/dicomViewForm.vue | 149 ++++++++++++------ .../dicomPathologyViewForm.vue | 2 +- src/views/ultrasoniccom/ultrasonicForm.vue | 88 ++++++----- 5 files changed, 147 insertions(+), 120 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5f9eb14e..242d0e8e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -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 diff --git a/src/main.ts b/src/main.ts index 256b0dae..3440ee45 100644 --- a/src/main.ts +++ b/src/main.ts @@ -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); diff --git a/src/views/dicomForm/dicomViewForm.vue b/src/views/dicomForm/dicomViewForm.vue index 422be271..c2ef91c9 100644 --- a/src/views/dicomForm/dicomViewForm.vue +++ b/src/views/dicomForm/dicomViewForm.vue @@ -235,18 +235,36 @@
- + placeholder="请选择诊断医生" + clearable + :disabled="savedisabled" + > + + - + placeholder="请选择审核医生" + clearable + :disabled="applyFormVO.reportstatus === '已审核'" + > + + @@ -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([]) //医生列表 //点击节点更新使用时间 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 diff --git a/src/views/dicomPathologyForm/dicomPathologyViewForm.vue b/src/views/dicomPathologyForm/dicomPathologyViewForm.vue index 1880de8f..9b229023 100644 --- a/src/views/dicomPathologyForm/dicomPathologyViewForm.vue +++ b/src/views/dicomPathologyForm/dicomPathologyViewForm.vue @@ -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 { // 如果status不是success,可以根据需要处理错误情况 diff --git a/src/views/ultrasoniccom/ultrasonicForm.vue b/src/views/ultrasoniccom/ultrasonicForm.vue index 2a6985db..ee122a35 100644 --- a/src/views/ultrasoniccom/ultrasonicForm.vue +++ b/src/views/ultrasoniccom/ultrasonicForm.vue @@ -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({