增加影像报告和调图功能
This commit is contained in:
parent
9e8d3b6a9a
commit
fe52240b74
@ -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,以便可以显示错误信息
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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) => {
|
||||
|
Loading…
Reference in New Issue
Block a user