74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
<template>
 | 
						|
  <div v-loading="loading" class="email-wrapper">
 | 
						|
    <el-tabs v-model="activeTab" type="border-card">
 | 
						|
      <el-tab-pane
 | 
						|
        v-for="item of trialCriterionList"
 | 
						|
        :key="item.TrialReadingCriterionId"
 | 
						|
        :label="item.TrialReadingCriterionName"
 | 
						|
        :name="item.TrialReadingCriterionId"
 | 
						|
      >
 | 
						|
        <EmailList
 | 
						|
          v-if="activeTab == item.TrialReadingCriterionId"
 | 
						|
          :criterion-type="item.CriterionType"
 | 
						|
        />
 | 
						|
      </el-tab-pane>
 | 
						|
    </el-tabs>
 | 
						|
  </div>
 | 
						|
</template>
 | 
						|
<script>
 | 
						|
import EmailList from './components/EmailList'
 | 
						|
import { getTrialCriterionList } from '@/api/trials/reading'
 | 
						|
export default {
 | 
						|
  name: 'EmailManage',
 | 
						|
  components: {
 | 
						|
    EmailList
 | 
						|
  },
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      trialId: '',
 | 
						|
      activeTab: '',
 | 
						|
      trialCriterionList: [],
 | 
						|
      loading: false
 | 
						|
    }
 | 
						|
  },
 | 
						|
  mounted() {
 | 
						|
    this.trialId = this.$route.query.trialId
 | 
						|
    this.getTrialCriterionList()
 | 
						|
  },
 | 
						|
  methods: {
 | 
						|
    getTrialCriterionList() {
 | 
						|
      this.loading = true
 | 
						|
      getTrialCriterionList(this.trialId).then(res => {
 | 
						|
        this.trialCriterionList = res.Result
 | 
						|
        this.activeTab = this.trialCriterionList[0].TrialReadingCriterionId
 | 
						|
        this.loading = false
 | 
						|
      }).catch(() => {
 | 
						|
        this.loading = false
 | 
						|
      })
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</script>
 | 
						|
<style lang="scss">
 | 
						|
.email-wrapper{
 | 
						|
  height: 100%;
 | 
						|
  background-color: #fff;
 | 
						|
  .el-tabs{
 | 
						|
    height: 100%;
 | 
						|
    display: flex;
 | 
						|
    flex-direction: column;
 | 
						|
  }
 | 
						|
  .el-tabs__header {
 | 
						|
    height: 40px;
 | 
						|
    margin-bottom:5px;
 | 
						|
  }
 | 
						|
  .el-tabs__content{
 | 
						|
    flex: 1;
 | 
						|
    .el-tab-pane{
 | 
						|
      height: 100%;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</style>
 | 
						|
 |