PaperTemplateManage.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <template>
  2. <div class="paper-template-manage">
  3. <div class="part-box">
  4. <h2 class="part-box-title">试卷模板管理</h2>
  5. <!-- 搜索 -->
  6. <el-form class="part-filter-form" inline :model="searchForm">
  7. <el-form-item>
  8. <el-button type="danger" @click="handleCurrentChange(1)">
  9. 查询
  10. </el-button>
  11. </el-form-item>
  12. </el-form>
  13. <div class="part-box-action">
  14. <el-button type="primary" plain icon="icon icon-edit" @click="toCreate"
  15. >新建模板
  16. </el-button>
  17. </div>
  18. </div>
  19. <div class="part-box">
  20. <!-- 页面列表 -->
  21. <el-table ref="table" :data="tableData">
  22. <el-table-column prop="name" label="名称"> </el-table-column>
  23. <el-table-column
  24. prop="createTime"
  25. label="创建时间"
  26. width="170"
  27. ></el-table-column>
  28. <el-table-column prop="creator" label="创建人"></el-table-column>
  29. <el-table-column width="50" label="状态">
  30. <template slot-scope="scope">
  31. <span v-if="scope.row.enable">
  32. <el-tooltip
  33. class="item"
  34. effect="dark"
  35. content="启用"
  36. placement="left"
  37. >
  38. <i class="icon icon-right"></i>
  39. </el-tooltip>
  40. </span>
  41. <span v-else>
  42. <el-tooltip
  43. class="item"
  44. effect="dark"
  45. content="禁用"
  46. placement="left"
  47. >
  48. <i class="icon icon-error"></i>
  49. </el-tooltip>
  50. </span>
  51. </template>
  52. </el-table-column>
  53. <el-table-column width="170" label="操作">
  54. <template slot-scope="scope">
  55. <el-button
  56. v-if="!onlyAssignTeacher"
  57. size="mini"
  58. :type="scope.row.enable ? 'danger' : 'primary'"
  59. plain
  60. @click="toEnable(scope.row)"
  61. >
  62. {{ scope.row.enable ? "禁用" : "启用" }}
  63. </el-button>
  64. <el-dropdown>
  65. <el-button type="primary" plain size="mini">
  66. 更多<i class="el-icon-more el-icon--right"></i>
  67. </el-button>
  68. <el-dropdown-menu slot="dropdown" class="action-dropdown">
  69. <el-dropdown-item>
  70. <el-button
  71. size="mini"
  72. type="primary"
  73. plain
  74. @click="toEdit(scope.row)"
  75. >编辑模板
  76. </el-button>
  77. </el-dropdown-item>
  78. <el-dropdown-item v-if="!onlyAssignTeacher">
  79. <el-button
  80. size="mini"
  81. type="danger"
  82. plain
  83. @click="toDelete(scope.row)"
  84. >删除
  85. </el-button>
  86. </el-dropdown-item>
  87. </el-dropdown-menu>
  88. </el-dropdown>
  89. </template>
  90. </el-table-column>
  91. </el-table>
  92. <div class="part-page">
  93. <el-pagination
  94. :current-page="currentPage"
  95. :page-size="pageSize"
  96. :page-sizes="[10, 20, 50, 100, 200, 300]"
  97. layout="total, sizes, prev, pager, next, jumper"
  98. :total="total"
  99. @current-change="handleCurrentChange"
  100. @size-change="handleSizeChange"
  101. />
  102. </div>
  103. </div>
  104. </div>
  105. </template>
  106. <script>
  107. import { paperTemplateListApi } from "../api";
  108. export default {
  109. name: "PaperTemplateManage",
  110. data() {
  111. return {
  112. loading: false,
  113. tableData: [],
  114. curRow: {},
  115. currentPage: 1,
  116. pageSize: 10,
  117. total: 10,
  118. };
  119. },
  120. methods: {
  121. async search() {
  122. if (this.loading) return;
  123. this.loading = true;
  124. const res = await paperTemplateListApi({
  125. pageNumber: this.currentPage,
  126. pageSize: this.pageSize,
  127. }).catch(() => {});
  128. this.loading = false;
  129. if (!res) return;
  130. this.tableData = res.data.content;
  131. this.total = res.data.totalElements;
  132. },
  133. handleCurrentChange(val) {
  134. this.currentPage = val;
  135. this.search();
  136. },
  137. handleSizeChange(val) {
  138. this.currentPage = 1;
  139. this.pageSize = val;
  140. this.search();
  141. },
  142. toCreate() {},
  143. toEnable(row) {
  144. console.log(row);
  145. },
  146. toEdit(row) {
  147. console.log(row);
  148. },
  149. toDelete(row) {
  150. console.log(row);
  151. },
  152. },
  153. };
  154. </script>