简历部分问题修复
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
7360be1726
commit
c1c6f5a6c7
|
@ -238,7 +238,7 @@ export default {
|
||||||
store.dispatch('user/setPermissions', permissions.Result)
|
store.dispatch('user/setPermissions', permissions.Result)
|
||||||
// this.$router.push({ path: `/researchForm?trialId=${this.trialId}&trialSiteSurveyId=${res.Result.TrialSiteSurveyId}` })
|
// this.$router.push({ path: `/researchForm?trialId=${this.trialId}&trialSiteSurveyId=${res.Result.TrialSiteSurveyId}` })
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: `/ReviewersResearchForm?Id=${
|
path: `/curriculumVitae?Id=${
|
||||||
res.Result.DoctorId ? res.Result.DoctorId : ''
|
res.Result.DoctorId ? res.Result.DoctorId : ''
|
||||||
}&tabActive=BasicInfo&ReviewStatus=${
|
}&tabActive=BasicInfo&ReviewStatus=${
|
||||||
res.Result.ReviewStatus
|
res.Result.ReviewStatus
|
||||||
|
|
|
@ -529,12 +529,12 @@
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="postgraduateForm.Training"
|
v-model="postgraduateForm.Training"
|
||||||
placeholder="Please select"
|
clearable
|
||||||
size="small"
|
placeholder=""
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in TrainingOptions"
|
v-for="item in $d.Training"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
|
@ -565,22 +565,22 @@
|
||||||
:label="$t('system:EducationTraining:table:Hospital')"
|
:label="$t('system:EducationTraining:table:Hospital')"
|
||||||
prop="Hospital"
|
prop="Hospital"
|
||||||
>
|
>
|
||||||
<el-row type="flex" justify="space-between">
|
<el-select
|
||||||
<el-col :span="11">
|
v-model="postgraduateForm.HospitalId"
|
||||||
<el-input
|
filterable
|
||||||
v-model="postgraduateForm.Hospital"
|
placeholder=""
|
||||||
placeholder="Please specify in English"
|
>
|
||||||
size="small"
|
<el-option
|
||||||
/>
|
v-for="(item, index) in hospitalList"
|
||||||
</el-col>
|
:key="index"
|
||||||
<el-col :span="11">
|
:label="item.HospitalName"
|
||||||
<el-input
|
:value="item.Id"
|
||||||
v-model="postgraduateForm.HospitalCN"
|
>
|
||||||
placeholder="请用中文注明"
|
<span>
|
||||||
size="small"
|
{{ item.HospitalName }}
|
||||||
/>
|
</span>
|
||||||
</el-col>
|
</el-option>
|
||||||
</el-row>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('system:EducationTraining:table:University')"
|
:label="$t('system:EducationTraining:table:University')"
|
||||||
|
@ -688,6 +688,8 @@ import {
|
||||||
addOrUpdatePostgraduateInfo,
|
addOrUpdatePostgraduateInfo,
|
||||||
deletePostgraduateInfo,
|
deletePostgraduateInfo,
|
||||||
} from '@/api/reviewers'
|
} from '@/api/reviewers'
|
||||||
|
import store from '@/store'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
const getEducationDefault = () => {
|
const getEducationDefault = () => {
|
||||||
return {
|
return {
|
||||||
Id: '',
|
Id: '',
|
||||||
|
@ -726,6 +728,7 @@ const getPostgraduateDefault = () => {
|
||||||
ProvinceCN: '',
|
ProvinceCN: '',
|
||||||
Country: '',
|
Country: '',
|
||||||
CountryCN: '',
|
CountryCN: '',
|
||||||
|
HospitalId: null,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
|
@ -762,7 +765,6 @@ export default {
|
||||||
message: 'Please enter the degree',
|
message: 'Please enter the degree',
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
{ max: 100, message: 'The maximum length is 100' },
|
|
||||||
],
|
],
|
||||||
Major: [
|
Major: [
|
||||||
{
|
{
|
||||||
|
@ -860,7 +862,6 @@ export default {
|
||||||
message: 'Please enter the degree',
|
message: 'Please enter the degree',
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
{ max: 100, message: 'The maximum length is 100' },
|
|
||||||
],
|
],
|
||||||
Major: [
|
Major: [
|
||||||
{
|
{
|
||||||
|
@ -919,8 +920,12 @@ export default {
|
||||||
loading: false,
|
loading: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['hospitalList']),
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.initPage()
|
this.initPage()
|
||||||
|
store.dispatch('global/getHospital')
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initPage() {
|
initPage() {
|
||||||
|
@ -949,6 +954,7 @@ export default {
|
||||||
this.educationDialogTitle = 'Edit'
|
this.educationDialogTitle = 'Edit'
|
||||||
this.educationDialogVisible = true
|
this.educationDialogVisible = true
|
||||||
this.educationForm = param
|
this.educationForm = param
|
||||||
|
this.educationForm.Degree = Number(this.educationForm.Degree)
|
||||||
},
|
},
|
||||||
|
|
||||||
handleEducationSave() {
|
handleEducationSave() {
|
||||||
|
@ -1016,6 +1022,7 @@ export default {
|
||||||
this.postgraduateDialogTitle = 'Edit'
|
this.postgraduateDialogTitle = 'Edit'
|
||||||
this.postgraduateDialogVisible = true
|
this.postgraduateDialogVisible = true
|
||||||
this.postgraduateForm = param
|
this.postgraduateForm = param
|
||||||
|
this.postgraduateForm.Training = Number(this.postgraduateForm.Training)
|
||||||
},
|
},
|
||||||
handlePostgraduateSave() {
|
handlePostgraduateSave() {
|
||||||
this.$refs.postgraduateForm.validate((valid) => {
|
this.$refs.postgraduateForm.validate((valid) => {
|
||||||
|
|
|
@ -23,7 +23,13 @@
|
||||||
prop="Phase"
|
prop="Phase"
|
||||||
:label="$t('system:TrialExperience:title:Phase')"
|
:label="$t('system:TrialExperience:title:Phase')"
|
||||||
min-width="50"
|
min-width="50"
|
||||||
/>
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{
|
||||||
|
scope.row.OtherStages ? scope.row.OtherStages : scope.row.Phase
|
||||||
|
}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="EvaluationCriteriaList"
|
prop="EvaluationCriteriaList"
|
||||||
:label="$t('system:TrialExperience:title:Review Criteria')"
|
:label="$t('system:TrialExperience:title:Review Criteria')"
|
||||||
|
@ -35,6 +41,13 @@
|
||||||
? scope.row.EvaluationCriteriaList.join(', ')
|
? scope.row.EvaluationCriteriaList.join(', ')
|
||||||
: ''
|
: ''
|
||||||
}}
|
}}
|
||||||
|
<span v-if="scope.row.OtherCriterion">
|
||||||
|
{{
|
||||||
|
scope.row.EvaluationCriteriaList.length > 0
|
||||||
|
? `, ${scope.row.OtherCriterion}`
|
||||||
|
: scope.row.OtherCriterion
|
||||||
|
}}
|
||||||
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -146,13 +159,11 @@
|
||||||
:label="$t('system:TrialExperience:label:Phase')"
|
:label="$t('system:TrialExperience:label:Phase')"
|
||||||
prop="PhaseId"
|
prop="PhaseId"
|
||||||
>
|
>
|
||||||
<el-select v-model="clinicalTrialForm.PhaseId">
|
<el-select
|
||||||
<!-- <el-option
|
v-model="clinicalTrialForm.PhaseId"
|
||||||
v-for="(key,value) of dictionaryList.Phase"
|
clearable
|
||||||
:key="value"
|
placeholder=""
|
||||||
:label="key"
|
>
|
||||||
:value="value"
|
|
||||||
/> -->
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of dictionaryList.Trial_Phase"
|
v-for="item of dictionaryList.Trial_Phase"
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
|
@ -161,6 +172,15 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="OtherStages" v-if="Trial_Phase_isOther">
|
||||||
|
<el-input
|
||||||
|
v-model="clinicalTrialForm.OtherStages"
|
||||||
|
clearable
|
||||||
|
:placeholder="
|
||||||
|
$t('curriculumVitae:clinicalTrials:placeholder:byStagesOther')
|
||||||
|
"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('system:TrialExperience:label:Review Criteria')"
|
:label="$t('system:TrialExperience:label:Review Criteria')"
|
||||||
prop="EvaluationCriteriaIdList"
|
prop="EvaluationCriteriaIdList"
|
||||||
|
@ -171,13 +191,22 @@
|
||||||
>
|
>
|
||||||
<!-- <el-option v-for="(key,value) of dictionaryList.ReadingStandard" :key="value" :label="key" :value="value" /> -->
|
<!-- <el-option v-for="(key,value) of dictionaryList.ReadingStandard" :key="value" :label="key" :value="value" /> -->
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of dictionaryList.ReadingStandard"
|
v-for="item in ReadingStandard"
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
:label="item.Value"
|
:label="item.Value"
|
||||||
:value="item.Id"
|
:value="item.Id"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="OtherCriterion" v-if="ReadingStandard_isOther">
|
||||||
|
<el-input
|
||||||
|
v-model="clinicalTrialForm.OtherCriterion"
|
||||||
|
clearable
|
||||||
|
:placeholder="
|
||||||
|
$t('curriculumVitae:clinicalTrials:placeholder:criterionOther')
|
||||||
|
"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('system:TrialExperience:label:Start Time')"
|
:label="$t('system:TrialExperience:label:Start Time')"
|
||||||
prop="StartTime"
|
prop="StartTime"
|
||||||
|
@ -250,6 +279,8 @@ const getClinicalTrialDefault = () => {
|
||||||
VisitReadingCount: 0,
|
VisitReadingCount: 0,
|
||||||
StartTime: null,
|
StartTime: null,
|
||||||
EndTime: null,
|
EndTime: null,
|
||||||
|
OtherStages: '',
|
||||||
|
OtherCriterion: '',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
|
@ -292,6 +323,20 @@ export default {
|
||||||
StartTime: [
|
StartTime: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||||
],
|
],
|
||||||
|
OtherStages: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please input',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
OtherCriterion: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please input',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
GCP: 0,
|
GCP: 0,
|
||||||
GCPID: '',
|
GCPID: '',
|
||||||
|
@ -302,14 +347,54 @@ export default {
|
||||||
isBtnDisabled: false,
|
isBtnDisabled: false,
|
||||||
selectId: '00000000-0000-0000-0000-000000000000',
|
selectId: '00000000-0000-0000-0000-000000000000',
|
||||||
dictionaryList: {},
|
dictionaryList: {},
|
||||||
|
otherId: 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
Trial_Phase_isOther() {
|
||||||
|
if (!this.clinicalTrialForm.PhaseId) return false
|
||||||
|
let value = this.dictionaryList.Trial_Phase.find(
|
||||||
|
(item) => item.Id === this.clinicalTrialForm.PhaseId
|
||||||
|
).Value
|
||||||
|
return value === '其它' || value === 'Other'
|
||||||
|
},
|
||||||
|
ReadingStandard_isOther() {
|
||||||
|
if (
|
||||||
|
!this.clinicalTrialForm.EvaluationCriteriaIdList ||
|
||||||
|
this.clinicalTrialForm.EvaluationCriteriaIdList.length <= 0
|
||||||
|
)
|
||||||
|
return false
|
||||||
|
return this.clinicalTrialForm.EvaluationCriteriaIdList.includes(
|
||||||
|
this.otherId
|
||||||
|
)
|
||||||
|
},
|
||||||
|
ReadingStandard() {
|
||||||
|
if (!this.dictionaryList.ReadingStandard) return []
|
||||||
|
return [
|
||||||
|
...this.dictionaryList.ReadingStandard,
|
||||||
|
{
|
||||||
|
Id: this.otherId,
|
||||||
|
Value: 'Other',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
},
|
||||||
watch: {
|
watch: {
|
||||||
reviewerId() {
|
reviewerId() {
|
||||||
if (this.reviewerId) {
|
if (this.reviewerId) {
|
||||||
this.doctorId = this.reviewerId
|
this.doctorId = this.reviewerId
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Trial_Phase_isOther() {
|
||||||
|
if (!this.Trial_Phase_isOther) {
|
||||||
|
this.clinicalTrialForm.OtherStages = null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ReadingStandard_isOther() {
|
||||||
|
if (!this.ReadingStandard_isOther) {
|
||||||
|
this.clinicalTrialForm.OtherCriterion = null
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.initForm()
|
this.initForm()
|
||||||
|
@ -355,6 +440,8 @@ export default {
|
||||||
StartTime,
|
StartTime,
|
||||||
EndTime,
|
EndTime,
|
||||||
VisitReadingCount,
|
VisitReadingCount,
|
||||||
|
OtherStages,
|
||||||
|
OtherCriterion,
|
||||||
} = row
|
} = row
|
||||||
this.clinicalTrialForm = Object.assign({}, getClinicalTrialDefault())
|
this.clinicalTrialForm = Object.assign({}, getClinicalTrialDefault())
|
||||||
this.clinicalTrialDialogTitle = 'Edit'
|
this.clinicalTrialDialogTitle = 'Edit'
|
||||||
|
@ -366,6 +453,8 @@ export default {
|
||||||
this.clinicalTrialForm.VisitReadingCount = VisitReadingCount
|
this.clinicalTrialForm.VisitReadingCount = VisitReadingCount
|
||||||
this.clinicalTrialForm.EvaluationCriteriaIdList = EvaluationCriteriaIdList
|
this.clinicalTrialForm.EvaluationCriteriaIdList = EvaluationCriteriaIdList
|
||||||
this.clinicalTrialForm.EvaluationContent = EvaluationContent
|
this.clinicalTrialForm.EvaluationContent = EvaluationContent
|
||||||
|
this.clinicalTrialForm.OtherStages = OtherStages
|
||||||
|
this.clinicalTrialForm.OtherCriterion = OtherCriterion
|
||||||
},
|
},
|
||||||
handleSave() {
|
handleSave() {
|
||||||
this.$refs.clinicalTrialForm.validate((valid) => {
|
this.$refs.clinicalTrialForm.validate((valid) => {
|
||||||
|
|
|
@ -131,6 +131,7 @@
|
||||||
<el-button
|
<el-button
|
||||||
type="text"
|
type="text"
|
||||||
class="editBtn"
|
class="editBtn"
|
||||||
|
:disabled="!reviewerId"
|
||||||
@click.stop="openEdit('', 'other')"
|
@click.stop="openEdit('', 'other')"
|
||||||
>
|
>
|
||||||
{{ $t('common:button:edit') }}
|
{{ $t('common:button:edit') }}
|
||||||
|
@ -522,6 +523,20 @@ export default {
|
||||||
StartTime: [
|
StartTime: [
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||||
],
|
],
|
||||||
|
OtherStages: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please input',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
OtherCriterion: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please input',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
daterange: [],
|
daterange: [],
|
||||||
|
@ -674,7 +689,8 @@ export default {
|
||||||
async handleSave(key) {
|
async handleSave(key) {
|
||||||
try {
|
try {
|
||||||
if (key === 'clinicalTrials') {
|
if (key === 'clinicalTrials') {
|
||||||
let validate = this.$refs.clinicalTrialsFrom.validate()
|
let validate = await this.$refs.clinicalTrialsFrom.validate()
|
||||||
|
console.log(validate, 'validate')
|
||||||
if (!validate) return false
|
if (!validate) return false
|
||||||
this.form.DoctorId = this.reviewerId
|
this.form.DoctorId = this.reviewerId
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
@ -686,7 +702,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (key === 'certificate') {
|
if (key === 'certificate') {
|
||||||
let validate = this.$refs.certificateFrom.validate()
|
let validate = await this.$refs.certificateFrom.validate()
|
||||||
if (!validate) return false
|
if (!validate) return false
|
||||||
this.certificateForm.Id = this.reviewerId
|
this.certificateForm.Id = this.reviewerId
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
@ -698,7 +714,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (key === 'other') {
|
if (key === 'other') {
|
||||||
let validate = this.$refs.otherAboutFrom.validate()
|
let validate = await this.$refs.otherAboutFrom.validate()
|
||||||
if (!validate) return false
|
if (!validate) return false
|
||||||
this.otherForm.DoctorId = this.reviewerId
|
this.otherForm.DoctorId = this.reviewerId
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
|
|
@ -311,7 +311,10 @@ export default {
|
||||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
],
|
],
|
||||||
ReadingTypeOtherCN: [{ max: 50, message: 'The maximum length is 50' }],
|
ReadingTypeOtherCN: [
|
||||||
|
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||||
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
|
],
|
||||||
SubspecialityIds: [
|
SubspecialityIds: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -324,6 +327,7 @@ export default {
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
],
|
],
|
||||||
SubspecialityOtherCN: [
|
SubspecialityOtherCN: [
|
||||||
|
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||||
{ max: 50, message: 'The maximum length is 50' },
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
|
@ -243,8 +243,8 @@ export default {
|
||||||
if (sessionStorage.getItem('reviewerId')) {
|
if (sessionStorage.getItem('reviewerId')) {
|
||||||
this.reviewerId = sessionStorage.getItem('reviewerId')
|
this.reviewerId = sessionStorage.getItem('reviewerId')
|
||||||
this.getDetail()
|
this.getDetail()
|
||||||
} else if (this.$route.query.id) {
|
} else if (this.$route.query.Id) {
|
||||||
this.reviewerId = this.$route.query.id
|
this.reviewerId = this.$route.query.Id
|
||||||
sessionStorage.setItem('reviewerId', this.reviewerId)
|
sessionStorage.setItem('reviewerId', this.reviewerId)
|
||||||
this.getDetail()
|
this.getDetail()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue