[操作日志]增加若干查询条件

This commit is contained in:
GoEdgeLab
2020-11-20 16:36:03 +08:00
parent fc459a50b9
commit f4409363f0
3 changed files with 70 additions and 6 deletions

View File

@@ -17,8 +17,20 @@ func (this *IndexAction) Init() {
this.Nav("log", "log", "") this.Nav("log", "log", "")
} }
func (this *IndexAction) RunGet(params struct{}) { func (this *IndexAction) RunGet(params struct {
countResp, err := this.RPC().LogRPC().CountLogs(this.AdminContext(), &pb.CountLogRequest{}) DayFrom string
DayTo string
Keyword string
}) {
this.Data["dayFrom"] = params.DayFrom
this.Data["dayTo"] = params.DayTo
this.Data["keyword"] = params.Keyword
countResp, err := this.RPC().LogRPC().CountLogs(this.AdminContext(), &pb.CountLogRequest{
DayFrom: params.DayFrom,
DayTo: params.DayTo,
Keyword: params.Keyword,
})
if err != nil { if err != nil {
this.ErrorPage(err) this.ErrorPage(err)
return return
@@ -30,6 +42,9 @@ func (this *IndexAction) RunGet(params struct{}) {
logsResp, err := this.RPC().LogRPC().ListLogs(this.AdminContext(), &pb.ListLogsRequest{ logsResp, err := this.RPC().LogRPC().ListLogs(this.AdminContext(), &pb.ListLogsRequest{
Offset: page.Offset, Offset: page.Offset,
Size: page.Size, Size: page.Size,
DayFrom: params.DayFrom,
DayTo: params.DayTo,
Keyword: params.Keyword,
}) })
if err != nil { if err != nil {
this.ErrorPage(err) this.ErrorPage(err)
@@ -68,6 +83,7 @@ func (this *IndexAction) RunGet(params struct{}) {
"type": log.Type, "type": log.Type,
"ip": log.Ip, "ip": log.Ip,
"region": regionName, "region": regionName,
"action": log.Action,
}) })
} }
this.Data["logs"] = logMaps this.Data["logs"] = logMaps

View File

@@ -1,10 +1,44 @@
{$layout} {$layout}
<p class="comment" v-if="logs.length == 0">暂时还没有日志。</p> {$var "header"}
<!-- datepicker -->
<script type="text/javascript" src="/js/moment.min.js"></script>
<script type="text/javascript" src="/js/pikaday.js"></script>
<link rel="stylesheet" href="/js/pikaday.css"/>
<link rel="stylesheet" href="/js/pikaday.theme.css"/>
<link rel="stylesheet" href="/js/pikaday.triangle.css"/>
{$end}
<form method="get" action="/log" class="ui form" autocomplete="off">
<div class="ui fields inline">
<div class="ui field">
<input type="text" name="dayFrom" placeholder="开始日期" v-model="dayFrom" value="" style="width:8em" id="day-from-picker"/>
</div>
<div class="ui field">
<input type="text" name="dayTo" placeholder="结束日期" v-model="dayTo" value="" style="width:8em" id="day-to-picker"/>
</div>
<div class="ui field">
<input type="text" name="keyword" style="width:10em" v-model="keyword" placeholder="关键词"/>
</div>
<div class="ui field">
<button type="submit" class="ui button">查询</button>
</div>
<div class="ui field" v-if="dayFrom.length > 0 || dayTo.length > 0 || keyword.length > 0">
<a href="/log">[清除条件]</a>
</div>
</div>
</form>
<div v-if="logs.length == 0">
<div class="ui margin"></div>
<p class="comment">暂时还没有日志。</p>
</div>
<table class="ui table selectable" v-for="log in logs"> <table class="ui table selectable" v-for="log in logs">
<tr :class="{error: log.level == 'error', warning: log.level == 'warn'}"> <tr :class="{error: log.level == 'error', warning: log.level == 'warn'}">
<td>{{log.createdTime}} <span class="grey"> <span v-if="log.userName.length > 0">| {{log.userName}}</span> | {{log.ip}}<span v-if="log.region.length > 0"> | {{log.region}}</span></span></td> <td>{{log.createdTime}} <span class="grey"> <span
v-if="log.userName.length > 0">| {{log.userName}}</span> | {{log.ip}}<span
v-if="log.region.length > 0"> | {{log.region}}</span> &nbsp; <a href="" @click.prevent="showMore(log)" title="显示更多">...</a> &nbsp;<span v-if="log.moreVisible">{{log.action}}</span></span></td>
</tr> </tr>
<tr :class="{error: log.level == 'error', warning: log.level == 'warn'}"> <tr :class="{error: log.level == 'error', warning: log.level == 'warn'}">
<td>{{log.description}}</td> <td>{{log.description}}</td>

View File

@@ -0,0 +1,14 @@
Tea.context(function () {
this.$delay(function () {
teaweb.datepicker("day-from-picker")
teaweb.datepicker("day-to-picker")
})
this.logs.forEach(function (v) {
v.moreVisible = false
})
this.showMore = function (log) {
log.moreVisible = !log.moreVisible
}
})