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.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>
 |