log.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <view style="padding: 40rpx;">
  3. <view>
  4. <u-search placeholder="请输入查询内容" v-model="params.title" height="60rpx" @search="searchData" @custom="searchData"></u-search>
  5. </view>
  6. <view>
  7. <u-list v-if="logList.length > 0" @scrolltolower="scrolltolower">
  8. <u-list-item v-for="(item, index) in logList" :key="index" class="log-item">
  9. <view><text style="color: #606266;">操作内容:</text><text>{{item.title}}</text></view>
  10. <view><text style="color: #606266;">请求地址:</text><text>{{item.operUrl}}</text></view>
  11. <view><text style="color: #606266;">操作地址:</text><text>{{item.operLocation}}</text></view>
  12. <view><text style="color: #606266;">操作时间:</text><text>{{item.operTime}}</text></view>
  13. </u-list-item>
  14. </u-list>
  15. <u-empty v-else></u-empty>
  16. </view>
  17. </view>
  18. </template>
  19. <script>
  20. import * as LogApi from '@/api/center/log'
  21. export default {
  22. data () {
  23. return {
  24. params: {
  25. pageNum: 0,
  26. pageSize: 10,
  27. title: ''
  28. },
  29. logList: []
  30. }
  31. },
  32. created () {
  33. this.loadData();
  34. },
  35. methods: {
  36. // 加载日志列表数据
  37. loadData () {
  38. const app = this
  39. // 首先获取当前登录账号信息
  40. app.$store.dispatch('Info').then(res => {
  41. app.params.pageNum += 1
  42. if (res.user) {
  43. // 只查询当前用户的操作日志
  44. app.params.operName = res.user.userName
  45. }
  46. LogApi.operLog(app.params).then(res => {
  47. app.logList = app.logList.concat(res.rows);
  48. })
  49. })
  50. },
  51. // 查询按钮动作
  52. searchData () {
  53. this.params.pageNum = 0
  54. this.logList = []
  55. this.loadData();
  56. },
  57. // 滚动分页加载数据
  58. scrolltolower () {
  59. this.loadData();
  60. }
  61. }
  62. }
  63. </script>
  64. <style lang="scss" scoped>
  65. .log-item {
  66. padding: 20rpx 0;
  67. border-bottom: 0.5px solid #ccc;
  68. }
  69. </style>