irc_web/.svn/pristine/fe/fe59f6d9add1cf685cb54b0e9af...

201 lines
9.0 KiB
Plaintext

<template>
<div v-loading="pageLoading" style="height:100%;display:flex;flex-direction: column;">
<div style="height:50px">
<div style="text-align:right;">
<el-switch
v-model="isEnglish"
active-text="EN"
inactive-text="中文"
style="margin-right:20px;"
/>
</div>
<div style="text-align:center;">
<h3>{{ title }}</h3>
</div>
</div>
<div style="flex:1;margin-top:50px;overflow-y: auto;">
<el-collapse v-model="activeNames">
<status-info :basic-info="basicInfo" :status-list="statusList" :doctor-id="doctorId" :holiday="holiday" :is-english="isEnglish" />
<el-collapse-item title="Basic Info" name="1">
<basic-info :basic-info="doctorInfo.BasicInfoView" :is-english="isEnglish" />
</el-collapse-item>
<el-collapse-item title="Employment" name="2">
<Employment :employment="workInfo" :is-english="isEnglish" />
</el-collapse-item>
<el-collapse-item title="Specialty" name="3">
<Specialty :specialty="specialtyList" :is-english="isEnglish" />
</el-collapse-item>
<el-collapse-item title="Education & Training" name="4">
<education-training :education-list="doctorInfo.EducationList" :postgraduate-list="doctorInfo.PostgraduateList" :is-english="isEnglish" />
</el-collapse-item>
<el-collapse-item title="Research & Publication" name="5">
<research-publication :research-info="doctorInfo.ResearchPublicationView" :is-english="isEnglish" />
</el-collapse-item>
<el-collapse-item title="Trial Experience" name="6">
<trial-experience v-if="doctorInfo.TrialExperienceView" :trial-experience="doctorInfo.TrialExperienceView" :is-english="isEnglish" />
</el-collapse-item>
<el-collapse-item title="Credentials" name="7">
<Credentials v-if="doctorInfo.AttachmentList" :attachment-list="doctorInfo.AttachmentList" :doctor-id="doctorId" />
</el-collapse-item>
<el-collapse-item title="Resume" name="8">
<Resume v-if="doctorInfo.AttachmentList" :resume-list="doctorInfo.AttachmentList" />
</el-collapse-item>
<el-collapse-item title="Agreements" name="9">
<Agreements v-if="doctorInfo.AttachmentList" :doctor-info="doctorInfo" />
</el-collapse-item>
<el-collapse-item title="Comment" name="10">
<Comment :status-list="statusList" />
</el-collapse-item>
</el-collapse>
</div>
</div>
</template>
<script>
import { getDetail } from '@/api/reviewers'
import StatusInfo from './components/StatusInfo'
import BasicInfo from './components/BasicInfo'
import Employment from './components/Employment'
import Specialty from './components/Specialty'
import EducationTraining from './components/EducationTraining'
import ResearchPublication from './components/ResearchPublication'
import TrialExperience from './components/TrialExperience'
import Credentials from './components/Credentials'
import Resume from './components/Resume'
import Agreements from './components/Agreements'
import Comment from './components/Comment'
export default {
components: { StatusInfo, BasicInfo, Employment, Specialty, EducationTraining, ResearchPublication, TrialExperience, Credentials, Resume, Agreements, Comment },
data() {
return {
isEnglish: true,
htmlTitle: '',
title: '',
holiday: '',
loading: false,
activeNames: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
statusList: {},
basicInfo: {},
workInfo: {},
researchInfo: {},
certificateTbl: [],
resumeList: [],
specialtyList: {
Speciality: '',
ReadingType: '',
Subspeciality: ''
},
doctorInfo: {},
agreementList: [],
pageLoading: false,
doctorId: ''
}
},
mounted() {
this.isEnglish = !!((this.$route.query.isEnglish === true || this.$route.query.isEnglish === 'true'))
this.doctorId = this.$route.query.doctorId
this.initForm()
},
methods: {
initStatus() {
if (this.doctorInfo.AuditView) {
const res = this.doctorInfo.AuditView
this.statusList.ResumeStatus = res.ResumeStatus === 0 ? '' : res.ResumeStatus === 1 ? 'Yes' : 'No'
this.statusList.CooperateStatus = res.CooperateStatus === 0 ? '' : res.CooperateStatus === 1 ? 'Yes' : 'No'
this.statusList.ReviewStatus = res.ReviewStatus === 0 ? '' : res.ReviewStatus === 1 ? 'Yes' : 'No'
this.statusList.AcceptingNewTrial = res.AcceptingNewTrial ? 'Yes' : 'No'
this.statusList.ActivelyReading = res.ActivelyReading ? 'Yes' : 'No'
this.statusList.AdminComment = res.AdminComment
this.statusList.Submitted = this.doctorInfo.IntoGroupInfo ? this.doctorInfo.IntoGroupInfo.Submitted : 0
this.statusList.Approved = this.doctorInfo.IntoGroupInfo ? this.doctorInfo.IntoGroupInfo.Approved : 0
this.statusList.Reading = this.doctorInfo.IntoGroupInfo ? this.doctorInfo.IntoGroupInfo.Reading : 0
}
},
initEmploymentInfo() {
if (this.doctorInfo.EmploymentView) {
this.workInfo = this.doctorInfo.EmploymentView
this.workInfo.Department =
this.workInfo.DepartmentId === 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5' ? (this.workInfo.DepartmentOther ? this.workInfo.DepartmentOther : 'Other') : this.workInfo.Department
this.workInfo.DepartmentCN = this.workInfo.DepartmentId === 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5' ? this.workInfo.DepartmentOtherCN : this.workInfo.DepartmentCN
this.workInfo.RankOther = this.workInfo.RankOther ? 'Other - ' + this.workInfo.RankOther : 'Other'
this.workInfo.Rank = this.workInfo.RankId === 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5' ? this.workInfo.RankOther : this.workInfo.Rank
this.workInfo.RankCN = this.workInfo.RankId === 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5' ? this.workInfo.RankOtherCN : this.workInfo.RankCN
if (this.workInfo.PositionId === 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5') {
this.workInfo.Position = this.workInfo.PositionOther
this.workInfo.PositionCN = this.workInfo.PositionOtherCN
} else if (this.workInfo.PositionId === 'f30a074b-2b47-4a92-97ec-e15086d37883') {
this.workInfo.Position = 'None'
// this.workInfo.PositionCN = '无'
} else {
this.workInfo.Position = this.workInfo.Position
this.workInfo.PositionCN = this.workInfo.PositionCN
}
this.workInfo.PositionOther = this.workInfo.PositionOther ? 'Other - ' + this.workInfo.PositionOther : 'Other'
}
},
initSpecialtyInfo() {
if (this.doctorInfo.SpecialtyView) {
const result = this.doctorInfo.SpecialtyView
this.specialtyList.Department = result.DepartmentName ? result.DepartmentName : 'Other-' + result.DepartmentOther
if (result.ReadingTypeOther) {
result.ReadingTypeList.push('Other-' + result.ReadingTypeOther)
}
this.specialtyList.ReadingType = result.ReadingTypeList.length > 0 ? result.ReadingTypeList.join(', ') : ''
if (result.ReadingTypeOtherCN) {
result.ReadingTypeCNList.push(result.ReadingTypeOtherCN)
}
this.specialtyList.ReadingTypeCNList = result.ReadingTypeCNList.length > 0 ? result.ReadingTypeCNList.join(', ') : ''
if (result.SubspecialityOther) {
result.SubspecialityList.push('Other-' + result.SubspecialityOther)
}
if (result.SubspecialityOtherCN) {
result.SubspecialityCNList.push(result.SubspecialityOtherCN)
}
this.specialtyList.Subspeciality = result.SubspecialityList.length > 0 ? result.SubspecialityList.join(', ') : ''
this.specialtyList.SubspecialityCNList = result.SubspecialityCNList.length > 0 ? result.SubspecialityCNList.join(', ') : ''
this.specialtyList.Speciality =
result.SpecialityId === 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5' ? 'Other-' + result.SpecialityOther : result.Speciality
this.specialtyList.SpecialityCN = result.SpecialityId === 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5' ? result.SpecialityOtherCN : result.SpecialityCN
}
},
initForm() {
if (this.doctorId) {
this.pageLoading = true
getDetail(this.doctorId).then(res => {
this.pageLoading = false
if (res.IsSuccess) {
if (res.Result) {
this.holiday = res.Result.InHoliday ? 'Yes' : 'No'
this.doctorInfo = res.Result
this.title = `${this.doctorInfo.BasicInfoView.FirstName} ${this.doctorInfo.BasicInfoView.LastName}'s Details`
this.htmlTitle = this.title
this.initStatus()
this.initEmploymentInfo()
this.initSpecialtyInfo()
}
}
})
}
}
}
}
</script>
<style lang="scss" scoped>
>>>.el-collapse-item__header{
background-color: #e9eef1;
padding: 0 10px;
}
</style>