usual.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <template>
  2. <basic-container>
  3. <avue-crud :option="option"
  4. :table-loading="loading"
  5. :data="data"
  6. ref="crud"
  7. v-model="form"
  8. :permission="permissionList"
  9. :page="page"
  10. :before-open="beforeOpen"
  11. @search-change="searchChange"
  12. @search-reset="searchReset"
  13. @current-change="currentChange"
  14. @size-change="sizeChange"
  15. @refresh-change="refreshChange"
  16. @on-load="onLoad">
  17. </avue-crud>
  18. </basic-container>
  19. </template>
  20. <script>
  21. import {getUsualList, getUsualLogs} from "@/api/logs";
  22. import {mapGetters} from "vuex";
  23. export default {
  24. data() {
  25. return {
  26. form: {},
  27. selectionList: [],
  28. query: {},
  29. loading: true,
  30. page: {
  31. pageSize: 10,
  32. currentPage: 1,
  33. total: 0
  34. },
  35. option: {
  36. height:'auto',
  37. calcHeight:350,
  38. tip: false,
  39. border: true,
  40. index: true,
  41. viewBtn: true,
  42. editBtn: false,
  43. addBtn: false,
  44. delBtn: false,
  45. menuWidth: 120,
  46. column: [
  47. {
  48. label: "服务id",
  49. prop: "serviceId",
  50. search: true
  51. },
  52. {
  53. label: "服务host",
  54. prop: "serverHost",
  55. search: true
  56. },
  57. {
  58. label: "服务ip",
  59. prop: "serverIp"
  60. },
  61. {
  62. label: "软件环境",
  63. prop: "env",
  64. width:'80'
  65. },
  66. {
  67. label: "日志级别",
  68. prop: "logLevel"
  69. },
  70. {
  71. label: "日志id",
  72. prop: "logId"
  73. },
  74. {
  75. label: "请求接口",
  76. prop: "requestUri"
  77. },
  78. {
  79. label: "日志时间",
  80. prop: "logData",
  81. width:'180'
  82. },
  83. {
  84. label: "用户代理",
  85. prop: "userAgent",
  86. span: 24,
  87. hide: true
  88. },
  89. {
  90. label: "请求数据",
  91. prop: "params",
  92. type: "textarea",
  93. span: 24,
  94. minRows: 2,
  95. hide: true
  96. }
  97. ]
  98. },
  99. data: []
  100. };
  101. },
  102. computed: {
  103. ...mapGetters(["permission"]),
  104. permissionList() {
  105. return {
  106. viewBtn: this.vaildData(this.permission.log_usual_view, false)
  107. };
  108. }
  109. },
  110. methods: {
  111. searchReset() {
  112. this.query = {};
  113. this.onLoad(this.page);
  114. },
  115. searchChange(params) {
  116. this.query = params;
  117. this.page.currentPage = 1;
  118. this.onLoad(this.page, params);
  119. },
  120. beforeOpen(done, type) {
  121. if (["edit", "view"].includes(type)) {
  122. getUsualLogs(this.form.id).then(res => {
  123. this.form = res.data.data;
  124. });
  125. }
  126. done();
  127. },
  128. currentChange(currentPage){
  129. this.page.currentPage = currentPage;
  130. },
  131. sizeChange(pageSize){
  132. this.page.pageSize = pageSize;
  133. },
  134. refreshChange() {
  135. this.onLoad(this.page, this.query);
  136. },
  137. onLoad(page, params = {}) {
  138. this.loading = true;
  139. getUsualList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
  140. const data = res.data.data;
  141. this.page.total = data.total;
  142. this.data = data.records;
  143. this.loading = false;
  144. });
  145. }
  146. }
  147. };
  148. </script>
  149. <style>
  150. </style>