ExamRomeDetail.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <template>
  2. <div class="exam-room-detail">
  3. <div class="part-box part-box-filter">
  4. <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
  5. <el-form-item label="考试名称:">
  6. <el-select
  7. v-model="filter.examId"
  8. style="width: 193px;"
  9. placeholder="请选择"
  10. clearable
  11. >
  12. <el-option
  13. v-for="item in exams"
  14. :key="item.id"
  15. :value="item.id"
  16. :label="item.name"
  17. ></el-option>
  18. </el-select>
  19. </el-form-item>
  20. <el-form-item label="场次ID:" label-width="75px">
  21. <el-select
  22. v-model="filter.examId"
  23. style="width: 193px;"
  24. placeholder="请选择"
  25. clearable
  26. >
  27. <el-option
  28. v-for="item in exams"
  29. :key="item.id"
  30. :value="item.id"
  31. :label="item.name"
  32. ></el-option>
  33. </el-select>
  34. </el-form-item>
  35. <el-form-item label="考点:" label-width="55px">
  36. <el-select
  37. v-model="filter.examId"
  38. style="width: 193px;"
  39. placeholder="请选择"
  40. clearable
  41. >
  42. <el-option
  43. v-for="item in exams"
  44. :key="item.id"
  45. :value="item.id"
  46. :label="item.name"
  47. ></el-option>
  48. </el-select>
  49. </el-form-item>
  50. <el-form-item label-width="0px">
  51. <el-button type="primary" icon="icon icon-search" @click="toPage(1)"
  52. >查询</el-button
  53. >
  54. <el-button @click="goback">返回</el-button>
  55. </el-form-item>
  56. </el-form>
  57. </div>
  58. <div class="part-box">
  59. <el-table ref="TableList" :data="examPages" border stripe>
  60. <el-table-column prop="id" label="场次ID"></el-table-column>
  61. <el-table-column prop="examName" label="考试名称"></el-table-column>
  62. <el-table-column prop="paperStatus" label="考场名称"></el-table-column>
  63. <el-table-column
  64. prop="cardStatus"
  65. label="科目名称(ID)"
  66. ></el-table-column>
  67. <el-table-column prop="createTime" label="应考科次"></el-table-column>
  68. <el-table-column label="操作" align="center">
  69. <template slot-scope="scope">
  70. <el-button
  71. class="btn-table-icon"
  72. type="text"
  73. icon="icon icon-circle-right"
  74. @click="toDetail(scope.row)"
  75. title="详情"
  76. ></el-button>
  77. </template>
  78. </el-table-column>
  79. </el-table>
  80. <div class="part-page">
  81. <el-pagination
  82. background
  83. layout="prev, pager, next"
  84. :current-page="current"
  85. :total="total"
  86. :page-size="size"
  87. @current-change="toPage"
  88. >
  89. </el-pagination>
  90. </div>
  91. </div>
  92. </div>
  93. </template>
  94. <script>
  95. import { PRINT_STATUS } from "@/constants/enumerate";
  96. import { examRoomDetail, examList } from "../api";
  97. export default {
  98. name: "exam-room-detail",
  99. data() {
  100. return {
  101. filter: {
  102. examId: this.$route.params.examId,
  103. examSite: "",
  104. sceneNumberId: ""
  105. },
  106. current: 1,
  107. size: this.GLOBAL.pageSize,
  108. total: 0,
  109. visible: false,
  110. PRINT_STATUS,
  111. exams: [],
  112. examPages: []
  113. };
  114. },
  115. created() {
  116. this.getList();
  117. this.getExamList();
  118. },
  119. methods: {
  120. async getList() {
  121. const datas = {
  122. ...this.filter,
  123. pageNumber: this.current,
  124. pageSize: this.size
  125. };
  126. const data = await examRoomDetail(datas);
  127. this.examPages = data.records;
  128. this.total = data.total;
  129. },
  130. toPage(page) {
  131. this.current = page;
  132. this.getList();
  133. },
  134. async getExamList() {
  135. const data = await examList();
  136. this.exams = data.map(item => {
  137. return {
  138. id: item.id,
  139. name: item.examName
  140. };
  141. });
  142. },
  143. toDetail(row) {
  144. this.$router.push({
  145. name: "ExamRomeStudentDetail",
  146. params: {
  147. examRoomId: "1"
  148. }
  149. });
  150. }
  151. }
  152. };
  153. </script>