服装智能制造软件平台V3.0
http://182.92.169.222/hhxy/#/user/login
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
231 lines
6.8 KiB
231 lines
6.8 KiB
<template> |
|
<a-card :bordered="false"> |
|
<!--导航区域--> |
|
<div> |
|
<a-tabs defaultActiveKey="1" @change="callback"> |
|
<a-tab-pane tab="登录日志" key="1"></a-tab-pane> |
|
<a-tab-pane tab="操作日志" key="2"></a-tab-pane> |
|
</a-tabs> |
|
</div> |
|
|
|
<!-- 查询区域 --> |
|
<div class="table-page-search-wrapper"> |
|
<a-form layout="inline" @keyup.enter.native="searchQuery"> |
|
<a-row :gutter="24"> |
|
|
|
<a-col :md="6" :sm="8"> |
|
<a-form-item label="搜索日志"> |
|
<a-input placeholder="请输入搜索关键词" v-model="queryParam.keyWord"></a-input> |
|
</a-form-item> |
|
</a-col> |
|
|
|
<a-col :md="6" :sm="10"> |
|
<a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
|
<a-range-picker |
|
style="width: 210px" |
|
v-model="queryParam.createTimeRange" |
|
format="YYYY-MM-DD" |
|
:placeholder="['开始时间', '结束时间']" |
|
@change="onDateChange" |
|
@ok="onDateOk" |
|
/> |
|
</a-form-item> |
|
</a-col> |
|
<a-col :md="5" :sm="8" v-if="tabKey === '2'"> |
|
<a-form-item label="操作类型" style="left: 10px"> |
|
<j-dict-select-tag v-model="queryParam.operateType" placeholder="请选择操作类型" dictCode="operate_type"/> |
|
</a-form-item> |
|
</a-col> |
|
|
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
|
<a-col :md="6" :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> |
|
|
|
<!-- table区域-begin --> |
|
<a-table |
|
ref="table" |
|
size="middle" |
|
rowKey="id" |
|
:columns="columns" |
|
:dataSource="dataSource" |
|
:pagination="ipagination" |
|
:loading="loading" |
|
@change="handleTableChange"> |
|
|
|
<div v-show="queryParam.logType==2" slot="expandedRowRender" slot-scope="record" style="margin: 0"> |
|
<div style="margin-bottom: 5px"><a-badge status="success" style="vertical-align: middle;"/><span style="vertical-align: middle;">请求方法:{{ record.method }}</span></div> |
|
<div><a-badge status="processing" style="vertical-align: middle;"/><span style="vertical-align: middle;">请求参数:{{ record.requestParam }}</span></div> |
|
</div> |
|
<!-- 字符串超长截取省略号显示--> |
|
<span slot="logContent" slot-scope="text, record"> |
|
<j-ellipsis :value="text" :length="40"/> |
|
</span> |
|
</a-table> |
|
<!-- 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: 'logContent', |
|
scopedSlots: { customRender: 'logContent' }, |
|
sorter: true |
|
}, |
|
{ |
|
title: '操作人ID', |
|
dataIndex: 'userid', |
|
align:"center", |
|
sorter: true |
|
}, |
|
{ |
|
title: '操作人名称', |
|
dataIndex: 'username', |
|
align:"center", |
|
sorter: true |
|
}, |
|
{ |
|
title: 'IP', |
|
dataIndex: 'ip', |
|
align:"center", |
|
sorter: true |
|
}, |
|
{ |
|
title: '耗时(毫秒)', |
|
dataIndex: 'costTime', |
|
align:"center", |
|
sorter: true |
|
}, |
|
{ |
|
title: '日志类型', |
|
dataIndex: 'logType_dictText', |
|
/*customRender:function (text) { |
|
if(text==1){ |
|
return "登录日志"; |
|
}else if(text==2){ |
|
return "操作日志"; |
|
}else{ |
|
return text; |
|
} |
|
},*/ |
|
align:"center", |
|
}, |
|
{ |
|
title: '创建时间', |
|
dataIndex: 'createTime', |
|
align:"center", |
|
sorter: true |
|
} |
|
], |
|
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 = {}; //清空查询区域参数 |
|
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> |