teacher.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <ContentWrap shadow="always">
  3. <div style="text-align: center; margin-bottom: 20px; font-weight: bold;">教师信息</div>
  4. <hr style="border: 1px solid #e7eaec; margin: 0;"/>
  5. <el-table v-loading="loading" :data="list">
  6. <el-table-column type="index"/>
  7. <!-- <el-table-column label="用户编号" align="center" key="id" prop="id" />
  8. <el-table-column
  9. label="账号"
  10. align="center"
  11. prop="username"
  12. :show-overflow-tooltip="true"
  13. /> -->
  14. <el-table-column
  15. label="姓名"
  16. align="center"
  17. prop="nickname"
  18. :show-overflow-tooltip="true"
  19. />
  20. <el-table-column
  21. label="工作间"
  22. align="center"
  23. key="deptName"
  24. prop="deptName"
  25. :show-overflow-tooltip="true"
  26. />
  27. <el-table-column label="手机号码" align="center" prop="mobile"/>
  28. <el-table-column label="邮箱" align="center" prop="email"/>
  29. <el-table-column label="工号" align="center" prop="userNumber"/>
  30. <el-table-column
  31. label="创建时间"
  32. align="center"
  33. prop="createTime"
  34. :formatter="dateFormatter"
  35. width="180"
  36. />
  37. <Pagination
  38. :total="total"
  39. v-model:page="queryParams.pageNo"
  40. v-model:limit="queryParams.pageSize"
  41. @pagination="getList"
  42. />
  43. </el-table>
  44. </ContentWrap>
  45. </template>
  46. <script lang="ts" setup>
  47. import { dateFormatter } from '@/utils/formatTime'
  48. import * as UserApi from '@/api/system/user'
  49. defineOptions({ name: 'SystemUser' })
  50. const props = defineProps<{
  51. id: string; // 根据需要修改类型
  52. }>();
  53. const loading = ref(true) // 列表的加载中
  54. const total = ref(0) // 列表的总页数
  55. const list = ref([]) // 列表的数
  56. const queryParams = reactive({
  57. pageNo: 1,
  58. pageSize: 10,
  59. username: undefined,
  60. mobile: undefined,
  61. status: undefined,
  62. deptId: props.id,
  63. createTime: []
  64. })
  65. const showIsGraduate = ref(false);
  66. /** 查询列表 */
  67. const getList = async () => {
  68. loading.value = true
  69. try {
  70. queryParams.deptId = props.id
  71. const data = await UserApi.getTeacherPage(queryParams)
  72. console.log(data, 'data');
  73. list.value = data.list
  74. total.value = data.total
  75. showIsGraduate.value = data.list.some(user => user.hasOwnProperty('isGraduate'));
  76. } finally {
  77. loading.value = false
  78. }
  79. }
  80. /** 初始化 */
  81. onMounted(() => {
  82. getList()
  83. })
  84. </script>