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