病理工作台
This commit is contained in:
parent
aae33a6ea2
commit
bbd151236d
@ -1,5 +1,6 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
@ -10,15 +11,21 @@
|
|||||||
<script src="./js/cornerstoneMath.min.js"></script>
|
<script src="./js/cornerstoneMath.min.js"></script>
|
||||||
<script src="./js/cornerstoneWADOImageLoader.bundle.min.js"></script>
|
<script src="./js/cornerstoneWADOImageLoader.bundle.min.js"></script>
|
||||||
<script src="./js/cornerstoneWebImageLoader.min.js"></script>
|
<script src="./js/cornerstoneWebImageLoader.min.js"></script>
|
||||||
<script src="./js/cornerstoneTools.js"></script><!-- https://unpkg.com/cornerstone-tools@6.0.7/dist/cornerstoneTools.js -->
|
<script src="./js/cornerstoneTools.js"></script>
|
||||||
|
<!-- https://unpkg.com/cornerstone-tools@6.0.7/dist/cornerstoneTools.js -->
|
||||||
<script src="./js/dicomParser.min.js"></script>
|
<script src="./js/dicomParser.min.js"></script>
|
||||||
<script src="./js/jquery-1.12.2.min.js"></script>
|
<script src="./js/jquery-1.12.2.min.js"></script>
|
||||||
|
<script src="./js/html2canvas.min.js"></script>
|
||||||
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
|
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
|
||||||
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css"
|
||||||
|
integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
|
||||||
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
|
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
|
||||||
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap-theme.min.css" integrity="sha384-6pzBo3FDv/PJ8r2KRkGHifhEocL+1X2rVCTTkUfGk7/0pbek5mMa1upzvWbrUbOZ" crossorigin="anonymous">
|
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap-theme.min.css"
|
||||||
|
integrity="sha384-6pzBo3FDv/PJ8r2KRkGHifhEocL+1X2rVCTTkUfGk7/0pbek5mMa1upzvWbrUbOZ" crossorigin="anonymous">
|
||||||
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
|
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
|
||||||
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
|
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"
|
||||||
|
integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
<script src="./js/dicomViewPc.js"></script>
|
<script src="./js/dicomViewPc.js"></script>
|
||||||
<link rel="stylesheet" href="./css/iconfont/iconfont.css">
|
<link rel="stylesheet" href="./css/iconfont/iconfont.css">
|
||||||
<style>
|
<style>
|
||||||
@ -63,7 +70,8 @@
|
|||||||
border: 0px solid red;
|
border: 0px solid red;
|
||||||
/* overflow-x: hidden;
|
/* overflow-x: hidden;
|
||||||
overflow-y: hidden; */
|
overflow-y: hidden; */
|
||||||
position: relative; /* 确保下拉菜单相对于这个元素定位 */
|
position: relative;
|
||||||
|
/* 确保下拉菜单相对于这个元素定位 */
|
||||||
}
|
}
|
||||||
|
|
||||||
#body-part {
|
#body-part {
|
||||||
@ -88,7 +96,7 @@
|
|||||||
/* overflow: auto; */
|
/* overflow: auto; */
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
max-height:550px;
|
max-height: 550px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
@ -106,8 +114,8 @@
|
|||||||
|
|
||||||
.series_img {
|
.series_img {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
height:100%;
|
height: 100%;
|
||||||
width:100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.series_img_active {
|
.series_img_active {
|
||||||
@ -154,7 +162,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.cornerstone-tool-active {
|
.cornerstone-tool-active {
|
||||||
stroke: #FF0000 !important; /* 红色 */
|
stroke: #FF0000 !important;
|
||||||
|
/* 红色 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.dicom-img-box {
|
.dicom-img-box {
|
||||||
@ -167,7 +176,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: black;
|
background-color: black;
|
||||||
border: 1px solid white;
|
border: 1px solid white;
|
||||||
position:relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dicom-img-box-active {
|
.dicom-img-box-active {
|
||||||
@ -196,6 +205,7 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
border: 1px solid red;
|
border: 1px solid red;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*滚动条*/
|
/*滚动条*/
|
||||||
.slider-container {
|
.slider-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -227,7 +237,7 @@
|
|||||||
width: 20rem !important;
|
width: 20rem !important;
|
||||||
margin-left: -8.5rem;
|
margin-left: -8.5rem;
|
||||||
/*background: linear-gradient(to right,rgb(200,66,67),rgb(238,222,217));*/
|
/*background: linear-gradient(to right,rgb(200,66,67),rgb(238,222,217));*/
|
||||||
background: linear-gradient(to right,rgb(200,66,67),rgb(200,66,67));
|
background: linear-gradient(to right, rgb(200, 66, 67), rgb(200, 66, 67));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 滑动块样式 */
|
/* 滑动块样式 */
|
||||||
@ -238,7 +248,7 @@
|
|||||||
width: 2rem;
|
width: 2rem;
|
||||||
border-radius: 0rem;
|
border-radius: 0rem;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
border: 0.15rem solid rgb(245,95,95);
|
border: 0.15rem solid rgb(245, 95, 95);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*滑块样式-结束*/
|
/*滑块样式-结束*/
|
||||||
@ -251,7 +261,8 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-xia:hover, .icon-shang:hover {
|
.icon-xia:hover,
|
||||||
|
.icon-shang:hover {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -283,8 +294,8 @@
|
|||||||
top: 0px;
|
top: 0px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
color: white;
|
color: white;
|
||||||
display:flex;
|
display: flex;
|
||||||
flex-direction:row-reverse;
|
flex-direction: row-reverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
.around-info-left-bottom {
|
.around-info-left-bottom {
|
||||||
@ -300,128 +311,175 @@
|
|||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
color: white;
|
color: white;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction:column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
.around-info-right-bottom > .tag-item, around-info-right-top > .tag-item {
|
|
||||||
|
.around-info-right-bottom>.tag-item,
|
||||||
|
around-info-right-top>.tag-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row-reverse;
|
flex-direction: row-reverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
.process-div {
|
.process-div {
|
||||||
position:absolute;
|
position: absolute;
|
||||||
left:0;
|
left: 0;
|
||||||
top:0;
|
top: 0;
|
||||||
height:100%;
|
height: 100%;
|
||||||
width:100%;
|
width: 100%;
|
||||||
display:flex;
|
display: flex;
|
||||||
flex-direction:column;
|
flex-direction: column;
|
||||||
align-content:space-around;
|
align-content: space-around;
|
||||||
justify-content:center;
|
justify-content: center;
|
||||||
align-items:center;
|
align-items: center;
|
||||||
font-size:30px;
|
font-size: 30px;
|
||||||
color:red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-img-box {
|
.icon-img-box {
|
||||||
position:relative;
|
position: relative;
|
||||||
width:100%;
|
width: 100%;
|
||||||
height:151px;
|
height: 151px;
|
||||||
}
|
}
|
||||||
.icon-img-box > canvas {
|
|
||||||
height:149px !important;
|
.icon-img-box>canvas {
|
||||||
width:149px !important;
|
height: 149px !important;
|
||||||
|
width: 149px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 为图片设置过渡效果 */
|
/* 为图片设置过渡效果 */
|
||||||
.img-checkbox {
|
.img-checkbox {
|
||||||
transition: transform 0.3s ease;
|
transition: transform 0.3s ease;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 点击时的效果 */
|
/* 点击时的效果 */
|
||||||
.img-checkbox:active {
|
.img-checkbox:active {
|
||||||
transform: scale(0.95);
|
transform: scale(0.95);
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img-checkbox.active {
|
.img-checkbox.active {
|
||||||
border: 1px solid rgb(73, 121, 243); /* 添加边框 */
|
border: 1px solid rgb(73, 121, 243);
|
||||||
}
|
/* 添加边框 */
|
||||||
|
}
|
||||||
|
|
||||||
/* 下拉样式 */
|
/* 下拉样式 */
|
||||||
|
|
||||||
.dropdown {
|
.dropdown {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-content {
|
.dropdown-content {
|
||||||
list-style-type: none; /* 去掉前面的点 */
|
list-style-type: none;
|
||||||
display: none; /* 默认隐藏 */
|
/* 去掉前面的点 */
|
||||||
|
display: none;
|
||||||
|
/* 默认隐藏 */
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background-color: #f9f9f9;
|
background-color: #f9f9f9;
|
||||||
min-width: 61px;
|
min-width: 61px;
|
||||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
||||||
z-index: 1000; /* 确保在最上层 */
|
z-index: 1000;
|
||||||
padding:5px; /* 去掉内边距 */
|
/* 确保在最上层 */
|
||||||
margin: 0; /* 去掉外边距 */
|
padding: 5px;
|
||||||
|
/* 去掉内边距 */
|
||||||
|
margin: 0;
|
||||||
|
/* 去掉外边距 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-content a {
|
.dropdown-content a {
|
||||||
color: black;
|
color: black;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-content a:hover {
|
.dropdown-content a:hover {
|
||||||
background-color:rgb(196, 213, 255);
|
background-color: rgb(196, 213, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown:hover .dropdown-content {
|
.dropdown:hover .dropdown-content {
|
||||||
display: block; /* 悬停显示下拉内容 */
|
display: block;
|
||||||
|
/* 悬停显示下拉内容 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown:hover .dropbtn {
|
.dropdown:hover .dropbtn {
|
||||||
background-color: #3e8e41; /* 悬停时的按钮颜色 */
|
background-color: #3e8e41;
|
||||||
|
/* 悬停时的按钮颜色 */
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="container">
|
<div id="container">
|
||||||
<div id="top-menu" >
|
<div id="top-menu">
|
||||||
<img title="放大镜" style="width: 35px;height: 35px; margin-left: 5px;" id="Magnify" class="img-checkbox" onclick="switchAction('Magnify',1,this)" src="/static/放大镜.jpg"/>
|
<img title="放大镜" style="width: 35px;height: 35px; margin-left: 5px;" id="Magnify" class="img-checkbox"
|
||||||
<img title="平移" style="width: 50px;height: 50px;" id="Pan" class="img-checkbox" onclick="switchAction('Pan',1,this)" src="/static/平移.jpg"/>
|
onclick="switchAction('Magnify',1,this)" src="/static/放大镜.jpg" />
|
||||||
<img title="左键缩放" style="width: 50px;height: 50px;" id="Zoom" class="img-checkbox" onclick="switchAction('Zoom',1,this)" src="/static/缩放.jpg"/>
|
<img title="平移" style="width: 50px;height: 50px;" id="Pan" class="img-checkbox"
|
||||||
<img title="滚轮缩放" style="width: 50px;height: 50px;" id="ZoomMouseWheel" class="img-checkbox" onclick="switchAction('ZoomMouseWheel',1,this)" src="/static/滚轮缩放.jpg" />
|
onclick="switchAction('Pan',1,this)" src="/static/平移.jpg" />
|
||||||
<img title="对比度" style="width: 50px;height: 50px;" id="Wwwc" class="img-checkbox" onclick="switchAction('Wwwc',1,this)" src="/static/对比度.jpg"/>
|
<img title="左键缩放" style="width: 50px;height: 50px;" id="Zoom" class="img-checkbox"
|
||||||
<img title="选区对比度" style="width: 50px;height: 50px;" id="WwwcRegion" class="img-checkbox" onclick="switchAction('WwwcRegion',1,this)" src="/static/选区对比度.jpg"/>
|
onclick="switchAction('Zoom',1,this)" src="/static/缩放.jpg" />
|
||||||
<img title="比例尺" style="width: 50px;height: 50px;" id="ScaleOverlay" class="img-checkbox" onclick="switchAction('ScaleOverlay',1,this)" src="/static/比例尺.jpg"/>
|
<img title="滚轮缩放" style="width: 50px;height: 50px;" id="ZoomMouseWheel" class="img-checkbox"
|
||||||
<img title="旋转" style="width: 50px;height: 50px;" id="Rotate" class="img-checkbox" onclick="switchAction('Rotate',1,this)" src="/static/旋转.jpg"/>
|
onclick="switchAction('ZoomMouseWheel',1,this)" src="/static/滚轮缩放.jpg" />
|
||||||
<img title="方向标记" style="width: 50px;height: 50px;" id="OrientationMarkers" class="img-checkbox" onclick="switchAction('OrientationMarkers',1,this)" src="/static/方向标记.jpg"/>
|
<img title="对比度" style="width: 50px;height: 50px;" id="Wwwc" class="img-checkbox"
|
||||||
<img title="角度" style="width: 50px;height: 50px;" id="Angle" class="img-checkbox" onclick="switchAction('Angle',1,this)" src="/static/角度.jpg"/>
|
onclick="switchAction('Wwwc',1,this)" src="/static/对比度.jpg" />
|
||||||
<img title="箭头注释" style="width: 50px;height: 50px;" id="ArrowAnnotate" class="img-checkbox" onclick="switchAction('ArrowAnnotate',1,this)" src="/static/箭头注释.jpg"/>
|
<img title="选区对比度" style="width: 50px;height: 50px;" id="WwwcRegion" class="img-checkbox"
|
||||||
<img title="长宽尺" style="width: 50px;height: 50px;" id="Bidirectional" class="img-checkbox" onclick="switchAction('Bidirectional',1,this)" src="/static/长宽尺.jpg"/>
|
onclick="switchAction('WwwcRegion',1,this)" src="/static/选区对比度.jpg" />
|
||||||
<img title="科布角" style="width: 50px;height: 50px;" id="CobbAngle" class="img-checkbox" onclick="switchAction('CobbAngle',1,this)" src="/static/科布角.jpg"/>
|
<img title="比例尺" style="width: 50px;height: 50px;" id="ScaleOverlay" class="img-checkbox"
|
||||||
<img title="椭圆选区" style="width: 50px;height: 50px;" id="EllipticalRoi" class="img-checkbox" onclick="switchAction('EllipticalRoi',1,this)" src="/static/椭圆选区.jpg"/>
|
onclick="switchAction('ScaleOverlay',1,this)" src="/static/比例尺.jpg" />
|
||||||
<img title="自由选区" style="width: 50px;height: 50px;" id="FreehandRoi" class="img-checkbox" onclick="switchAction('FreehandRoi',1,this)" src="/static/自由选区.jpg"/>
|
<img title="旋转" style="width: 50px;height: 50px;" id="Rotate" class="img-checkbox"
|
||||||
<img title="长度尺" style="width: 50px;height: 50px;" id="Length" class="img-checkbox" onclick="switchAction('Length',1,this)" src="/static/长度尺.jpg"/>
|
onclick="switchAction('Rotate',1,this)" src="/static/旋转.jpg" />
|
||||||
<img title="探针" style="width: 50px;height: 50px;" id="Probe" class="img-checkbox" onclick="switchAction('Probe',1,this)" src="/static/探针.jpg"/>
|
<img title="方向标记" style="width: 50px;height: 50px;" id="OrientationMarkers" class="img-checkbox"
|
||||||
<img title="矩形选区" style="width: 50px;height: 50px;" id="RectangleRoi" class="img-checkbox" onclick="switchAction('RectangleRoi',1,this)" src="/static/矩形选区.jpg"/>
|
onclick="switchAction('OrientationMarkers',1,this)" src="/static/方向标记.jpg" />
|
||||||
<img title="文本标记" style="width: 50px;height: 50px;" id="TextMarker" class="img-checkbox" onclick="switchAction('TextMarker',1,this)" src="/static/箭头注释.jpg"/>
|
<img title="角度" style="width: 50px;height: 50px;" id="Angle" class="img-checkbox"
|
||||||
<img title="左键翻页" style="width: 50px;height: 50px;" id="StackScroll" class="img-checkbox" onclick="switchAction('StackScroll',1,this)" src="/static/左键翻页.jpg"/>
|
onclick="switchAction('Angle',1,this)" src="/static/角度.jpg" />
|
||||||
<img title="滚轮翻页" style="width: 50px;height: 50px;" id="StackScrollMouseWheel" class="img-checkbox" onclick="switchAction('StackScrollMouseWheel',1,this)" src="/static/鼠标翻页.jpg"/>
|
<img title="箭头注释" style="width: 50px;height: 50px;" id="ArrowAnnotate" class="img-checkbox"
|
||||||
<img title="反转色" style="width: 50px;height: 50px;" id="invert" class="img-checkbox" onclick="invert(1,this)" src="/static/反转色.jpg"/>
|
onclick="switchAction('ArrowAnnotate',1,this)" src="/static/箭头注释.jpg" />
|
||||||
<img title="色彩对比" style="width: 50px;height: 50px;" id="changeColorx" class="img-checkbox" onclick="changColor(1,this)" src="/static/色彩对比.jpg"/>
|
<img title="长宽尺" style="width: 50px;height: 50px;" id="Bidirectional" class="img-checkbox"
|
||||||
<img title="重置" id="reset" style="width: 50px;height: 50px;" onclick="resetTool()" class="img-checkbox" src="/static/重置.jpg"/>
|
onclick="switchAction('Bidirectional',1,this)" src="/static/长宽尺.jpg" />
|
||||||
|
<img title="科布角" style="width: 50px;height: 50px;" id="CobbAngle" class="img-checkbox"
|
||||||
|
onclick="switchAction('CobbAngle',1,this)" src="/static/科布角.jpg" />
|
||||||
|
<img title="椭圆选区" style="width: 50px;height: 50px;" id="EllipticalRoi" class="img-checkbox"
|
||||||
|
onclick="switchAction('EllipticalRoi',1,this)" src="/static/椭圆选区.jpg" />
|
||||||
|
<img title="自由选区" style="width: 50px;height: 50px;" id="FreehandRoi" class="img-checkbox"
|
||||||
|
onclick="switchAction('FreehandRoi',1,this)" src="/static/自由选区.jpg" />
|
||||||
|
<img title="长度尺" style="width: 50px;height: 50px;" id="Length" class="img-checkbox"
|
||||||
|
onclick="switchAction('Length',1,this)" src="/static/长度尺.jpg" />
|
||||||
|
<img title="探针" style="width: 50px;height: 50px;" id="Probe" class="img-checkbox"
|
||||||
|
onclick="switchAction('Probe',1,this)" src="/static/探针.jpg" />
|
||||||
|
<img title="矩形选区" style="width: 50px;height: 50px;" id="RectangleRoi" class="img-checkbox"
|
||||||
|
onclick="switchAction('RectangleRoi',1,this)" src="/static/矩形选区.jpg" />
|
||||||
|
<img title="文本标记" style="width: 50px;height: 50px;" id="TextMarker" class="img-checkbox"
|
||||||
|
onclick="switchAction('TextMarker',1,this)" src="/static/箭头注释.jpg" />
|
||||||
|
<img title="左键翻页" style="width: 50px;height: 50px;" id="StackScroll" class="img-checkbox"
|
||||||
|
onclick="switchAction('StackScroll',1,this)" src="/static/左键翻页.jpg" />
|
||||||
|
<img title="滚轮翻页" style="width: 50px;height: 50px;" id="StackScrollMouseWheel" class="img-checkbox"
|
||||||
|
onclick="switchAction('StackScrollMouseWheel',1,this)" src="/static/鼠标翻页.jpg" />
|
||||||
|
<img title="反转色" style="width: 50px;height: 50px;" id="invert" class="img-checkbox" onclick="invert(1,this)"
|
||||||
|
src="/static/反转色.jpg" />
|
||||||
|
<img title="色彩对比" style="width: 50px;height: 50px;" id="changeColorx" class="img-checkbox"
|
||||||
|
onclick="changColor(1,this)" src="/static/色彩对比.jpg" />
|
||||||
|
<img title="截图" id="screenshot" style="width: 50px;height: 50px;" onclick="screenshotTool()"
|
||||||
|
class="img-checkbox" src="/static/相机.jpg" />
|
||||||
|
<img title="重置" id="reset" style="width: 50px;height: 50px;" onclick="resetTool()" class="img-checkbox"
|
||||||
|
src="/static/重置.jpg" />
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<img style="width: 36px;height: 36px;" class="dropbtn" src="/static/布局2x.jpg"/>
|
<img style="width: 36px;height: 36px;" class="dropbtn" src="/static/布局2x.jpg" />
|
||||||
<ul class="dropdown-content">
|
<ul class="dropdown-content">
|
||||||
<li><a data-value="1x1"><img src="/static/1.1.jpg"/>1x1</a></li>
|
<li><a data-value="1x1"><img src="/static/1.1.jpg" />1x1</a></li>
|
||||||
<li><a data-value="1x2"><img src="/static/1.2.jpg"/>1x2</a></li>
|
<li><a data-value="1x2"><img src="/static/1.2.jpg" />1x2</a></li>
|
||||||
<li><a data-value="2x1"><img src="/static/2.1.jpg"/>2x1</a></li>
|
<li><a data-value="2x1"><img src="/static/2.1.jpg" />2x1</a></li>
|
||||||
<li><a data-value="2x2"><img src="/static/2.2.jpg"/>2x2</a></li>
|
<li><a data-value="2x2"><img src="/static/2.2.jpg" />2x2</a></li>
|
||||||
<li><a data-value="2x3"><img src="/static/2.3.jpg"/>2x3</a></li>
|
<li><a data-value="2x3"><img src="/static/2.3.jpg" />2x3</a></li>
|
||||||
<li><a data-value="3x2"><img src="/static/3.2.jpg"/>3x2</a></li>
|
<li><a data-value="3x2"><img src="/static/3.2.jpg" />3x2</a></li>
|
||||||
<li><a data-value="3x3"><img src="/static/3.3.jpg"/>3x3</a></li>
|
<li><a data-value="3x3"><img src="/static/3.3.jpg" />3x3</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input style="display: none;" type="text" id='row-count' placeholder="行数" value='1' /> x <input style="display: none;" type="text" id='column-count' placeholder="列数" value='1' /> <input style="display: none;" type='button' onclick="doCreate()" value="生成" />
|
<input style="display: none;" type="text" id='row-count' placeholder="行数" value='1' /> x <input
|
||||||
|
style="display: none;" type="text" id='column-count' placeholder="列数" value='1' /> <input
|
||||||
|
style="display: none;" type='button' onclick="doCreate()" value="生成" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -433,10 +491,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
//url参数与请求
|
||||||
|
var methodStr = GetQueryString("method");
|
||||||
|
document.getElementById("screenshot").style.display = "none";
|
||||||
|
if (methodStr && methodStr == "PathologyView") {
|
||||||
|
document.getElementById("screenshot").style.display = "";
|
||||||
|
}
|
||||||
|
|
||||||
// 获取下拉菜单的父元素
|
//获取下拉菜单的父元素
|
||||||
var dropdownMenu = document.querySelector('.dropdown-content');
|
var dropdownMenu = document.querySelector('.dropdown-content');
|
||||||
dropdownMenu.addEventListener('click', function(event) {
|
dropdownMenu.addEventListener('click', function (event) {
|
||||||
var target = event.target;
|
var target = event.target;
|
||||||
while (target != dropdownMenu) {
|
while (target != dropdownMenu) {
|
||||||
if (target.tagName === 'A') {
|
if (target.tagName === 'A') {
|
||||||
@ -452,16 +516,17 @@ dropdownMenu.addEventListener('click', function(event) {
|
|||||||
}
|
}
|
||||||
target = target.parentElement;
|
target = target.parentElement;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 获取容器元素
|
// 获取容器元素
|
||||||
var container = document.getElementById('top-menu');
|
var container = document.getElementById('top-menu');
|
||||||
var activeImg = null; // 存储当前激活的图片元素
|
var activeImg = null; // 存储当前激活的图片元素
|
||||||
|
|
||||||
container.addEventListener('click', function(event) {
|
container.addEventListener('click', function (event) {
|
||||||
var target = event.target;
|
var target = event.target;
|
||||||
var excludeId = 'reset'; // 要排除的图片元素的id
|
//要排除的图片元素的id
|
||||||
if (target.id === excludeId) {
|
var excludeIds = ['reset', 'screenshot'];
|
||||||
|
if (target.id && excludeIds.includes(target.id)) {
|
||||||
// 如果点击的是排除的图片,直接返回不执行任何操作
|
// 如果点击的是排除的图片,直接返回不执行任何操作
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -482,7 +547,8 @@ container.addEventListener('click', function(event) {
|
|||||||
activeImg = target;
|
activeImg = target;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
@ -216,6 +216,55 @@ function disableFunctions(currentFun) {
|
|||||||
const toolFunction = ["ScaleOverlay", "OrientationMarkers"]
|
const toolFunction = ["ScaleOverlay", "OrientationMarkers"]
|
||||||
const wheelFunction = ["ZoomMouseWheel"]
|
const wheelFunction = ["ZoomMouseWheel"]
|
||||||
|
|
||||||
|
//截图按钮
|
||||||
|
function screenshotTool() {
|
||||||
|
let dicomCenter = document.getElementById('dicom-img-box_0_0');
|
||||||
|
if (dicomCenter) {
|
||||||
|
let canvasCenter = document.querySelector("#dicomImage_0_0 canvas");
|
||||||
|
let sliderCenter = document.querySelector("#dicom-img-box_0_0 .slider-container");
|
||||||
|
try {
|
||||||
|
dicomCenter.style.borderWidth = "0px";
|
||||||
|
if (canvasCenter)
|
||||||
|
canvasCenter.crossorign = "anonymous";
|
||||||
|
if (sliderCenter)
|
||||||
|
sliderCenter.style.display = "none";
|
||||||
|
let targetWidth = dicomCenter.offsetWidth + 6;
|
||||||
|
let targetHeight = dicomCenter.offsetHeight + 4;
|
||||||
|
html2canvas(
|
||||||
|
dicomCenter,
|
||||||
|
{
|
||||||
|
allowTaint: false,
|
||||||
|
taintTest: false,
|
||||||
|
logging: false,
|
||||||
|
useCORS: true,
|
||||||
|
width: targetWidth,
|
||||||
|
height: targetHeight,
|
||||||
|
dpi: window.devicePixelRatio * 12, //将分辨率提高到特定的DPI 提高四倍
|
||||||
|
scale: 12, //按比例增加分辨率
|
||||||
|
}
|
||||||
|
).then((canvas) => {
|
||||||
|
canvas.crossorign = "anonymous";
|
||||||
|
let imageDataUrl = canvas.toDataURL('image/jpeg', 1);
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
url: 'http://127.0.0.1:48080/admin-api/ultrasoniccom/ultrasonic/ftpimage',
|
||||||
|
data: JSON.stringify({ id: window.localStorage.regid_pathology, imagebase: imageDataUrl, imgType: '3' }),
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
alert('添加成功,请刷新报告单中的图片');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} finally {
|
||||||
|
dicomCenter.style.borderWidth = "";
|
||||||
|
if (canvasCenter)
|
||||||
|
canvasCenter.crossorign = "";
|
||||||
|
if (sliderCenter)
|
||||||
|
sliderCenter.style.display = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//撤销所有改动
|
//撤销所有改动
|
||||||
function resetTool() {
|
function resetTool() {
|
||||||
//反转色
|
//反转色
|
||||||
@ -399,7 +448,7 @@ function initConerstoneAndData() {
|
|||||||
|
|
||||||
// load images and set the stack
|
// load images and set the stack
|
||||||
cornerstone.loadImage(imageIds[0]).then((image) => {
|
cornerstone.loadImage(imageIds[0]).then((image) => {
|
||||||
updateProcess(stateData.imgIndex,"initConerstoneAndData")
|
updateProcess(stateData.imgIndex, "initConerstoneAndData")
|
||||||
initSlider(stateData.element);
|
initSlider(stateData.element);
|
||||||
cornerstone.displayImage(stateData.element, image)
|
cornerstone.displayImage(stateData.element, image)
|
||||||
cornerstoneTools.addStackStateManager(stateData.element, ['stack'])
|
cornerstoneTools.addStackStateManager(stateData.element, ['stack'])
|
||||||
@ -444,7 +493,7 @@ function initImgList(data) {
|
|||||||
//$("#dicom-list").append('<img id="img_' + i + '" onclick="changeIndex(' + i + ')" class="' + className + '" src="' + data.seriesList[i].thumbUrl + '"/>');
|
//$("#dicom-list").append('<img id="img_' + i + '" onclick="changeIndex(' + i + ')" class="' + className + '" src="' + data.seriesList[i].thumbUrl + '"/>');
|
||||||
//$("#dicom-list").append('<div class="icon-img-box" onclick="changeIndex(' + i + ')"><img id="img_' + i + '" class="' + className + '" src="' + data.seriesList[i].thumbUrl + '"/><div class="process-div" id="process-' + i + '"></div></div>');
|
//$("#dicom-list").append('<div class="icon-img-box" onclick="changeIndex(' + i + ')"><img id="img_' + i + '" class="' + className + '" src="' + data.seriesList[i].thumbUrl + '"/><div class="process-div" id="process-' + i + '"></div></div>');
|
||||||
//$("#dicom-list").append('<div class="icon-img-box" id="icon-img-box-'+i+'" onclick="changeIndex(' + i + ')"><img id="img_' + i + '" class="' + className + '"/><div class="process-div" id="process-' + i + '"></div></div>');
|
//$("#dicom-list").append('<div class="icon-img-box" id="icon-img-box-'+i+'" onclick="changeIndex(' + i + ')"><img id="img_' + i + '" class="' + className + '"/><div class="process-div" id="process-' + i + '"></div></div>');
|
||||||
$("#dicom-list").append('<div style="height: 220px;" class="icon-img-box ' + className + '" id="icon-img-box-' + i + '" onclick="changeIndex(' + i + ')"><div class="process-div" id="process-' + i + '"></div><span style="color: white;word-wrap: break-word;font-size: 16px; id="h_' + i + '" >' + data.seriesList[i].SeriesDesc +'</span></div>');
|
$("#dicom-list").append('<div style="height: 220px;" class="icon-img-box ' + className + '" id="icon-img-box-' + i + '" onclick="changeIndex(' + i + ')"><div class="process-div" id="process-' + i + '"></div><span style="color: white;word-wrap: break-word;font-size: 16px; id="h_' + i + '" >' + data.seriesList[i].SeriesDesc + '</span></div>');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -669,8 +718,8 @@ function cacheImages() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var cacheProcess = {
|
var cacheProcess = {
|
||||||
taskSize:0,//当前正在进行的任务数量
|
taskSize: 0,//当前正在进行的任务数量
|
||||||
maxSize:10 //同时最大缓存个数
|
maxSize: 10 //同时最大缓存个数
|
||||||
}
|
}
|
||||||
|
|
||||||
var queue = [];
|
var queue = [];
|
||||||
@ -692,7 +741,7 @@ function initQueue() {
|
|||||||
console.log("队列push消息", message);
|
console.log("队列push消息", message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("初始化队列完成",queue);
|
console.log("初始化队列完成", queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
var cacheInterval = null;
|
var cacheInterval = null;
|
||||||
@ -799,7 +848,7 @@ function setImgListParentHeight() {
|
|||||||
const height = $(window).height() - $("#top-menu").height()
|
const height = $(window).height() - $("#top-menu").height()
|
||||||
$("#dicom-list").css("max-height", height + "px")
|
$("#dicom-list").css("max-height", height + "px")
|
||||||
|
|
||||||
console.log("window的高度",$(window).height());
|
console.log("window的高度", $(window).height());
|
||||||
console.log("topMenu的高度", $("#top-menu").height());
|
console.log("topMenu的高度", $("#top-menu").height());
|
||||||
console.log("dicom-list高度", $("#dicom-list").height());
|
console.log("dicom-list高度", $("#dicom-list").height());
|
||||||
}
|
}
|
20
public/static/dicom/js/html2canvas.min.js
vendored
Normal file
20
public/static/dicom/js/html2canvas.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
public/static/原生边框.jpg
Normal file
BIN
public/static/原生边框.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
BIN
public/static/相机.jpg
Normal file
BIN
public/static/相机.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
@ -6,8 +6,8 @@ export interface updateexamineimageVO {
|
|||||||
|
|
||||||
id: string // 主键
|
id: string // 主键
|
||||||
isDelete: string // 删除标记
|
isDelete: string // 删除标记
|
||||||
deletePerson:string//删除人
|
deletePerson: string//删除人
|
||||||
selected:string//是否选中
|
selected: string//是否选中
|
||||||
}
|
}
|
||||||
export interface insimagescreenshotVO {
|
export interface insimagescreenshotVO {
|
||||||
|
|
||||||
@ -19,37 +19,41 @@ export interface insimagescreenshotVO {
|
|||||||
// 超声组件 API
|
// 超声组件 API
|
||||||
export const ultrasoniccomApi = {
|
export const ultrasoniccomApi = {
|
||||||
// 查询模版表数据
|
// 查询模版表数据
|
||||||
getreporttemplatelist: async (orgID: string,type:string,isprivate:string) => {
|
getreporttemplatelist: async (orgID: string, type: string, isprivate: string) => {
|
||||||
return await request.get({ url: `/ultrasoniccom/ultrasonic/reporttemplatetlist?orgID=${orgID}&&type=${type}&&isprivate=${isprivate}` })
|
return await request.get({ url: `/ultrasoniccom/ultrasonic/reporttemplatetlist?orgID=${orgID}&&type=${type}&&isprivate=${isprivate}` })
|
||||||
},
|
},
|
||||||
|
// 查询病理图片表数据
|
||||||
|
getpathologyimglist: async (orgID: string, regID: string, select: string) => {
|
||||||
|
return await request.get({ url: `/ultrasoniccom/ultrasonic/getpathologyimglist?orgID=${orgID}&®ID=${regID}&&select=${select}` })
|
||||||
|
},
|
||||||
// 查询图片表数据
|
// 查询图片表数据
|
||||||
getimageslist: async (orgID: string,regID:string,select:string) => {
|
getimageslist: async (orgID: string, regID: string, select: string) => {
|
||||||
return await request.get({ url: `/ultrasoniccom/ultrasonic/getimageslist?orgID=${orgID}&®ID=${regID}&&select=${select}` })
|
return await request.get({ url: `/ultrasoniccom/ultrasonic/getimageslist?orgID=${orgID}&®ID=${regID}&&select=${select}` })
|
||||||
},
|
},
|
||||||
// 查询图片表数据
|
// 查询图片表数据
|
||||||
updateexamineimagelist: async (data:updateexamineimageVO[]) => {
|
updateexamineimagelist: async (data: updateexamineimageVO[]) => {
|
||||||
return await request.put({ url: `/ultrasoniccom/ultrasonic/examineimageupdate`, data})
|
return await request.put({ url: `/ultrasoniccom/ultrasonic/examineimageupdate`, data })
|
||||||
},
|
},
|
||||||
|
|
||||||
//更新模版使用时间
|
//更新模版使用时间
|
||||||
upreporttemplatetime: async (pid:string) => {
|
upreporttemplatetime: async (pid: string) => {
|
||||||
return await request.get({ url: `/ultrasoniccom/ultrasonic/upreporttemplatetime?pid=${pid}`})
|
return await request.get({ url: `/ultrasoniccom/ultrasonic/upreporttemplatetime?pid=${pid}` })
|
||||||
},
|
},
|
||||||
|
|
||||||
//获取dicom数据
|
//获取dicom数据
|
||||||
getdcmlist: async (studyInsta:string,orgid:string,regId:string) => {
|
getdcmlist: async (studyInsta: string, orgid: string, regId: string) => {
|
||||||
return await request.get({ url: `/ultrasoniccom/ultrasonic/getdcm?orgID=${orgid}&&studyInsta=${studyInsta}&®Id=${regId}`})
|
return await request.get({ url: `/ultrasoniccom/ultrasonic/getdcm?orgID=${orgid}&&studyInsta=${studyInsta}&®Id=${regId}` })
|
||||||
},
|
},
|
||||||
//插入截屏图片
|
//插入截屏图片
|
||||||
insimagescreenshot: async (data:insimagescreenshotVO) => {
|
insimagescreenshot: async (data: insimagescreenshotVO) => {
|
||||||
return await request.post({ url: `/ultrasoniccom/ultrasonic/insimagescreenshot`,data})
|
return await request.post({ url: `/ultrasoniccom/ultrasonic/insimagescreenshot`, data })
|
||||||
} ,
|
},
|
||||||
ftpimage: async (data:insimagescreenshotVO) => {
|
ftpimage: async (data: insimagescreenshotVO) => {
|
||||||
return await request.post({ url: `/ultrasoniccom/ultrasonic/ftpimage`,data})
|
return await request.post({ url: `/ultrasoniccom/ultrasonic/ftpimage`, data })
|
||||||
} ,
|
},
|
||||||
|
|
||||||
// 查询图片表视频数据
|
// 查询图片表视频数据
|
||||||
getImageVideo: async (regID:string) => {
|
getImageVideo: async (regID: string) => {
|
||||||
return await request.get({ url: `/ultrasoniccom/ultrasonic/GetImageVideo?regID=${regID}` })
|
return await request.get({ url: `/ultrasoniccom/ultrasonic/GetImageVideo?regID=${regID}` })
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,22 @@
|
|||||||
<div class="ultrasound-report">
|
<div class="ultrasound-report">
|
||||||
<h2>超声检查报告单</h2>
|
<h2>超声检查报告单</h2>
|
||||||
<hr />
|
<hr />
|
||||||
<div class="patient-info">
|
<div style="margin: 4px 6px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="7">门诊号:{{ infoParams.regId }}</el-col>
|
||||||
|
<el-col :span="7">姓名:{{ infoParams.pname }}</el-col>
|
||||||
|
<el-col :span="5">性别:{{ infoParams.gender }}</el-col>
|
||||||
|
<el-col :span="5">年龄:{{ age }}岁</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="7">检查号:{{ infoParams.examId }}</el-col>
|
||||||
|
<el-col :span="7">检查项目:{{ infoParams.examItemName }}</el-col>
|
||||||
|
<el-col :span="5">设备:{{ infoParams.deviceName }}</el-col>
|
||||||
|
<el-col :span="5">送检科室:{{ infoParams.billDoctorDepartment }}</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="patient-info" v-if="false">
|
||||||
<p class="info-item">门诊号:{{ infoParams.regId }}</p>
|
<p class="info-item">门诊号:{{ infoParams.regId }}</p>
|
||||||
<p class="info-item">姓名:{{ infoParams.pname }}</p>
|
<p class="info-item">姓名:{{ infoParams.pname }}</p>
|
||||||
<p class="info-item">性别:{{ infoParams.gender }}</p>
|
<p class="info-item">性别:{{ infoParams.gender }}</p>
|
||||||
@ -17,6 +32,7 @@
|
|||||||
<div class="image-gallery">
|
<div class="image-gallery">
|
||||||
<div v-for="image in reportimages" :key="image.id">
|
<div v-for="image in reportimages" :key="image.id">
|
||||||
<img alt="" style="width: 140px; height: 140px" :src="image.imgUrl" v-if="false" />
|
<img alt="" style="width: 140px; height: 140px" :src="image.imgUrl" v-if="false" />
|
||||||
|
<div style="flex: 1; height: 100%; margin-left: 6px; margin-right: 6px">
|
||||||
<el-image
|
<el-image
|
||||||
alt=""
|
alt=""
|
||||||
fit="fill"
|
fit="fill"
|
||||||
@ -28,6 +44,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="ultrasound-findings">
|
<div class="ultrasound-findings">
|
||||||
<h3>超声所见:</h3>
|
<h3>超声所见:</h3>
|
||||||
<p>{{ infoParams.examDescription }}</p>
|
<p>{{ infoParams.examDescription }}</p>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,54 +1,54 @@
|
|||||||
<template>
|
<template>
|
||||||
<ContentWrap style="height: 145px">
|
<ContentWrap style="height: 145px">
|
||||||
<!-- 搜索工作栏 影像工作站-->
|
<!-- 搜索工作栏 病理工作站-->
|
||||||
<el-form
|
<el-form
|
||||||
class="-mb-15px"
|
class="-mb-15px"
|
||||||
:model="queryParams"
|
:model="queryParams"
|
||||||
ref="queryFormRef"
|
ref="queryFormRef"
|
||||||
:inline="true"
|
:inline="true"
|
||||||
label-width="100px"
|
label-width="70px"
|
||||||
>
|
>
|
||||||
<el-row :gutter="8">
|
<el-row>
|
||||||
<el-col :span="4">
|
<el-col :span="6">
|
||||||
<el-form-item label="检查单号" prop="examId">
|
<el-form-item label="检查单号" prop="examId">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.examId"
|
v-model="queryParams.examId"
|
||||||
placeholder="检查单号"
|
placeholder="检查单号"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter="handleQuery"
|
@keyup.enter="handleQuery"
|
||||||
class="!w-160px"
|
class="item-width"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
<el-col :span="6">
|
||||||
<el-form-item label="患者姓名" prop="pName">
|
<el-form-item label="患者姓名" prop="pName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.pname"
|
v-model="queryParams.pname"
|
||||||
placeholder="请输入患者姓名"
|
placeholder="请输入患者姓名"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter="handleQuery"
|
@keyup.enter="handleQuery"
|
||||||
class="!w-160px"
|
class="item-width"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
<el-col :span="6">
|
||||||
<el-form-item label="检查项目" prop="examItemName">
|
<el-form-item label="检查项目" prop="examItemName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.examItemName"
|
v-model="queryParams.examItemName"
|
||||||
placeholder="请输入检查项"
|
placeholder="请输入检查项"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter="handleQuery"
|
@keyup.enter="handleQuery"
|
||||||
class="!w-160px"
|
class="item-width"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
<el-col :span="6">
|
||||||
<el-form-item label="报告状态" prop="reportstatus">
|
<el-form-item label="报告状态" prop="reportstatus">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="queryParams.reportstatus"
|
v-model="queryParams.reportstatus"
|
||||||
placeholder="请选择报告状态"
|
placeholder="请选择报告状态"
|
||||||
clearable
|
clearable
|
||||||
class="!w-160px"
|
class="!w-170px"
|
||||||
>
|
>
|
||||||
<el-option label="已分检" value="已分检" />
|
<el-option label="已分检" value="已分检" />
|
||||||
<el-option label="已分析" value="已分析" />
|
<el-option label="已分析" value="已分析" />
|
||||||
@ -59,8 +59,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="检查日期" prop="examDate" size="mini">
|
<el-form-item label="检查日期" prop="examDate">
|
||||||
<!-- aaaaa -->
|
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
ref="examDate_radio"
|
ref="examDate_radio"
|
||||||
v-model="examDate_radio_value"
|
v-model="examDate_radio_value"
|
||||||
@ -71,7 +70,7 @@
|
|||||||
<el-radio style="margin-right: 15px" :value="2">昨天</el-radio>
|
<el-radio style="margin-right: 15px" :value="2">昨天</el-radio>
|
||||||
<el-radio style="margin-right: 15px" :value="3">三天内</el-radio>
|
<el-radio style="margin-right: 15px" :value="3">三天内</el-radio>
|
||||||
<el-radio style="margin-right: 15px" :value="4">一周</el-radio>
|
<el-radio style="margin-right: 15px" :value="4">一周</el-radio>
|
||||||
<el-radio style="margin-right: 25px" :value="5">
|
<el-radio style="margin-right: 15px" :value="5">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
ref="examDate_picker"
|
ref="examDate_picker"
|
||||||
:disabled="examDate_radio_value === 5 ? false : true"
|
:disabled="examDate_radio_value === 5 ? false : true"
|
||||||
@ -81,7 +80,8 @@
|
|||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
||||||
class="!w-240px"
|
style="margin-left: 4px"
|
||||||
|
class="!w-250px"
|
||||||
/>
|
/>
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
@ -129,23 +129,23 @@
|
|||||||
:loading="exportLoading"
|
:loading="exportLoading"
|
||||||
v-hasPermi="['tblist:patientexamlist:export']"
|
v-hasPermi="['tblist:patientexamlist:export']"
|
||||||
>
|
>
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
<Icon icon="ep:download" class="mr-5px" />
|
||||||
|
导出
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
|
||||||
@click="dicomDataSync"
|
|
||||||
style="background-color: rgb(28, 176, 117); font-size: 14; color: rgb(255, 255, 255)"
|
|
||||||
><Icon icon="ep:refresh" class="mr-5px" /> 同步</el-button
|
|
||||||
>
|
|
||||||
<el-button
|
<el-button
|
||||||
@click="dicomDataRefresh"
|
@click="dicomDataRefresh"
|
||||||
style="background-color: rgb(28, 176, 117); font-size: 14; color: rgb(255, 255, 255)"
|
style="background-color: rgb(28, 176, 117); font-size: 14; color: rgb(255, 255, 255)"
|
||||||
><Icon icon="ep:refresh" class="mr-5px" /> 刷新</el-button
|
|
||||||
>
|
>
|
||||||
|
<Icon icon="ep:refresh" class="mr-5px" />
|
||||||
|
刷新
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
@click="selectcollect"
|
@click="selectcollect"
|
||||||
style="background-color: rgb(28, 176, 117); font-size: 14; color: rgb(255, 255, 255)"
|
style="background-color: rgb(28, 176, 117); font-size: 14; color: rgb(255, 255, 255)"
|
||||||
><Icon icon="ep:search" class="mr-5px" /> 查询收藏</el-button
|
|
||||||
>
|
>
|
||||||
|
<Icon icon="ep:search" class="mr-5px" />
|
||||||
|
查询收藏
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
@ -271,7 +271,7 @@
|
|||||||
申请
|
申请
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button link type="danger" @click.stop="collect(scope.row.id, scope.row.isFavourite)">
|
<el-button link type="danger" @click.stop="collect(scope.row.id, scope.row.isFavourite)">
|
||||||
<el-icon v-if="scope.row.isFavourite==='1'"><StarFilled /></el-icon>
|
<el-icon v-if="scope.row.isFavourite === '1'"><StarFilled /></el-icon>
|
||||||
<el-icon v-else><Star /></el-icon>
|
<el-icon v-else><Star /></el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
@ -281,7 +281,7 @@
|
|||||||
style="color: rgb(56, 119, 246)"
|
style="color: rgb(56, 119, 246)"
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click.stop="openexe(scope.row.id,scope.row.orgId,scope.row.regId,scope.row.examId)"
|
@click.stop="openexe(scope.row.id, scope.row.orgId, scope.row.regId, scope.row.examId)"
|
||||||
>
|
>
|
||||||
调图
|
调图
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -291,11 +291,10 @@
|
|||||||
style="color: rgb(56, 119, 246)"
|
style="color: rgb(56, 119, 246)"
|
||||||
size="small"
|
size="small"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click.stop=" handleEdit(scope.row,'1')"
|
@click.stop="handleEdit(scope.row, '1')"
|
||||||
>
|
>
|
||||||
报告
|
报告
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -315,20 +314,23 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { dateFormatter } from '@/utils/formatTime'
|
import { dateFormatter } from '@/utils/formatTime'
|
||||||
import download from '@/utils/download'
|
import download from '@/utils/download'
|
||||||
import { PatientexamlistApi, PatientexamlistVO } from '@/api/tblist/patientexamlist'
|
import { PatientexamlistApi } from '@/api/tblist/patientexamlist'
|
||||||
import PatientexamlistForm from './PatientexamlistForm.vue'
|
|
||||||
import DicomViewForm from '/src/views/dicomPathologyForm/dicomPathologyViewForm.vue'
|
import DicomViewForm from '/src/views/dicomPathologyForm/dicomPathologyViewForm.vue'
|
||||||
import { ultrasoniccomApi } from '@/api/ultrasoniccom'
|
|
||||||
|
|
||||||
/** PACS检查列表 列表 */
|
/** 病理工作台 **/
|
||||||
defineOptions({ name: 'PatientexamPathology' })
|
defineOptions({ name: 'PatientexamPathology' })
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
/** 组件引用 **/
|
||||||
const { t } = useI18n() // 国际化
|
const dicomViewRef = ref()
|
||||||
|
const queryFormRef = ref()
|
||||||
|
const examDate_picker = ref()
|
||||||
|
const examDate_radio = ref()
|
||||||
|
|
||||||
const loading = ref(true) // 列表的加载中
|
/** 数据结构 **/
|
||||||
const list = ref<PatientexamlistVO[]>([]) // 列表的数据
|
const message = useMessage()
|
||||||
const total = ref(0) // 列表的总页数
|
const { t } = useI18n()
|
||||||
|
//表单相关
|
||||||
|
const examDate_radio_value = ref(3)
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@ -336,7 +338,7 @@ const queryParams = reactive({
|
|||||||
pname: undefined,
|
pname: undefined,
|
||||||
gender: undefined,
|
gender: undefined,
|
||||||
birthday: undefined,
|
birthday: undefined,
|
||||||
examDate: [],
|
examDate: [] as any[],
|
||||||
deviceType: '',
|
deviceType: '',
|
||||||
seDc: undefined,
|
seDc: undefined,
|
||||||
examItemName: undefined,
|
examItemName: undefined,
|
||||||
@ -357,36 +359,41 @@ const queryParams = reactive({
|
|||||||
createTime: [],
|
createTime: [],
|
||||||
isFavourite: ''
|
isFavourite: ''
|
||||||
})
|
})
|
||||||
const queryFormRef = ref() // 搜索的表单
|
//表格相关
|
||||||
const exportLoading = ref(false) // 导出的加载中
|
const list = ref<any[]>([])
|
||||||
|
const total = ref(0)
|
||||||
|
const loading = ref(true)
|
||||||
|
const exportLoading = ref(false)
|
||||||
|
|
||||||
/** 影像组件 */
|
/** 自定义方法 **/
|
||||||
const dicomViewRef = ref()
|
const nowDate = (time) => {
|
||||||
|
var year = time.getFullYear() // 年
|
||||||
const opendicomViewFrom = (id: number, orgid: string, regid: string, examId: string,isLoaded:string) => {
|
var month = (time.getMonth() + 1).toString().padStart(2, '0') // 月
|
||||||
dicomViewRef.value.open(id, orgid, regid, examId,isLoaded)
|
var date = time.getDate().toString().padStart(2, '0') // 日
|
||||||
|
var hour = time.getHours().toString().padStart(2, '0') // 时
|
||||||
|
var minute = time.getMinutes().toString().padStart(2, '0') // 分
|
||||||
|
var second = time.getSeconds().toString().padStart(2, '0') // 秒
|
||||||
|
return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second
|
||||||
}
|
}
|
||||||
/** 表格行点击 */
|
|
||||||
const clickNumber = ref(0)
|
|
||||||
function handleEdit(row,isLoaded:string) {
|
|
||||||
console.log(111111121212)
|
|
||||||
|
|
||||||
if (!row.deviceType.includes('US')) {
|
/** 组件事件 **/
|
||||||
//US是超声类
|
const getList = async () => {
|
||||||
opendicomViewFrom(row.id, row.orgId, row.regId, row.examId,isLoaded)
|
loading.value = true
|
||||||
|
try {
|
||||||
/* clickNumber.value++;
|
queryParams.deviceType = 'CSH1'
|
||||||
if (clickNumber.value == 2) {
|
const data = await PatientexamlistApi.getPatientexamlistPage(queryParams)
|
||||||
|
list.value = data.list
|
||||||
}
|
total.value = data.total
|
||||||
clickNumber.value = 0; */
|
} finally {
|
||||||
|
loading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** aaaaa **/
|
const handleQuery = () => {
|
||||||
const examDate_picker = ref(null)
|
queryParams.pageNo = 1
|
||||||
const examDate_radio = ref(null)
|
queryParams.isFavourite = ''
|
||||||
const examDate_radio_value = ref(3)
|
getList()
|
||||||
|
}
|
||||||
|
|
||||||
const examDate_radio_change = () => {
|
const examDate_radio_change = () => {
|
||||||
if ([1, 2, 3, 4].includes(examDate_radio_value.value)) {
|
if ([1, 2, 3, 4].includes(examDate_radio_value.value)) {
|
||||||
@ -405,7 +412,6 @@ const examDate_radio_change = () => {
|
|||||||
timesta.setDate(timesta.getDate() - 7)
|
timesta.setDate(timesta.getDate() - 7)
|
||||||
queryParams.examDate = [nowDate(timesta), nowDate(timeend)]
|
queryParams.examDate = [nowDate(timesta), nowDate(timeend)]
|
||||||
}
|
}
|
||||||
|
|
||||||
handleQuery()
|
handleQuery()
|
||||||
} else if (5 === examDate_radio_value.value) {
|
} else if (5 === examDate_radio_value.value) {
|
||||||
queryParams.examDate = []
|
queryParams.examDate = []
|
||||||
@ -415,186 +421,130 @@ const examDate_radio_change = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
///转换时间格式
|
const resetQuery = () => {
|
||||||
function nowDate(time) {
|
queryFormRef.value.resetFields()
|
||||||
var year = time.getFullYear() // 年
|
examDate_radio_value.value = 3
|
||||||
var month = (time.getMonth() + 1).toString().padStart(2, '0') // 月
|
|
||||||
var date = time.getDate().toString().padStart(2, '0') // 日
|
|
||||||
var hour = time.getHours().toString().padStart(2, '0') // 时
|
|
||||||
var minute = time.getMinutes().toString().padStart(2, '0') // 分
|
|
||||||
var second = time.getSeconds().toString().padStart(2, '0') // 秒
|
|
||||||
return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 查询列表 */
|
|
||||||
const getList = async () => {
|
|
||||||
loading.value = true
|
|
||||||
try {
|
|
||||||
queryParams.deviceType = 'CT'
|
|
||||||
const data = await PatientexamlistApi.getPatientexamlistPage(queryParams)
|
|
||||||
list.value = data.list
|
|
||||||
total.value = data.total
|
|
||||||
} finally {
|
|
||||||
loading.value = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 收藏功能
|
|
||||||
const collect = async (id: string, isFavourite: string) => {
|
|
||||||
if (isFavourite == '0') {
|
|
||||||
await PatientexamlistApi.CollectAndCancellation(id,"1")
|
|
||||||
message.success('收藏成功')
|
|
||||||
|
|
||||||
} else if (isFavourite == '1') {
|
|
||||||
await PatientexamlistApi.CollectAndCancellation(id,"0")
|
|
||||||
message.success('取消成功')
|
|
||||||
}
|
|
||||||
examDate_radio_change()
|
examDate_radio_change()
|
||||||
|
if (5 === examDate_radio_value.value) handleQuery()
|
||||||
}
|
}
|
||||||
|
|
||||||
const dicomDataSync = async () => {
|
|
||||||
const data = await PatientexamlistApi.dicomDataSync()
|
|
||||||
if (data.code == 'success') {
|
|
||||||
if (data.syncItems == '0') {
|
|
||||||
message.info('暂无可同步数据')
|
|
||||||
} else {
|
|
||||||
queryParams.reportstatus = '待分析'
|
|
||||||
examDate_radio_value.value = 0
|
|
||||||
examDate_radio_change()
|
|
||||||
message.success('数据同步成功')
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
message.error('数据同步失败')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 分检数据刷新
|
|
||||||
const dicomDataRefresh = async () => {
|
const dicomDataRefresh = async () => {
|
||||||
await PatientexamlistApi.dicomDataRefresh()
|
await PatientexamlistApi.dicomDataRefresh()
|
||||||
examDate_radio_change()
|
examDate_radio_change()
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
const selectcollect = () => {
|
||||||
const handleQuery = () => {
|
queryFormRef.value.resetFields()
|
||||||
queryParams.pageNo = 1
|
queryParams.pageNo = 1
|
||||||
queryParams.deviceType = 'CT'
|
queryParams.isFavourite = '1'
|
||||||
queryParams.isFavourite=''
|
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 只查询收藏的数据
|
|
||||||
const selectcollect=()=>
|
|
||||||
{
|
|
||||||
queryFormRef.value.resetFields()
|
|
||||||
queryParams.pageNo = 1
|
|
||||||
queryParams.deviceType = 'CT'
|
|
||||||
queryParams.isFavourite='1'
|
|
||||||
getList()
|
|
||||||
}
|
|
||||||
/** 重置按钮操作 */
|
|
||||||
const resetQuery = () => {
|
|
||||||
queryFormRef.value.resetFields()
|
|
||||||
|
|
||||||
/** aaaaa **/
|
|
||||||
//新写法
|
|
||||||
examDate_radio_value.value = 1
|
|
||||||
examDate_radio_change()
|
|
||||||
if (5 === examDate_radio_value.value) handleQuery()
|
|
||||||
|
|
||||||
//老写法
|
|
||||||
//handleQuery();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 添加/修改操作 */
|
|
||||||
const formRef = ref()
|
|
||||||
const openForm = (type: string, id?: number) => {
|
|
||||||
formRef.value.open(type, id)
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 申请后更新上级机构字段*/
|
|
||||||
const getuporghiorgid = async (id: number, orgId: string, reportstatus: string) => {
|
|
||||||
try {
|
|
||||||
await message.confirm('是否要进行申请?', '确认提示')
|
|
||||||
const data = await PatientexamlistApi.getuporghiid(id, orgId)
|
|
||||||
if (data == '申请成功') {
|
|
||||||
message.success('申请成功')
|
|
||||||
// 刷新列表
|
|
||||||
await getList()
|
|
||||||
} else {
|
|
||||||
await message.info(data)
|
|
||||||
}
|
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
// 打开本地exe 通过注册表
|
|
||||||
const openexe= (id: number, orgid: string, regid: string, examId: string)=>
|
|
||||||
{
|
|
||||||
// 先查询数据
|
|
||||||
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) => {
|
|
||||||
try {
|
|
||||||
// 删除的二次确认
|
|
||||||
await message.delConfirm()
|
|
||||||
// 发起删除
|
|
||||||
await PatientexamlistApi.deletePatientexamlist(id)
|
|
||||||
message.success(t('common.delSuccess'))
|
|
||||||
// 刷新列表
|
|
||||||
await getList()
|
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
/** 申请按钮操作 */
|
|
||||||
const handleSub = async (id: number) => {
|
|
||||||
try {
|
|
||||||
// 删除的二次确认
|
|
||||||
await message.delConfirm()
|
|
||||||
// 发起删除
|
|
||||||
await PatientexamlistApi.deletePatientexamlist(id)
|
|
||||||
message.success(t('common.delSuccess'))
|
|
||||||
// 刷新列表
|
|
||||||
await getList()
|
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
/** 导出按钮操作 */
|
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
// 导出的二次确认
|
|
||||||
await message.exportConfirm()
|
await message.exportConfirm()
|
||||||
// 发起导出
|
|
||||||
exportLoading.value = true
|
exportLoading.value = true
|
||||||
const data = await PatientexamlistApi.exportPatientexamlist(queryParams)
|
const data = await PatientexamlistApi.exportPatientexamlist(queryParams)
|
||||||
download.excel(data, 'PACS检查列表.xls')
|
download.excel(data, '病理工作台列表.xls')
|
||||||
} catch {
|
} catch {
|
||||||
} finally {
|
} finally {
|
||||||
exportLoading.value = false
|
exportLoading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
const opendicomViewFrom = (
|
||||||
|
id: number,
|
||||||
|
orgid: string,
|
||||||
|
regid: string,
|
||||||
|
examId: string,
|
||||||
|
isLoaded: string
|
||||||
|
) => {
|
||||||
|
dicomViewRef.value.open(id, orgid, regid, examId, isLoaded)
|
||||||
|
}
|
||||||
|
|
||||||
|
//const clickNumber = ref(0)
|
||||||
|
const handleEdit = (row, isLoaded: string) => {
|
||||||
|
//US是超声类
|
||||||
|
if (!row.deviceType.includes('US')) {
|
||||||
|
opendicomViewFrom(row.id, row.orgId, row.regId, row.examId, isLoaded)
|
||||||
|
//clickNumber.value++
|
||||||
|
//if (clickNumber.value == 2) {
|
||||||
|
//}
|
||||||
|
//clickNumber.value = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//收藏功能
|
||||||
|
const collect = async (id: string, isFavourite: string) => {
|
||||||
|
if (isFavourite == '0') {
|
||||||
|
await PatientexamlistApi.CollectAndCancellation(id, '1')
|
||||||
|
message.success('收藏成功')
|
||||||
|
} else if (isFavourite == '1') {
|
||||||
|
await PatientexamlistApi.CollectAndCancellation(id, '0')
|
||||||
|
message.success('取消成功')
|
||||||
|
}
|
||||||
|
examDate_radio_change()
|
||||||
|
}
|
||||||
|
|
||||||
|
//申请后更新上级机构字段
|
||||||
|
const getuporghiorgid = async (id: number, orgId: string, reportstatus: string) => {
|
||||||
|
try {
|
||||||
|
await message.confirm('是否要进行申请?', '确认提示')
|
||||||
|
const data = await PatientexamlistApi.getuporghiid(id, orgId)
|
||||||
|
if (data == '申请成功') {
|
||||||
|
message.success('申请成功')
|
||||||
|
await getList()
|
||||||
|
} else {
|
||||||
|
await message.info(data)
|
||||||
|
}
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
|
//通过注册表打开本地exe
|
||||||
|
const openexe = (id: number, orgid: string, regid: string, examId: string) => {
|
||||||
|
try {
|
||||||
|
const url = `f1://${examId + ',' + orgid + ',' + regid}`
|
||||||
|
console.log(url)
|
||||||
|
window.location.href = url
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching data:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 钩子函数 **/
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
//在初始化的时候查询到当前登陆用户的机构 和上级机构
|
//在初始化的时候查询到当前登陆用户的机构和上级机构
|
||||||
/** aaaaa **/
|
|
||||||
//新代码
|
|
||||||
examDate_radio_change()
|
examDate_radio_change()
|
||||||
if (5 === examDate_radio_value.value) handleQuery()
|
if (5 === examDate_radio_value.value) handleQuery()
|
||||||
|
|
||||||
//老代码
|
|
||||||
//getList();
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/** 停用方法 **/
|
||||||
|
//删除按钮
|
||||||
|
const handleDelete = async (id: number) => {
|
||||||
|
try {
|
||||||
|
await message.delConfirm()
|
||||||
|
await PatientexamlistApi.deletePatientexamlist(id)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
|
//申请按钮
|
||||||
|
const handleSub = async (id: number) => {
|
||||||
|
try {
|
||||||
|
await message.delConfirm()
|
||||||
|
await PatientexamlistApi.deletePatientexamlist(id)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style scoped>
|
||||||
|
.item-width {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
/* 为了防止 el-form-item 的标签文本换行,可以添加以下CSS样式 */
|
/* 为了防止 el-form-item 的标签文本换行,可以添加以下CSS样式 */
|
||||||
.el-form-item__label {
|
.el-form-item__label {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
Loading…
Reference in New Issue
Block a user