Browse Source

登录日志

master
x_ying 3 years ago
parent
commit
4303644041
  1. 56
      src/views/system/logManage/loginLog/index.vue

56
src/views/system/logManage/loginLog/index.vue

@ -5,12 +5,13 @@
<!-- <el-button v-permission="permission.download" :loading="crud.downloadLoading" :disabled="!selections.length" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button> -->
<el-button :loading="crud.downloadLoading" size="mini" icon="el-icon-download" @click="handleDownload">导出</el-button>
<el-input
v-model="keyWord"
v-model="query.blurry"
size="small"
clearable
placeholder="请输入关键词"
style="width: 300px;margin-right:10px;padding-left:10px"
class="input-prepend filter-item"
@keyup.enter.native="crud.toQuery"
>
<!-- <el-select slot="prepend" v-model="optionVal" style="width: 100px" @keyup.enter.native="crud.toQuery"> -->
<el-select slot="prepend" v-model="optionVal" style="width: 100px">
@ -22,7 +23,7 @@
/>
</el-select>
</el-input>
<date-range-picker v-model="queryTime" class="date-item" />
<date-range-picker v-model="query.createTime" class="date-item" />
<rrOperation />
</div>
<el-table
@ -35,12 +36,20 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="100" align="center" />
<el-table-column prop="" label="登录账号" min-width="150" align="center" />
<el-table-column prop="" label="用户名" align="center" min-width="150" />
<el-table-column prop="" label="用户角色" align="center" min-width="150" />
<el-table-column prop="" label="所属部门" align="center" min-width="180" />
<el-table-column prop="" label="IP地址" align="center" min-width="180" />
<el-table-column prop="" label="登录时间" align="center" min-width="180" />
<el-table-column prop="account" label="登录账号" min-width="150" align="center" />
<el-table-column prop="username" label="用户名" align="center" min-width="150" />
<el-table-column prop="role" label="用户角色" align="center" min-width="150">
<template slot-scope="scope">
<div>{{ scope.row.role | parseRole }}</div>
</template>
</el-table-column>
<el-table-column prop="det" label="所属部门" align="center" min-width="180" />
<el-table-column prop="requestIp" label="IP地址" align="center" min-width="180" />
<el-table-column prop="create_time" label="操作时间" align="center" min-width="180">
<template slot-scope="scope">
<div>{{ scope.row.create_time | parseTime }}</div>
</template>
</el-table-column>
</el-table>
<pagination />
@ -49,18 +58,27 @@
<script>
import rrOperation from '@crud/RR.operation'
import CRUD, { presenter, crud } from '@crud/crud'
import CRUD, { presenter, crud, header } from '@crud/crud'
import DateRangePicker from '@/components/DateRangePicker'
import pagination from '@crud/Pagination'
import { mapGetters } from 'vuex'
import { parseTime, saveAs, getBlob } from '@/utils/index'
export default {
name: 'LoginLog',
components: { rrOperation, DateRangePicker, pagination },
mixins: [presenter(), crud()],
filters: {
parseRole(val) {
const arr = val.split(',')
const arr1 = arr.filter(item => item.includes('name'))
const role = arr1[0].split('=')[1]
return role
}
},
mixins: [presenter(), crud(), header()],
cruds() {
return CRUD({
url: 'api/storage/initStorageLogList',
sort: ['update_time,desc'],
url: 'api/loginlogs/list',
// sort: ['update_time,desc'],
// crudMethod: caseCrudMethod,
optShow: {
add: false,
@ -83,10 +101,20 @@ export default {
queryTime: null
}
},
computed: {
...mapGetters([
'baseApi'
])
},
methods: {
//
handleDownload() {
this.crud.downloadLoading = true
const fileName = parseTime(new Date()) + '-登录日志'
getBlob(this.baseApi + '/api/loginlogs/download', function(blob) {
saveAs(blob, fileName)
})
this.crud.downloadLoading = false
},
test() {
console.log(this.crud, 'crud')

Loading…
Cancel
Save