阅片单元配置新增必填项影像模态
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
9c5fa63b89
commit
c129d79273
|
@ -5,7 +5,7 @@
|
|||
ref="readingRulesForm"
|
||||
v-loading="loading"
|
||||
:model="form"
|
||||
style="width:800px;"
|
||||
style="width: 800px"
|
||||
:rules="rules"
|
||||
label-width="340px"
|
||||
size="small"
|
||||
|
@ -17,7 +17,10 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.ImagePlatform"
|
||||
|
@ -36,7 +39,10 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.ReadingTool"
|
||||
|
@ -47,13 +53,47 @@
|
|||
</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
|
||||
:label="$t('trials:consistencyAnalysis:table:isUrgent')"
|
||||
prop="DigitPlaces"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsUrgent"
|
||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -71,7 +111,10 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -89,7 +132,10 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -106,10 +152,15 @@
|
|||
>
|
||||
<el-radio-group
|
||||
v-model="form.ReadingType"
|
||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
||||
@change="() => {
|
||||
form.IsArbitrationReading = false
|
||||
}"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
() => {
|
||||
form.IsArbitrationReading = false;
|
||||
}
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.ReadingMethod"
|
||||
|
@ -127,13 +178,19 @@
|
|||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingPeriod"
|
||||
:disabled="isConfirm || IsMustGlobalReading || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
||||
@change="(v) => {
|
||||
if (!v) {
|
||||
form.IsGlobalReading = v
|
||||
form.IsOncologyReading = v
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
IsMustGlobalReading ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
(v) => {
|
||||
if (!v) {
|
||||
form.IsGlobalReading = v;
|
||||
form.IsOncologyReading = v;
|
||||
}
|
||||
}
|
||||
}"
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -150,7 +207,12 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -167,7 +229,11 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -184,7 +250,12 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -197,22 +268,29 @@
|
|||
</el-form-item>
|
||||
<!-- 任务展示方式 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:readingUnit:readingRules:title:readingTaskViewInOrder')"
|
||||
:label="
|
||||
$t('trials:readingUnit:readingRules:title:readingTaskViewInOrder')
|
||||
"
|
||||
prop="IsReadingTaskViewInOrder"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingTaskViewInOrder"
|
||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
||||
@change="(v) => {
|
||||
if (v) {
|
||||
form.IsReadingShowSubjectInfo = true
|
||||
form.IsReadingShowPreviousResults = true
|
||||
form.ReadingTaskViewEnum = 0
|
||||
form.IseCRFShowInDicomReading = false
|
||||
} else {
|
||||
form.ReadingTaskViewEnum = 2
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
(v) => {
|
||||
if (v) {
|
||||
form.IsReadingShowSubjectInfo = true;
|
||||
form.IsReadingShowPreviousResults = true;
|
||||
form.ReadingTaskViewEnum = 0;
|
||||
form.IseCRFShowInDicomReading = false;
|
||||
} else {
|
||||
form.ReadingTaskViewEnum = 2;
|
||||
}
|
||||
}
|
||||
}"
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.IsReadingTaskViewInOrder"
|
||||
|
@ -230,7 +308,12 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.ReadingTaskViewEnum"
|
||||
|
@ -243,16 +326,22 @@
|
|||
</el-form-item>
|
||||
<!-- IR阅片页面是否显示受试者信息 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:readingUnit:readingRules:title:isReadingShowSubjectInfo')"
|
||||
:label="
|
||||
$t('trials:readingUnit:readingRules:title:isReadingShowSubjectInfo')
|
||||
"
|
||||
prop="IsReadingShowSubjectInfo"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingShowSubjectInfo"
|
||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])) || form.IsReadingTaskViewInOrder"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
form.IsReadingTaskViewInOrder
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="'IsReadingShowSubjectInfo'+item.value"
|
||||
:key="'IsReadingShowSubjectInfo' + item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
|
@ -261,21 +350,31 @@
|
|||
</el-form-item>
|
||||
<!-- IR阅片页面是否可以查看既往任务结果 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:readingUnit:readingRules:title:isReadingShowPreviousResults')"
|
||||
:label="
|
||||
$t(
|
||||
'trials:readingUnit:readingRules:title:isReadingShowPreviousResults'
|
||||
)
|
||||
"
|
||||
prop="IsReadingShowPreviousResults"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IsReadingShowPreviousResults"
|
||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])) || form.IsReadingTaskViewInOrder"
|
||||
@change="(v) => {
|
||||
if (!v) {
|
||||
form.IseCRFShowInDicomReading = true
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
form.IsReadingTaskViewInOrder
|
||||
"
|
||||
@change="
|
||||
(v) => {
|
||||
if (!v) {
|
||||
form.IseCRFShowInDicomReading = true;
|
||||
}
|
||||
}
|
||||
}"
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="'IsReadingShowPreviousResults'+item.value"
|
||||
:key="'IsReadingShowPreviousResults' + item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
|
@ -284,12 +383,18 @@
|
|||
</el-form-item>
|
||||
<!-- eCRF是否显示在影像阅片页面 -->
|
||||
<el-form-item
|
||||
:label="$t('trials:readingUnit:readingRules:title:isECRFShowInDicomReading')"
|
||||
:label="
|
||||
$t('trials:readingUnit:readingRules:title:isECRFShowInDicomReading')
|
||||
"
|
||||
prop="IseCRFShowInDicomReading"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="form.IseCRFShowInDicomReading"
|
||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])) || !form.IsReadingShowPreviousResults"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit']) ||
|
||||
!form.IsReadingShowPreviousResults
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
|
@ -307,7 +412,10 @@
|
|||
>
|
||||
<el-radio-group
|
||||
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
|
||||
v-for="item of $d.DigitPlaces"
|
||||
|
@ -318,55 +426,96 @@
|
|||
</el-radio>
|
||||
</el-radio-group>
|
||||
</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 v-for="item of form.TrialCriterionAdditionalAssessmentTypeList" :prop="`AdditionalAssessmentType${item.Id}`" :rules="[
|
||||
{ required:true,message: $t('common:ruleMessage:select'), trigger: ['blur']},
|
||||
]" :label="$fd('AdditionalAssessmentType', item.AdditionalAssessmentType)" v-if="form.IsAdditionalAssessment && form.TrialCriterionAdditionalAssessmentTypeList">
|
||||
<el-radio-group
|
||||
v-model="item.IsSelected"
|
||||
:disabled="isConfirm || (!hasPermi(['trials:trials-panel:setting:reading-unit:edit']))"
|
||||
@change="(v) => {$set(form, 'AdditionalAssessmentType' + item.Id, v)}"
|
||||
<template v-for="item of form.TrialCriterionAdditionalAssessmentTypeList">
|
||||
<el-form-item
|
||||
:key="item.Id"
|
||||
:prop="`AdditionalAssessmentType${item.Id}`"
|
||||
:rules="[
|
||||
{
|
||||
required: true,
|
||||
message: $t('common:ruleMessage:select'),
|
||||
trigger: ['blur'],
|
||||
},
|
||||
]"
|
||||
:label="
|
||||
$fd('AdditionalAssessmentType', item.AdditionalAssessmentType)
|
||||
"
|
||||
v-if="
|
||||
form.IsAdditionalAssessment &&
|
||||
form.TrialCriterionAdditionalAssessmentTypeList
|
||||
"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`AdditionalAssessmentType${item.value}`"
|
||||
:label="item.value"
|
||||
<el-radio-group
|
||||
v-model="item.IsSelected"
|
||||
:disabled="
|
||||
isConfirm ||
|
||||
!hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
@change="
|
||||
(v) => {
|
||||
$set(form, 'AdditionalAssessmentType' + item.Id, v);
|
||||
}
|
||||
"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="!isConfirm && hasPermi(['trials:trials-panel:setting:reading-unit:edit'])">
|
||||
<el-radio
|
||||
v-for="item of $d.YesOrNo"
|
||||
:key="`AdditionalAssessmentType${item.value}`"
|
||||
:label="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<el-form-item
|
||||
v-if="
|
||||
!isConfirm &&
|
||||
hasPermi(['trials:trials-panel:setting:reading-unit:edit'])
|
||||
"
|
||||
>
|
||||
<!-- 保存 -->
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="handleSave(true)"
|
||||
>
|
||||
{{ $t('common:button:save') }}
|
||||
<el-button type="primary" @click="handleSave(true)">
|
||||
{{ $t("common:button:save") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
import { getCriterionReadingInfo, setCriterionReadingInfo, getTrialCriterionAdditionalAssessmentOptionList } from '@/api/trials'
|
||||
import {
|
||||
getCriterionReadingInfo,
|
||||
setCriterionReadingInfo,
|
||||
getTrialCriterionAdditionalAssessmentOptionList,
|
||||
} from "@/api/trials";
|
||||
import { isArray } from "ali-oss/lib/common/utils/isArray";
|
||||
export default {
|
||||
name: 'ReadingRules',
|
||||
name: "ReadingRules",
|
||||
props: {
|
||||
trialReadingCriterionId: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
return "";
|
||||
},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
additionalAssessmentOptionList: [],
|
||||
form: {
|
||||
TrialId: '',
|
||||
TrialId: "",
|
||||
ImagePlatform: null,
|
||||
ReadingTool: 0,
|
||||
ReadingTaskViewEnum: null,
|
||||
|
@ -391,57 +540,139 @@ export default {
|
|||
CriterionType: null,
|
||||
AdditionalAssessmentType: null,
|
||||
IsUrgent: false,
|
||||
TrialCriterionAdditionalAssessmentTypeList: []
|
||||
TrialCriterionAdditionalAssessmentTypeList: [],
|
||||
CriterionModalitys: null,
|
||||
},
|
||||
rules: {
|
||||
IsAutoCreate: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsAdditionalAssessment: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
ImagePlatform: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
ReadingTool: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
ReadingTaskViewEnum: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsImageLabeled: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsReadingShowSubjectInfo: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsReadingShowPreviousResults: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
ReadingType: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsReadingTaskViewInOrder: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsGlobalReading: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsArbitrationReading: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IsOncologyReading: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
DigitPlaces: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
IseCRFShowInDicomReading: [
|
||||
{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("common:ruleMessage:select"),
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
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: [
|
||||
// { required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change'] }
|
||||
// ]
|
||||
|
@ -451,17 +682,32 @@ export default {
|
|||
isConfirm: true,
|
||||
isReadingTaskViewInOrder: null,
|
||||
IsMustGlobalReading: false,
|
||||
IsNotReadingShowSubjectInfoChange: false
|
||||
}
|
||||
IsNotReadingShowSubjectInfoChange: false,
|
||||
|
||||
modalityList: [],
|
||||
CriterionModalitys: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.initPage()
|
||||
console.log(this.$d.GlobalAssessType)
|
||||
this.initPage();
|
||||
},
|
||||
watch: {
|
||||
CriterionModalitys: {
|
||||
handler() {
|
||||
this.form.CriterionModalitys = this.CriterionModalitys.join("|");
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 影像模态全选
|
||||
handleCheckAllChange() {
|
||||
this.CriterionModalitys =
|
||||
this.CriterionModalitys.length <= 0 ? this.modalityList : [];
|
||||
},
|
||||
initPage() {
|
||||
this.loading = true
|
||||
const trialId = this.$route.query.trialId
|
||||
this.loading = true;
|
||||
const trialId = this.$route.query.trialId;
|
||||
// getTrialCriterionAdditionalAssessmentOptionList(this.trialReadingCriterionId).then(res => {
|
||||
// this.additionalAssessmentOptionList = res.Result
|
||||
// if (this.additionalAssessmentOptionList.length > 0) {
|
||||
|
@ -469,34 +715,49 @@ export default {
|
|||
// this.$set(this.form, 'AdditionalAssessmentType'+v.Id, v.IsSelected)
|
||||
// })
|
||||
// }
|
||||
getCriterionReadingInfo({ trialId, TrialReadingCriterionId: this.trialReadingCriterionId }).then(res => {
|
||||
this.loading = false
|
||||
getCriterionReadingInfo({
|
||||
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) {
|
||||
if (res.Result.hasOwnProperty(k)) {
|
||||
this.form[k] = res.Result[k]
|
||||
this.form[k] = res.Result[k];
|
||||
}
|
||||
}
|
||||
console.log(this.form.TrialCriterionAdditionalAssessmentTypeList)
|
||||
this.form.TrialCriterionAdditionalAssessmentTypeList.forEach(v => {
|
||||
this.$set(v, 'IsSelected', v.IsSelected || false)
|
||||
this.$set(this.form, 'AdditionalAssessmentType'+v.Id, v.IsSelected)
|
||||
})
|
||||
this.isReadingTaskViewInOrder = res.Result.IsReadingTaskViewInOrder
|
||||
this.isConfirm = res.Result.IsSign
|
||||
this.IsMustGlobalReading = res.Result.IsMustGlobalReading
|
||||
this.$emit('setConfirm', res.Result.IsSign)
|
||||
this.$emit('setArbitrationReading', res.Result.IsArbitrationReading)
|
||||
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)
|
||||
console.log(this.form.TrialCriterionAdditionalAssessmentTypeList);
|
||||
this.form.TrialCriterionAdditionalAssessmentTypeList.forEach((v) => {
|
||||
this.$set(v, "IsSelected", v.IsSelected || false);
|
||||
this.$set(
|
||||
this.form,
|
||||
"AdditionalAssessmentType" + v.Id,
|
||||
v.IsSelected
|
||||
);
|
||||
});
|
||||
this.isReadingTaskViewInOrder = res.Result.IsReadingTaskViewInOrder;
|
||||
this.isConfirm = res.Result.IsSign;
|
||||
this.IsMustGlobalReading = res.Result.IsMustGlobalReading;
|
||||
this.$emit("setConfirm", res.Result.IsSign);
|
||||
this.$emit("setArbitrationReading", res.Result.IsArbitrationReading);
|
||||
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) {
|
||||
this.$emit('setArbitrationReading', false)
|
||||
this.$emit("setArbitrationReading", false);
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
// }).catch(() => {
|
||||
// this.loading = false
|
||||
// })
|
||||
|
@ -504,47 +765,56 @@ export default {
|
|||
// 配置信息保存
|
||||
handleSave(isPrompt = true) {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$refs['readingRulesForm'].validate((valid) => {
|
||||
this.$refs["readingRulesForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
resolve(false)
|
||||
resolve(false);
|
||||
} else {
|
||||
this.loading = true
|
||||
this.loading = true;
|
||||
if (this.form.ReadingType === 1) {
|
||||
this.form.IsArbitrationReading = false
|
||||
this.form.IsArbitrationReading = false;
|
||||
}
|
||||
// 保存配置信息
|
||||
this.form.TrialReadingCriterionId = this.trialReadingCriterionId
|
||||
setCriterionReadingInfo(this.form).then(res => {
|
||||
this.loading = false
|
||||
this.$emit('reloadArbitrationRules')
|
||||
this.$emit('setArbitrationReading', this.form.IsArbitrationReading)
|
||||
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) {
|
||||
this.$emit('setArbitrationReading', false)
|
||||
}
|
||||
if (res.IsSuccess && isPrompt) {
|
||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||
}
|
||||
resolve(true)
|
||||
}).catch(_ => {
|
||||
this.loading = false
|
||||
resolve(false)
|
||||
})
|
||||
this.form.TrialReadingCriterionId = this.trialReadingCriterionId;
|
||||
setCriterionReadingInfo(this.form)
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
this.$emit("reloadArbitrationRules");
|
||||
this.$emit(
|
||||
"setArbitrationReading",
|
||||
this.form.IsArbitrationReading
|
||||
);
|
||||
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) {
|
||||
this.$emit("setArbitrationReading", false);
|
||||
}
|
||||
if (res.IsSuccess && isPrompt) {
|
||||
this.$message.success(
|
||||
this.$t("common:message:savedSuccessfully")
|
||||
);
|
||||
}
|
||||
resolve(true);
|
||||
})
|
||||
.catch((_) => {
|
||||
this.loading = false;
|
||||
resolve(false);
|
||||
});
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.reading-rule-config-form{
|
||||
.fontColor{
|
||||
.reading-rule-config-form {
|
||||
.fontColor {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,13 +15,14 @@
|
|||
clearable
|
||||
@change="((val)=>{qsTypeChange(val, form)})"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of $d.Criterion_Question_Type"
|
||||
v-if="item.value !== 'calculation' && item.value !== 'increment'"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
/>
|
||||
<template v-for="item of $d.Criterion_Question_Type">
|
||||
<el-option
|
||||
v-if="item.value !== 'calculation' && item.value !== 'increment'"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
/>
|
||||
</template>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
@ -95,14 +96,15 @@
|
|||
<el-radio-group
|
||||
v-model="form.ValueType"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of $d.ValueType"
|
||||
<template v-for="item of $d.ValueType">
|
||||
<el-radio
|
||||
v-if="item.value !== 3"
|
||||
:key="item.id"
|
||||
:label="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</template>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
|
@ -126,7 +128,7 @@
|
|||
<el-radio-group
|
||||
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-form-item>
|
||||
<!-- 数值单位 -->
|
||||
|
@ -441,7 +443,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item :label="$t('trials:readingUnit:qsList:title: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-form-item>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue