index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <template>
  2. <div class="execution">
  3. <basic-container>
  4. <avue-crud
  5. ref="crud"
  6. :page="page"
  7. :data="tableData"
  8. :table-loading="tableLoading"
  9. :option="tableOption"
  10. @on-load="getList"
  11. @refresh-change="refreshChange"
  12. @search-change="handleFilter"
  13. @search-reset="handleSearchReset">
  14. <template slot-scope="scope" slot="jobLogStatus">
  15. <div v-if="scope.row.jobLogStatus === '0'">
  16. <el-tag type="success">{{ getDicNameJobExecuteStatus(scope.row.jobLogStatus) }}</el-tag>
  17. </div>
  18. <div v-else>
  19. <el-tag type="danger">{{ getDicNameJobExecuteStatus(scope.row.jobLogStatus) }}</el-tag>
  20. </div>
  21. </template>
  22. </avue-crud>
  23. </basic-container>
  24. </div>
  25. </template>
  26. <script>
  27. import {
  28. fetchList
  29. } from '@/api/daemon/sys-job-log'
  30. import {
  31. tableOption
  32. } from '@/const/crud/daemon/sys-job-log'
  33. import {
  34. remote
  35. } from '@/api/admin/dict'
  36. import {
  37. mapGetters
  38. } from 'vuex'
  39. export default {
  40. name: 'JobLog',
  41. data() {
  42. return {
  43. queryParams: [], // 全局检索条件
  44. tableData: [],
  45. page: {
  46. total: 0, // 总页数
  47. currentPage: 1, // 当前页数
  48. pageSize: 10 // 每页显示多少条,
  49. },
  50. tableLoading: false,
  51. tableOption: tableOption,
  52. JobExecuteStatusDicCache: []
  53. }
  54. },
  55. created() {
  56. },
  57. mounted: function() {
  58. this.getDicNameCache('job_execute_status')// 获取定时任务运行时状态
  59. },
  60. computed: {
  61. ...mapGetters(['permissions'])
  62. },
  63. methods: {
  64. getList(page) {
  65. this.tableLoading = true
  66. fetchList(Object.assign({
  67. descs: 'create_time',
  68. current: page.currentPage,
  69. size: page.pageSize
  70. }, this.queryParams)).then(response => {
  71. this.tableData = response.data.data.records
  72. this.page.pageSize = response.data.data.pageSize
  73. this.page.total = response.data.data.total
  74. this.tableLoading = false
  75. })
  76. },
  77. /**
  78. * 清除全局检索条件
  79. */
  80. handleSearchReset() {
  81. this.queryParams = []
  82. },
  83. /**
  84. * 检索查询
  85. */
  86. handleFilter(params) {
  87. this.queryParams = params
  88. this.getList(this.page)
  89. },
  90. /**
  91. * 刷新回调
  92. */
  93. refreshChange() {
  94. this.getList(this.page)
  95. },
  96. /**
  97. * 获取字典显示名称并缓存
  98. */
  99. getDicNameCache(type) {
  100. remote(type).then(response => {
  101. const code = response.data.code
  102. if (code === 0) {
  103. const _data = response.data.data
  104. this.JobExecuteStatusDicCache = _data
  105. }
  106. })
  107. },
  108. /**
  109. * 获取字典显示名称并缓存
  110. */
  111. getDicNameJobExecuteStatus(value) {
  112. let re = ''
  113. this.JobExecuteStatusDicCache.forEach(obj => {
  114. if (obj.value === value) {
  115. re = obj.label
  116. return
  117. }
  118. })
  119. return re
  120. }
  121. }
  122. }
  123. </script>
  124. <style lang="scss" scoped>
  125. </style>