CardManage.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <template>
  2. <div class="card-check">
  3. <div class="part-box part-box-filter">
  4. <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
  5. <el-form-item label="审核状态:">
  6. <el-select
  7. v-model="filter.auditingStatus"
  8. style="width: 142px;"
  9. placeholder="请选择"
  10. clearable
  11. >
  12. <el-option
  13. v-for="(val, key) in AUDITING_STATUS"
  14. :key="key"
  15. :value="key"
  16. :label="val"
  17. ></el-option>
  18. </el-select>
  19. </el-form-item>
  20. <el-form-item label="印刷时间:">
  21. <el-date-picker
  22. v-model="filter.printTime"
  23. type="date"
  24. placeholder="请选择日期"
  25. >
  26. </el-date-picker>
  27. </el-form-item>
  28. <el-form-item label="标题:" label-width="55px">
  29. <el-input
  30. style="width: 210px;"
  31. v-model.trim="filter.title"
  32. placeholder="请输入内容"
  33. clearable
  34. ></el-input>
  35. </el-form-item>
  36. <el-form-item label-width="0px">
  37. <el-button type="primary" icon="icon icon-search" @click="toPage(1)"
  38. >查询</el-button
  39. >
  40. <el-button type="warning" icon="icon icon-plus" @click="toAdd"
  41. >创建题卡</el-button
  42. >
  43. </el-form-item>
  44. </el-form>
  45. </div>
  46. <div class="part-box">
  47. <el-table ref="TableList" :data="examPages" border stripe>
  48. <el-table-column prop="id" label="题目ID"></el-table-column>
  49. <el-table-column label="科目(代码)">
  50. <template slot-scope="scope">
  51. <span>{{ scope.row.courseName }}({{ scope.row.courseCode }})</span>
  52. </template>
  53. </el-table-column>
  54. <el-table-column prop="title" label="标题"></el-table-column>
  55. <el-table-column prop="printTime" label="打印时间"></el-table-column>
  56. <el-table-column prop="cardStatus" label="处理节点"></el-table-column>
  57. <el-table-column prop="overtime" label="剩余时间"></el-table-column>
  58. <el-table-column
  59. prop="auditingTime"
  60. label="提交审核时间"
  61. ></el-table-column>
  62. <el-table-column
  63. prop="auditingStatus"
  64. label="审核状态"
  65. ></el-table-column>
  66. <el-table-column label="操作" align="center">
  67. <template slot-scope="scope">
  68. <el-button
  69. class="btn-table-icon"
  70. type="text"
  71. icon="icon icon-edit"
  72. @click="toEdit(scope.row)"
  73. title="确认"
  74. ></el-button>
  75. <el-button
  76. class="btn-table-icon"
  77. type="text"
  78. icon="icon icon-delete"
  79. @click="toEdit(scope.row)"
  80. title="确认"
  81. ></el-button>
  82. <el-button
  83. class="btn-table-icon"
  84. type="text"
  85. icon="icon icon-circle-share"
  86. @click="toEdit(scope.row)"
  87. title="确认"
  88. ></el-button>
  89. <el-button
  90. class="btn-table-icon"
  91. type="text"
  92. icon="icon icon-copy"
  93. @click="toEdit(scope.row)"
  94. title="复制"
  95. ></el-button>
  96. </template>
  97. </el-table-column>
  98. </el-table>
  99. <div class="part-page">
  100. <el-pagination
  101. background
  102. layout="prev, pager, next"
  103. :current-page="current"
  104. :total="total"
  105. :page-size="size"
  106. @current-change="toPage"
  107. >
  108. </el-pagination>
  109. </div>
  110. </div>
  111. <!-- modify-data -->
  112. <modify-data
  113. :instance="curExam"
  114. @modified="getList"
  115. ref="ModifyData"
  116. ></modify-data>
  117. </div>
  118. </template>
  119. <script>
  120. import { AUDITING_STATUS } from "@/constants/enumerate";
  121. import { printTaskListPage, examList } from "../api";
  122. import ModifyData from "../components/ModifyData";
  123. export default {
  124. name: "card-check",
  125. components: { ModifyData },
  126. data() {
  127. return {
  128. filter: {
  129. title: "",
  130. auditingStatus: "",
  131. printTime: ""
  132. },
  133. current: 1,
  134. size: this.GLOBAL.pageSize,
  135. total: 0,
  136. visible: false,
  137. AUDITING_STATUS,
  138. exams: [],
  139. examPages: [{ id: "" }],
  140. curExam: {}
  141. };
  142. },
  143. created() {
  144. // this.getList();
  145. },
  146. methods: {
  147. async getList() {
  148. const datas = {
  149. ...this.filter,
  150. pageNumber: this.current,
  151. pageSize: this.size
  152. };
  153. const data = await printTaskListPage(datas);
  154. this.examPages = data.records;
  155. this.total = data.total;
  156. },
  157. toPage(page) {
  158. this.current = page;
  159. this.getList();
  160. },
  161. async getExamList() {
  162. const data = await examList();
  163. this.exams = data.records.map(item => {
  164. return {
  165. id: item.examCode,
  166. name: item.examName
  167. };
  168. });
  169. },
  170. toAdd() {
  171. this.$router.push({
  172. name: "CardDesign"
  173. });
  174. },
  175. toEdit(row) {
  176. this.curExam = row;
  177. this.$refs.ModifyData.open();
  178. }
  179. }
  180. };
  181. </script>