ClassMarkProgressDialog.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <el-dialog
  3. class="class-mark-progress-dialog"
  4. :visible.sync="modalIsShow"
  5. :title="data.className"
  6. top="10vh"
  7. width="700px"
  8. :close-on-click-modal="false"
  9. :close-on-press-escape="false"
  10. append-to-body
  11. @opened="visibleChange"
  12. @close="closeHandle"
  13. >
  14. <el-table :data="dataList">
  15. <el-table-column
  16. prop="questionNumber"
  17. label="评阅题目"
  18. width="120"
  19. ></el-table-column>
  20. <el-table-column
  21. prop="taskCount"
  22. label="任务总数"
  23. width="100"
  24. ></el-table-column>
  25. <el-table-column
  26. prop="markedCount"
  27. label="完成总数"
  28. width="100"
  29. ></el-table-column>
  30. <el-table-column prop="markerUser" label="评卷员" min-width="100">
  31. </el-table-column>
  32. </el-table>
  33. <div slot="footer"></div>
  34. </el-dialog>
  35. </template>
  36. <script>
  37. import { markProgressClassQuestionListPage } from "../../api";
  38. export default {
  39. name: "class-mark-progress-dialog",
  40. props: {
  41. data: {
  42. type: Object,
  43. default() {
  44. return {};
  45. },
  46. },
  47. },
  48. data() {
  49. return {
  50. modalIsShow: false,
  51. dataList: [],
  52. };
  53. },
  54. methods: {
  55. visibleChange() {
  56. this.initData();
  57. },
  58. closeHandle() {
  59. this.dataList = [];
  60. },
  61. cancel() {
  62. this.modalIsShow = false;
  63. },
  64. open() {
  65. this.modalIsShow = true;
  66. },
  67. async initData() {
  68. const res = await markProgressClassQuestionListPage({
  69. examId: this.data.examId,
  70. paperNumber: this.data.paperNumber,
  71. className: this.data.className,
  72. });
  73. this.dataList = res || [];
  74. },
  75. },
  76. };
  77. </script>