userCourseStatic.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
  3. <el-tab-pane label="数据总览" name="first"><userStaticAll ref="userStaticAll" /></el-tab-pane>
  4. <el-tab-pane label="课节详情" name="second"><userCoursePeriodDetails ref="userCoursePeriodDetails" /></el-tab-pane>
  5. <el-tab-pane label="转化记录" name="third"><userCourseConversionRecord ref="userCourseConversionRecord" /></el-tab-pane>
  6. </el-tabs>
  7. </template>
  8. <script>
  9. import userStaticAll from './userStaticAll.vue';
  10. import userCoursePeriodDetails from './userCoursePeriodDetails.vue';
  11. import userCourseConversionRecord from './userCourseConversionRecord.vue';
  12. export default {
  13. name: "userCourseStatic",
  14. components: {
  15. userStaticAll,userCoursePeriodDetails,userCourseConversionRecord
  16. },
  17. data() {
  18. return {
  19. camp:{},
  20. userId:null,
  21. activeName: 'first'
  22. };
  23. },
  24. methods: {
  25. handleClick(tab, event) {
  26. if (tab.name === "first"){
  27. setTimeout(() => {
  28. this.$refs.userStaticAll.getDetails(this.camp,this.userId);
  29. }, 1);
  30. }else if (tab.name === "second"){
  31. setTimeout(() => {
  32. this.$refs.userCoursePeriodDetails.getDetails(this.camp,this.userId);
  33. }, 1);
  34. }else {
  35. setTimeout(() => {
  36. this.$refs.userCourseConversionRecord.getDetails(this.userId);
  37. }, 1);
  38. }
  39. },
  40. getDetails(camp,userid) {
  41. this.camp = camp;
  42. this.userId=userid;
  43. this.activeName = 'first';
  44. // 默认加载“数据总览”接口
  45. this.$nextTick(() => {
  46. this.$refs.userStaticAll.getDetails(this.camp, this.userId);
  47. });
  48. },
  49. }
  50. };
  51. </script>