Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
456ff203bb
|
@ -5,7 +5,7 @@
|
||||||
ref="readingRulesForm"
|
ref="readingRulesForm"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:model="form"
|
:model="form"
|
||||||
style="width:800px;"
|
style="width: 800px"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
label-width="340px"
|
label-width="340px"
|
||||||
size="small"
|
size="small"
|
||||||
|
@ -17,7 +17,10 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.ImagePlatform"
|
v-model="form.ImagePlatform"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ImagePlatform"
|
v-for="item of $d.ImagePlatform"
|
||||||
|
@ -36,7 +39,10 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.ReadingTool"
|
v-model="form.ReadingTool"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ReadingTool"
|
v-for="item of $d.ReadingTool"
|
||||||
|
@ -47,13 +53,91 @@
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!--支持影像下载-->
|
||||||
|
<el-form-item
|
||||||
|
:label="$t('trials:processCfg:form:ReadingImageDownload')"
|
||||||
|
prop="ReadingImageDownload"
|
||||||
|
v-if="CriterionType === 0"
|
||||||
|
>
|
||||||
|
<el-radio-group
|
||||||
|
v-model="form.ReadingImageDownload"
|
||||||
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-radio
|
||||||
|
v-for="item of $d.ReadingImageDownload"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.value"
|
||||||
|
>
|
||||||
|
{{ item.label }}
|
||||||
|
</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<!--支持上传DICOM影像-->
|
||||||
|
<el-form-item
|
||||||
|
:label="$t('trials:processCfg:form:ReadingImageUpload')"
|
||||||
|
prop="ReadingImageUpload"
|
||||||
|
v-if="CriterionType === 0"
|
||||||
|
>
|
||||||
|
<el-radio-group
|
||||||
|
v-model="form.ReadingImageUpload"
|
||||||
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-radio
|
||||||
|
v-for="item of $d.ReadingImageUpload"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.value"
|
||||||
|
>
|
||||||
|
{{ 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"
|
||||||
|
>
|
||||||
|
<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: -10px"
|
||||||
|
@click.stop="handleCheckAllChange"
|
||||||
|
type="success"
|
||||||
|
>{{
|
||||||
|
$t("trials:readingUnit:readingRules:title:CriterionModalitysAll")
|
||||||
|
}}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:consistencyAnalysis:table:isUrgent')"
|
:label="$t('trials:consistencyAnalysis:table:isUrgent')"
|
||||||
prop="DigitPlaces"
|
prop="DigitPlaces"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsUrgent"
|
v-model="form.IsUrgent"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -71,7 +155,10 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsAdditionalAssessment"
|
v-model="form.IsAdditionalAssessment"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -89,7 +176,10 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsAutoCreate"
|
v-model="form.IsAutoCreate"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -106,10 +196,15 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.ReadingType"
|
v-model="form.ReadingType"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
@change="() => {
|
isConfirm ||
|
||||||
form.IsArbitrationReading = false
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
}"
|
"
|
||||||
|
@change="
|
||||||
|
() => {
|
||||||
|
form.IsArbitrationReading = false;
|
||||||
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ReadingMethod"
|
v-for="item of $d.ReadingMethod"
|
||||||
|
@ -127,13 +222,19 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsReadingPeriod"
|
v-model="form.IsReadingPeriod"
|
||||||
:disabled="isConfirm || IsMustGlobalReading || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
@change="(v) => {
|
isConfirm ||
|
||||||
|
IsMustGlobalReading ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
|
@change="
|
||||||
|
(v) => {
|
||||||
if (!v) {
|
if (!v) {
|
||||||
form.IsGlobalReading = v
|
form.IsGlobalReading = v;
|
||||||
form.IsOncologyReading = v
|
form.IsOncologyReading = v;
|
||||||
}
|
}
|
||||||
}"
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -150,7 +251,12 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsGlobalReading"
|
v-model="form.IsGlobalReading"
|
||||||
:disabled="!form.IsReadingPeriod || IsMustGlobalReading || isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
!form.IsReadingPeriod ||
|
||||||
|
IsMustGlobalReading ||
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -167,7 +273,11 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsArbitrationReading"
|
v-model="form.IsArbitrationReading"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])) || form.ReadingType !== 2"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||||
|
form.ReadingType !== 2
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -184,7 +294,12 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsOncologyReading"
|
v-model="form.IsOncologyReading"
|
||||||
:disabled="!form.IsReadingPeriod || !form.IsSystemSetOncology || isConfirm || !hasPermi(['trials:trials-panel:setting:reading-unit:edit'])"
|
:disabled="
|
||||||
|
!form.IsReadingPeriod ||
|
||||||
|
!form.IsSystemSetOncology ||
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -197,22 +312,29 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 任务展示方式 -->
|
<!-- 任务展示方式 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:readingUnit:readingRules:title:readingTaskViewInOrder')"
|
:label="
|
||||||
|
$t('trials:readingUnit:readingRules:title:readingTaskViewInOrder')
|
||||||
|
"
|
||||||
prop="IsReadingTaskViewInOrder"
|
prop="IsReadingTaskViewInOrder"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsReadingTaskViewInOrder"
|
v-model="form.IsReadingTaskViewInOrder"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
@change="(v) => {
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
|
@change="
|
||||||
|
(v) => {
|
||||||
if (v) {
|
if (v) {
|
||||||
form.IsReadingShowSubjectInfo = true
|
form.IsReadingShowSubjectInfo = true;
|
||||||
form.IsReadingShowPreviousResults = true
|
form.IsReadingShowPreviousResults = true;
|
||||||
form.ReadingTaskViewEnum = 0
|
form.ReadingTaskViewEnum = 0;
|
||||||
form.IseCRFShowInDicomReading = false
|
form.IseCRFShowInDicomReading = false;
|
||||||
} else {
|
} else {
|
||||||
form.ReadingTaskViewEnum = 2
|
form.ReadingTaskViewEnum = 2;
|
||||||
}
|
}
|
||||||
}"
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.IsReadingTaskViewInOrder"
|
v-for="item of $d.IsReadingTaskViewInOrder"
|
||||||
|
@ -230,7 +352,12 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.ReadingTaskViewEnum"
|
v-model="form.ReadingTaskViewEnum"
|
||||||
:disabled="isConfirm || !isReadingTaskViewInOrder || isReadingTaskViewInOrder || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!isReadingTaskViewInOrder ||
|
||||||
|
isReadingTaskViewInOrder ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ReadingTaskViewEnum"
|
v-for="item of $d.ReadingTaskViewEnum"
|
||||||
|
@ -243,16 +370,22 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- IR阅片页面是否显示受试者信息 -->
|
<!-- IR阅片页面是否显示受试者信息 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:readingUnit:readingRules:title:isReadingShowSubjectInfo')"
|
:label="
|
||||||
|
$t('trials:readingUnit:readingRules:title:isReadingShowSubjectInfo')
|
||||||
|
"
|
||||||
prop="IsReadingShowSubjectInfo"
|
prop="IsReadingShowSubjectInfo"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsReadingShowSubjectInfo"
|
v-model="form.IsReadingShowSubjectInfo"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])) || form.IsReadingTaskViewInOrder"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||||
|
form.IsReadingTaskViewInOrder
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
:key="'IsReadingShowSubjectInfo'+item.value"
|
:key="'IsReadingShowSubjectInfo' + item.value"
|
||||||
:label="item.value"
|
:label="item.value"
|
||||||
>
|
>
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
|
@ -261,21 +394,31 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- IR阅片页面是否可以查看既往任务结果 -->
|
<!-- IR阅片页面是否可以查看既往任务结果 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:readingUnit:readingRules:title:isReadingShowPreviousResults')"
|
:label="
|
||||||
|
$t(
|
||||||
|
'trials:readingUnit:readingRules:title:isReadingShowPreviousResults'
|
||||||
|
)
|
||||||
|
"
|
||||||
prop="IsReadingShowPreviousResults"
|
prop="IsReadingShowPreviousResults"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IsReadingShowPreviousResults"
|
v-model="form.IsReadingShowPreviousResults"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])) || form.IsReadingTaskViewInOrder"
|
:disabled="
|
||||||
@change="(v) => {
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||||
|
form.IsReadingTaskViewInOrder
|
||||||
|
"
|
||||||
|
@change="
|
||||||
|
(v) => {
|
||||||
if (!v) {
|
if (!v) {
|
||||||
form.IseCRFShowInDicomReading = true
|
form.IseCRFShowInDicomReading = true;
|
||||||
}
|
}
|
||||||
}"
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
:key="'IsReadingShowPreviousResults'+item.value"
|
:key="'IsReadingShowPreviousResults' + item.value"
|
||||||
:label="item.value"
|
:label="item.value"
|
||||||
>
|
>
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
|
@ -284,12 +427,18 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- eCRF是否显示在影像阅片页面 -->
|
<!-- eCRF是否显示在影像阅片页面 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('trials:readingUnit:readingRules:title:isECRFShowInDicomReading')"
|
:label="
|
||||||
|
$t('trials:readingUnit:readingRules:title:isECRFShowInDicomReading')
|
||||||
|
"
|
||||||
prop="IseCRFShowInDicomReading"
|
prop="IseCRFShowInDicomReading"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.IseCRFShowInDicomReading"
|
v-model="form.IseCRFShowInDicomReading"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])) || !form.IsReadingShowPreviousResults"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||||
|
!form.IsReadingShowPreviousResults
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -307,7 +456,10 @@
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.DigitPlaces"
|
v-model="form.DigitPlaces"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.DigitPlaces"
|
v-for="item of $d.DigitPlaces"
|
||||||
|
@ -318,15 +470,49 @@
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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
|
||||||
|
:label="
|
||||||
|
$t(
|
||||||
|
'trials:trials-panel:setting:reading-unit:TrialCriterionAdditionalAssessmentTypeList'
|
||||||
|
)
|
||||||
|
"
|
||||||
|
v-if="
|
||||||
|
form.IsAdditionalAssessment &&
|
||||||
|
form.TrialCriterionAdditionalAssessmentTypeList &&
|
||||||
|
form.TrialCriterionAdditionalAssessmentTypeList.length > 0
|
||||||
|
"
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-for="item of form.TrialCriterionAdditionalAssessmentTypeList" :prop="`AdditionalAssessmentType${item.Id}`" :rules="[
|
<template v-for="item of form.TrialCriterionAdditionalAssessmentTypeList">
|
||||||
{ required:true,message: $t('common:ruleMessage:select'), trigger: ['blur']},
|
<el-form-item
|
||||||
]" :label="$fd('AdditionalAssessmentType', item.AdditionalAssessmentType)" v-if="form.IsAdditionalAssessment && form.TrialCriterionAdditionalAssessmentTypeList">
|
: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
|
<el-radio-group
|
||||||
v-model="item.IsSelected"
|
v-model="item.IsSelected"
|
||||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
:disabled="
|
||||||
@change="(v) => {$set(form, 'AdditionalAssessmentType' + item.Id, v)}"
|
isConfirm ||
|
||||||
|
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
|
@change="
|
||||||
|
(v) => {
|
||||||
|
$set(form, 'AdditionalAssessmentType' + item.Id, v);
|
||||||
|
}
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.YesOrNo"
|
v-for="item of $d.YesOrNo"
|
||||||
|
@ -337,36 +523,42 @@
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="!isConfirm && hasPermi(['trials:trials-panel:setting:reading-unit:edit'])">
|
</template>
|
||||||
<!-- 保存 -->
|
<el-form-item
|
||||||
<el-button
|
v-if="
|
||||||
type="primary"
|
!isConfirm &&
|
||||||
@click="handleSave(true)"
|
hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
|
"
|
||||||
>
|
>
|
||||||
{{ $t('common:button:save') }}
|
<!-- 保存 -->
|
||||||
|
<el-button type="primary" @click="handleSave(true)">
|
||||||
|
{{ $t("common:button:save") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import { getCriterionReadingInfo, setCriterionReadingInfo } from "@/api/trials";
|
||||||
import { getCriterionReadingInfo, setCriterionReadingInfo, getTrialCriterionAdditionalAssessmentOptionList } from '@/api/trials'
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ReadingRules',
|
name: "ReadingRules",
|
||||||
props: {
|
props: {
|
||||||
trialReadingCriterionId: {
|
trialReadingCriterionId: {
|
||||||
type: String,
|
type: String,
|
||||||
default() {
|
default() {
|
||||||
return ''
|
return "";
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
|
CriterionType: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
additionalAssessmentOptionList: [],
|
additionalAssessmentOptionList: [],
|
||||||
form: {
|
form: {
|
||||||
TrialId: '',
|
TrialId: "",
|
||||||
ImagePlatform: null,
|
ImagePlatform: null,
|
||||||
ReadingTool: 0,
|
ReadingTool: 0,
|
||||||
ReadingTaskViewEnum: null,
|
ReadingTaskViewEnum: null,
|
||||||
|
@ -391,57 +583,155 @@ export default {
|
||||||
CriterionType: null,
|
CriterionType: null,
|
||||||
AdditionalAssessmentType: null,
|
AdditionalAssessmentType: null,
|
||||||
IsUrgent: false,
|
IsUrgent: false,
|
||||||
TrialCriterionAdditionalAssessmentTypeList: []
|
TrialCriterionAdditionalAssessmentTypeList: [],
|
||||||
|
CriterionModalitys: null,
|
||||||
|
ReadingImageDownload: null,
|
||||||
|
ReadingImageUpload: null,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
IsAutoCreate: [
|
IsAutoCreate: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsAdditionalAssessment: [
|
IsAdditionalAssessment: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
ImagePlatform: [
|
ImagePlatform: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
ReadingTool: [
|
ReadingTool: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
ReadingImageDownload: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
ReadingImageUpload: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
ReadingTaskViewEnum: [
|
ReadingTaskViewEnum: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsImageLabeled: [
|
IsImageLabeled: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsReadingShowSubjectInfo: [
|
IsReadingShowSubjectInfo: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsReadingShowPreviousResults: [
|
IsReadingShowPreviousResults: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
ReadingType: [
|
ReadingType: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsReadingTaskViewInOrder: [
|
IsReadingTaskViewInOrder: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsGlobalReading: [
|
IsGlobalReading: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsArbitrationReading: [
|
IsArbitrationReading: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsOncologyReading: [
|
IsOncologyReading: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
DigitPlaces: [
|
DigitPlaces: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IseCRFShowInDicomReading: [
|
IseCRFShowInDicomReading: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
IsReadingPeriod: [
|
IsReadingPeriod: [
|
||||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
{
|
||||||
]
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
CriterionModalitys: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("common:ruleMessage:select"),
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (value && Array.isArray(value) && value.length < 0) {
|
||||||
|
callback(new Error(this.$t("common:ruleMessage:select")));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
// IsReadingTaskViewInOrder: [
|
// IsReadingTaskViewInOrder: [
|
||||||
// { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
// { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||||
// ]
|
// ]
|
||||||
|
@ -451,17 +741,32 @@ export default {
|
||||||
isConfirm: true,
|
isConfirm: true,
|
||||||
isReadingTaskViewInOrder: null,
|
isReadingTaskViewInOrder: null,
|
||||||
IsMustGlobalReading: false,
|
IsMustGlobalReading: false,
|
||||||
IsNotReadingShowSubjectInfoChange: false
|
IsNotReadingShowSubjectInfoChange: false,
|
||||||
}
|
|
||||||
|
modalityList: [],
|
||||||
|
CriterionModalitys: [],
|
||||||
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.initPage()
|
this.initPage();
|
||||||
console.log(this.$d.GlobalAssessType)
|
},
|
||||||
|
watch: {
|
||||||
|
CriterionModalitys: {
|
||||||
|
handler() {
|
||||||
|
this.form.CriterionModalitys = this.CriterionModalitys.join("|");
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 影像模态全选
|
||||||
|
handleCheckAllChange() {
|
||||||
|
this.CriterionModalitys =
|
||||||
|
this.CriterionModalitys.length <= 0 ? this.modalityList : [];
|
||||||
|
},
|
||||||
initPage() {
|
initPage() {
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
const trialId = this.$route.query.trialId
|
const trialId = this.$route.query.trialId;
|
||||||
// getTrialCriterionAdditionalAssessmentOptionList(this.trialReadingCriterionId).then(res => {
|
// getTrialCriterionAdditionalAssessmentOptionList(this.trialReadingCriterionId).then(res => {
|
||||||
// this.additionalAssessmentOptionList = res.Result
|
// this.additionalAssessmentOptionList = res.Result
|
||||||
// if (this.additionalAssessmentOptionList.length > 0) {
|
// if (this.additionalAssessmentOptionList.length > 0) {
|
||||||
|
@ -469,34 +774,49 @@ export default {
|
||||||
// this.$set(this.form, 'AdditionalAssessmentType'+v.Id, v.IsSelected)
|
// this.$set(this.form, 'AdditionalAssessmentType'+v.Id, v.IsSelected)
|
||||||
// })
|
// })
|
||||||
// }
|
// }
|
||||||
getCriterionReadingInfo({ trialId, TrialReadingCriterionId: this.trialReadingCriterionId }).then(res => {
|
getCriterionReadingInfo({
|
||||||
this.loading = false
|
trialId,
|
||||||
|
TrialReadingCriterionId: this.trialReadingCriterionId,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.modalityList = res.Result.TrialModalitys.split("|").filter(
|
||||||
|
(item) => item && item.trim()
|
||||||
|
);
|
||||||
for (const k in this.form) {
|
for (const k in this.form) {
|
||||||
if (res.Result.hasOwnProperty(k)) {
|
if (res.Result.hasOwnProperty(k)) {
|
||||||
this.form[k] = res.Result[k]
|
this.form[k] = res.Result[k];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(this.form.TrialCriterionAdditionalAssessmentTypeList)
|
this.CriterionModalitys = this.form.CriterionModalitys.split("|");
|
||||||
this.form.TrialCriterionAdditionalAssessmentTypeList.forEach(v => {
|
this.form.TrialCriterionAdditionalAssessmentTypeList.forEach((v) => {
|
||||||
this.$set(v, 'IsSelected', v.IsSelected || false)
|
this.$set(v, "IsSelected", v.IsSelected || false);
|
||||||
this.$set(this.form, 'AdditionalAssessmentType'+v.Id, v.IsSelected)
|
this.$set(
|
||||||
})
|
this.form,
|
||||||
this.isReadingTaskViewInOrder = res.Result.IsReadingTaskViewInOrder
|
"AdditionalAssessmentType" + v.Id,
|
||||||
this.isConfirm = res.Result.IsSign
|
v.IsSelected
|
||||||
this.IsMustGlobalReading = res.Result.IsMustGlobalReading
|
);
|
||||||
this.$emit('setConfirm', res.Result.IsSign)
|
});
|
||||||
this.$emit('setArbitrationReading', res.Result.IsArbitrationReading)
|
this.isReadingTaskViewInOrder = res.Result.IsReadingTaskViewInOrder;
|
||||||
this.$emit('setAdditionalAssessment', this.form.IsAdditionalAssessment)
|
this.isConfirm = res.Result.IsSign;
|
||||||
this.$emit('setIsClinicalReading', res.Result.IsClinicalReading)
|
this.IsMustGlobalReading = res.Result.IsMustGlobalReading;
|
||||||
this.$emit('setGlobalReading', res.Result.IsGlobalReading)
|
this.$emit("setConfirm", res.Result.IsSign);
|
||||||
this.$emit('setOncologyReading', res.Result.IsOncologyReading)
|
this.$emit("setArbitrationReading", res.Result.IsArbitrationReading);
|
||||||
this.$emit('setDigitPlaces', res.Result.DigitPlaces)
|
this.$emit(
|
||||||
|
"setAdditionalAssessment",
|
||||||
|
this.form.IsAdditionalAssessment
|
||||||
|
);
|
||||||
|
this.$emit("setIsClinicalReading", res.Result.IsClinicalReading);
|
||||||
|
this.$emit("setGlobalReading", res.Result.IsGlobalReading);
|
||||||
|
this.$emit("setOncologyReading", res.Result.IsOncologyReading);
|
||||||
|
this.$emit("setDigitPlaces", res.Result.DigitPlaces);
|
||||||
if (res.Result.ReadingType === 1) {
|
if (res.Result.ReadingType === 1) {
|
||||||
this.$emit('setArbitrationReading', false)
|
this.$emit("setArbitrationReading", false);
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.loading = false
|
|
||||||
})
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
// }).catch(() => {
|
// }).catch(() => {
|
||||||
// this.loading = false
|
// this.loading = false
|
||||||
// })
|
// })
|
||||||
|
@ -504,47 +824,56 @@ export default {
|
||||||
// 配置信息保存
|
// 配置信息保存
|
||||||
handleSave(isPrompt = true) {
|
handleSave(isPrompt = true) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.$refs['readingRulesForm'].validate((valid) => {
|
this.$refs["readingRulesForm"].validate((valid) => {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
resolve(false)
|
resolve(false);
|
||||||
} else {
|
} else {
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
if (this.form.ReadingType === 1) {
|
if (this.form.ReadingType === 1) {
|
||||||
this.form.IsArbitrationReading = false
|
this.form.IsArbitrationReading = false;
|
||||||
}
|
}
|
||||||
// 保存配置信息
|
// 保存配置信息
|
||||||
this.form.TrialReadingCriterionId = this.trialReadingCriterionId
|
this.form.TrialReadingCriterionId = this.trialReadingCriterionId;
|
||||||
setCriterionReadingInfo(this.form).then(res => {
|
setCriterionReadingInfo(this.form)
|
||||||
this.loading = false
|
.then((res) => {
|
||||||
this.$emit('reloadArbitrationRules')
|
this.loading = false;
|
||||||
this.$emit('setArbitrationReading', this.form.IsArbitrationReading)
|
this.$emit("reloadArbitrationRules");
|
||||||
this.$emit('setAdditionalAssessment', this.form.IsAdditionalAssessment)
|
this.$emit(
|
||||||
this.$emit('setIsClinicalReading', this.form.IsClinicalReading)
|
"setArbitrationReading",
|
||||||
this.$emit('setGlobalReading', this.form.IsGlobalReading)
|
this.form.IsArbitrationReading
|
||||||
this.$emit('setOncologyReading', this.form.IsOncologyReading)
|
);
|
||||||
this.$emit('setDigitPlaces', this.form.DigitPlaces)
|
this.$emit(
|
||||||
|
"setAdditionalAssessment",
|
||||||
|
this.form.IsAdditionalAssessment
|
||||||
|
);
|
||||||
|
this.$emit("setIsClinicalReading", this.form.IsClinicalReading);
|
||||||
|
this.$emit("setGlobalReading", this.form.IsGlobalReading);
|
||||||
|
this.$emit("setOncologyReading", this.form.IsOncologyReading);
|
||||||
|
this.$emit("setDigitPlaces", this.form.DigitPlaces);
|
||||||
if (this.form.ReadingType === 1) {
|
if (this.form.ReadingType === 1) {
|
||||||
this.$emit('setArbitrationReading', false)
|
this.$emit("setArbitrationReading", false);
|
||||||
}
|
}
|
||||||
if (res.IsSuccess && isPrompt) {
|
if (res.IsSuccess && isPrompt) {
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$message.success(
|
||||||
|
this.$t("common:message:savedSuccessfully")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
resolve(true)
|
resolve(true);
|
||||||
}).catch(_ => {
|
|
||||||
this.loading = false
|
|
||||||
resolve(false)
|
|
||||||
})
|
})
|
||||||
|
.catch((_) => {
|
||||||
|
this.loading = false;
|
||||||
|
resolve(false);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
|
},
|
||||||
}
|
};
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.reading-rule-config-form{
|
.reading-rule-config-form {
|
||||||
.fontColor{
|
.fontColor {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,13 +15,14 @@
|
||||||
clearable
|
clearable
|
||||||
@change="((val)=>{qsTypeChange(val, form)})"
|
@change="((val)=>{qsTypeChange(val, form)})"
|
||||||
>
|
>
|
||||||
|
<template v-for="item of $d.Criterion_Question_Type">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d.Criterion_Question_Type"
|
|
||||||
v-if="item.value !== 'calculation' && item.value !== 'increment'"
|
v-if="item.value !== 'calculation' && item.value !== 'increment'"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
/>
|
/>
|
||||||
|
</template>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
@ -95,14 +96,15 @@
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.ValueType"
|
v-model="form.ValueType"
|
||||||
>
|
>
|
||||||
|
<template v-for="item of $d.ValueType">
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="item of $d.ValueType"
|
|
||||||
v-if="item.value !== 3"
|
v-if="item.value !== 3"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.value"
|
:label="item.value"
|
||||||
>
|
>
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
|
</template>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
@ -126,7 +128,7 @@
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="form.Unit"
|
v-model="form.Unit"
|
||||||
>
|
>
|
||||||
<el-radio v-for="item of $d.ValueUnit" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio v-for="item of $d.ValueUnit" :label="item.value" :key="item.id">{{ item.label }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 数值单位 -->
|
<!-- 数值单位 -->
|
||||||
|
@ -441,7 +443,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('trials:readingUnit:qsList:title:limitEdit')">
|
<el-form-item :label="$t('trials:readingUnit:qsList:title:limitEdit')">
|
||||||
<el-radio-group v-model="form.LimitEdit">
|
<el-radio-group v-model="form.LimitEdit">
|
||||||
<el-radio v-for="item of $d.LimitEdit" :label="item.value">{{ item.label }}</el-radio>
|
<el-radio v-for="item of $d.LimitEdit" :label="item.value" :key="item.id">{{ item.label }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -3,8 +3,12 @@
|
||||||
<div v-if="isShow" class="content">
|
<div v-if="isShow" class="content">
|
||||||
<el-tabs v-model="TrialReadingCriterionId" type="border-card">
|
<el-tabs v-model="TrialReadingCriterionId" type="border-card">
|
||||||
<template v-for="item of trialCriterionList">
|
<template v-for="item of trialCriterionList">
|
||||||
<el-tab-pane :key="item.TrialReadingCriterionId" :label="item.TrialReadingCriterionName" :name="item.TrialReadingCriterionId">
|
<el-tab-pane
|
||||||
<div style="text-align: right;padding-bottom: 10px">
|
:key="item.TrialReadingCriterionId"
|
||||||
|
:label="item.TrialReadingCriterionName"
|
||||||
|
:name="item.TrialReadingCriterionId"
|
||||||
|
>
|
||||||
|
<div style="text-align: right; padding-bottom: 10px">
|
||||||
<!-- 同步当前标准 -->
|
<!-- 同步当前标准 -->
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
|
@ -14,15 +18,26 @@
|
||||||
v-if="!hasPermi(['role:admin'])"
|
v-if="!hasPermi(['role:admin'])"
|
||||||
@click="syncSign"
|
@click="syncSign"
|
||||||
>
|
>
|
||||||
{{ $t('trials:readingUnit:button:sync') }}
|
{{ $t("trials:readingUnit:button:sync") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-collapse v-model="activeCollapse" class="setting-config" v-if="item.isPaneShow && item.TrialReadingCriterionId === TrialReadingCriterionId" >
|
<el-collapse
|
||||||
|
v-model="activeCollapse"
|
||||||
|
class="setting-config"
|
||||||
|
v-if="
|
||||||
|
item.isPaneShow &&
|
||||||
|
item.TrialReadingCriterionId === TrialReadingCriterionId
|
||||||
|
"
|
||||||
|
>
|
||||||
<!-- 阅片规则 -->
|
<!-- 阅片规则 -->
|
||||||
<el-collapse-item :title="$t('trials:readingUnit:readingRules')" name="1">
|
<el-collapse-item
|
||||||
|
:title="$t('trials:readingUnit:readingRules')"
|
||||||
|
name="1"
|
||||||
|
>
|
||||||
<ReadingRules
|
<ReadingRules
|
||||||
:ref="`readingRules${item.TrialReadingCriterionId}`"
|
:ref="`readingRules${item.TrialReadingCriterionId}`"
|
||||||
:trial-reading-criterion-id="TrialReadingCriterionId"
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
:CriterionType="item.CriterionType"
|
||||||
@setConfirm="setConfirm"
|
@setConfirm="setConfirm"
|
||||||
@reloadArbitrationRules="reloadArbitrationRules"
|
@reloadArbitrationRules="reloadArbitrationRules"
|
||||||
@setArbitrationReading="setArbitrationReading"
|
@setArbitrationReading="setArbitrationReading"
|
||||||
|
@ -34,7 +49,10 @@
|
||||||
/>
|
/>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<!-- 阅片标准 -->
|
<!-- 阅片标准 -->
|
||||||
<el-collapse-item :title="$t('trials:readingUnit:readingCriterion')" name="2">
|
<el-collapse-item
|
||||||
|
:title="$t('trials:readingUnit:readingCriterion')"
|
||||||
|
name="2"
|
||||||
|
>
|
||||||
<ReadingCriterions
|
<ReadingCriterions
|
||||||
:ref="`readingCriterions${item.TrialReadingCriterionId}`"
|
:ref="`readingCriterions${item.TrialReadingCriterionId}`"
|
||||||
:trial-reading-criterion-id="TrialReadingCriterionId"
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
@ -44,17 +62,38 @@
|
||||||
/>
|
/>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<!-- 全局阅片 -->
|
<!-- 全局阅片 -->
|
||||||
<el-collapse-item v-if="isGlobalReading && CriterionType !== 10" :title="$t('trials:readingUnit:GlobalReading')" name="5">
|
<el-collapse-item
|
||||||
<GlobalReading :ref="`globalReading${item.TrialReadingCriterionId}`" :trial-reading-criterion-id="TrialReadingCriterionId" />
|
v-if="isGlobalReading && CriterionType !== 10"
|
||||||
|
:title="$t('trials:readingUnit:GlobalReading')"
|
||||||
|
name="5"
|
||||||
|
>
|
||||||
|
<GlobalReading
|
||||||
|
:ref="`globalReading${item.TrialReadingCriterionId}`"
|
||||||
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
/>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<!-- 仲裁规则 -->
|
<!-- 仲裁规则 -->
|
||||||
<el-collapse-item v-if="isArbitrationReading" :title="$t('trials:readingUnit:adRules')" name="3">
|
<el-collapse-item
|
||||||
<ArbitrationRules :ref="`arbitrationRules${item.TrialReadingCriterionId}`" :trial-reading-criterion-id="TrialReadingCriterionId" />
|
v-if="isArbitrationReading"
|
||||||
|
:title="$t('trials:readingUnit:adRules')"
|
||||||
|
name="3"
|
||||||
|
>
|
||||||
|
<ArbitrationRules
|
||||||
|
:ref="`arbitrationRules${item.TrialReadingCriterionId}`"
|
||||||
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
/>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<!-- 肿瘤学阅片配置 -->
|
<!-- 肿瘤学阅片配置 -->
|
||||||
<!-- v-if="isClinicalReading" -->
|
<!-- v-if="isClinicalReading" -->
|
||||||
<el-collapse-item v-if="isOncologyReading" :title="$t('trials:readingUnit:oncologyReading')" name="4">
|
<el-collapse-item
|
||||||
<OncologyForm :ref="`oncologyForm${item.TrialReadingCriterionId}`" :trial-reading-criterion-id="TrialReadingCriterionId" />
|
v-if="isOncologyReading"
|
||||||
|
:title="$t('trials:readingUnit:oncologyReading')"
|
||||||
|
name="4"
|
||||||
|
>
|
||||||
|
<OncologyForm
|
||||||
|
:ref="`oncologyForm${item.TrialReadingCriterionId}`"
|
||||||
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
/>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
@ -62,13 +101,16 @@
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="!isConfirm && hasPermi(['trials:trials-panel:setting:reading-unit:edit'])" class="bottom">
|
<div
|
||||||
<!-- 确认 -->
|
v-if="
|
||||||
<el-button
|
!isConfirm &&
|
||||||
type="danger"
|
hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||||
@click="handleConfirm"
|
"
|
||||||
|
class="bottom"
|
||||||
>
|
>
|
||||||
{{ $t('trials:readingUnit:button:confirm') }}
|
<!-- 确认 -->
|
||||||
|
<el-button type="danger" @click="handleConfirm">
|
||||||
|
{{ $t("trials:readingUnit:button:confirm") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -81,10 +123,16 @@
|
||||||
custom-class="base-dialog-wrapper"
|
custom-class="base-dialog-wrapper"
|
||||||
>
|
>
|
||||||
<div slot="title">
|
<div slot="title">
|
||||||
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span>
|
<span style="font-size: 18px">{{ $t("common:dialogTitle:sign") }}</span>
|
||||||
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span>
|
<span style="font-size: 12px; margin-left: 5px">{{
|
||||||
|
`(${$t("common:label:sign")}${currentUser})`
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" />
|
<SignForm
|
||||||
|
ref="signForm"
|
||||||
|
:sign-code-enum="signCode"
|
||||||
|
@closeDialog="closeSignDialog"
|
||||||
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!--签名框 -->
|
<!--签名框 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
|
@ -95,41 +143,63 @@
|
||||||
custom-class="base-dialog-wrapper"
|
custom-class="base-dialog-wrapper"
|
||||||
>
|
>
|
||||||
<div slot="title">
|
<div slot="title">
|
||||||
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span>
|
<span style="font-size: 18px">{{ $t("common:dialogTitle:sign") }}</span>
|
||||||
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span>
|
<span style="font-size: 12px; margin-left: 5px">{{
|
||||||
|
`(${$t("common:label:sign")}${currentUser})`
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<SignForm ref="signForm2" :sign-code-enum="signCode2" @closeDialog="closeSignDialog2" />
|
<SignForm
|
||||||
|
ref="signForm2"
|
||||||
|
:sign-code-enum="signCode2"
|
||||||
|
@closeDialog="closeSignDialog2"
|
||||||
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { resetAndAsyncCriterion, resetTrialCriterionAsyncState, asyncTrialCriterionDictionary, getTrialCriterionList, trialReadingInfoSign, trialReadingInfoSignVerify, verifyeCriterionNeedSynchronize, synchronizeCriterion } from '@/api/trials'
|
import {
|
||||||
import ReadingRules from './components/ReadingRules'
|
resetAndAsyncCriterion,
|
||||||
import ReadingCriterions from './components/ReadingCriterions'
|
resetTrialCriterionAsyncState,
|
||||||
import ArbitrationRules from './components/ArbitrationRules'
|
asyncTrialCriterionDictionary,
|
||||||
import GlobalReading from './components/GlobalReading'
|
getTrialCriterionList,
|
||||||
import OncologyForm from './components/OncologyForm'
|
trialReadingInfoSign,
|
||||||
import SignForm from '@/views/trials/components/newSignForm'
|
trialReadingInfoSignVerify,
|
||||||
import const_ from '@/const/sign-code'
|
verifyeCriterionNeedSynchronize,
|
||||||
|
synchronizeCriterion,
|
||||||
|
} from "@/api/trials";
|
||||||
|
import ReadingRules from "./components/ReadingRules";
|
||||||
|
import ReadingCriterions from "./components/ReadingCriterions";
|
||||||
|
import ArbitrationRules from "./components/ArbitrationRules";
|
||||||
|
import GlobalReading from "./components/GlobalReading";
|
||||||
|
import OncologyForm from "./components/OncologyForm";
|
||||||
|
import SignForm from "@/views/trials/components/newSignForm";
|
||||||
|
import const_ from "@/const/sign-code";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ReadingUnit',
|
name: "ReadingUnit",
|
||||||
components: { GlobalReading, ReadingRules, ReadingCriterions, ArbitrationRules, OncologyForm, SignForm },
|
components: {
|
||||||
|
GlobalReading,
|
||||||
|
ReadingRules,
|
||||||
|
ReadingCriterions,
|
||||||
|
ArbitrationRules,
|
||||||
|
OncologyForm,
|
||||||
|
SignForm,
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
NODE_ENV: process.env.NODE_ENV,
|
NODE_ENV: process.env.NODE_ENV,
|
||||||
activeCollapse: ['1', '2', '3', '4', '5'],
|
activeCollapse: ["1", "2", "3", "4", "5"],
|
||||||
signCode: null,
|
signCode: null,
|
||||||
signCode2: null,
|
signCode2: null,
|
||||||
signVisible: false,
|
signVisible: false,
|
||||||
signVisible2: false,
|
signVisible2: false,
|
||||||
currentUser: zzSessionStorage.getItem('userName'),
|
currentUser: zzSessionStorage.getItem("userName"),
|
||||||
isConfirm: true,
|
isConfirm: true,
|
||||||
loading: false,
|
loading: false,
|
||||||
isArbitrationReading: false,
|
isArbitrationReading: false,
|
||||||
isClinicalReading: false,
|
isClinicalReading: false,
|
||||||
trialCriterionList: [],
|
trialCriterionList: [],
|
||||||
TrialReadingCriterionId: '0',
|
TrialReadingCriterionId: "0",
|
||||||
CriterionType: 0,
|
CriterionType: 0,
|
||||||
trialId: this.$route.query.trialId,
|
trialId: this.$route.query.trialId,
|
||||||
isPaneShow: true,
|
isPaneShow: true,
|
||||||
|
@ -137,8 +207,8 @@ export default {
|
||||||
isOncologyReading: false,
|
isOncologyReading: false,
|
||||||
isGlobalReading: false,
|
isGlobalReading: false,
|
||||||
digitPlaces: 0,
|
digitPlaces: 0,
|
||||||
isAdditionalAssessment: false
|
isAdditionalAssessment: false,
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
async TrialReadingCriterionId(v) {
|
async TrialReadingCriterionId(v) {
|
||||||
|
@ -150,254 +220,317 @@ export default {
|
||||||
// this.$nextTick(() => {
|
// this.$nextTick(() => {
|
||||||
// this.trialCriterionList[i].isPaneShow = true
|
// this.trialCriterionList[i].isPaneShow = true
|
||||||
// })
|
// })
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getTrialCriterionList()
|
this.getTrialCriterionList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
closeSignDialog2(isSign, signInfo) {
|
closeSignDialog2(isSign, signInfo) {
|
||||||
if (isSign) {
|
if (isSign) {
|
||||||
this.handleSync(signInfo)
|
this.handleSync(signInfo);
|
||||||
} else {
|
} else {
|
||||||
this.signVisible2 = false
|
this.signVisible2 = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
syncSign() {
|
syncSign() {
|
||||||
const { ResetAndAsyncCriterion } = const_.processSignature
|
const { ResetAndAsyncCriterion } = const_.processSignature;
|
||||||
this.signCode2 = ResetAndAsyncCriterion
|
this.signCode2 = ResetAndAsyncCriterion;
|
||||||
this.signVisible2 = true
|
this.signVisible2 = true;
|
||||||
},
|
},
|
||||||
handleSync(signInfo) {
|
handleSync(signInfo) {
|
||||||
// '确定要同步最新标准配置吗?'
|
// '确定要同步最新标准配置吗?'
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
const params = {
|
const params = {
|
||||||
data: {
|
data: {
|
||||||
TrialReadingCriterionId: this.TrialReadingCriterionId
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
},
|
},
|
||||||
signInfo: signInfo
|
signInfo: signInfo,
|
||||||
}
|
};
|
||||||
resetAndAsyncCriterion(params).then(res => {
|
resetAndAsyncCriterion(params)
|
||||||
this.loading = false
|
.then((res) => {
|
||||||
let i = this.trialCriterionList.findIndex(i => i.TrialReadingCriterionId === this.TrialReadingCriterionId)
|
this.loading = false;
|
||||||
if(i === -1) return
|
let i = this.trialCriterionList.findIndex(
|
||||||
this.trialCriterionList[i].isPaneShow = false
|
(i) => i.TrialReadingCriterionId === this.TrialReadingCriterionId
|
||||||
|
);
|
||||||
|
if (i === -1) return;
|
||||||
|
this.trialCriterionList[i].isPaneShow = false;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.signVisible2 = false
|
this.signVisible2 = false;
|
||||||
this.trialCriterionList[i].isPaneShow = true
|
this.trialCriterionList[i].isPaneShow = true;
|
||||||
|
});
|
||||||
})
|
|
||||||
}).catch(() => {
|
|
||||||
this.$refs['signForm2'].btnLoading = false
|
|
||||||
this.loading = false
|
|
||||||
})
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.$refs["signForm2"].btnLoading = false;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
asyncTrialCriterionDictionary(TrialReadingCriterionId) {
|
asyncTrialCriterionDictionary(TrialReadingCriterionId) {
|
||||||
return new Promise(resolve => {
|
return new Promise((resolve) => {
|
||||||
asyncTrialCriterionDictionary({ TrialReadingCriterionId: this.TrialReadingCriterionId }).then(res => {
|
asyncTrialCriterionDictionary({
|
||||||
resolve()
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
})
|
}).then((res) => {
|
||||||
})
|
resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getTrialCriterionList() {
|
getTrialCriterionList() {
|
||||||
getTrialCriterionList(this.trialId, false).then(async res => {
|
getTrialCriterionList(this.trialId, false)
|
||||||
this.trialCriterionList = res.Result.map(item=>{
|
.then(async (res) => {
|
||||||
|
this.trialCriterionList = res.Result.map((item) => {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
isPaneShow: true,
|
isPaneShow: true,
|
||||||
}
|
};
|
||||||
})
|
});
|
||||||
this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId
|
this.TrialReadingCriterionId =
|
||||||
this.isShow = true
|
this.trialCriterionList[0].TrialReadingCriterionId;
|
||||||
}).catch(() => {
|
this.isShow = true;
|
||||||
})
|
})
|
||||||
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
setConfirm(isConfirm) {
|
setConfirm(isConfirm) {
|
||||||
this.isConfirm = isConfirm
|
this.isConfirm = isConfirm;
|
||||||
},
|
},
|
||||||
setDigitPlaces(digitPlaces) {
|
setDigitPlaces(digitPlaces) {
|
||||||
this.digitPlaces = digitPlaces
|
this.digitPlaces = digitPlaces;
|
||||||
},
|
},
|
||||||
setIsClinicalReading(isClinicalReading) {
|
setIsClinicalReading(isClinicalReading) {
|
||||||
this.isClinicalReading = isClinicalReading
|
this.isClinicalReading = isClinicalReading;
|
||||||
},
|
},
|
||||||
setAdditionalAssessment(isAdditionalAssessment) {
|
setAdditionalAssessment(isAdditionalAssessment) {
|
||||||
this.isAdditionalAssessment = isAdditionalAssessment
|
this.isAdditionalAssessment = isAdditionalAssessment;
|
||||||
},
|
},
|
||||||
setArbitrationReading(isArbitrationReading) {
|
setArbitrationReading(isArbitrationReading) {
|
||||||
this.isArbitrationReading = isArbitrationReading
|
this.isArbitrationReading = isArbitrationReading;
|
||||||
},
|
},
|
||||||
setGlobalReading(isGlobalReading) {
|
setGlobalReading(isGlobalReading) {
|
||||||
this.isGlobalReading = isGlobalReading
|
this.isGlobalReading = isGlobalReading;
|
||||||
},
|
},
|
||||||
setOncologyReading(isOncologyReading) {
|
setOncologyReading(isOncologyReading) {
|
||||||
this.isOncologyReading = isOncologyReading
|
this.isOncologyReading = isOncologyReading;
|
||||||
},
|
},
|
||||||
updateCriterions() {
|
updateCriterions() {
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
synchronizeCriterion({ trialId: this.$route.query.trialId, TrialReadingCriterionId: this.TrialReadingCriterionId }).then(res => {
|
synchronizeCriterion({
|
||||||
this.$router.push({ path: `/trials/trials-panel/setting/reading-unit?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&t=${new Date().getTime()}` })
|
trialId: this.$route.query.trialId,
|
||||||
this.loading = false
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
}).catch(() => { this.loading = false })
|
})
|
||||||
|
.then((res) => {
|
||||||
|
this.$router.push({
|
||||||
|
path: `/trials/trials-panel/setting/reading-unit?trialId=${
|
||||||
|
this.$route.query.trialId
|
||||||
|
}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${
|
||||||
|
this.$route.query.researchProgramNo
|
||||||
|
}&t=${new Date().getTime()}`,
|
||||||
|
});
|
||||||
|
this.loading = false;
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
handleConfirm() {
|
handleConfirm() {
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
verifyeCriterionNeedSynchronize({ trialId: this.$route.query.trialId, TrialReadingCriterionId: this.TrialReadingCriterionId }).then(async res => {
|
verifyeCriterionNeedSynchronize({
|
||||||
this.loading = false
|
trialId: this.$route.query.trialId,
|
||||||
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
|
})
|
||||||
|
.then(async (res) => {
|
||||||
|
this.loading = false;
|
||||||
if (res.Result !== 1) {
|
if (res.Result !== 1) {
|
||||||
// 系统检测当前阅片标准配置发生更新,是否确认获取最新配置信息?
|
// 系统检测当前阅片标准配置发生更新,是否确认获取最新配置信息?
|
||||||
this.$confirm(this.$t('trials:readingUnit:message:msg1'), {
|
this.$confirm(this.$t("trials:readingUnit:message:msg1"), {
|
||||||
type: 'warning'
|
type: "warning",
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.updateCriterions()
|
this.updateCriterions();
|
||||||
})
|
|
||||||
.catch(action => {
|
|
||||||
})
|
})
|
||||||
|
.catch((action) => {});
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
var isCheckList = []
|
var isCheckList = [];
|
||||||
if (this.$refs['arbitrationRules' + this.TrialReadingCriterionId] && this.$refs['arbitrationRules' + this.TrialReadingCriterionId].length) {
|
if (
|
||||||
var arbitrationRules = await this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].saveAllSync()
|
this.$refs["arbitrationRules" + this.TrialReadingCriterionId] &&
|
||||||
|
this.$refs["arbitrationRules" + this.TrialReadingCriterionId]
|
||||||
|
.length
|
||||||
|
) {
|
||||||
|
var arbitrationRules = await this.$refs[
|
||||||
|
"arbitrationRules" + this.TrialReadingCriterionId
|
||||||
|
][0].saveAllSync();
|
||||||
isCheckList.push({
|
isCheckList.push({
|
||||||
isCheck: arbitrationRules,
|
isCheck: arbitrationRules,
|
||||||
msg: this.$t('trials:readingUnit:adRules')// '仲裁规则'
|
msg: this.$t("trials:readingUnit:adRules"), // '仲裁规则'
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
var readingRules = await this.$refs['readingRules' + this.TrialReadingCriterionId][0].handleSave(false)
|
var readingRules = await this.$refs[
|
||||||
|
"readingRules" + this.TrialReadingCriterionId
|
||||||
|
][0].handleSave(false);
|
||||||
isCheckList.push({
|
isCheckList.push({
|
||||||
isCheck: readingRules,
|
isCheck: readingRules,
|
||||||
msg: this.$t('trials:readingUnit:readingRules')// '阅片规则'
|
msg: this.$t("trials:readingUnit:readingRules"), // '阅片规则'
|
||||||
})
|
});
|
||||||
// var readingCriterions = await this.$refs['readingCriterions' + this.TrialReadingCriterionId][0].handleSave(false)
|
// var readingCriterions = await this.$refs['readingCriterions' + this.TrialReadingCriterionId][0].handleSave(false)
|
||||||
// isCheckList.push({
|
// isCheckList.push({
|
||||||
// isCheck: readingCriterions,
|
// isCheck: readingCriterions,
|
||||||
// msg: '阅片标准'
|
// msg: '阅片标准'
|
||||||
// })
|
// })
|
||||||
if (this.$refs['globalReading' + this.TrialReadingCriterionId] && this.$refs['globalReading' + this.TrialReadingCriterionId].length) {
|
if (
|
||||||
var globalReading = await this.$refs['globalReading' + this.TrialReadingCriterionId][0].handleSave(false)
|
this.$refs["globalReading" + this.TrialReadingCriterionId] &&
|
||||||
|
this.$refs["globalReading" + this.TrialReadingCriterionId]
|
||||||
|
.length
|
||||||
|
) {
|
||||||
|
var globalReading = await this.$refs[
|
||||||
|
"globalReading" + this.TrialReadingCriterionId
|
||||||
|
][0].handleSave(false);
|
||||||
isCheckList.push({
|
isCheckList.push({
|
||||||
isCheck: globalReading,
|
isCheck: globalReading,
|
||||||
msg: this.$t('trials:readingUnit:GlobalReading')// '全局阅片'
|
msg: this.$t("trials:readingUnit:GlobalReading"), // '全局阅片'
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
if (this.$refs['oncologyForm' + this.TrialReadingCriterionId] && this.$refs['oncologyForm' + this.TrialReadingCriterionId].length) {
|
if (
|
||||||
var oncologyForm = await this.$refs['oncologyForm' + this.TrialReadingCriterionId][0].handleSave(false)
|
this.$refs["oncologyForm" + this.TrialReadingCriterionId] &&
|
||||||
|
this.$refs["oncologyForm" + this.TrialReadingCriterionId].length
|
||||||
|
) {
|
||||||
|
var oncologyForm = await this.$refs[
|
||||||
|
"oncologyForm" + this.TrialReadingCriterionId
|
||||||
|
][0].handleSave(false);
|
||||||
isCheckList.push({
|
isCheckList.push({
|
||||||
isCheck: oncologyForm,
|
isCheck: oncologyForm,
|
||||||
msg: this.$t('trials:readingUnit:oncologyReading')// '肿瘤学阅片配置'
|
msg: this.$t("trials:readingUnit:oncologyReading"), // '肿瘤学阅片配置'
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
if (isCheckList.every(v => v.isCheck === true)) {
|
if (isCheckList.every((v) => v.isCheck === true)) {
|
||||||
trialReadingInfoSignVerify({ trialId: this.$route.query.trialId, TrialReadingCriterionId: this.TrialReadingCriterionId }).then(res => {
|
trialReadingInfoSignVerify({
|
||||||
|
trialId: this.$route.query.trialId,
|
||||||
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
|
}).then((res) => {
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
const { ReadingUnitConfirmation } = const_.processSignature
|
const { ReadingUnitConfirmation } = const_.processSignature;
|
||||||
this.signCode = ReadingUnitConfirmation
|
this.signCode = ReadingUnitConfirmation;
|
||||||
this.signVisible = true
|
this.signVisible = true;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
var notCheckList = isCheckList.filter(v => v.isCheck === false)
|
var notCheckList = isCheckList.filter(
|
||||||
var msg = notCheckList.map(v => v.msg)
|
(v) => v.isCheck === false
|
||||||
msg = this.$t('trials:readingUnit:message:msg2').replace('xxx', msg)
|
);
|
||||||
this.$alert(msg) // ${msg}区域信息不完整,请完成后确认!
|
var msg = notCheckList.map((v) => v.msg);
|
||||||
|
msg = this.$t("trials:readingUnit:message:msg2").replace(
|
||||||
|
"xxx",
|
||||||
|
msg
|
||||||
|
);
|
||||||
|
this.$alert(msg); // ${msg}区域信息不完整,请完成后确认!
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
console.log(222)
|
|
||||||
this.loading = false
|
|
||||||
})
|
})
|
||||||
|
.catch(() => {
|
||||||
|
console.log(222);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
// 关闭签名框并设置确认状态
|
// 关闭签名框并设置确认状态
|
||||||
closeSignDialog(isSign, signInfo) {
|
closeSignDialog(isSign, signInfo) {
|
||||||
if (isSign) {
|
if (isSign) {
|
||||||
this.signConfirm(signInfo)
|
this.signConfirm(signInfo);
|
||||||
} else {
|
} else {
|
||||||
this.signVisible = false
|
this.signVisible = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 签名确认
|
// 签名确认
|
||||||
signConfirm(signInfo) {
|
signConfirm(signInfo) {
|
||||||
this.loading = true
|
this.loading = true;
|
||||||
const params = {
|
const params = {
|
||||||
data: {
|
data: {
|
||||||
trialId: this.$route.query.trialId,
|
trialId: this.$route.query.trialId,
|
||||||
TrialReadingCriterionId: this.TrialReadingCriterionId
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
},
|
},
|
||||||
signInfo: signInfo
|
signInfo: signInfo,
|
||||||
}
|
};
|
||||||
trialReadingInfoSign(params).then(res => {
|
trialReadingInfoSign(params)
|
||||||
|
.then((res) => {
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
try {
|
try {
|
||||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
this.$message.success(
|
||||||
this.isConfirm = true
|
this.$t("common:message:savedSuccessfully")
|
||||||
|
);
|
||||||
|
this.isConfirm = true;
|
||||||
try {
|
try {
|
||||||
this.$refs['readingRules' + this.TrialReadingCriterionId][0].initPage()
|
this.$refs[
|
||||||
} catch (e) {
|
"readingRules" + this.TrialReadingCriterionId
|
||||||
}
|
][0].initPage();
|
||||||
|
} catch (e) {}
|
||||||
try {
|
try {
|
||||||
this.$refs['readingCriterions' + this.TrialReadingCriterionId][0].initPage()
|
this.$refs[
|
||||||
} catch (e) {
|
"readingCriterions" + this.TrialReadingCriterionId
|
||||||
}
|
][0].initPage();
|
||||||
|
} catch (e) {}
|
||||||
try {
|
try {
|
||||||
this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].getList()
|
this.$refs[
|
||||||
} catch (e) {
|
"arbitrationRules" + this.TrialReadingCriterionId
|
||||||
}
|
][0].getList();
|
||||||
|
} catch (e) {}
|
||||||
try {
|
try {
|
||||||
this.$refs['globalReading' + this.TrialReadingCriterionId][0].initForm()
|
this.$refs[
|
||||||
} catch (e) {
|
"globalReading" + this.TrialReadingCriterionId
|
||||||
}
|
][0].initForm();
|
||||||
|
} catch (e) {}
|
||||||
try {
|
try {
|
||||||
this.$refs['oncologyForm' + this.TrialReadingCriterionId][0].initForm()
|
this.$refs[
|
||||||
|
"oncologyForm" + this.TrialReadingCriterionId
|
||||||
|
][0].initForm();
|
||||||
|
} catch (e) {}
|
||||||
|
this.$refs["signForm"].btnLoading = false;
|
||||||
|
this.signVisible = false;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
}
|
console.log(e);
|
||||||
this.$refs['signForm'].btnLoading = false
|
|
||||||
this.signVisible = false
|
|
||||||
} catch (e) {
|
|
||||||
console.log(e)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false;
|
||||||
}).catch(_ => {
|
|
||||||
this.loading = false
|
|
||||||
this.$refs['signForm'].btnLoading = false
|
|
||||||
})
|
})
|
||||||
|
.catch((_) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.$refs["signForm"].btnLoading = false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
reloadArbitrationRules() {
|
reloadArbitrationRules() {
|
||||||
this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].getList()
|
this.$refs[
|
||||||
this.$refs['arbitrationRules' + this.TrialReadingCriterionId][0].getTrialJudgyInfo()
|
"arbitrationRules" + this.TrialReadingCriterionId
|
||||||
}
|
][0].getList();
|
||||||
}
|
this.$refs[
|
||||||
}
|
"arbitrationRules" + this.TrialReadingCriterionId
|
||||||
|
][0].getTrialJudgyInfo();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.reading-unit-wrapper{
|
.reading-unit-wrapper {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
.content{
|
.content {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__header{
|
/deep/ .el-collapse-item__header {
|
||||||
background:#e5ecef;
|
background: #e5ecef;
|
||||||
padding-left:10px;
|
padding-left: 10px;
|
||||||
}
|
}
|
||||||
/deep/ .el-collapse-item__content{
|
/deep/ .el-collapse-item__content {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
.bottom{
|
.bottom {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
display:flex;
|
display: flex;
|
||||||
align-items:center;
|
align-items: center;
|
||||||
justify-content:center;
|
justify-content: center;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-top: 1px solid #e1e1e1;
|
border-top: 1px solid #e1e1e1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue