index.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <template>
  2. <div class="m-container">
  3. <h2>
  4. <el-page-header @back="onCancel" :content="studentName"></el-page-header>
  5. </h2>
  6. <div class="m-core">
  7. <!-- navMenu -->
  8. <tab-router
  9. v-model.trim="activeIndex"
  10. type="card"
  11. @tab-click="handleClick"
  12. >
  13. <el-tab-pane
  14. label="基本信息"
  15. lazy
  16. v-if="permissionList.studentInfo"
  17. name="1"
  18. >
  19. <studentInfo v-if="activeIndex == 1" />
  20. </el-tab-pane>
  21. <el-tab-pane
  22. label="乐团&课程"
  23. lazy
  24. v-if="permissionList.teamAndcourse"
  25. name="2"
  26. >
  27. <teamAndcourse v-if="activeIndex == 2" />
  28. </el-tab-pane>
  29. <el-tab-pane
  30. label="VIP课"
  31. lazy
  32. v-if="permissionList.studentVip"
  33. name="3"
  34. >
  35. <studentVip v-if="activeIndex == 3" />
  36. </el-tab-pane>
  37. <el-tab-pane
  38. label="对外课"
  39. lazy
  40. v-if="permissionList.studentOutList"
  41. name="4"
  42. >
  43. <studentOutList v-if="activeIndex == 4" />
  44. </el-tab-pane>
  45. <el-tab-pane
  46. label="网管课"
  47. lazy
  48. v-if="permissionList.studentNetwork"
  49. name="9"
  50. >
  51. <studentNetwork v-if="activeIndex == 9" />
  52. </el-tab-pane>
  53. <el-tab-pane
  54. label="课表详情"
  55. lazy
  56. v-if="permissionList.studentRecord"
  57. name="5"
  58. >
  59. <studentRecord v-if="activeIndex == 5" />
  60. </el-tab-pane>
  61. <el-tab-pane
  62. label="扣费记录"
  63. lazy
  64. v-if="permissionList.studentPayList"
  65. name="6"
  66. >
  67. <studentPayList v-if="activeIndex == 6" />
  68. </el-tab-pane>
  69. <el-tab-pane
  70. label="学员订单"
  71. lazy
  72. v-if="permissionList.studentOrder"
  73. name="7"
  74. >
  75. <studentOrder v-if="activeIndex == 7" />
  76. </el-tab-pane>
  77. <el-tab-pane
  78. label="学员提现"
  79. lazy
  80. v-if="permissionList.studentCashout"
  81. name="8"
  82. >
  83. <studentCashout v-if="activeIndex == 8" />
  84. </el-tab-pane>
  85. <el-tab-pane
  86. label="乐器列表"
  87. lazy
  88. v-if="permissionList.studentLebao"
  89. name="10"
  90. >
  91. <studentLebao v-if="activeIndex == 10" />
  92. </el-tab-pane>
  93. </tab-router>
  94. </div>
  95. </div>
  96. </template>
  97. <script>
  98. import studentInfo from "./components/studentInfo.vue";
  99. import teamAndcourse from "./components/teamAndcourse.vue";
  100. import studentRecord from "./components/studentRecord.vue";
  101. import studentPayList from "./components/studentPayList.vue";
  102. import studentVip from "./components/studentVip.vue";
  103. import studentOutList from "./components/studentOutList.vue";
  104. import studentOrder from "./components/studentOrder.vue";
  105. import studentCashout from "./components/studentCashout.vue";
  106. import studentNetwork from "./components/studentNetwork.vue";
  107. import studentLebao from "./components/studentLebao"
  108. import { permission } from "@/utils/directivePage";
  109. export default {
  110. components: {
  111. teamAndcourse,
  112. studentRecord,
  113. studentPayList,
  114. studentInfo,
  115. studentVip,
  116. studentOrder,
  117. studentCashout,
  118. studentOutList,
  119. studentNetwork,
  120. studentLebao
  121. },
  122. name: "studentDetail",
  123. data() {
  124. return {
  125. activeIndex: "1",
  126. // acitveStatus: [true, false, false, false, false, false, false]
  127. permissionList: {
  128. studentInfo: permission("/studentDetail/studentInfo"),
  129. teamAndcourse: permission("/studentDetail/teamAndcourse"),
  130. studentVip: permission("/studentDetail/studentVip"),
  131. studentRecord: permission("/studentDetail/studentRecord"),
  132. studentPayList: permission("/studentDetail/studentPayList"),
  133. studentOrder: permission("/studentDetail/studentOrder"),
  134. studentCashout: permission("/studentDetail/studentCashout"),
  135. studentOutList: permission("/studentDetail/studentOutList"), //
  136. studentNetwork: permission("/studentDetail/studentNetwork"),
  137. studentLebao:permission("/studentDetail/studentLebao"),
  138. },
  139. studentName: "",
  140. };
  141. },
  142. mounted() {
  143. if (this.$route.query.search) {
  144. this.Fsearch = this.$route.query.search;
  145. }
  146. if (this.$route.query.rules) {
  147. this.Frules = this.$route.query.rules;
  148. }
  149. this.studentName = this.$route.query.username;
  150. },
  151. activated() {
  152. if (this.$route.query.search) {
  153. this.Fsearch = this.$route.query.search;
  154. }
  155. if (this.$route.query.rules) {
  156. this.Frules = this.$route.query.rules;
  157. }
  158. this.studentName = this.$route.query.username;
  159. },
  160. methods: {
  161. onCancel() {
  162. this.$store.dispatch("delVisitedViews", this.$route);
  163. this.$router.push({
  164. path: "/studentManager/studentList",
  165. });
  166. },
  167. handleClick(val) {
  168. this.activeIndex = val.name;
  169. // this.acitveStatus[val.name - 1] = true
  170. },
  171. },
  172. };
  173. </script>
  174. <style lang="scss">
  175. </style>