illegalityNameList.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <template>
  2. <el-container>
  3. <el-header> <div class="header-title">违纪名单</div> </el-header>
  4. <el-main>
  5. <commonFormVue :form="form" :getExamCondition="getExamCondition">
  6. <el-col :span="8">
  7. <el-form-item label="违纪说明">
  8. <el-select
  9. v-model="form.disciplineType"
  10. clearable
  11. placeholder="全部"
  12. >
  13. <el-option
  14. v-for="item in disciplineTypeList"
  15. :key="item.name"
  16. :label="item.desc"
  17. :value="item.code"
  18. >
  19. </el-option>
  20. </el-select>
  21. </el-form-item>
  22. </el-col>
  23. </commonFormVue>
  24. <el-row>
  25. <el-col :span="24">
  26. <el-button @click="search" size="medium" type="primary"
  27. >查询</el-button
  28. >
  29. <commonExportVue
  30. :form="form"
  31. :exportUrl="exportUrl"
  32. :exportFileName="exportFileName"
  33. ></commonExportVue>
  34. </el-col>
  35. </el-row>
  36. <el-row class="margin-top-10"
  37. ><el-col :span="24">
  38. <el-table
  39. v-loading="tableLoading"
  40. element-loading-text="数据加载中"
  41. ref="multipleTable"
  42. @selection-change="handleSelectionChange"
  43. :data="tableData"
  44. border
  45. >
  46. <el-table-column sortable label="考试ID">
  47. <template slot-scope="scope">
  48. <el-button
  49. @click="gotoCaptureDetail(scope.row.examRecordDataId);"
  50. type="text"
  51. >{{ scope.row.examRecordDataId }}</el-button
  52. >
  53. </template>
  54. </el-table-column>
  55. <el-table-column sortable label="姓名" prop="studentName">
  56. </el-table-column>
  57. <el-table-column sortable label="身份证号" prop="identityNumber">
  58. </el-table-column>
  59. <el-table-column sortable label="学号" prop="studentCode">
  60. </el-table-column>
  61. <el-table-column sortable label="课程" prop="courseName">
  62. </el-table-column>
  63. <el-table-column sortable label="课程层次" prop="courseLevel">
  64. </el-table-column>
  65. <el-table-column sortable label="校验次数" prop="faceTotalCount">
  66. </el-table-column>
  67. <el-table-column sortable label="成功次数" prop="faceSuccessCount">
  68. </el-table-column>
  69. <el-table-column
  70. sortable
  71. label="陌生人记录"
  72. prop="faceStrangerCount"
  73. >
  74. </el-table-column>
  75. <el-table-column
  76. sortable
  77. label="成功率(%)"
  78. prop="faceSuccessPercent"
  79. >
  80. </el-table-column>
  81. <el-table-column sortable label="违纪类型" prop="disciplineType">
  82. </el-table-column>
  83. </el-table>
  84. <div class="block">
  85. <el-pagination
  86. @size-change="handleSizeChange"
  87. @current-change="handleCurrentChange"
  88. :current-page.sync="form.pageNo"
  89. :page-sizes="[10, 30, 50, 100]"
  90. :page-size="form.pageSize"
  91. layout="total, sizes, prev, pager, next, jumper"
  92. :total="total"
  93. >
  94. </el-pagination></div></el-col
  95. ></el-row>
  96. </el-main>
  97. </el-container>
  98. </template>
  99. <script>
  100. import { mapState } from "vuex";
  101. import commonFormVue from "../component/commonForm.vue";
  102. import commonExportVue from "../component/commonExport.vue";
  103. import { DISCIPLINE_TYPE_LIST } from "../constants/constants";
  104. export default {
  105. components: { commonFormVue, commonExportVue },
  106. data() {
  107. return {
  108. disciplineTypeList: DISCIPLINE_TYPE_LIST,
  109. total: 0,
  110. tableLoading: false,
  111. exportLoading: false,
  112. form: {
  113. examRecordDataId: null,
  114. hasStranger: null,
  115. courseId: null,
  116. courseLevel: null,
  117. examId: null,
  118. examRecordId: null,
  119. faceSuccessPercentLower: null,
  120. faceSuccessPercentUpper: null,
  121. livenessSuccessPercentLower: null,
  122. livenessSuccessPercentUpper: null,
  123. identityNumber: null,
  124. orgId: null,
  125. studentCode: null,
  126. studentName: null,
  127. isWarn: null,
  128. pageNo: 1,
  129. pageSize: 10
  130. },
  131. getExamCondition: {
  132. params: {
  133. name: "",
  134. examTypes: "ONLINE"
  135. },
  136. filterCondition: ""
  137. },
  138. tableData: [],
  139. exportUrl: "/api/ecs_oe_admin/exam/audit/discipline/list/export",
  140. exportFileName: "违纪名单"
  141. };
  142. },
  143. computed: {
  144. ...mapState({ user: state => state.user })
  145. },
  146. methods: {
  147. search() {
  148. if (!this.form.examId) {
  149. this.$notify({
  150. title: "警告",
  151. message: "请选择考试批次",
  152. type: "warning",
  153. duration: 1000
  154. });
  155. return false;
  156. }
  157. this.tableLoading = true;
  158. this.$http
  159. .post("/api/ecs_oe_admin/exam/audit/discipline/list", this.form)
  160. .then(response => {
  161. if (response.data) {
  162. this.tableData = response.data.content;
  163. this.total = response.data.totalElements;
  164. } else {
  165. this.tableData = [];
  166. }
  167. this.tableLoading = false;
  168. });
  169. },
  170. selectable(row) {
  171. return row.isWarn;
  172. },
  173. handleSelectionChange(val) {
  174. this.multipleSelection = val;
  175. },
  176. /**
  177. * pagesize改变时触发
  178. */
  179. handleSizeChange(val) {
  180. this.form.pageSize = val;
  181. this.search();
  182. },
  183. /**
  184. * 当前页改变时触发
  185. */
  186. handleCurrentChange() {
  187. this.search();
  188. },
  189. gotoCaptureDetail(examRecordDataId) {
  190. this.$router.push({ path: "/oe/captureDetail/" + examRecordDataId });
  191. }
  192. },
  193. created() {
  194. this.form.rootOrgId = this.user.rootOrgId;
  195. }
  196. };
  197. </script>
  198. <style scoped>
  199. .el-row {
  200. position: static !important;
  201. }
  202. .margin-top-10 {
  203. margin-top: 10px;
  204. }
  205. </style>