ExamList.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <template>
  2. <div class="wp">
  3. <div class="hd">
  4. <div class="logo"><img src="img/logo.png" /></div>
  5. <span class="y">
  6. 欢迎您,<span id="user-name"></span> <span class="pipe">|</span
  7. ><a href="login.html">退出</a>
  8. </span>
  9. </div>
  10. <div class="cont">
  11. <div class="title cl" style="background: #fff">
  12. <span class="y"
  13. >共有<b id="total-count">{{ examList.length }}</b
  14. >场考试,请选择</span
  15. >
  16. <h2>考试列表</h2>
  17. </div>
  18. <table cellpadding="0" cellspacing="0" width="100%" class="tablelist">
  19. <thead>
  20. <th>ID</th>
  21. <th>考试名称</th>
  22. <th>创建时间</th>
  23. <th>操作</th>
  24. </thead>
  25. <tbody id="exam-list">
  26. <tr v-for="(exam, index) in examList" :key="index">
  27. <td>{{ exam.id }}</td>
  28. <td>{{ exam.name }}</td>
  29. <td>{{ exam.examTime }}</td>
  30. <td><a-button @click="selectExam(exam)">进入考试</a-button></td>
  31. </tr>
  32. </tbody>
  33. </table>
  34. <div class="page">
  35. <span class="back" id="previous-button">上页</span>
  36. <div id="page-list"></div>
  37. <span class="next" id="next-button">下页</span>
  38. </div>
  39. </div>
  40. <div class="ft">
  41. Copyright © 2011-2020 www.qmth.com.cn, All Rights Reserved
  42. </div>
  43. </div>
  44. </template>
  45. <script setup lang="ts">
  46. import { store } from "@/store";
  47. import { onMounted, ref } from "vue";
  48. import { getExams } from "@/api/api";
  49. import { useRouter } from "vue-router";
  50. const router = useRouter();
  51. let examList = ref([]);
  52. // TODO: add pager
  53. onMounted(async () => {
  54. const exams = await getExams(1, 1000);
  55. console.log(exams);
  56. examList.value = exams.data;
  57. });
  58. const selectExam = (exam) => {
  59. store.env.exam = exam;
  60. store.env.examId = exam.id;
  61. router.push("/home");
  62. };
  63. </script>