swappedRecords-list.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <style scoped>
  2. .user-panel {
  3. margin: 10px auto;
  4. }
  5. </style>
  6. <template>
  7. <el-dialog
  8. :visible.sync="showDialog"
  9. :title="title"
  10. :modal-append-to-body="false"
  11. style="text-align: left"
  12. @close="closeDialog"
  13. :close-on-click-modal="false"
  14. width="1200px"
  15. >
  16. <div class="user-panel" v-loading="loading">
  17. <el-table
  18. :data="tableData"
  19. style="min-height:400px;"
  20. v-loading="loading"
  21. stripe
  22. >
  23. <el-table-column
  24. prop="num"
  25. label="流水号"
  26. ></el-table-column>
  27. <el-table-column
  28. prop="regUserName"
  29. label="爱心人士"
  30. ></el-table-column>
  31. <el-table-column
  32. prop="aspirationsName"
  33. label="交换礼物"
  34. ></el-table-column>
  35. <el-table-column
  36. prop="studentName"
  37. label="学生姓名"
  38. ></el-table-column>
  39. <el-table-column prop="isSpot" label="是否现场互换心愿">
  40. <template slot-scope="{row}">
  41. <span v-if="row.isSpot">是</span>
  42. <span v-else>否</span>
  43. </template>
  44. </el-table-column>
  45. <el-table-column prop="status" label="互换状态">
  46. <template slot-scope="{row}">
  47. <span v-if="row.status=='0'">互换中</span>
  48. <span v-else-if="row.status=='1'" style="color:#67C23A">已完成</span>
  49. </template>
  50. </el-table-column>
  51. <el-table-column
  52. prop="deliveryTime"
  53. label="发货时间"
  54. ></el-table-column>
  55. <el-table-column
  56. prop="completionTime"
  57. label="完成时间"
  58. ></el-table-column>
  59. </el-table>
  60. <el-pagination
  61. style="text-align:center"
  62. :current-page.sync="pageIndex"
  63. :total="totalElements"
  64. :page-sizes="pageSizeList"
  65. @current-change="changePage"
  66. @size-change="pageSizeChange"
  67. layout="total, sizes, prev, pager, next, jumper"
  68. ></el-pagination>
  69. </div>
  70. <span slot="footer" class="dialog-footer">
  71. <el-button @click="closeDialog">取 消</el-button>
  72. </span>
  73. </el-dialog>
  74. </template>
  75. <script>
  76. import Constant from "@/constant";
  77. import wishInfoUserRecordApi from "@/api/base/wishInfoUserRecord";
  78. import dataDictionaryApi from "@/api/sys/dataDictionary";
  79. export default {
  80. props: ["businessKey", "title"],
  81. data() {
  82. return {
  83. showDialog: true,
  84. loading: false,
  85. submitting: false,
  86. typeList:[],
  87. tableData:[],
  88. pageIndex: 1,
  89. pageSize: 10,
  90. totalPages: 0,
  91. totalElements: 0,
  92. field: "",
  93. direction: "",
  94. pageSizeList: [10, 20, 30],
  95. multipleSelection: [],
  96. };
  97. },
  98. created() {
  99. },
  100. methods: {
  101. closeDialog() {
  102. this.$emit("close", false);
  103. },
  104. changePage(pageIndex) {
  105. var self = this;
  106. console.log(pageIndex);
  107. self.pageIndex = pageIndex;
  108. var formData = new FormData();
  109. formData.append("pageIndex", self.pageIndex);
  110. formData.append("pageSize", self.pageSize);
  111. formData.append("wishInfoId", self.businessKey);
  112. formData.append("noneStatus", "2");
  113. self.loading = true;
  114. wishInfoUserRecordApi.pageList(formData).then(function(response) {
  115. self.loading = false;
  116. var jsonData = response.data;
  117. if(jsonData.result){
  118. var pageInfo = jsonData.data;
  119. self.tableData = pageInfo.data;
  120. self.totalPages = pageInfo.totalPages;
  121. self.totalElements = pageInfo.recordsTotal;
  122. }
  123. else {
  124. self.$message({
  125. message: jsonData.message + "",
  126. type: "warning"
  127. });
  128. }
  129. }).catch((error)=>{
  130. self.loading = false;
  131. });
  132. },
  133. pageSizeChange(pageSize) {
  134. this.pageSize = pageSize;
  135. },
  136. sortChange(data) {
  137. this.field = data.column.field;
  138. this.direction = data.order == "ascending" ? "asc" : "desc";
  139. this.changePage(this.pageIndex);
  140. },
  141. handleSelectionChange(val) {
  142. this.multipleSelection = val;
  143. },
  144. },
  145. async mounted() {
  146. var self = this;
  147. self.changePage(1);
  148. },
  149. components: {
  150. // "el-select-tree": SelectTree
  151. },
  152. };
  153. </script>