From 1d009c8e1889519c734e4e537e3c5d3b20ad610f Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Tue, 22 Jul 2025 16:21:12 +0800
Subject: [PATCH] =?UTF-8?q?=E9=9D=9EDICOM=E5=B7=A5=E5=85=B7=E7=9A=84?=
=?UTF-8?q?=E6=B5=8B=E9=87=8F=E5=B7=A5=E5=85=B7=EF=BC=8C=E8=83=BD=E5=90=A6?=
=?UTF-8?q?=E4=B9=9F=E6=98=AF=E5=92=8CDICOM=E7=9A=84=E6=B5=8B=E9=87=8F?=
=?UTF-8?q?=E5=B7=A5=E5=85=B7=E4=B8=80=E6=A0=B7=EF=BC=8C=E9=80=89=E6=8B=A9?=
=?UTF-8?q?=E4=BA=86=E5=93=AA=E4=BA=9B=E6=89=8D=E5=B1=95=E7=A4=BA=E9=82=A3?=
=?UTF-8?q?=E4=BA=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../visit-review/components/FileViewer.vue | 128 ++++++++++++------
.../reading-unit/components/ReadingRules.vue | 16 ++-
2 files changed, 94 insertions(+), 50 deletions(-)
diff --git a/src/views/trials/trials-panel/reading/visit-review/components/FileViewer.vue b/src/views/trials/trials-panel/reading/visit-review/components/FileViewer.vue
index eb827254..c9756686 100644
--- a/src/views/trials/trials-panel/reading/visit-review/components/FileViewer.vue
+++ b/src/views/trials/trials-panel/reading/visit-review/components/FileViewer.vue
@@ -31,48 +31,12 @@
:title="$t('trials:reading:button:rotate')" @click.prevent="setToolActive('PlanarRotate')">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -242,6 +227,7 @@ import Others from '@/views/trials/trials-panel/reading/dicoms/components/Others
const { ViewportType } = Enums
const renderingEngineId = 'myRenderingEngine'
import LengthscaleTool from "../tools/LengthscaleTool"
+import { getCustomizeStandardsNoneDicomTools, config } from '@/views/trials/trials-panel/reading/dicoms3D/components/toolConfig'
const {
ToolGroupManager,
Enums: csToolsEnums,
@@ -306,7 +292,11 @@ export default {
{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' },
{ pattern: /^\d+$/, message: this.$t('trials:noneDicom:message:msg3'), trigger: ['blur', 'change'] }
]
- }
+ },
+
+ customizeStandardsNoneDicom: [],
+ tools: [],
+ criterionType: null
}
},
computed: {
@@ -357,7 +347,16 @@ export default {
},
mounted() {
this.taskInfo = JSON.parse(localStorage.getItem('taskInfo'))
+ console.log(this.taskInfo, 'this.taskInfo')
this.readingTaskState = this.taskInfo.ReadingTaskState
+ this.criterionType = this.taskInfo.CriterionType
+ if (this.criterionType === 0) {
+ this.tools = getCustomizeStandardsNoneDicomTools(this.taskInfo.ReadingToolList)
+ const toolNames = this.tools.map(i => i.toolName)
+ this.customizeStandardsNoneDicom = config.customizeStandardsNoneDicom.filter(item => !toolNames.includes(item.toolName))
+ } else {
+ this.tools = config.customizeStandardsNoneDicom
+ }
if (!this.taskInfo.IsBaseLine && this.taskInfo.IsReadingTaskViewInOrder !== 0) {
this.rows = 1
this.cols = 2
@@ -387,6 +386,12 @@ export default {
window.removeEventListener('message', this.handleIframeMessage)
},
methods: {
+ showPanel(e) {
+ e.currentTarget.firstChild.lastChild.style.display = 'block'
+ },
+ toolMouseout(e) {
+ e.currentTarget.firstChild.lastChild.style.display = 'none'
+ },
// 初始化加载器
async initLoader() {
registerWebImageLoader(imageLoader)
@@ -1310,6 +1315,43 @@ export default {
cursor: default !important;
}
+.dropdown {
+ position: relative;
+ display: inline-block;
+
+ .text {
+ text-align: center;
+ }
+}
+
+.dropdown-content {
+ display: none;
+ position: absolute;
+ background-color: #383838;
+ color: #fff;
+ box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
+ z-index: 9999;
+ font-size: 12px;
+
+ ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ text-align: center;
+
+ li {
+ a {
+ display: block;
+ padding: 5px;
+ }
+ }
+ }
+
+ ul li a:hover {
+ background-color: #727272;
+ }
+}
+
.none-dicom-viewer {
display: flex;
flex-direction: column;
diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue b/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue
index ace5da5d..b359e87c 100644
--- a/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue
+++ b/src/views/trials/trials-panel/setting/reading-unit/components/ReadingRules.vue
@@ -558,13 +558,7 @@ export default {
},
mounted() {
if (this.CriterionType === 0) {
- // this.tools = [...config.customizeStandards]
- if (this.form.ReadingTool === 0 || this.form.ReadingTool === 2) {
- this.tools = [...config.customizeStandards]
- }
- if (this.form.ReadingTool === 1) {
- this.tools = [...config.customizeStandardsNoneDicom]
- }
+ this.tools = [...config.customizeStandards]
}
this.initPage()
@@ -631,6 +625,14 @@ export default {
this.form[k] = res.Result[k]
}
}
+ if (this.CriterionType === 0) {
+ if (this.form.ReadingTool === 0 || this.form.ReadingTool === 2) {
+ this.tools = [...config.customizeStandards]
+ }
+ if (this.form.ReadingTool === 1) {
+ this.tools = [...config.customizeStandardsNoneDicom]
+ }
+ }
this.CriterionModalitys = this.form.CriterionModalitys
? this.form.CriterionModalitys.split('|')
: []