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