mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-11 18:30:25 +08:00
[操作日志]增加若干查询条件
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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> <a href="" @click.prevent="showMore(log)" title="显示更多">...</a> <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>
|
||||||
|
|||||||
14
web/views/@default/log/index.js
Normal file
14
web/views/@default/log/index.js
Normal 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
|
||||||
|
}
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user