index.vue 5.38 KB
Newer Older
葛齐林's avatar
葛齐林 committed
1 2
<template lang='pug'>
    el-container(style="padding:0px;height:77.6vh;")
xiexingan's avatar
xiexingan committed
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
      card-warp(title="系统日志 ", height="45px")
        div(slot='content')
          div.tableCard()
              el-form( :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()" )
                  el-form-item( label="操作员:")
                      el-input(  v-model="dataForm.username" placeholder="操作员" clearable)
                  el-form-item( label="操作类型:")
                      el-select( v-model="dataForm.operation" placeholder="请选择" clearable)
                          el-option( v-for="(item,index) in operationList" :key="index" :label="item" :value="item")
                  el-form-item( label="操作时间:")
                      el-date-picker(type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width:175px;" v-model="dataForm.startTime" placeholder="选择开始时间"  clearable)
                  el-form-item( label="至")
                      el-date-picker( type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width:175px;" v-model="dataForm.endTime" placeholder="选择结束时间" clearable)
                  el-button( type="primary" size='mini' icon="el-icon-search" @click="getDataList()") 查询
                  el-button(@click="reSet()" size='mini' type="primary" icon="el-icon-refresh-right") 重置
          table-list(:tableColums='tableHeader' :tableData='dataList' :showOpr='false'  :opNum='2')
      el-footer.box_footer
          el-pagination(@size-change="sizeChangeHandle" background  @current-change="currentChangeHandle" :current-page="pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage" layout="total, sizes, prev, pager, next, jumper")
葛齐林's avatar
葛齐林 committed
21 22 23
</template>

<script>
xiexingan's avatar
xiexingan committed
24 25
import tableList from '@/pages/components/tableList'

葛齐林's avatar
葛齐林 committed
26 27 28 29 30 31 32 33 34 35 36 37 38
let that
export default {
  filters: {
    ellipsis (value) {
      if (!value) return ''
      if (value.length > 12) {
        return value.slice(0, 12) + '...'
      }
      return value
    }
  },
  data () {
    return {
co_dengxiongwen's avatar
co_dengxiongwen committed
39 40 41 42 43 44 45 46
      checkList: [], //筛选数据
      tableHeader: [
        { label: '操作员', prop: 'username' }, //是否插槽
        { label: '操作时间', prop: 'createDate' },
        { label: '主机ip', prop: 'ip' },
        { label: '模块名称', prop: 'blockName' },
        { label: '操作类型', prop: 'operation' },
        { label: '描述', prop: 'detail' }
葛齐林's avatar
葛齐林 committed
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
        // {label:'操作',prop:''},
      ],
      tableOption: {
        border: false, //是否边框
        maxHeight: 500 //高度
      },
      dataForm: {
        username: '',
        operation: '',
        startTime: '',
        endTime: ''
      },
      operationList: ['登录', '注销', '新增', '修改', '删除', '查看', '上传'],
      dataList: [],
      pageIndex: 1,
      pageSize: 10,
      totalPage: 0,
      dataListLoading: false
    }
  },
    components: {
xiexingan's avatar
xiexingan committed
68
    tableList
葛齐林's avatar
葛齐林 committed
69
  },
co_dengxiongwen's avatar
co_dengxiongwen committed
70 71 72 73 74 75 76 77 78 79
  watch: {
    totalPage() { //注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数
      let pages = Math.ceil(this.totalPage / this.pageSize)//新数据总页数
      //总页数小于当前页数则重新加载列表数据
      if (pages < this.pageIndex) {
          this.pageIndex = pages || 1
          this.getDataList()//获取表格数据的方法
      }
    }
  },
葛齐林's avatar
葛齐林 committed
80
  created () {
co_dengxiongwen's avatar
co_dengxiongwen committed
81
    that = this
葛齐林's avatar
葛齐林 committed
82 83 84
    this.pageIndex = 1
    this.getDataList()
  },
xiexingan's avatar
xiexingan committed
85
  mounted() {
co_dengxiongwen's avatar
co_dengxiongwen committed
86
    this.checkList = [...this.tableHeader]
葛齐林's avatar
葛齐林 committed
87 88
  },
  methods: {
co_dengxiongwen's avatar
co_dengxiongwen committed
89 90
    toLine(name) {
      return name.replace(/([A-Z])/g, '_$1').toLowerCase()
葛齐林's avatar
葛齐林 committed
91 92 93 94 95 96 97 98
    },
    //重置
    reSet() {
        this.dataForm = {}
        this.pageIndex = 1
        this.getDataList()
    },
    // 获取数据列表
co_dengxiongwen's avatar
co_dengxiongwen committed
99
    getDataList (sort, order) {
葛齐林's avatar
葛齐林 committed
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
      // console.log(sort,'---',order)
      this.dataListLoading = true
      this.$http({
        url: this.$http.adornUrl('/sys/log/list'),
        method: 'get',
        params: this.$http.adornParams({
          page: this.pageIndex,
          limit: this.pageSize,
          username: this.dataForm.username,
          operation: this.dataForm.operation,
          startTime: this.dataForm.startTime,
          endTime: this.dataForm.endTime,
          sort: sort,
          order: order,
          stationId: localStorage.getItem('stationId')
        })
      }).then(data => {
        //console.log('data', data)
        if (data && data.code === 0) {
          this.dataList = data.page.records
          // console.log(this.dataList)
          this.totalPage = data.page.total
        } else {
          this.dataList = []
          this.totalPage = 0
        }
        this.dataListLoading = false
      })
    },
    //排序
    sortChange (column) {
      if (column.order === 'descending') {
        this.order = 'desc'
      } else {
        this.order = 'asc'
      }
      if (column.column.columnKey) {
        this.sort = column.column.columnKey
      } else {
        this.sort = column.prop
      }
      this.getDataList()
    },
    // 每页数
    sizeChangeHandle (val) {
      this.pageSize = val
      this.pageIndex = 1
      this.getDataList()
    },
    // 当前页
    currentChangeHandle (val) {
      this.pageIndex = val
      this.getDataList()
    }
  }
}
</script>