198 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			198 lines
		
	
	
		
			8.8 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">
 | |
|         <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" :audit-view="doctorInfo.AuditView" :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.BlindName} '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>
 |