DataInitManage.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <template>
  2. <div class="data-init-manage">
  3. <div class="part-box part-box-filter part-box-flex">
  4. <el-form ref="FilterForm" label-position="left" label-width="55px" inline>
  5. <template v-if="checkPrivilege('condition', 'condition')">
  6. <el-form-item label="学期:">
  7. <semester-select
  8. v-model="filter.semesterId"
  9. placeholder="学期"
  10. ></semester-select>
  11. </el-form-item>
  12. <el-form-item label="考试:">
  13. <exam-select
  14. v-model="filter.examId"
  15. :semester-id="filter.semesterId"
  16. placeholder="考试"
  17. ></exam-select>
  18. </el-form-item>
  19. <el-form-item label="课程:">
  20. <course-select
  21. v-model="filter.courseCode"
  22. placeholder="课程"
  23. ></course-select>
  24. </el-form-item>
  25. </template>
  26. <el-form-item>
  27. <el-button
  28. v-if="checkPrivilege('button', 'select')"
  29. type="primary"
  30. @click="toPage(1)"
  31. >查询</el-button
  32. >
  33. </el-form-item>
  34. </el-form>
  35. <div class="part-box-action"></div>
  36. </div>
  37. <div class="part-box part-box-pad">
  38. <el-table ref="TableList" :data="dataList">
  39. <el-table-column
  40. type="index"
  41. label="序号"
  42. width="50"
  43. :index="indexMethod"
  44. ></el-table-column>
  45. <el-table-column
  46. prop="semesterName"
  47. label="学期"
  48. min-width="160"
  49. ></el-table-column>
  50. <el-table-column prop="examName" label="考试" min-width="160">
  51. </el-table-column>
  52. <el-table-column prop="courseCode" label="课程(代码)" min-width="200">
  53. <span slot-scope="scope">
  54. {{ scope.row.courseName }}({{ scope.row.courseCode }})
  55. </span>
  56. </el-table-column>
  57. <el-table-column
  58. prop="paperNumber"
  59. label="试卷编码"
  60. min-width="160"
  61. ></el-table-column>
  62. <el-table-column
  63. prop="paperType"
  64. label="试卷类型"
  65. width="100"
  66. ></el-table-column>
  67. <el-table-column prop="status" label="状态" width="100">
  68. </el-table-column>
  69. <el-table-column
  70. class-name="action-column"
  71. label="操作"
  72. width="160px"
  73. fixed="right"
  74. >
  75. <template slot-scope="scope">
  76. <el-button
  77. v-if="
  78. checkPrivilege('link', 'window') && !scope.row.publishStatus
  79. "
  80. class="btn-primary"
  81. type="text"
  82. @click="toConfig(scope.row)"
  83. >基础配置</el-button
  84. >
  85. </template>
  86. </el-table-column>
  87. </el-table>
  88. <div class="part-page">
  89. <el-pagination
  90. background
  91. layout="total,prev, pager, next"
  92. :current-page="current"
  93. :total="total"
  94. :page-size="size"
  95. @current-change="toPage"
  96. >
  97. </el-pagination>
  98. </div>
  99. </div>
  100. <!-- ModifyBaseConfig -->
  101. <modify-base-config
  102. ref="ModifyBaseConfig"
  103. :instance="curRow"
  104. ></modify-base-config>
  105. </div>
  106. </template>
  107. <script>
  108. import { dataInitList } from "../api";
  109. import ModifyBaseConfig from "../components/ModifyBaseConfig.vue";
  110. export default {
  111. name: "data-init-manage",
  112. components: { ModifyBaseConfig },
  113. data() {
  114. return {
  115. filter: {
  116. semesterId: "",
  117. examId: "",
  118. courseCode: ""
  119. },
  120. current: 1,
  121. size: this.GLOBAL.pageSize,
  122. total: 0,
  123. dataList: [],
  124. curRow: {},
  125. loading: false
  126. };
  127. },
  128. mounted() {
  129. this.toPage(1);
  130. },
  131. methods: {
  132. async getList() {
  133. if (!this.checkPrivilege("list", "list")) return;
  134. const datas = {
  135. ...this.filter,
  136. pageNumber: this.current,
  137. pageSize: this.size
  138. };
  139. const data = await dataInitList(datas);
  140. this.dataList = data.records;
  141. this.total = data.total;
  142. },
  143. toPage(page) {
  144. this.current = page;
  145. this.getList();
  146. },
  147. toConfig(row) {
  148. console.log(row);
  149. this.curRow = row;
  150. this.$refs.ModifyBaseConfig.open();
  151. }
  152. }
  153. };
  154. </script>