简历临床试验经历添加适应症类型
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2024-10-30 10:32:42 +08:00
parent 4400d31bca
commit 3633de8c35
2 changed files with 94 additions and 15 deletions

View File

@ -93,15 +93,16 @@
:disabled="$route.query.ReviewStatus === '1'"
@click="handleEdit(scope.row)"
>
{{ $t('common:button:edit') }}</el-button
>
{{ $t('common:button:edit') }}
</el-button>
<el-button
type="text"
size="small"
:disabled="$route.query.ReviewStatus === '1'"
@click="handleDel(scope.row)"
>{{ $t('common:button:delete') }}</el-button
>
{{ $t('common:button:delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
@ -250,13 +251,33 @@
:min="0"
/>
</el-form-item>
<!-- 适应症类型 IndicationType -->
<el-form-item
:label="$t('system:TrialExperience:indicationType')"
prop="IndicationTypeId"
>
<el-select
v-model="clinicalTrialForm.IndicationTypeId"
@change="handleIndicationTypeChange"
>
<el-option
v-for="item of $d.IndicationType"
:key="item.id"
:label="item.label"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('system:TrialExperience:Indication')"
prop="IndicationEnum"
>
<el-select v-model="clinicalTrialForm.IndicationEnum">
<el-select
v-model="clinicalTrialForm.IndicationEnum"
:disabled="!clinicalTrialForm.IndicationTypeId"
>
<el-option
v-for="item of $d.Indication"
v-for="item of IndicationOptions"
:key="item.id"
:label="item.label"
:value="item.value"
@ -304,6 +325,7 @@ const getClinicalTrialDefault = () => {
OtherStages: '',
OtherCriterion: '',
IndicationEnum: null,
IndicationTypeId: null,
}
}
export default {
@ -377,6 +399,17 @@ export default {
}
},
computed: {
IndicationOptions() {
if (!this.clinicalTrialForm.IndicationTypeId) return []
let indicationGrouping = this.$d.IndicationType.filter(
(item) => item.id === this.clinicalTrialForm.IndicationTypeId
)[0].raw.ChildGroup
let arr =
this.$d.Indication.filter(
(item) => indicationGrouping === item.raw.ChildGroup
) || []
return arr
},
IndicationEnum_isOther() {
if (!this.clinicalTrialForm.IndicationEnum) return false
let value = this.$d.Indication.find(
@ -431,7 +464,7 @@ export default {
},
IndicationEnum_isOther() {
if (!this.IndicationEnum_isOther) {
this.form.EvaluationContent = null
this.clinicalTrialForm.EvaluationContent = null
}
},
},
@ -487,6 +520,8 @@ export default {
VisitReadingCount,
OtherStages,
OtherCriterion,
IndicationEnum,
IndicationTypeId,
} = row
this.clinicalTrialForm = Object.assign({}, getClinicalTrialDefault())
this.clinicalTrialDialogTitle = 'Edit'
@ -500,6 +535,8 @@ export default {
this.clinicalTrialForm.EvaluationContent = EvaluationContent
this.clinicalTrialForm.OtherStages = OtherStages
this.clinicalTrialForm.OtherCriterion = OtherCriterion
this.clinicalTrialForm.IndicationEnum = IndicationEnum
this.clinicalTrialForm.IndicationTypeId = IndicationTypeId
},
handleSave() {
this.$refs.clinicalTrialForm.validate((valid) => {
@ -583,6 +620,10 @@ export default {
}
})
},
handleIndicationTypeChange(val) {
this.clinicalTrialForm.EvaluationContent = null
this.clinicalTrialForm.IndicationEnum = null
},
},
}
</script>

View File

@ -48,12 +48,14 @@
prop="EvaluationContent"
:label="$t('curriculumVitae:clinicalTrials:table:indication')"
>
<span v-if="scope.row.EvaluationContent">
{{ scope.row.EvaluationContent }}
</span>
<span v-else>
{{ $fd('Indication', scope.row.IndicationEnum) }}
</span>
<template slot-scope="scope">
<span v-if="scope.row.EvaluationContent">
{{ scope.row.EvaluationContent }}
</span>
<span v-else>
{{ $fd('Indication', scope.row.IndicationEnum) }}
</span>
</template>
</el-table-column>
<el-table-column
prop="VisitReadingCount"
@ -170,7 +172,7 @@
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
label-width="120px"
size="small"
>
<el-form-item
@ -251,13 +253,33 @@
clearable
></el-input>
</el-form-item>
<!-- 适应症类型 IndicationType -->
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:indicationType')"
prop="IndicationTypeId"
>
<el-select
v-model="form.IndicationTypeId"
@change="handleIndicationTypeChange"
>
<el-option
v-for="item of $d.IndicationType"
:key="item.id"
:label="item.label"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:indication')"
prop="IndicationEnum"
>
<el-select v-model="form.IndicationEnum">
<el-select
v-model="form.IndicationEnum"
:disabled="!form.IndicationTypeId"
>
<el-option
v-for="item of $d.Indication"
v-for="item of IndicationOptions"
:key="item.id"
:label="item.label"
:value="item.value"
@ -471,6 +493,7 @@ const defaultForm = () => {
OtherStages: '',
OtherCriterion: '',
IndicationEnum: null,
IndicationTypeId: null,
}
}
const defaultCertificateForm = () => {
@ -624,6 +647,17 @@ export default {
},
},
computed: {
IndicationOptions() {
if (!this.form.IndicationTypeId) return []
let indicationGrouping = this.$d.IndicationType.filter(
(item) => item.id === this.form.IndicationTypeId
)[0].raw.ChildGroup
let arr =
this.$d.Indication.filter(
(item) => indicationGrouping === item.raw.ChildGroup
) || []
return arr
},
GCPData() {
if (!this.DATA) return []
return [
@ -927,6 +961,10 @@ export default {
this.certificateForm = defaultCertificateForm()
}
},
handleIndicationTypeChange(val) {
this.form.EvaluationContent = null
this.form.IndicationEnum = null
},
},
}
</script>