<template>
|
<div class="s-log-management">
|
<div class="top">
|
<!-- <b>日志类型:</b>
|
<el-select v-model="logLevel" placeholder="请选择" size="small">
|
<el-option
|
v-for="item in logOptions"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
></el-option>
|
</el-select> -->
|
<b>操作时间:</b>
|
<el-date-picker
|
v-model="timeValue"
|
type="datetimerange"
|
size="mini"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
style="width: 244px;"
|
></el-date-picker>
|
<b>日志级别:</b>
|
<el-select v-model="logLevel" placeholder="请选择" size="mini">
|
<el-option v-for="item in logOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
</el-select>
|
<el-input
|
v-model="searchValue"
|
placeholder="请输入内容"
|
clearable
|
style="width: 150px;margin: 0px 10px;"
|
size="mini"
|
></el-input>
|
<el-button type="primary" size="mini" @click="getVaSystemLog">搜索</el-button>
|
<!-- <el-button type="danger" size="mini" @click="delSelected">批量删除</el-button> -->
|
<!-- <el-button type="text" size="mini" style="font-size: 13px;font-weight: 600;">导出</el-button> -->
|
</div>
|
<div class="foot-table s-table">
|
<el-table
|
ref="multipleTable"
|
highlight-current-row
|
:data="tableData"
|
style="width: 100%"
|
:header-cell-style="{ background: '#f8f8f8', color: '#222222' }"
|
@selection-change="handleSelectionChange"
|
>
|
<el-table-column :align="'center'" prop="createDate" label="创建日期" width="200px"></el-table-column>
|
<el-table-column :align="'center'" prop="procName" label="日志模块" width="100px"></el-table-column>
|
<el-table-column :align="'center'" prop="level" label="日志等级" width="100px">
|
<template slot-scope="scope">
|
<span>{{ scope.row.level | leverFilter }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column :align="'left'" prop="info" label="日志内容"></el-table-column>
|
</el-table>
|
</div>
|
|
<el-pagination
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page="page"
|
:page-sizes="[15, 30, 50, 100]"
|
:page-size="15"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="total"
|
>
|
</el-pagination>
|
</div>
|
</template>
|
|
<script>
|
import { querySystemLog } from "@/api/log"
|
let logLevels = [
|
{
|
value: -1,
|
label: "全部"
|
},
|
{
|
value: 0,
|
label: "错误"
|
},
|
{
|
value: 1,
|
label: "警告"
|
},
|
{
|
value: 2,
|
label: "信息"
|
}
|
]
|
export default {
|
data() {
|
return {
|
tableData: [],
|
multipleSelection: [],
|
logOptions: logLevels,
|
logLevel: -1,
|
timeValue: "",
|
searchValue: "",
|
page: 1,
|
pageSize: 15,
|
total: 0
|
}
|
},
|
filters: {
|
leverFilter(val) {
|
for (let i = 0; i < logLevels.length; i++) {
|
if (val == logLevels[i].value) {
|
return logLevels[i].label
|
}
|
}
|
}
|
},
|
mounted() {
|
this.getVaSystemLog()
|
},
|
methods: {
|
handleDelete(index, row) {
|
console.log(index, row)
|
},
|
handleSelectionChange(val) {
|
this.multipleSelection = val
|
},
|
delSelected() {
|
console.log(this.multipleSelection)
|
},
|
handleSizeChange(val) {
|
this.pageSize = val
|
this.getVaSystemLog()
|
},
|
handleCurrentChange(val) {
|
this.page = val
|
this.getVaSystemLog()
|
},
|
getVaSystemLog() {
|
let body = {
|
FuzzySearch: this.searchValue,
|
level: this.logLevel,
|
page: this.page,
|
pageSize: this.pageSize
|
}
|
if (!!this.timeValue && this.timeValue.length == 2) {
|
body.timeStart = this.timeValue[0]
|
body.timeEnd = this.timeValue[1]
|
}
|
|
querySystemLog(body).then((res) => {
|
this.tableData = res.data.list
|
this.total = res.data.total
|
})
|
}
|
}
|
}
|
</script>
|
<style lang="scss">
|
.s-log-management {
|
height: 100%;
|
width: 100%;
|
padding: 20px;
|
box-sizing: border-box;
|
.top {
|
width: 100%;
|
|
margin-bottom: 20px;
|
overflow-y: auto;
|
min-width: 1156px;
|
height: 40px;
|
text-align: left;
|
b {
|
padding: 0px 10px;
|
}
|
}
|
.export {
|
display: inline-block;
|
padding-right: 10px;
|
box-sizing: border-box;
|
margin-top: 20px;
|
b:hover {
|
color: #2249b4;
|
}
|
}
|
.clear-searching {
|
cursor: pointer;
|
text-decoration: underline;
|
width: 40px;
|
font-size: 13px;
|
color: #3d68e1;
|
}
|
}
|
</style>
|