阅片单元配置更改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
41b3a98594
commit
2676ff4295
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div ref="container" style="width:100%;height:100%" class="dicom-container">
|
<div ref="container" style="width:100%;height:100%" class="dicom-container">
|
||||||
<!-- 访视阅片 -->
|
<!-- 访视阅片 -->
|
||||||
<div v-if="readingCategory=== 1 && (CriterionType === 7 || CriterionType === 1 )" class="reading-wrapper">
|
<div v-if="readingCategory=== 1 && (CriterionType === 7 || ((CriterionType === 1 || CriterionType === 0) && readingVersionEnum === 1)) " class="reading-wrapper">
|
||||||
<VisitReview />
|
<VisitReview />
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="(isReadingTaskViewInOrder === 1 || ((isReadingTaskViewInOrder !== 1) && isShow)) && readingCategory=== 1 && CriterionType !== 0" class="reading-wrapper">
|
<div v-else-if="(isReadingTaskViewInOrder === 1 || ((isReadingTaskViewInOrder !== 1) && isShow)) && readingCategory=== 1 && CriterionType !== 0" class="reading-wrapper">
|
||||||
|
@ -234,7 +234,8 @@ export default {
|
||||||
isFullscreen: false,
|
isFullscreen: false,
|
||||||
tipVisible: false,
|
tipVisible: false,
|
||||||
closeCDVisible: false,
|
closeCDVisible: false,
|
||||||
cdVisitTaskId: ''
|
cdVisitTaskId: '',
|
||||||
|
readingVersionEnum: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -346,6 +347,7 @@ export default {
|
||||||
localStorage.setItem('IsExistUnprocessedFeedback', res.Result.IsExistUnprocessedFeedback)
|
localStorage.setItem('IsExistUnprocessedFeedback', res.Result.IsExistUnprocessedFeedback)
|
||||||
localStorage.setItem('taskInfo', JSON.stringify(res.Result))
|
localStorage.setItem('taskInfo', JSON.stringify(res.Result))
|
||||||
this.readingCategory = res.Result.ReadingCategory
|
this.readingCategory = res.Result.ReadingCategory
|
||||||
|
this.readingVersionEnum = res.Result.ReadingVersionEnum
|
||||||
this.questionFormChangeState = false
|
this.questionFormChangeState = false
|
||||||
this.questionFormChangeNum = 0
|
this.questionFormChangeNum = 0
|
||||||
if (this.isExistsClinicalData && this.isNeedReadClinicalData && !this.isReadClinicalData) {
|
if (this.isExistsClinicalData && this.isNeedReadClinicalData && !this.isReadClinicalData) {
|
||||||
|
|
|
@ -473,7 +473,7 @@ import {
|
||||||
import * as cornerstoneTools from '@cornerstonejs/tools'
|
import * as cornerstoneTools from '@cornerstonejs/tools'
|
||||||
import initLibraries from '@/views/trials/trials-panel/reading/dicoms/components/Fusion/js/initLibraries'
|
import initLibraries from '@/views/trials/trials-panel/reading/dicoms/components/Fusion/js/initLibraries'
|
||||||
import html2canvas from 'html2canvas'
|
import html2canvas from 'html2canvas'
|
||||||
import { getTools } from './toolConfig'
|
import { getTools, getCustomizeStandardsTools } from './toolConfig'
|
||||||
import StudyList from './StudyList'
|
import StudyList from './StudyList'
|
||||||
import Viewport from './Viewport'
|
import Viewport from './Viewport'
|
||||||
import mRecisit from './mRecist/QuestionList'
|
import mRecisit from './mRecist/QuestionList'
|
||||||
|
@ -687,30 +687,7 @@ export default {
|
||||||
const digitPlaces = Number(localStorage.getItem('digitPlaces'))
|
const digitPlaces = Number(localStorage.getItem('digitPlaces'))
|
||||||
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
|
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
|
||||||
if (this.criterionType === 0) {
|
if (this.criterionType === 0) {
|
||||||
this.tools = [{
|
this.tools = getCustomizeStandardsTools(this.taskInfo.ReadingToolList)
|
||||||
"name": "直径测量工具",
|
|
||||||
"icon": "length",
|
|
||||||
"toolName": "Length",
|
|
||||||
"i18nKey": "trials:reading:button:length",
|
|
||||||
"isDisabled": false,
|
|
||||||
"disabledReason": ''
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "矩形工具",
|
|
||||||
"icon": "rectangle",
|
|
||||||
"toolName": "RectangleROI",
|
|
||||||
"i18nKey": "trials:reading:button:rectangle",
|
|
||||||
"isDisabled": false,
|
|
||||||
"disabledReason": ''
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "箭头工具",
|
|
||||||
"icon": "arrow",
|
|
||||||
"toolName": "ArrowAnnotate",
|
|
||||||
"i18nKey": "trials:reading:button:arrowAnnotate",
|
|
||||||
"isDisabled": false,
|
|
||||||
"disabledReason": ''
|
|
||||||
}]
|
|
||||||
} else {
|
} else {
|
||||||
this.tools = getTools(this.criterionType)
|
this.tools = getTools(this.criterionType)
|
||||||
}
|
}
|
||||||
|
@ -1129,6 +1106,7 @@ export default {
|
||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
renderAnnotations(series) {
|
renderAnnotations(series) {
|
||||||
|
console.log('renderAnnotations')
|
||||||
const taskId = series.TaskInfo.VisitTaskId
|
const taskId = series.TaskInfo.VisitTaskId
|
||||||
if (!taskId || this.renderedTaskIds.includes(taskId)) return
|
if (!taskId || this.renderedTaskIds.includes(taskId)) return
|
||||||
this.renderedTaskIds.push(taskId)
|
this.renderedTaskIds.push(taskId)
|
||||||
|
|
|
@ -228,10 +228,48 @@ const config = {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"customizeStandards": [
|
||||||
|
{
|
||||||
|
"name": "直径测量工具",
|
||||||
|
"icon": "length",
|
||||||
|
"toolName": "Length",
|
||||||
|
"i18nKey": "trials:reading:button:length",
|
||||||
|
"isDisabled": false,
|
||||||
|
"disabledReason": ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "长短径测量工具",
|
||||||
|
"icon": "bidirection",
|
||||||
|
"toolName": "Bidirectional",
|
||||||
|
"i18nKey": "trials:reading:button:bidirectional",
|
||||||
|
"isDisabled": false,
|
||||||
|
"disabledReason": ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "矩形工具",
|
||||||
|
"icon": "rectangle",
|
||||||
|
"toolName": "RectangleROI",
|
||||||
|
"i18nKey": "trials:reading:button:rectangle",
|
||||||
|
"isDisabled": false,
|
||||||
|
"disabledReason": ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "箭头工具",
|
||||||
|
"icon": "arrow",
|
||||||
|
"toolName": "ArrowAnnotate",
|
||||||
|
"i18nKey": "trials:reading:button:arrowAnnotate",
|
||||||
|
"isDisabled": false,
|
||||||
|
"disabledReason": ''
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
const getTools = (criterionType) => {
|
const getTools = (criterionType) => {
|
||||||
const standard = config.standards.find(s => s.type === criterionType);
|
const standard = config.standards.find(s => s.type === criterionType);
|
||||||
return standard?.tools || [];
|
return standard?.tools || [];
|
||||||
};
|
};
|
||||||
export {config, getTools}
|
const getCustomizeStandardsTools = (toolNames) => {
|
||||||
|
const filteredTools =config.customizeStandards.filter(item => toolNames.includes(item.toolName));
|
||||||
|
return filteredTools || [];
|
||||||
|
};
|
||||||
|
export {config, getTools, getCustomizeStandardsTools}
|
||||||
|
|
|
@ -64,6 +64,28 @@
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- 测量工具 -->
|
||||||
|
<el-form-item
|
||||||
|
v-if="CriterionType === 0 && form.ReadingTool === 0 && form.ReadingTaskViewEnum === 1"
|
||||||
|
:label="$t('trials:readingUnit:readingRules:title:measureTool')"
|
||||||
|
>
|
||||||
|
<el-checkbox-group
|
||||||
|
v-model="form.ReadingToolList"
|
||||||
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-checkbox
|
||||||
|
v-for="tool in tools"
|
||||||
|
:key="tool.toolName"
|
||||||
|
:label="tool.toolName"
|
||||||
|
name="ReadingToolList"
|
||||||
|
>
|
||||||
|
{{ $t(`${tool.i18nKey}`) }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</el-form-item>
|
||||||
<!--检查类型筛选-->
|
<!--检查类型筛选-->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:processCfg:form:IsImageFilter')"
|
:label="$t('trials:processCfg:form:IsImageFilter')"
|
||||||
|
@ -593,6 +615,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getCriterionReadingInfo, setCriterionReadingInfo } from '@/api/trials'
|
import { getCriterionReadingInfo, setCriterionReadingInfo } from '@/api/trials'
|
||||||
|
import { config } from '@/views/trials/trials-panel/reading/dicoms3D/components/toolConfig'
|
||||||
export default {
|
export default {
|
||||||
name: 'ReadingRules',
|
name: 'ReadingRules',
|
||||||
props: {
|
props: {
|
||||||
|
@ -614,6 +637,8 @@ export default {
|
||||||
TrialId: '',
|
TrialId: '',
|
||||||
ImagePlatform: null,
|
ImagePlatform: null,
|
||||||
ReadingTool: 0,
|
ReadingTool: 0,
|
||||||
|
ReadingVersionEnum: null,
|
||||||
|
ReadingToolList: [],
|
||||||
ReadingTaskViewEnum: null,
|
ReadingTaskViewEnum: null,
|
||||||
IsImageLabeled: null,
|
IsImageLabeled: null,
|
||||||
IsReadingShowSubjectInfo: null,
|
IsReadingShowSubjectInfo: null,
|
||||||
|
@ -807,9 +832,14 @@ export default {
|
||||||
modalityList: [],
|
modalityList: [],
|
||||||
CriterionModalitys: [],
|
CriterionModalitys: [],
|
||||||
modalityIsCheck: false, // 是否允许影像筛选
|
modalityIsCheck: false, // 是否允许影像筛选
|
||||||
|
tools: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
if (this.CriterionType === 0) {
|
||||||
|
this.tools = [...config.customizeStandards]
|
||||||
|
}
|
||||||
|
|
||||||
this.initPage()
|
this.initPage()
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
Loading…
Reference in New Issue