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