absent.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <template>
  2. <el-container>
  3. <el-main class="el-main-padding">
  4. <commonFormVue
  5. :form="form"
  6. :get-exam-condition="getExamCondition"
  7. ></commonFormVue>
  8. <el-col :span="6">
  9. <el-button
  10. size="small"
  11. icon="el-icon-search"
  12. type="primary"
  13. @click="search('clickSelectBtn')"
  14. >查询</el-button
  15. >
  16. <el-button size="small" icon="el-icon-refresh" @click="resetForm"
  17. >重置</el-button
  18. >
  19. </el-col>
  20. <el-row>
  21. <el-col v-show="currentPagePrivileges.ABSENT_EXPORT">
  22. <div class="block-seperator"></div>
  23. <span>操作:</span>
  24. <commonExportVue
  25. :form="form"
  26. :export-url="exportUrl"
  27. :export-file-name="exportFileName"
  28. ></commonExportVue>
  29. </el-col>
  30. </el-row>
  31. <el-row class="margin-top-10">
  32. <el-col :span="24">
  33. <el-table
  34. v-loading="tableLoading"
  35. element-loading-text="数据加载中"
  36. :data="tableData"
  37. border
  38. >
  39. <el-table-column
  40. sortable
  41. label="课程"
  42. prop="courseName"
  43. ></el-table-column>
  44. <el-table-column
  45. sortable
  46. label="课程层次"
  47. prop="courseLevel"
  48. ></el-table-column>
  49. <el-table-column
  50. sortable
  51. label="学习中心"
  52. prop="orgName"
  53. ></el-table-column>
  54. <el-table-column
  55. sortable
  56. label="姓名"
  57. prop="studentName"
  58. ></el-table-column>
  59. <el-table-column
  60. sortable
  61. label="身份证号"
  62. prop="identityNumber"
  63. ></el-table-column>
  64. <el-table-column
  65. sortable
  66. label="学号"
  67. prop="studentCode"
  68. ></el-table-column>
  69. <el-table-column
  70. sortable
  71. label="场次"
  72. prop="examStageOrder"
  73. ></el-table-column>
  74. </el-table>
  75. </el-col>
  76. </el-row>
  77. <div class="page pull-right">
  78. <el-pagination
  79. :current-page.sync="form.pageNo"
  80. :page-sizes="[10, 20, 50, 100, 200, 300]"
  81. :page-size="form.pageSize"
  82. layout="total, sizes, prev, pager, next, jumper"
  83. :total="total"
  84. @size-change="handleSizeChange"
  85. @current-change="handleCurrentChange"
  86. ></el-pagination>
  87. </div>
  88. </el-main>
  89. </el-container>
  90. </template>
  91. <script>
  92. import { mapState } from "vuex";
  93. import commonFormVue from "../component/commonForm.vue";
  94. import commonExportVue from "../component/commonExport.vue";
  95. import pagePrivilege from "../mixin/pagePrivilege.js";
  96. export default {
  97. components: { commonFormVue, commonExportVue },
  98. mixins: [pagePrivilege],
  99. data() {
  100. return {
  101. total: 0,
  102. tableLoading: false,
  103. exportLoading: false,
  104. form: {
  105. examRecordDataId: null,
  106. courseId: null,
  107. courseLevel: null,
  108. examId: null,
  109. examStageId: null,
  110. identityNumber: null,
  111. orgId: null,
  112. studentCode: null,
  113. studentName: null,
  114. pageNo: 1,
  115. pageSize: 10,
  116. rootOrgId: "",
  117. auditStatus: null,
  118. ORG_FIND_ALL: false, //查询所有机构l
  119. },
  120. getExamCondition: {
  121. params: { name: "", examTypes: "ONLINE#OFFLINE#ONLINE_HOMEWORK" },
  122. filterCondition: "OVERDUE",
  123. },
  124. tableData: [],
  125. exportUrl: "/api/ecs_oe_admin/exam/student/unfinished/list/export",
  126. exportFileName: "缺考登记",
  127. currentPagePrivileges: { ABSENT_EXPORT: false },
  128. };
  129. },
  130. computed: {
  131. ...mapState({ user: (state) => state.user }),
  132. },
  133. created() {},
  134. methods: {
  135. resetForm() {
  136. this.form = {
  137. examRecordDataId: null,
  138. courseId: null,
  139. courseLevel: null,
  140. examId: null,
  141. examStageId: null,
  142. identityNumber: null,
  143. orgId: this.form.ORG_FIND_ALL ? null : this.form.orgId,
  144. studentCode: null,
  145. studentName: null,
  146. pageNo: 1,
  147. pageSize: 10,
  148. rootOrgId: "",
  149. auditStatus: null,
  150. ORG_FIND_ALL: this.form.ORG_FIND_ALL,
  151. };
  152. },
  153. search(type) {
  154. if (!this.form.examId) {
  155. this.$notify({
  156. title: "警告",
  157. message: "请选择考试",
  158. type: "warning",
  159. duration: 1000,
  160. });
  161. return false;
  162. }
  163. if (type && type == "clickSelectBtn") {
  164. this.form.pageNo = 1;
  165. }
  166. this.tableLoading = true;
  167. this.$http
  168. .post("/api/ecs_oe_admin/exam/student/unfinished/list", this.form)
  169. .then((response) => {
  170. if (response.data) {
  171. this.tableData = response.data.content;
  172. this.total = response.data.totalElements;
  173. } else {
  174. this.tableData = [];
  175. }
  176. this.tableLoading = false;
  177. });
  178. },
  179. /**
  180. * pagesize改变时触发
  181. */
  182. handleSizeChange(val) {
  183. this.form.pageSize = val;
  184. this.search();
  185. },
  186. /**
  187. * 当前页改变时触发
  188. */
  189. handleCurrentChange() {
  190. this.search();
  191. },
  192. },
  193. };
  194. </script>
  195. <style scoped src="../style/common.css"></style>