SemesterManage.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <template>
  2. <div class="semester-manage">
  3. <div class="part-box part-box-filter part-box-flex">
  4. <div>
  5. <el-button
  6. v-if="checkPrivilege('button', 'select')"
  7. type="primary"
  8. @click="toPage(1)"
  9. >查询</el-button
  10. >
  11. </div>
  12. <div class="part-box-action">
  13. <el-button
  14. v-if="checkPrivilege('button', 'add')"
  15. type="primary"
  16. icon="el-icon-circle-plus-outline"
  17. @click="toAdd"
  18. >新增学期</el-button
  19. >
  20. </div>
  21. </div>
  22. <div class="part-box part-box-pad">
  23. <el-table ref="TableList" :data="dataList">
  24. <el-table-column
  25. type="index"
  26. label="序号"
  27. width="70"
  28. :index="indexMethod"
  29. ></el-table-column>
  30. <el-table-column prop="semesterName" label="学期"></el-table-column>
  31. <el-table-column class-name="action-column" label="操作" width="160px">
  32. <template slot-scope="scope">
  33. <el-button
  34. v-if="checkPrivilege('link', 'edit')"
  35. class="btn-primary"
  36. type="text"
  37. @click="toEdit(scope.row)"
  38. >编辑</el-button
  39. >
  40. <el-button
  41. v-if="checkPrivilege('link', 'delete')"
  42. class="btn-danger"
  43. type="text"
  44. @click="toDelete(scope.row)"
  45. >删除</el-button
  46. >
  47. </template>
  48. </el-table-column>
  49. </el-table>
  50. <div class="part-page">
  51. <el-pagination
  52. background
  53. layout="total,prev, pager, next"
  54. :current-page="current"
  55. :total="total"
  56. :page-size="size"
  57. @current-change="toPage"
  58. >
  59. </el-pagination>
  60. </div>
  61. </div>
  62. <modify-semester
  63. :instance="curRow"
  64. @modified="getList"
  65. ref="ModifySemester"
  66. ></modify-semester>
  67. </div>
  68. </template>
  69. <script>
  70. import { semesterListQuery, deleteSemester } from "../api";
  71. import ModifySemester from "../components/ModifySemester";
  72. export default {
  73. name: "semester-manage",
  74. components: { ModifySemester },
  75. data() {
  76. return {
  77. filter: {},
  78. current: 1,
  79. size: this.GLOBAL.pageSize,
  80. total: 0,
  81. dataList: [],
  82. curRow: {}
  83. };
  84. },
  85. mounted() {
  86. this.getList();
  87. },
  88. methods: {
  89. async getList() {
  90. if (!this.checkPrivilege("list", "list")) return;
  91. const datas = {
  92. ...this.filter,
  93. pageNumber: this.current,
  94. pageSize: this.size
  95. };
  96. const data = await semesterListQuery(datas);
  97. this.dataList = data.records;
  98. this.total = data.total;
  99. },
  100. toPage(page) {
  101. this.current = page;
  102. this.getList();
  103. },
  104. toAdd() {
  105. this.curRow = {};
  106. this.$refs.ModifySemester.open();
  107. },
  108. toEdit(row) {
  109. this.curRow = row;
  110. this.$refs.ModifySemester.open();
  111. },
  112. async toDelete(row) {
  113. const result = await this.$confirm(
  114. `确定要删除学期【${row.semesterName}】吗?`,
  115. "提示",
  116. {
  117. type: "warning"
  118. }
  119. ).catch(() => {});
  120. if (result !== "confirm") return;
  121. await deleteSemester(row.id);
  122. this.$message.success("删除成功!");
  123. this.deletePageLastItem();
  124. }
  125. }
  126. };
  127. </script>