diff --git a/src/views/dicomForm/dicomViewForm.vue b/src/views/dicomForm/dicomViewForm.vue index 8c14c1ad..2e54266e 100644 --- a/src/views/dicomForm/dicomViewForm.vue +++ b/src/views/dicomForm/dicomViewForm.vue @@ -6,7 +6,7 @@ :fullscreen="true" > <el-tabs v-model="activeName" type="card"> - <el-tab-pane label="影像" name="first"> + <el-tab-pane v-if="tagLoaded" label="影像" name="first"> <iframe v-if="dataLoaded" frameborder="0" @@ -19,7 +19,7 @@ <!-- 外层 Flex 容器 --> <div style="display: flex; height: 100%"> <!-- 模版区域 --> - <div style="flex: 1; min-width: 0;overflow: auto;"> + <div style="flex: 1; min-width: 0; overflow: auto"> <el-select v-model="fordevicemValue" placeholder="请选择模版类别" @@ -132,7 +132,6 @@ /> </el-form-item> </el-col> - <el-col :span="7"> <el-form-item label="申请时间" style="font-weight: bold" label-width="110px"> @@ -166,7 +165,7 @@ <el-divider /> <el-input v-model="applyFormVO.examItemName" - style="width: 95%; font-size: 20px; margin-left: 40px; margin-bottom: 6px; " + style="width: 95%; font-size: 20px; margin-left: 40px; margin-bottom: 6px" :rows="1" :disabled="true" /> @@ -239,7 +238,15 @@ <el-button type="success" plain - style="width: 80px; float: right; margin-right: 15px; margin-top: 30px ;background-color: rgba(56, 119, 246, 1);font-size: 14; color: rgb(255, 255, 255);" + style=" + width: 80px; + float: right; + margin-right: 15px; + margin-top: 30px; + background-color: rgba(56, 119, 246, 1); + font-size: 14; + color: rgb(255, 255, 255); + " @click="save" :disabled="savedisabled" >保存</el-button @@ -249,7 +256,15 @@ type="primary" plain v-show="examinedisabled" - style="width: 80px; float: right; margin-right: 15px; margin-top: 30px ;background-color: rgba(56, 119, 246, 1);font-size: 14; color: rgb(255, 255, 255);" + style=" + width: 80px; + float: right; + margin-right: 15px; + margin-top: 30px; + background-color: rgba(56, 119, 246, 1); + font-size: 14; + color: rgb(255, 255, 255); + " @click="examine" >审核</el-button > @@ -297,6 +312,7 @@ const examineFormVO = ref<PatientexamlistVO>({} as PatientexamlistVO) const savedisabled = ref(true) //保存按钮是否可用 const examinedisabled = ref(false) //审核按钮是否可见 const dataLoaded = ref(false) //是否加载网页 +const tagLoaded = ref(true) //是否加载影像标签 //点击节点更新使用时间 const clickuptime = async (pid: string) => { @@ -497,15 +513,19 @@ const examid = ref('') const newSrc = ref('') /** 打开弹窗 */ -const open = async ( - id: number, - orgid: string, - regid: string, - examId: string -) => { +const open = async (id: number, orgid: string, regid: string, examId: string, isLoaded: string) => { resetForm() - + //判断是否隐藏影像标签 + if (isLoaded == '1') { + tagLoaded.value = false + activeName.value='second' + } + else + { + tagLoaded.value = true + activeName.value='first' + } console.log('orgid' + orgid) console.log('regid' + regid) console.log('id' + id) @@ -537,9 +557,9 @@ const open = async ( getlogininfo() iframeData() // 延迟1秒后加载iframe - setTimeout(() => { - dataLoaded.value= true; // 确保iframe只在弹窗打开时加载 - }, 200); + setTimeout(() => { + dataLoaded.value = true // 确保iframe只在弹窗打开时加载 + }, 200) } finally { formLoading.value = false } @@ -553,26 +573,25 @@ const iframeData = async () => { var localData = { regid: '', // 这里的 'someNumber' 应该替换为实际的数值 orgId: '', // 这里的 'someOrgId' 应该替换为实际的组织ID - maxSize:10, + maxSize: 10, do: response } - // 在存入新数据之前,先删除原有的'data'项 - localStorage.removeItem("data"); + // 在存入新数据之前,先删除原有的'data'项 + localStorage.removeItem('data') // 将对象转换为JSON字符串 var localStorageData = JSON.stringify(localData) localStorage.setItem('data', localStorageData) const Src = `/static/dicom/dicomViewPc1.html?t=${new Date().getTime()}` - newSrc.value = Src + newSrc.value = Src } else { // 如果status不是success,可以根据需要处理错误情况 console.error('Request did not succeed:', response.data) - } - // dataLoaded.value = true // 请求完成后,无论成功与否,都设置dataLoaded为true + // dataLoaded.value = true // 请求完成后,无论成功与否,都设置dataLoaded为true } catch (error) { console.error('Error fetching data:', error) - // dataLoaded.value = true // 即使发生错误,也设置dataLoaded为true,以便可以显示错误信息 + // dataLoaded.value = true // 即使发生错误,也设置dataLoaded为true,以便可以显示错误信息 } } diff --git a/src/views/tblist/patientexamlist/index.vue b/src/views/tblist/patientexamlist/index.vue index e472c657..4186cb1b 100644 --- a/src/views/tblist/patientexamlist/index.vue +++ b/src/views/tblist/patientexamlist/index.vue @@ -258,7 +258,7 @@ width="180px" v-if="false" /> - <el-table-column label="操作" align="center" fixed="right"> + <el-table-column label="操作" align="center" fixed="right" width="180px"> <template #default="scope"> <el-button link @@ -274,6 +274,25 @@ <el-icon v-if="scope.row.isFavourite==='1'"><StarFilled /></el-icon> <el-icon v-else><Star /></el-icon> </el-button> + <el-button + link + style="color: rgb(56, 119, 246)" + size="small" + type="primary" + @click="openexe(scope.row.id,scope.row.orgId,scope.row.regId,scope.row.examId)" + > + 调图 + </el-button> + <el-button + link + style="color: rgb(56, 119, 246)" + size="small" + type="primary" + @click=" handleEdit(scope.row,'1')" + > + 报告 + </el-button> + </template> </el-table-column> </el-table> @@ -296,6 +315,7 @@ import download from '@/utils/download' import { PatientexamlistApi, PatientexamlistVO } from '@/api/tblist/patientexamlist' import PatientexamlistForm from './PatientexamlistForm.vue' import DicomViewForm from '/src/views/dicomForm/dicomViewForm.vue' +import { ultrasoniccomApi } from '@/api/ultrasoniccom' /** PACS检查列表 列表 */ defineOptions({ name: 'Patientexamlist' }) @@ -340,17 +360,17 @@ const exportLoading = ref(false) // 导出的加载中 /** 影像组件 */ const dicomViewRef = ref() -const opendicomViewFrom = (id: number, orgid: string, regid: string, examId: string) => { - dicomViewRef.value.open(id, orgid, regid, examId) +const opendicomViewFrom = (id: number, orgid: string, regid: string, examId: string,isLoaded:string) => { + dicomViewRef.value.open(id, orgid, regid, examId,isLoaded) } /** 表格行点击 */ const clickNumber = ref(0) -function handleEdit(row) { +function handleEdit(row,isLoaded:string) { console.log(111111121212) if (!row.deviceType.includes('US')) { //US是超声类 - opendicomViewFrom(row.id, row.orgId, row.regId, row.examId) + opendicomViewFrom(row.id, row.orgId, row.regId, row.examId,isLoaded) /* clickNumber.value++; if (clickNumber.value == 2) { @@ -501,6 +521,22 @@ const getuporghiorgid = async (id: number, orgId: string, reportstatus: string) } } catch {} } +// 打开本地exe 通过注册表 +const openexe= (id: number, orgid: string, regid: string, examId: string)=> +{ +console.log(orgid) + // 先查询数据 + try { + const url = `f1://${examId+','+orgid+','+regid}`; + console.log(url) + window.location.href = url + + } catch (error) { + console.error('Error fetching data:', error) + + } +} + /** 删除按钮操作 */ const handleDelete = async (id: number) => {