log.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <div class="mod-log">
  3. <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
  4. <el-form-item>
  5. <el-input v-model="dataForm.key" placeholder="用户名/用户操作" clearable></el-input>
  6. </el-form-item>
  7. <el-form-item>
  8. <el-button @click="getDataList()">查询</el-button>
  9. </el-form-item>
  10. </el-form>
  11. <el-table
  12. :data="dataList"
  13. border
  14. v-loading="dataListLoading"
  15. style="width: 100%">
  16. <!-- <el-table-column
  17. prop="id"
  18. header-align="center"
  19. align="center"
  20. width="80"
  21. label="ID">
  22. </el-table-column> -->
  23. <el-table-column
  24. prop="username"
  25. header-align="center"
  26. align="center"
  27. label="用户名">
  28. </el-table-column>
  29. <el-table-column
  30. prop="operation"
  31. header-align="center"
  32. align="center"
  33. label="用户操作">
  34. </el-table-column>
  35. <el-table-column
  36. prop="method"
  37. header-align="center"
  38. align="center"
  39. width="150"
  40. :show-overflow-tooltip="true"
  41. label="请求方法">
  42. </el-table-column>
  43. <el-table-column
  44. prop="params"
  45. header-align="center"
  46. align="center"
  47. width="150"
  48. :show-overflow-tooltip="true"
  49. label="请求参数">
  50. </el-table-column>
  51. <el-table-column
  52. prop="time"
  53. header-align="center"
  54. align="center"
  55. label="执行时长(毫秒)">
  56. </el-table-column>
  57. <el-table-column
  58. prop="ip"
  59. header-align="center"
  60. align="center"
  61. width="150"
  62. label="IP地址">
  63. </el-table-column>
  64. <el-table-column
  65. prop="createDate"
  66. header-align="center"
  67. align="center"
  68. width="180"
  69. label="创建时间">
  70. </el-table-column>
  71. </el-table>
  72. <el-pagination
  73. @size-change="sizeChangeHandle"
  74. @current-change="currentChangeHandle"
  75. :current-page="pageIndex"
  76. :page-sizes="[10, 20, 50, 100]"
  77. :page-size="pageSize"
  78. :total="totalPage"
  79. layout="total, sizes, prev, pager, next, jumper">
  80. </el-pagination>
  81. </div>
  82. </template>
  83. <script>
  84. export default {
  85. data () {
  86. return {
  87. dataForm: {
  88. key: ''
  89. },
  90. dataList: [],
  91. pageIndex: 1,
  92. pageSize: 10,
  93. totalPage: 0,
  94. dataListLoading: false,
  95. selectionDataList: []
  96. }
  97. },
  98. created () {
  99. this.getDataList()
  100. },
  101. methods: {
  102. // 获取数据列表
  103. getDataList () {
  104. this.dataListLoading = true
  105. this.$http({
  106. url: this.$http.adornUrl('/log-service/log/list'),
  107. method: 'get',
  108. params: this.$http.adornParams({
  109. 'current': this.pageIndex,
  110. 'size': this.pageSize,
  111. 'username': this.dataForm.key,
  112. 'operation': this.dataForm.key
  113. })
  114. }).then(({data}) => {
  115. if (data && data.code === '200') {
  116. this.dataList = data.data.records
  117. this.totalPage = Number(data.data.total)
  118. } else {
  119. this.dataList = []
  120. this.totalPage = 0
  121. }
  122. this.dataListLoading = false
  123. })
  124. },
  125. // 每页数
  126. sizeChangeHandle (val) {
  127. this.pageSize = val
  128. this.pageIndex = 1
  129. this.getDataList()
  130. },
  131. // 当前页
  132. currentChangeHandle (val) {
  133. this.pageIndex = val
  134. this.getDataList()
  135. }
  136. }
  137. }
  138. </script>