promotionLogList.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <div>
  3. <el-dialog
  4. :title="$t('title.operationLog')"
  5. append-to-body
  6. top="5vh"
  7. width="60%"
  8. :visible.sync="dialogFormVisible"
  9. >
  10. <div style="height: 72vh; overflow: auto">
  11. <el-table
  12. v-loading="listLoading"
  13. :key="tableKey"
  14. :data="list"
  15. stripe
  16. border
  17. fit
  18. highlight-current-row
  19. style="width: 100%;"
  20. >
  21. <el-table-column type="index" width="40"></el-table-column>
  22. <el-table-column
  23. :label="$t('label.operator')"
  24. align="center"
  25. width="220"
  26. show-overflow-tooltip
  27. >
  28. <template v-slot="{ row }">
  29. <span>{{ row.userName }}</span>
  30. </template>
  31. </el-table-column>
  32. <el-table-column
  33. :label="$t('label.operationTime')"
  34. align="center"
  35. width="220"
  36. show-overflow-tooltip
  37. >
  38. <template v-slot="{ row }">
  39. <span>{{ row.createTime }}</span>
  40. </template>
  41. </el-table-column>
  42. <el-table-column
  43. :label="$t('label.operationMethod')"
  44. align="center"
  45. show-overflow-tooltip
  46. >
  47. <template v-slot="{ row }">
  48. <span>{{ row.remark }}</span>
  49. </template>
  50. </el-table-column>
  51. </el-table>
  52. <!-- 分页 -->
  53. <swPage
  54. v-if="total > 0"
  55. key="2"
  56. :listQuery="listQuery"
  57. :total="total"
  58. pos="btmRight"
  59. @retPage="getList"
  60. />
  61. </div>
  62. <template slot="footer">
  63. <el-button @click="dialogFormVisible = false"
  64. >{{ $t("tagsView.close") }}
  65. </el-button>
  66. </template>
  67. </el-dialog>
  68. </div>
  69. </template>
  70. <script>
  71. import waves from "@/directive/waves"; // 水波纹指令
  72. import SwPage from "@/views/common/swPage.vue";
  73. import ElContainer from "element-ui/packages/container/src/main";
  74. import { promotionLogs } from "@/api/oms/order/promotion";
  75. export default {
  76. inject: ["reload"], //刷新
  77. components: {
  78. SwPage,
  79. ElContainer
  80. },
  81. name: "promotionLogList",
  82. directives: {
  83. waves
  84. },
  85. data() {
  86. return {
  87. dialogFormVisible: false,
  88. tableKey: 0,
  89. list: [],
  90. total: 0,
  91. listLoading: false,
  92. listQuery: {
  93. upAndDown: null,
  94. keywords: null,
  95. page: 1,
  96. limit: 10
  97. }
  98. };
  99. },
  100. created() {},
  101. computed: {},
  102. methods: {
  103. handleOpen(id) {
  104. this.listQuery.promotionId = id;
  105. this.dialogFormVisible = true;
  106. this.retPage();
  107. },
  108. getList() {
  109. this.listLoading = true;
  110. promotionLogs(this.listQuery)
  111. .then(response => {
  112. if (response.code === 200) {
  113. this.list = response.data.list;
  114. this.total = response.data.total;
  115. setTimeout(() => {
  116. this.listLoading = false;
  117. }, 0.5 * 1000);
  118. }
  119. })
  120. .catch(() => {
  121. setTimeout(() => {
  122. this.listLoading = false;
  123. }, 0.5 * 1000);
  124. });
  125. },
  126. retPage() {
  127. this.listQuery.page = 1;
  128. this.getList();
  129. }
  130. }
  131. };
  132. </script>
  133. <style scoped lang="scss"></style>