增加影像报告和调图功能

This commit is contained in:
lxd 2024-09-10 14:44:37 +08:00
parent 9e8d3b6a9a
commit fe52240b74
2 changed files with 83 additions and 28 deletions

View File

@ -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="请选择模版类别"
@ -133,7 +133,6 @@
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="申请时间" style="font-weight: bold" label-width="110px">
<el-date-picker
@ -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)
@ -538,8 +558,8 @@ const open = async (
iframeData()
// 1iframe
setTimeout(() => {
dataLoaded.value= true; // iframe
}, 200);
dataLoaded.value = true // iframe
}, 200)
} finally {
formLoading.value = false
}
@ -553,12 +573,12 @@ const iframeData = async () => {
var localData = {
regid: '', // 'someNumber'
orgId: '', // 'someOrgId' ID
maxSize:10,
maxSize: 10,
do: response
}
// 'data'
localStorage.removeItem("data");
localStorage.removeItem('data')
// JSON
var localStorageData = JSON.stringify(localData)
localStorage.setItem('data', localStorageData)
@ -567,7 +587,6 @@ const iframeData = async () => {
} else {
// statussuccess
console.error('Request did not succeed:', response.data)
}
// dataLoaded.value = true // dataLoadedtrue
} catch (error) {

View File

@ -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) => {