From 0a752ed92f176930726138399d8070304829f321 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Tue, 22 Jul 2025 14:00:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9Edicom=E9=98=85=E7=89=87=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms3D/components/toolConfig.js | 73 +- .../reading-unit/components/ReadingRules.vue | 644 ++++++------------ 2 files changed, 262 insertions(+), 455 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/toolConfig.js b/src/views/trials/trials-panel/reading/dicoms3D/components/toolConfig.js index 08a2d80b..daa9f21c 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/toolConfig.js +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/toolConfig.js @@ -293,7 +293,72 @@ const config = { 'isDisabled': false, 'disabledReason': '' } - ] + ], + 'customizeStandardsNoneDicom': [ + { + 'name': '直径测量工具', + 'icon': 'length', + 'toolName': 'Length', + 'props': ['length'], + 'i18nKey': 'trials:reading:button:length', + 'isDisabled': false, + 'disabledReason': '' + }, + { + 'name': '矩形工具', + 'icon': 'rectangle', + 'toolName': 'RectangleROI', + 'props': ['area', 'mean', 'max', 'stdDev'], + 'i18nKey': 'trials:reading:button:rectangle', + 'isDisabled': false, + 'disabledReason': '' + }, + { + 'name': '箭头工具', + 'icon': 'arrow', + 'toolName': 'ArrowAnnotate', + 'props': [], + 'i18nKey': 'trials:reading:button:arrowAnnotate', + 'isDisabled': false, + 'disabledReason': '' + }, + { + 'name': '圆形工具', + 'icon': 'oval', + 'toolName': 'CircleROI', + 'props': ['radius', 'area', 'mean', 'max', 'stdDev'], + 'i18nKey': 'trials:reading:button:Circle', + 'isDisabled': false, + 'disabledReason': '' + }, + { + 'name': '椭圆工具', + 'icon': 'elliptical', + 'toolName': 'EllipticalROI', + 'props': ['radius', 'area', 'mean', 'max', 'stdDev'], + 'i18nKey': 'trials:reading:button:Elliptical', + 'isDisabled': false, + 'disabledReason': '' + }, + { + 'name': '角度工具', + 'icon': 'angle', + 'toolName': 'Angle', + 'props': ['angle'], + 'i18nKey': 'trials:reading:button:Angle', + 'isDisabled': false, + 'disabledReason': '' + }, + { + 'name': '自由曲线', + 'icon': 'polygon', + 'toolName': 'PlanarFreehandROI', + 'props': [], + 'i18nKey': 'trials:reading:button:planarFreehandROI', + 'isDisabled': false, + 'disabledReason': '' + }, + ], } const getTools = (criterionType) => { const standard = config.standards.find(s => s.type === criterionType) @@ -303,4 +368,8 @@ const getCustomizeStandardsTools = (toolNames) => { const filteredTools = config.customizeStandards.filter(item => toolNames.includes(item.toolName)) return filteredTools || [] } -export { config, getTools, getCustomizeStandardsTools } +const getCustomizeStandardsNoneDicomTools = (toolNames) => { + const filteredTools = config.customizeStandardsNoneDicom.filter(item => toolNames.includes(item.toolName)) + return filteredTools || [] +} +export { config, getTools, getCustomizeStandardsTools, getCustomizeStandardsNoneDicomTools } 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 2572ac82..ace5da5d 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 @@ -1,350 +1,182 @@