WaitTaskAudit.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <div class="wait-task-audit part-box part-box-pad part-box-border">
  3. <div class="task-head part-box part-box-flex">
  4. <h3>
  5. 审核待办(<span class="color-danger">{{ total }}</span
  6. >)
  7. </h3>
  8. <div>
  9. <i class="el-icon-s-fold"></i>
  10. </div>
  11. </div>
  12. <div class="task-list">
  13. <div v-for="task in tasks" :key="task.id" class="task-item">
  14. <p>
  15. <span>试卷编号:</span>
  16. <span>{{ task.paperNumber }}</span>
  17. </p>
  18. <p>
  19. <span>课程(代码):</span>
  20. <span>{{ task.courseName }}({{ task.courseCode }})</span>
  21. </p>
  22. <p>
  23. <span>命题结束时间:</span>
  24. <span>{{ task.endTime | timestampFilter }}</span>
  25. </p>
  26. <p>
  27. <span>命题老师:</span>
  28. <span>{{ task.userName }}</span>
  29. </p>
  30. <p>
  31. <span>提交时间:</span>
  32. <span>{{ task.createTime | timestampFilter }}</span>
  33. </p>
  34. <div class="part-box-flex">
  35. <el-tag :type="task.residueTips.status" effect="dark">
  36. {{ task.residueTips.title }}
  37. </el-tag>
  38. <span class="task-action" @click="toDo(task)"
  39. >立即处理 <i class="el-icon-arrow-right"></i
  40. ></span>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="text-center">
  45. <el-pagination
  46. background
  47. layout="total, sizes, prev, pager, next, jumper"
  48. :pager-count="5"
  49. :current-page="current"
  50. :total="total"
  51. :page-size="size"
  52. @current-change="toPage"
  53. @size-change="pageSizeChange"
  54. >
  55. </el-pagination>
  56. </div>
  57. <!-- ModifyTaskApply -->
  58. <modify-task-apply
  59. ref="ModifyTaskApply"
  60. :edit-type="editType"
  61. :instance="curTask"
  62. @modified="modified"
  63. ></modify-task-apply>
  64. </div>
  65. </template>
  66. <script>
  67. import ModifyTaskApply from "./ModifyTaskApply";
  68. import { waitTaskReviewListPage } from "../api";
  69. import { residueFloorTime } from "@/plugins/utils";
  70. import { TASK_WARNING_TIME } from "@/constants/enumerate";
  71. export default {
  72. name: "wait-task-audit",
  73. components: { ModifyTaskApply },
  74. data() {
  75. return {
  76. total: 0,
  77. current: 1,
  78. size: this.GLOBAL.pageSize,
  79. tasks: [],
  80. curTask: {},
  81. editType: "AUDIT",
  82. };
  83. },
  84. mounted() {
  85. this.getList();
  86. },
  87. methods: {
  88. async getList() {
  89. const datas = {
  90. pageNumber: this.current,
  91. pageSize: this.size,
  92. };
  93. const data = await waitTaskReviewListPage(datas);
  94. this.tasks = data.records.map((item) => {
  95. item.residueTips = residueFloorTime(
  96. item.endTime - item.systemCurrentTime,
  97. TASK_WARNING_TIME
  98. );
  99. return item;
  100. });
  101. this.total = data.total;
  102. },
  103. toPage(page) {
  104. this.current = page;
  105. this.getList();
  106. },
  107. toDo(task) {
  108. this.curTask = { ...task, source: "REVIEW" };
  109. this.$refs.ModifyTaskApply.open();
  110. },
  111. modified() {
  112. this.$emit("update-list");
  113. },
  114. },
  115. };
  116. </script>