teacher.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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
  29. label="创建时间"
  30. align="center"
  31. prop="createTime"
  32. :formatter="dateFormatter"
  33. width="180"
  34. />
  35. <Pagination
  36. :total="total"
  37. v-model:page="queryParams.pageNo"
  38. v-model:limit="queryParams.pageSize"
  39. @pagination="getList"
  40. />
  41. </el-table>
  42. </ContentWrap>
  43. </template>
  44. <script lang="ts" setup>
  45. import { dateFormatter } from '@/utils/formatTime'
  46. import * as UserApi from '@/api/system/user'
  47. defineOptions({ name: 'SystemUser' })
  48. const props = defineProps<{
  49. id: string; // 根据需要修改类型
  50. }>();
  51. const loading = ref(true) // 列表的加载中
  52. const total = ref(0) // 列表的总页数
  53. const list = ref([]) // 列表的数
  54. const queryParams = reactive({
  55. pageNo: 1,
  56. pageSize: 10,
  57. username: undefined,
  58. mobile: undefined,
  59. status: undefined,
  60. deptId: props.id,
  61. createTime: []
  62. })
  63. const showIsGraduate = ref(false);
  64. /** 查询列表 */
  65. const getList = async () => {
  66. loading.value = true
  67. try {
  68. queryParams.deptId = props.id
  69. const data = await UserApi.getTeacherPage(queryParams)
  70. console.log(data, 'data');
  71. list.value = data.list
  72. total.value = data.total
  73. showIsGraduate.value = data.list.some(user => user.hasOwnProperty('isGraduate'));
  74. } finally {
  75. loading.value = false
  76. }
  77. }
  78. /** 初始化 */
  79. onMounted(() => {
  80. getList()
  81. })
  82. </script>