非dicom阅片工具配置
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
eab207fc35
commit
0a752ed92f
|
@ -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 }
|
||||
|
|
|
@ -1,350 +1,182 @@
|
|||
<template>
|
||||
<div class="reading-rule-config-form">
|
||||
<!-- 配置信息表单 -->
|
||||
<el-form
|
||||
ref="readingRulesForm"
|
||||
v-loading="loading"
|
||||
:model="form"
|
||||
style="width: 800px"
|
||||
:rules="rules"
|
||||
label-width="340px"
|
||||
size="small"
|
||||
>
|
||||
<el-form ref="readingRulesForm" v-loading="loading" :model="form" style="width: 800px" :rules="rules"
|
||||
label-width="340px" size="small">
|
||||
<!-- 阅片平台 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:imagePlatform')"
|
||||
prop="ImagePlatform"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.ImagePlatform"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:imagePlatform')" prop="ImagePlatform">
|
||||
<el-radio-group v-model="form.ImagePlatform" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<template v-if="isUSA">
|
||||
<el-radio
|
||||
v-for="item of $d.ImagePlatformUSA"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-radio v-for="item of $d.ImagePlatformUSA" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-radio
|
||||
v-for="item of $d.ImagePlatform"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-radio v-for="item of $d.ImagePlatform" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</template>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 阅片工具 -->
|
||||
<el-form-item
|
||||
v-if="form.ImagePlatform === 3"
|
||||
:label="$t('trials:readingUnit:readingRules:title:readingTool')"
|
||||
prop="ReadingTool"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.ReadingTool"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.ReadingTool"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item v-if="form.ImagePlatform === 3" :label="$t('trials:readingUnit:readingRules:title:readingTool')"
|
||||
prop="ReadingTool">
|
||||
<el-radio-group v-model="form.ReadingTool" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])" @input="handleReadingToolInput">
|
||||
<el-radio v-for="item of $d.ReadingTool" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 测量工具 -->
|
||||
<el-form-item
|
||||
v-if="CriterionType === 0 && (form.ReadingTool === 0 || form.ReadingTool === 2 ) && form.ReadingVersionEnum === 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"
|
||||
>
|
||||
v-if="CriterionType === 0 && (form.ReadingTool === 0 || form.ReadingTool === 1 || form.ReadingTool === 2) && form.ReadingVersionEnum === 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
|
||||
:label="$t('trials:processCfg:form:IsImageFilter')"
|
||||
prop="IsImageFilter"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsImageFilter"
|
||||
@input="IsImageFilterChange"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
:label="item.value"
|
||||
v-for="item in $d.YesOrNoModality"
|
||||
:key="item.id"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:IsImageFilter')" prop="IsImageFilter">
|
||||
<el-radio-group v-model="form.IsImageFilter" @input="IsImageFilterChange" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio :label="item.value" v-for="item in $d.YesOrNoModality" :key="item.id">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 影像模态 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:readingUnit:readingRules:title:CriterionModalitys')"
|
||||
prop="CriterionModalitys"
|
||||
style="position: relative"
|
||||
v-if="form.IsImageFilter"
|
||||
>
|
||||
<el-checkbox-group
|
||||
v-model="CriterionModalitys"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-form-item :label="$t('trials:readingUnit:readingRules:title:CriterionModalitys')" prop="CriterionModalitys"
|
||||
style="position: relative" v-if="form.IsImageFilter">
|
||||
<el-checkbox-group v-model="CriterionModalitys" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-checkbox v-for="item in modalityList" :label="item" :key="item">{{
|
||||
item
|
||||
}}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
<el-button
|
||||
v-if="
|
||||
!isConfirm &&
|
||||
hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
size="mini"
|
||||
style="position: absolute; top: 0; right: -40px"
|
||||
@click.stop="handleCheckAllChange"
|
||||
type="success"
|
||||
>{{
|
||||
<el-button v-if="
|
||||
!isConfirm &&
|
||||
hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
" size="mini" style="position: absolute; top: 0; right: -40px" @click.stop="handleCheckAllChange"
|
||||
type="success">{{
|
||||
CriterionModalitys.length === modalityList.length
|
||||
? $t(
|
||||
'trials:readingUnit:readingRules:title:CriterionModalitysCancel'
|
||||
)
|
||||
'trials:readingUnit:readingRules:title:CriterionModalitysCancel'
|
||||
)
|
||||
: $t(
|
||||
'trials:readingUnit:readingRules:title:CriterionModalitysAll'
|
||||
)
|
||||
}}</el-button
|
||||
>
|
||||
'trials:readingUnit:readingRules:title:CriterionModalitysAll'
|
||||
)
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('trials:consistencyAnalysis:table:isUrgent')"
|
||||
prop="DigitPlaces"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsUrgent"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:consistencyAnalysis:table:isUrgent')" prop="DigitPlaces">
|
||||
<el-radio-group v-model="form.IsUrgent" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 存在附加评估 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:IsAdditionalAssessment')"
|
||||
prop="IsAdditionalAssessment"
|
||||
v-if="CriterionType === 1"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsAdditionalAssessment"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`IsAdditionalAssessment${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:IsAdditionalAssessment')" prop="IsAdditionalAssessment"
|
||||
v-if="CriterionType === 1">
|
||||
<el-radio-group v-model="form.IsAdditionalAssessment" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="`IsAdditionalAssessment${item.value}`" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 阅片任务生成方式 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:IsAutoCreate')"
|
||||
prop="IsAutoCreate"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsAutoCreate"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNoAuto"
|
||||
:key="`IsAutoCreate${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:IsAutoCreate')" prop="IsAutoCreate">
|
||||
<el-radio-group v-model="form.IsAutoCreate" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNoAuto" :key="`IsAutoCreate${item.value}`" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!--阅片模式-->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:readingType')"
|
||||
prop="ReadingType"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.ReadingType"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
<el-form-item :label="$t('trials:processCfg:form:readingType')" prop="ReadingType">
|
||||
<el-radio-group v-model="form.ReadingType" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
" @change="
|
||||
() => {
|
||||
form.IsArbitrationReading = false
|
||||
}
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.ReadingMethod"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
">
|
||||
<el-radio v-for="item of $d.ReadingMethod" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!--仲裁阅片-->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:ad')"
|
||||
prop="IsArbitrationReading"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsArbitrationReading"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
form.ReadingType !== 2
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`IsArbitrationReading${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:ad')" prop="IsArbitrationReading">
|
||||
<el-radio-group v-model="form.IsArbitrationReading" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
form.ReadingType !== 2
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="`IsArbitrationReading${item.value}`" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 是否阅片期 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:readingUnit:readingRules:title:isReadingPeriod')"
|
||||
prop="IsReadingPeriod"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingPeriod"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
IsMustGlobalReading ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
<el-form-item :label="$t('trials:readingUnit:readingRules:title:isReadingPeriod')" prop="IsReadingPeriod">
|
||||
<el-radio-group v-model="form.IsReadingPeriod" :disabled="isConfirm ||
|
||||
IsMustGlobalReading ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
" @change="
|
||||
(v) => {
|
||||
if (!v) {
|
||||
form.IsGlobalReading = v
|
||||
form.IsOncologyReading = v
|
||||
}
|
||||
}
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`IsReadingPeriod${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="`IsReadingPeriod${item.value}`" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:global')"
|
||||
prop="IsGlobalReading"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsGlobalReading"
|
||||
:disabled="
|
||||
!form.IsReadingPeriod ||
|
||||
IsMustGlobalReading ||
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`IsGlobalReading${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:global')" prop="IsGlobalReading">
|
||||
<el-radio-group v-model="form.IsGlobalReading" :disabled="!form.IsReadingPeriod ||
|
||||
IsMustGlobalReading ||
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="`IsGlobalReading${item.value}`" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:clinical')"
|
||||
prop="IsOncologyReading"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsOncologyReading"
|
||||
:disabled="
|
||||
!form.IsReadingPeriod ||
|
||||
!form.IsSystemSetOncology ||
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`IsOncologyReading${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:clinical')" prop="IsOncologyReading">
|
||||
<el-radio-group v-model="form.IsOncologyReading" :disabled="!form.IsReadingPeriod ||
|
||||
!form.IsSystemSetOncology ||
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="`IsOncologyReading${item.value}`" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 任务展示方式 -->
|
||||
<el-form-item
|
||||
:label="
|
||||
$t('trials:readingUnit:readingRules:title:readingTaskViewInOrder')
|
||||
"
|
||||
prop="IsReadingTaskViewInOrder"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingTaskViewInOrder"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
<el-form-item :label="$t('trials:readingUnit:readingRules:title:readingTaskViewInOrder')
|
||||
" prop="IsReadingTaskViewInOrder">
|
||||
<el-radio-group v-model="form.IsReadingTaskViewInOrder" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
" @change="
|
||||
(v) => {
|
||||
form.ImageDownloadEnum = 0
|
||||
form.ImageUploadEnum = 0
|
||||
|
@ -357,254 +189,143 @@
|
|||
form.ReadingTaskViewEnum = 2
|
||||
}
|
||||
}
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.IsReadingTaskViewInOrder"
|
||||
:key="'IsReadingTaskViewInOrder' + item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
">
|
||||
<el-radio v-for="item of $d.IsReadingTaskViewInOrder" :key="'IsReadingTaskViewInOrder' + item.value"
|
||||
:label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 任务组织级别 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:readingUnit:readingRules:title:readingTaskViewEnum')"
|
||||
prop="ReadingTaskViewEnum"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.ReadingTaskViewEnum"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!!!isReadingTaskViewInOrder ||
|
||||
!!isReadingTaskViewInOrder ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.ReadingTaskViewEnum"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:readingUnit:readingRules:title:readingTaskViewEnum')" prop="ReadingTaskViewEnum">
|
||||
<el-radio-group v-model="form.ReadingTaskViewEnum" :disabled="isConfirm ||
|
||||
!!!isReadingTaskViewInOrder ||
|
||||
!!isReadingTaskViewInOrder ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.ReadingTaskViewEnum" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!--支持影像下载v-if="CriterionType === 0"-->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:ImageDownloadEnum')"
|
||||
prop="ImageDownloadEnum"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.ImageDownloadEnum"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.ImageDownloadEnum"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
:disabled="
|
||||
(form.IsReadingTaskViewInOrder === 1 ||
|
||||
form.IsReadingTaskViewInOrder === 0) &&
|
||||
item.value === 1
|
||||
"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:ImageDownloadEnum')" prop="ImageDownloadEnum">
|
||||
<el-radio-group v-model="form.ImageDownloadEnum" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.ImageDownloadEnum" :key="item.id" :label="item.value" :disabled="(form.IsReadingTaskViewInOrder === 1 ||
|
||||
form.IsReadingTaskViewInOrder === 0) &&
|
||||
item.value === 1
|
||||
">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!--支持上传DICOM影像-->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:ImageUploadEnum')"
|
||||
prop="ImageUploadEnum"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.ImageUploadEnum"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.ImageUploadEnum"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
:disabled="
|
||||
(form.IsReadingTaskViewInOrder === 1 ||
|
||||
form.IsReadingTaskViewInOrder === 0) &&
|
||||
item.value === 1
|
||||
"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:ImageUploadEnum')" prop="ImageUploadEnum">
|
||||
<el-radio-group v-model="form.ImageUploadEnum" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.ImageUploadEnum" :key="item.id" :label="item.value" :disabled="(form.IsReadingTaskViewInOrder === 1 ||
|
||||
form.IsReadingTaskViewInOrder === 0) &&
|
||||
item.value === 1
|
||||
">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- IR阅片页面是否显示受试者信息 -->
|
||||
<el-form-item
|
||||
:label="
|
||||
$t('trials:readingUnit:readingRules:title:isReadingShowSubjectInfo')
|
||||
"
|
||||
prop="IsReadingShowSubjectInfo"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingShowSubjectInfo"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
!!form.IsReadingTaskViewInOrder
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="'IsReadingShowSubjectInfo' + item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:readingUnit:readingRules:title:isReadingShowSubjectInfo')
|
||||
" prop="IsReadingShowSubjectInfo">
|
||||
<el-radio-group v-model="form.IsReadingShowSubjectInfo" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
!!form.IsReadingTaskViewInOrder
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="'IsReadingShowSubjectInfo' + item.value" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- IR阅片页面是否可以查看既往任务结果 -->
|
||||
<el-form-item
|
||||
:label="
|
||||
$t(
|
||||
'trials:readingUnit:readingRules:title:isReadingShowPreviousResults'
|
||||
)
|
||||
"
|
||||
prop="IsReadingShowPreviousResults"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingShowPreviousResults"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
!!form.IsReadingTaskViewInOrder
|
||||
"
|
||||
@change="
|
||||
<el-form-item :label="$t(
|
||||
'trials:readingUnit:readingRules:title:isReadingShowPreviousResults'
|
||||
)
|
||||
" prop="IsReadingShowPreviousResults">
|
||||
<el-radio-group v-model="form.IsReadingShowPreviousResults" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
!!form.IsReadingTaskViewInOrder
|
||||
" @change="
|
||||
(v) => {
|
||||
if (!v) {
|
||||
form.IseCRFShowInDicomReading = true
|
||||
}
|
||||
}
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="'IsReadingShowPreviousResults' + item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="'IsReadingShowPreviousResults' + item.value" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- eCRF是否显示在影像阅片页面 -->
|
||||
<el-form-item
|
||||
:label="
|
||||
$t('trials:readingUnit:readingRules:title:isECRFShowInDicomReading')
|
||||
"
|
||||
prop="IseCRFShowInDicomReading"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IseCRFShowInDicomReading"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
!form.IsReadingShowPreviousResults
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="item.label"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:readingUnit:readingRules:title:isECRFShowInDicomReading')
|
||||
" prop="IseCRFShowInDicomReading">
|
||||
<el-radio-group v-model="form.IseCRFShowInDicomReading" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
!form.IsReadingShowPreviousResults
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="item.label" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 修约小数位数 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:processCfg:form:digitPlaces')"
|
||||
prop="DigitPlaces"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.DigitPlaces"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.DigitPlaces"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
<el-form-item :label="$t('trials:processCfg:form:digitPlaces')" prop="DigitPlaces">
|
||||
<el-radio-group v-model="form.DigitPlaces" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<el-radio v-for="item of $d.DigitPlaces" :key="item.id" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="
|
||||
$t(
|
||||
'trials:trials-panel:setting:reading-unit:TrialCriterionAdditionalAssessmentTypeList'
|
||||
)
|
||||
"
|
||||
v-if="
|
||||
<el-form-item :label="$t(
|
||||
'trials:trials-panel:setting:reading-unit:TrialCriterionAdditionalAssessmentTypeList'
|
||||
)
|
||||
" v-if="
|
||||
form.IsAdditionalAssessment &&
|
||||
form.TrialCriterionAdditionalAssessmentTypeList &&
|
||||
form.TrialCriterionAdditionalAssessmentTypeList.length > 0
|
||||
"
|
||||
>
|
||||
">
|
||||
</el-form-item>
|
||||
<template v-for="item of form.TrialCriterionAdditionalAssessmentTypeList">
|
||||
<el-form-item
|
||||
:key="item.Id"
|
||||
:prop="`AdditionalAssessmentType${item.Id}`"
|
||||
:rules="[
|
||||
{
|
||||
required: true,
|
||||
message: $t('common:ruleMessage:select'),
|
||||
trigger: ['blur'],
|
||||
},
|
||||
]"
|
||||
:label="
|
||||
$fd('AdditionalAssessmentType', item.AdditionalAssessmentType)
|
||||
"
|
||||
v-if="
|
||||
<el-form-item :key="item.Id" :prop="`AdditionalAssessmentType${item.Id}`" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: $t('common:ruleMessage:select'),
|
||||
trigger: ['blur'],
|
||||
},
|
||||
]" :label="$fd('AdditionalAssessmentType', item.AdditionalAssessmentType)
|
||||
" v-if="
|
||||
form.IsAdditionalAssessment &&
|
||||
form.TrialCriterionAdditionalAssessmentTypeList
|
||||
"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="item.IsSelected"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
">
|
||||
<el-radio-group v-model="item.IsSelected" :disabled="isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
" @change="
|
||||
(v) => {
|
||||
$set(form, 'AdditionalAssessmentType' + item.Id, v)
|
||||
}
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`AdditionalAssessmentType${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
">
|
||||
<el-radio v-for="item of $d.YesOrNo" :key="`AdditionalAssessmentType${item.value}`" :label="item.value">
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<el-form-item
|
||||
v-if="
|
||||
!isConfirm &&
|
||||
hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-form-item v-if="
|
||||
!isConfirm &&
|
||||
hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
">
|
||||
<!-- 保存 -->
|
||||
<el-button type="primary" @click="handleSave(true)">
|
||||
{{ $t('common:button:save') }}
|
||||
|
@ -837,9 +558,15 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
if (this.CriterionType === 0) {
|
||||
this.tools = [...config.customizeStandards]
|
||||
// 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.initPage()
|
||||
},
|
||||
computed: {
|
||||
|
@ -856,6 +583,17 @@ export default {
|
|||
},
|
||||
},
|
||||
methods: {
|
||||
// 阅片工具选择
|
||||
handleReadingToolInput(val) {
|
||||
this.form.ReadingToolList = []
|
||||
if (this.CriterionType !== 0) return this.tools = []
|
||||
if (val === 0 || val === 2) {
|
||||
this.tools = [...config.customizeStandards]
|
||||
}
|
||||
if (val === 1) {
|
||||
this.tools = [...config.customizeStandardsNoneDicom]
|
||||
}
|
||||
},
|
||||
// 检查类型筛选值变更
|
||||
IsImageFilterChange(data) {
|
||||
if (data) {
|
||||
|
@ -918,7 +656,7 @@ export default {
|
|||
this.$emit('setOncologyReading', res.Result.IsOncologyReading)
|
||||
this.$emit('setDigitPlaces', res.Result.DigitPlaces)
|
||||
this.$emit('setReadingTools', res.Result.ReadingToolList)
|
||||
|
||||
|
||||
if (res.Result.ReadingType === 1) {
|
||||
this.$emit('setArbitrationReading', false)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue