PlanLinkPaper.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <template>
  2. <div class="plan-link-paper">
  3. <div class="part-box part-box-filter part-box-flex">
  4. <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
  5. <el-form-item label="关联状态:">
  6. <el-select
  7. v-model="filter.relateType"
  8. style="width: 100px;"
  9. placeholder="请选择"
  10. >
  11. <el-option
  12. v-for="(val, key) in RELATE_TYPE"
  13. :key="key"
  14. :value="key"
  15. :label="val"
  16. ></el-option>
  17. </el-select>
  18. </el-form-item>
  19. <el-form-item label="印刷计划:">
  20. <print-plan-select
  21. v-model.trim="filter.printPlanId"
  22. placeholder="请选择"
  23. clearable
  24. ></print-plan-select>
  25. </el-form-item>
  26. <el-form-item label="课程(代码):" label-width="110px">
  27. <course-select
  28. v-model.trim="filter.courseCode"
  29. placeholder="请选择"
  30. clearable
  31. ></course-select>
  32. </el-form-item>
  33. <el-form-item label="试卷编号:">
  34. <paper-number-select
  35. ref="PaperNumberSelect"
  36. v-model="filter.paperNumber"
  37. placeholder="请选择"
  38. clearable
  39. ></paper-number-select>
  40. </el-form-item>
  41. <el-form-item label-width="0px">
  42. <el-button type="primary" icon="el-icon-search" @click="search"
  43. >查询</el-button
  44. >
  45. </el-form-item>
  46. </el-form>
  47. </div>
  48. <div class="part-box">
  49. <el-table ref="TableList" :data="dataList" border stripe>
  50. <el-table-column
  51. type="index"
  52. label="序号"
  53. width="70"
  54. align="center"
  55. :index="indexMethod"
  56. ></el-table-column>
  57. <el-table-column
  58. prop="printPlanName"
  59. label="印刷计划"
  60. ></el-table-column>
  61. <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
  62. <el-table-column prop="courseName" label="课程(代码)">
  63. <span slot-scope="scope"
  64. >{{ scope.row.courseName }}({{ scope.row.courseCode }})</span
  65. >
  66. </el-table-column>
  67. <el-table-column prop="specialty" label="适用专业(方向)">
  68. </el-table-column>
  69. <el-table-column prop="cardRuleName" label="题卡规则">
  70. </el-table-column>
  71. <el-table-column prop="userName" label="命题老师" width="100">
  72. </el-table-column>
  73. <el-table-column prop="exposedPaperType" label="已曝光类型" width="100">
  74. </el-table-column>
  75. <el-table-column
  76. prop="unexposedPaperType"
  77. label="未曝光类型"
  78. width="100"
  79. >
  80. </el-table-column>
  81. <el-table-column prop="relatePaperType" label="关联卷型" width="100">
  82. </el-table-column>
  83. <el-table-column label="关联状态" width="80">
  84. <span slot-scope="scope">
  85. {{ scope.row.relatePaperType ? "已关联" : "未关联" }}
  86. </span>
  87. </el-table-column>
  88. <el-table-column prop="totalSubjects" label="总科次" width="80">
  89. </el-table-column>
  90. <el-table-column
  91. class-name="action-column"
  92. label="操作"
  93. align="center"
  94. width="80px"
  95. >
  96. <template slot-scope="scope">
  97. <el-button
  98. class="btn-table-icon"
  99. type="text"
  100. icon="icon icon-edit"
  101. @click="toEdit(scope.row)"
  102. title="关联试卷"
  103. ></el-button>
  104. </template>
  105. </el-table-column>
  106. </el-table>
  107. <div class="part-page">
  108. <el-pagination
  109. background
  110. layout="total,prev, pager, next"
  111. :current-page="current"
  112. :total="total"
  113. :page-size="size"
  114. @current-change="toPage"
  115. >
  116. </el-pagination>
  117. </div>
  118. </div>
  119. <!-- ModifyPlanPaper -->
  120. <modify-plan-paper
  121. :instance="curRow"
  122. @modified="getList"
  123. ref="ModifyPlanPaper"
  124. ></modify-plan-paper>
  125. </div>
  126. </template>
  127. <script>
  128. import { planLinkPaperListPage } from "../api";
  129. import ModifyPlanPaper from "../components/ModifyPlanPaper";
  130. export const RELATE_TYPE = {
  131. RELATE: "已关联",
  132. NOT_RELATE: "未关联"
  133. };
  134. export default {
  135. name: "plan-link-paper",
  136. components: { ModifyPlanPaper },
  137. data() {
  138. return {
  139. filter: {
  140. printPlanId: "",
  141. courseCode: "",
  142. paperNumber: "",
  143. relateType: ""
  144. },
  145. current: 1,
  146. size: this.GLOBAL.pageSize,
  147. total: 0,
  148. dataList: [],
  149. curRow: {},
  150. RELATE_TYPE
  151. };
  152. },
  153. created() {
  154. this.search();
  155. },
  156. methods: {
  157. async getList() {
  158. const datas = {
  159. ...this.filter,
  160. pageNumber: this.current,
  161. pageSize: this.size
  162. };
  163. const data = await planLinkPaperListPage(datas);
  164. this.dataList = data.records;
  165. this.total = data.total;
  166. },
  167. toPage(page) {
  168. this.current = page;
  169. this.getList();
  170. },
  171. search() {
  172. this.toPage(1);
  173. },
  174. toEdit(row) {
  175. this.curRow = row;
  176. this.$refs.ModifyPlanPaper.open();
  177. }
  178. }
  179. };
  180. </script>