简历临床实验经历区分项目和系统
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
ae599f4ada
commit
2a11d3f012
|
@ -138,13 +138,11 @@ export function addOrUpdateResearchPublication(param) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getTrialExperience(doctorId) {
|
||||
export function getTrialExperience(data) {
|
||||
return request({
|
||||
url: `/trialExperience/getTrialExperience`,
|
||||
method: 'post',
|
||||
data: {
|
||||
DoctorId: doctorId
|
||||
}
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -72,7 +72,16 @@
|
|||
prop="EvaluationContent"
|
||||
:label="$t('system:TrialExperience:Indication')"
|
||||
min-width="70"
|
||||
/>
|
||||
>
|
||||
<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
|
||||
:label="$t('system:TrialExperience:Operation')"
|
||||
min-width="200"
|
||||
|
@ -189,9 +198,9 @@
|
|||
v-model="clinicalTrialForm.EvaluationCriteriaIdList"
|
||||
multiple
|
||||
>
|
||||
<!-- <el-option v-for="(key,value) of dictionaryList.ReadingStandard" :key="value" :label="key" :value="value" /> -->
|
||||
<!-- <el-option v-for="(key,value) of dictionaryList.CriterionType" :key="value" :label="key" :value="value" /> -->
|
||||
<el-option
|
||||
v-for="item in ReadingStandard"
|
||||
v-for="item in CriterionType"
|
||||
:key="item.Id"
|
||||
:label="item.Value"
|
||||
:value="item.Id"
|
||||
|
@ -243,9 +252,22 @@
|
|||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('system:TrialExperience:Indication')"
|
||||
prop="EvaluationContent"
|
||||
prop="IndicationEnum"
|
||||
>
|
||||
<el-input v-model="clinicalTrialForm.EvaluationContent" />
|
||||
<el-select v-model="clinicalTrialForm.IndicationEnum">
|
||||
<el-option
|
||||
v-for="item of $d.Indication"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="EvaluationContent" v-if="IndicationEnum_isOther">
|
||||
<el-input
|
||||
v-model="clinicalTrialForm.EvaluationContent"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
|
@ -281,6 +303,7 @@ const getClinicalTrialDefault = () => {
|
|||
EndTime: null,
|
||||
OtherStages: '',
|
||||
OtherCriterion: '',
|
||||
IndicationEnum: null,
|
||||
}
|
||||
}
|
||||
export default {
|
||||
|
@ -320,6 +343,9 @@ export default {
|
|||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||
{ max: 300, message: 'The maximum length is 300' },
|
||||
],
|
||||
IndicationEnum: [
|
||||
{ required: true, message: 'Please select', trigger: 'blur' },
|
||||
],
|
||||
StartTime: [
|
||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||
],
|
||||
|
@ -351,6 +377,13 @@ export default {
|
|||
}
|
||||
},
|
||||
computed: {
|
||||
IndicationEnum_isOther() {
|
||||
if (!this.clinicalTrialForm.IndicationEnum) return false
|
||||
let value = this.$d.Indication.find(
|
||||
(item) => item.value === this.clinicalTrialForm.IndicationEnum
|
||||
).label
|
||||
return value === '其它' || value === 'Other'
|
||||
},
|
||||
Trial_Phase_isOther() {
|
||||
if (!this.clinicalTrialForm.PhaseId) return false
|
||||
let value = this.dictionaryList.Trial_Phase.find(
|
||||
|
@ -368,10 +401,10 @@ export default {
|
|||
this.otherId
|
||||
)
|
||||
},
|
||||
ReadingStandard() {
|
||||
if (!this.dictionaryList.ReadingStandard) return []
|
||||
CriterionType() {
|
||||
if (!this.dictionaryList.CriterionType) return []
|
||||
return [
|
||||
...this.dictionaryList.ReadingStandard,
|
||||
...this.dictionaryList.CriterionType,
|
||||
{
|
||||
Id: this.otherId,
|
||||
Value: 'Other',
|
||||
|
@ -396,6 +429,11 @@ export default {
|
|||
this.clinicalTrialForm.OtherCriterion = null
|
||||
}
|
||||
},
|
||||
IndicationEnum_isOther() {
|
||||
if (!this.IndicationEnum_isOther) {
|
||||
this.form.EvaluationContent = null
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initForm()
|
||||
|
@ -406,7 +444,13 @@ export default {
|
|||
const id = this.$route.query.Id || this.reviewerId
|
||||
if (id) {
|
||||
this.loading = true
|
||||
getTrialExperience(id)
|
||||
let data = {
|
||||
DoctorId: id,
|
||||
}
|
||||
if (this.$route.query.trialId) {
|
||||
data.TrialId = this.$route.query.trialId
|
||||
}
|
||||
getTrialExperience(data)
|
||||
.then((res) => {
|
||||
this.clinicalTrialList = res.Result.ClinicalTrialExperienceList
|
||||
this.GCP = res.Result.GCP
|
||||
|
@ -422,7 +466,7 @@ export default {
|
|||
}
|
||||
},
|
||||
getDicData() {
|
||||
getBasicDataSelects(['Trial_Phase', 'ReadingStandard']).then((res) => {
|
||||
getBasicDataSelects(['Trial_Phase', 'CriterionType']).then((res) => {
|
||||
this.dictionaryList = { ...res.Result }
|
||||
})
|
||||
},
|
||||
|
@ -478,6 +522,9 @@ export default {
|
|||
'YYYY'
|
||||
) + '-01'
|
||||
}
|
||||
if (this.$route.query.trialId) {
|
||||
this.clinicalTrialForm.TrialId = this.$route.query.trialId
|
||||
}
|
||||
addOrUpdateTrialExperience(this.clinicalTrialForm)
|
||||
.then((res) => {
|
||||
this.isDisabled = false
|
||||
|
|
|
@ -48,6 +48,12 @@
|
|||
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>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="VisitReadingCount"
|
||||
|
@ -67,7 +73,13 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="date" :label="$t('common:action:action')">
|
||||
<template slot-scope="scope">
|
||||
<template
|
||||
slot-scope="scope"
|
||||
v-if="
|
||||
scope.row.ExperienceDataType != 2 &&
|
||||
scope.row.ExperienceDataType != 3
|
||||
"
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
class="editBtn"
|
||||
|
@ -194,7 +206,7 @@
|
|||
placeholder=""
|
||||
>
|
||||
<el-option
|
||||
v-for="item in ReadingStandard"
|
||||
v-for="item in CriterionType"
|
||||
:key="item.Id"
|
||||
:label="item.Value"
|
||||
:value="item.Id"
|
||||
|
@ -241,10 +253,9 @@
|
|||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('curriculumVitae:clinicalTrials:form:indication')"
|
||||
prop="EvaluationContent"
|
||||
prop="IndicationEnum"
|
||||
>
|
||||
<!-- <el-input v-model="form.EvaluationContent" clearable></el-input> -->
|
||||
<el-select v-model="form.EvaluationContent">
|
||||
<el-select v-model="form.IndicationEnum">
|
||||
<el-option
|
||||
v-for="item of $d.Indication"
|
||||
:key="item.id"
|
||||
|
@ -253,6 +264,9 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="EvaluationContent" v-if="IndicationEnum_isOther">
|
||||
<el-input v-model="form.EvaluationContent" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<template slot="dialog-footer">
|
||||
|
@ -436,7 +450,6 @@
|
|||
import BaseModel from '@/components/BaseModel'
|
||||
import { getBasicDataSelects } from '@/api/dictionary/dictionary'
|
||||
import {
|
||||
getTrialExperience,
|
||||
addOrUpdateTrialExperience,
|
||||
deleteTrialExperience,
|
||||
updateOtherExperience,
|
||||
|
@ -457,6 +470,7 @@ const defaultForm = () => {
|
|||
EndTime: null,
|
||||
OtherStages: '',
|
||||
OtherCriterion: '',
|
||||
IndicationEnum: null,
|
||||
}
|
||||
}
|
||||
const defaultCertificateForm = () => {
|
||||
|
@ -528,6 +542,9 @@ export default {
|
|||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||
{ max: 300, message: 'The maximum length is 300' },
|
||||
],
|
||||
IndicationEnum: [
|
||||
{ required: true, message: 'Please select', trigger: 'blur' },
|
||||
],
|
||||
StartTime: [
|
||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||
],
|
||||
|
@ -600,6 +617,11 @@ export default {
|
|||
this.form.OtherCriterion = null
|
||||
}
|
||||
},
|
||||
IndicationEnum_isOther() {
|
||||
if (!this.IndicationEnum_isOther) {
|
||||
this.form.EvaluationContent = null
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
GCPData() {
|
||||
|
@ -618,6 +640,13 @@ export default {
|
|||
},
|
||||
]
|
||||
},
|
||||
IndicationEnum_isOther() {
|
||||
if (!this.form.IndicationEnum) return false
|
||||
let value = this.$d.Indication.find(
|
||||
(item) => item.value === this.form.IndicationEnum
|
||||
).label
|
||||
return value === '其它' || value === 'Other'
|
||||
},
|
||||
Trial_Phase_isOther() {
|
||||
if (!this.form.PhaseId) return false
|
||||
let value = this.dictionaryList.Trial_Phase.find(
|
||||
|
@ -633,10 +662,10 @@ export default {
|
|||
return false
|
||||
return this.form.EvaluationCriteriaIdList.includes(this.otherId)
|
||||
},
|
||||
ReadingStandard() {
|
||||
if (!this.dictionaryList.ReadingStandard) return []
|
||||
CriterionType() {
|
||||
if (!this.dictionaryList.CriterionType) return []
|
||||
return [
|
||||
...this.dictionaryList.ReadingStandard,
|
||||
...this.dictionaryList.CriterionType,
|
||||
{
|
||||
Id: this.otherId,
|
||||
Value: 'Other',
|
||||
|
@ -880,7 +909,7 @@ export default {
|
|||
return arr
|
||||
},
|
||||
getDicData() {
|
||||
getBasicDataSelects(['Trial_Phase', 'ReadingStandard']).then((res) => {
|
||||
getBasicDataSelects(['Trial_Phase', 'CriterionType']).then((res) => {
|
||||
this.dictionaryList = { ...res.Result }
|
||||
})
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue