非dicom阅片工具配置
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-07-22 14:00:54 +08:00
parent eab207fc35
commit 0a752ed92f
2 changed files with 262 additions and 455 deletions

View File

@ -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 }

View File

@ -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)
}