index.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <script setup lang="ts">
  2. import { GradeList } from "@/api/school/types";
  3. defineOptions({
  4. name: "TeacherIndex",
  5. inheritAttrs: false,
  6. });
  7. import { watch } from "vue";
  8. import { useUserStore } from "@/store/modules/user";
  9. import { CaretBottom } from "@element-plus/icons-vue";
  10. const userStore = useUserStore();
  11. watch(
  12. () => userStore.schoolId,
  13. (newValue, oldValue) => {
  14. console.log(newValue, oldValue);
  15. }
  16. );
  17. let teacherInfo = ref("");
  18. // 折叠面板active
  19. const activeItem = ref();
  20. const tableData = ref<any>([
  21. {
  22. e1: "AI00000000",
  23. e2: "AI00000000",
  24. e3: "AI00000000",
  25. e4: "AI00000000",
  26. e5: "AI00000000",
  27. e6: "AI00000000",
  28. e7: "AI00000000",
  29. e8: "AI00000000",
  30. cls: "TomTomTom",
  31. },
  32. ]);
  33. </script>
  34. <template>
  35. <div class="teacher-container">
  36. <!-- 教师查找 -->
  37. <div class="teacher-search">
  38. <el-input
  39. v-model="teacherInfo"
  40. size="large"
  41. placeholder="请输入教师名称或手机号码"
  42. />
  43. <el-button size="large" type="primary">查找</el-button>
  44. <span>共<b>40</b>人</span>
  45. </div>
  46. <!-- 折叠面板-->
  47. <div class="list-collapse">
  48. <el-collapse v-model="activeItem">
  49. <el-collapse-item name="1">
  50. <template #title>
  51. <div class="title">
  52. <span class="blue mr-10">松阪老师</span>
  53. <span>注册时间:2023-02-23</span>
  54. <span class="blue fr"
  55. >负责班级 & 绑定设备
  56. <el-icon
  57. :class="
  58. activeItem && activeItem.includes('1') ? 'is-active' : ''
  59. "
  60. ><CaretBottom
  61. /></el-icon>
  62. </span>
  63. </div>
  64. </template>
  65. <div>
  66. <el-table :data="tableData" style="width: 100%">
  67. <el-table-column prop="e1" label="水母星球脑机" align="center" />
  68. <el-table-column prop="e2" label="智脑水舞" align="center" />
  69. <el-table-column prop="e3" label="智脑恐龙" align="center" />
  70. <el-table-column prop="e4" label="智脑碰碰车" align="center" />
  71. <el-table-column prop="e5" label="智脑UFO" align="center" />
  72. <el-table-column prop="e6" label="智脑SUV" align="center" />
  73. <el-table-column prop="e7" label="智脑赛车" align="center" />
  74. <el-table-column prop="e8" label="智脑积木" align="center" />
  75. <el-table-column prop="cls" label="负责班级" align="center" />
  76. </el-table>
  77. </div>
  78. </el-collapse-item>
  79. </el-collapse>
  80. </div>
  81. </div>
  82. </template>
  83. <style lang="scss" scoped>
  84. .teacher-container {
  85. position: relative;
  86. padding: 20px 30px;
  87. }
  88. .teacher-search {
  89. margin-bottom: 20px;
  90. font-size: 16px;
  91. .el-input {
  92. width: 250px;
  93. margin: 0;
  94. }
  95. :deep(.el-input__inner) {
  96. font-size: 16px;
  97. }
  98. .el-button {
  99. font-size: 16px;
  100. padding: 0 26px;
  101. margin: 0 20px;
  102. border-radius: 12px;
  103. }
  104. b {
  105. font-size: 20px;
  106. }
  107. }
  108. :deep(.el-input__wrapper) {
  109. background: #ffffff;
  110. border-radius: 12px;
  111. }
  112. :deep(.el-input__wrapper) {
  113. box-shadow: none !important;
  114. }
  115. .list-collapse {
  116. background: #ffffff;
  117. border-radius: 25px;
  118. padding: 0 32px;
  119. margin-bottom: 10px;
  120. .title {
  121. width: 100%;
  122. font-size: 18px;
  123. .blue {
  124. color: #4284f2;
  125. }
  126. .red {
  127. color: #e04962;
  128. }
  129. .fr {
  130. float: right;
  131. }
  132. .el-icon {
  133. vertical-align: middle;
  134. &.is-active {
  135. transform: rotate(180deg);
  136. }
  137. }
  138. }
  139. :deep(.el-collapse),
  140. :deep(.el-collapse-item__header),
  141. :deep(.el-collapse-item__wrap) {
  142. border: none;
  143. }
  144. :deep(.el-collapse-item__arrow) {
  145. display: none;
  146. }
  147. }
  148. :deep(.el-table th.el-table__cell) {
  149. background: #e9ebee;
  150. }
  151. </style>