205 lines
5.8 KiB
Vue
205 lines
5.8 KiB
Vue
<template>
|
|
<a-card :bordered="false">
|
|
<!-- 查询区域 -->
|
|
<div class="table-page-search-wrapper">
|
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
|
<a-row :gutter="24">
|
|
<a-col :md="4" :sm="8">
|
|
<a-form-item label="登录地址">
|
|
<a-input placeholder="请输入" v-model="queryParam.ipInfo"></a-input>
|
|
</a-form-item>
|
|
</a-col>
|
|
<a-col :md="4" :sm="8">
|
|
<a-form-item label="登录名称">
|
|
<a-input placeholder="请输入" v-model="queryParam.keyWord"></a-input>
|
|
</a-form-item>
|
|
</a-col>
|
|
<a-col :md="4" :sm="8">
|
|
<a-form-item label="开始日期">
|
|
<a-date-picker v-model="queryParam.startTime" />
|
|
</a-form-item>
|
|
</a-col>
|
|
<a-col :md="4" :sm="8">
|
|
<a-form-item label="结束日期">
|
|
<a-date-picker v-model="queryParam.endTime" />
|
|
</a-form-item>
|
|
</a-col>
|
|
|
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
<a-col :md="4" :sm="24">
|
|
<a-button type="primary" style="left: 10px" @click="searchQuery" icon="search">查询</a-button>
|
|
<a-button type="primary" @click="searchReset" icon="reload"
|
|
style="margin-left: 8px;left: 10px">重置</a-button>
|
|
</a-col>
|
|
</span>
|
|
|
|
</a-row>
|
|
</a-form>
|
|
</div>
|
|
<div class="linese"></div>
|
|
<!-- table区域-begin -->
|
|
<div style="height:calc(100vh - 316px);background: #e6e9f1;overflow:hidden;padding: 15px;">
|
|
<a-table ref="table" size="middle" rowKey="id" :columns="columns" :dataSource="dataSource"
|
|
:pagination="ipagination" :loading="loading" @change="handleTableChange">
|
|
<!-- 字符串超长截取省略号显示-->
|
|
<span slot="logContent" slot-scope="text, record">
|
|
<j-ellipsis :value="text" :length="40" />
|
|
</span>
|
|
<!-- <span slot="action" slot-scope="text, record">
|
|
<a @click="handleEdit(record)">详情</a>
|
|
</span> -->
|
|
</a-table>
|
|
</div>
|
|
<div class="linese"></div>
|
|
<!-- table区域-end -->
|
|
</a-card>
|
|
</template>
|
|
|
|
<script>
|
|
import { filterObj } from '@/utils/util';
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
import JEllipsis from '@/components/jeecg/JEllipsis'
|
|
|
|
export default {
|
|
name: "LogList",
|
|
mixins: [JeecgListMixin],
|
|
components: {
|
|
JEllipsis
|
|
},
|
|
data() {
|
|
return {
|
|
description: '这是日志管理页面',
|
|
// 查询条件
|
|
queryParam: {
|
|
ipInfo: '',
|
|
createTimeRange: [],
|
|
logType: '1',
|
|
keyWord: '',
|
|
},
|
|
tabKey: "1",
|
|
// 表头
|
|
columns: [
|
|
{
|
|
title: '访问编号',
|
|
dataIndex: '',
|
|
key: 'rowIndex',
|
|
align: "center",
|
|
customRender: function (t, r, index) {
|
|
return parseInt(index) + 1;
|
|
}
|
|
},
|
|
{
|
|
title: '登录用户',
|
|
align: "left",
|
|
dataIndex: 'userid',
|
|
scopedSlots: { customRender: 'logContent' },
|
|
sorter: true
|
|
},
|
|
{
|
|
title: '用户名称',
|
|
dataIndex: 'username',
|
|
align: "center",
|
|
sorter: true
|
|
},
|
|
{
|
|
title: '登录地址',
|
|
dataIndex: 'ip',
|
|
align: "center",
|
|
sorter: true
|
|
},
|
|
{
|
|
title: '操作信息',
|
|
dataIndex: 'logContent',
|
|
align: "center",
|
|
sorter: true
|
|
},
|
|
{
|
|
title: '登录时间',
|
|
dataIndex: 'createTime',
|
|
align: "center",
|
|
sorter: true
|
|
},
|
|
// {
|
|
// title: '操作',
|
|
// dataIndex: 'action',
|
|
// align: "center",
|
|
// width: 180,
|
|
// scopedSlots: { customRender: 'action' },
|
|
// }
|
|
],
|
|
operateColumn:
|
|
{
|
|
title: '操作类型',
|
|
dataIndex: 'operateType_dictText',
|
|
align: "center",
|
|
},
|
|
labelCol: {
|
|
xs: { span: 1 },
|
|
sm: { span: 2 },
|
|
},
|
|
wrapperCol: {
|
|
xs: { span: 10 },
|
|
sm: { span: 16 },
|
|
},
|
|
url: {
|
|
list: "/sys/log/list",
|
|
},
|
|
}
|
|
},
|
|
methods: {
|
|
getQueryParams() {
|
|
var param = Object.assign({}, this.queryParam, this.isorter);
|
|
param.field = this.getQueryField();
|
|
param.pageNo = this.ipagination.current;
|
|
param.pageSize = this.ipagination.pageSize;
|
|
delete param.createTimeRange; // 时间参数不传递后台
|
|
if (this.superQueryParams) {
|
|
param['superQueryParams'] = encodeURI(this.superQueryParams)
|
|
param['superQueryMatchType'] = this.superQueryMatchType
|
|
}
|
|
return filterObj(param);
|
|
},
|
|
|
|
// 重置
|
|
searchReset() {
|
|
var that = this;
|
|
var logType = that.queryParam.logType;
|
|
that.queryParam = {
|
|
ipInfo: '',
|
|
createTimeRange: [],
|
|
logType: '1',
|
|
keyWord: '',
|
|
}; //清空查询区域参数
|
|
that.queryParam.logType = logType;
|
|
that.loadData(this.ipagination.current);
|
|
},
|
|
// 日志类型
|
|
callback(key) {
|
|
|
|
// 动态添加操作类型列
|
|
if (key == 2) {
|
|
this.tabKey = '2';
|
|
this.columns.splice(7, 0, this.operateColumn);
|
|
} else if (this.columns.length == 9) {
|
|
this.tabKey = '1';
|
|
this.columns.splice(7, 1);
|
|
}
|
|
|
|
let that = this;
|
|
that.queryParam.logType = key;
|
|
that.loadData();
|
|
},
|
|
onDateChange: function (value, dateString) {
|
|
console.log(dateString[0], dateString[1]);
|
|
this.queryParam.createTime_begin = dateString[0];
|
|
this.queryParam.createTime_end = dateString[1];
|
|
},
|
|
onDateOk(value) {
|
|
console.log(value);
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
<style scoped>
|
|
@import '~@assets/less/common.less'
|
|
</style> |