index.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <template>
  2. <div class='m-container'>
  3. <h2>
  4. <el-page-header @back="onCancel"
  5. :content="teacherName"></el-page-header>
  6. </h2>
  7. <div class="m-core">
  8. <!-- navMenu -->
  9. <el-tabs v-model="activeName"
  10. type="card"
  11. @tab-click="handleClick">
  12. <el-tab-pane label="基本信息"
  13. v-if="permissionList.teacherInfo"
  14. name="0">
  15. <teacherInfo v-if="activeName == 0" />
  16. </el-tab-pane>
  17. <el-tab-pane label="乐团课"
  18. v-if="permissionList.musicGroup"
  19. name="1">
  20. <courseInfo v-if="activeName == 1" />
  21. </el-tab-pane>
  22. <el-tab-pane label="VIP课"
  23. v-if="permissionList.VipCourse"
  24. name="2">
  25. <courseInfo1 v-if="activeName == 2" />
  26. </el-tab-pane>
  27. <el-tab-pane label="试听课"
  28. v-if="permissionList.domeCourse"
  29. name="3">
  30. <courseInfo2 v-if="activeName == 3" />
  31. </el-tab-pane>
  32. <el-tab-pane label="课表详情"
  33. v-if="permissionList.teacherRecord"
  34. name="4">
  35. <teacherRecord v-if="activeName == 4" />
  36. </el-tab-pane>
  37. <el-tab-pane label="请假记录"
  38. v-if="permissionList.leaveRecord"
  39. name="5">
  40. <leaveRecord v-if="activeName == 5" />
  41. </el-tab-pane>
  42. <el-tab-pane label="上课结算列表"
  43. v-if="permissionList.settlement"
  44. name="6">
  45. <settlement v-if="activeName == 6" />
  46. </el-tab-pane>
  47. </el-tabs>
  48. </div>
  49. </div>
  50. </template>
  51. <script>
  52. import teacherRecord from '@/views/teacherManager/teacherDetail/components/teacherRecord'
  53. import leaveRecord from '@/views/teacherManager/teacherDetail/components/leaveRecord'
  54. import teacherInfo from '@/views/teacherManager/teacherDetail/components/teacherInfo'
  55. import courseInfo from '@/views/teacherManager/teacherDetail/components/courseInfo'
  56. import courseInfo1 from '@/views/teacherManager/teacherDetail/components/courseInfo1'
  57. import courseInfo2 from '@/views/teacherManager/teacherDetail/components/courseInfo2'
  58. import settlement from '@/views/teacherManager/teacherDetail/components/settlement'
  59. import { permission } from '@/utils/directivePage'
  60. export default {
  61. components: { teacherRecord,
  62. leaveRecord, teacherInfo,
  63. courseInfo, courseInfo1, courseInfo2, settlement },
  64. name: 'teacherDetail',
  65. data () {
  66. return {
  67. teacherName: this.$route.query.teacherName,
  68. activeName: "0",
  69. // activeStatus: [true, false, false, false, false, false, false]
  70. permissionList: {
  71. teacherInfo: permission('/teacherDetail/teacherInfo'),
  72. musicGroup: permission('/teacherDetail/musicGroupCourse'),
  73. VipCourse: permission('/teacherDetail/VIPCourse'),
  74. domeCourse: permission('/teacherDetail/domeCourse'),
  75. teacherRecord: permission('/teacherDetail/teacherRecord'),
  76. leaveRecord: permission('/teacherDetail/leaveRecord'),
  77. settlement: permission('/teacherDetail/settlement')
  78. },
  79. Fsearch: null,
  80. Frules: null
  81. }
  82. },
  83. activated () {
  84. this.teacherName = this.$route.query.teacherName
  85. if (this.$route.query.search) {
  86. this.Fsearch = this.$route.query.search;
  87. }
  88. if (this.$route.query.rules) {
  89. this.Frules = this.$route.query.rules
  90. }
  91. },
  92. created () {
  93. if (this.$route.query.search) {
  94. this.Fsearch = this.$route.query.search;
  95. }
  96. if (this.$route.query.rules) {
  97. this.Frules = this.$route.query.rules
  98. }
  99. },
  100. methods: {
  101. handleClick (val, event) {
  102. this.activeName = val.name
  103. // this.activeStatus[val.name] = true
  104. },
  105. onCancel () {
  106. this.$router.push({ path: '/business/teacherList', query: { rules: this.Frules, search: this.Fsearch } })
  107. }
  108. }
  109. }
  110. </script>
  111. <style lang="scss">
  112. </style>