mirror of https://gitee.com/stylefeng/guns
Merge remote-tracking branch 'origin/group5-log'
commit
c8b7aebf01
|
@ -0,0 +1,36 @@
|
|||
package cn.stylefeng.guns.modular.log;
|
||||
|
||||
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
|
||||
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
/**
|
||||
* 操作业务日志管理控制器界面渲染
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @author TSQ
|
||||
* @date 2021/1/5 14:44
|
||||
*/
|
||||
@Controller
|
||||
@Slf4j
|
||||
@ApiResource(name = "操作日志管理相关的界面渲染", path = "/view/log")
|
||||
public class LogViewController {
|
||||
|
||||
private String PREFIX = "/modular/system/log";
|
||||
|
||||
/**
|
||||
* 操作日志管理列表
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @author TSQ
|
||||
* @date 2021/1/5 15:18
|
||||
*/
|
||||
@GetResource(name="操作日志管理列表", path ="", requiredPermission = false, requiredLogin = false)
|
||||
public String indexView(){
|
||||
return PREFIX + "/log.html";
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package cn.stylefeng.guns.modular.log;
|
||||
|
||||
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
|
||||
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
/**
|
||||
* 登陆日志管理控制器界面渲染
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @author TSQ
|
||||
* @date 2021/1/5 14:42
|
||||
*/
|
||||
@Controller
|
||||
@Slf4j
|
||||
@ApiResource(name = "登陆日志管理相关的界面渲染", path = "loginLog")
|
||||
public class LoginLogViewController {
|
||||
|
||||
private String PREFIX = "/modular/system/log";
|
||||
|
||||
/**
|
||||
* 登陆日志管理列表
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @author TSQ
|
||||
* @date 2021/1/5 15:17
|
||||
*/
|
||||
@GetResource(name="登陆日志管理列表" , path = "", requiredPermission = false ,requiredLogin = false)
|
||||
public String indexView(){
|
||||
return PREFIX + "/login_log.html";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,31 +1,32 @@
|
|||
layui.use(['layer', 'table', 'ax', 'laydate'], function () {
|
||||
layui.use(['HttpRequest', 'treeTable', 'laydate', 'func' ,'form'], function () {
|
||||
var $ = layui.$;
|
||||
var $ax = layui.ax;
|
||||
var layer = layui.layer;
|
||||
var table = layui.table;
|
||||
var HttpRequest = layui.HttpRequest;
|
||||
var func = layui.func;
|
||||
var form = layui.form;
|
||||
var laydate = layui.laydate;
|
||||
|
||||
/**
|
||||
* 系统管理--操作日志
|
||||
*/
|
||||
var LoginLog = {
|
||||
var Log = {
|
||||
tableId: "logTable" //表格id
|
||||
};
|
||||
|
||||
/**
|
||||
* 初始化表格的列
|
||||
*/
|
||||
LoginLog.initColumn = function () {
|
||||
Log.initColumn = function () {
|
||||
return [[
|
||||
{type: 'checkbox'},
|
||||
{field: 'operationLogId', hide: true, sort: true, title: 'id'},
|
||||
{field: 'logType', align: "center", sort: true, title: '日志类型'},
|
||||
{field: 'logId', hide: true, sort: true, title: 'id'},
|
||||
/*{field: 'logType', align: "center", sort: true, title: '日志类型'},*/
|
||||
{field: 'logName', align: "center", sort: true, title: '日志名称'},
|
||||
{field: 'userName', align: "center", sort: true, title: '用户名称'},
|
||||
{field: 'className', align: "center", sort: true, title: '类名'},
|
||||
{field: 'method', align: "center", sort: true, title: '方法名'},
|
||||
{field: 'createUser', align: "center", sort: true, title: '用户名称'},
|
||||
{field: 'appName', align: "center", sort: true, title: '服务器名'},
|
||||
{field: 'requestUrl', align: "center", sort: true, title: '方法名'},
|
||||
{field: 'createTime', align: "center", sort: true, title: '时间'},
|
||||
{field: 'regularMessage', align: "center", sort: true, title: '具体消息'},
|
||||
{field: 'logContent', align: "center", sort: true, title: '具体消息'},
|
||||
{align: 'center', toolbar: '#tableBar', title: '操作', minWidth: 100}
|
||||
]];
|
||||
};
|
||||
|
@ -33,13 +34,13 @@ layui.use(['layer', 'table', 'ax', 'laydate'], function () {
|
|||
/**
|
||||
* 点击查询按钮
|
||||
*/
|
||||
LoginLog.search = function () {
|
||||
Log.search = function () {
|
||||
var queryData = {};
|
||||
queryData['beginTime'] = $("#beginTime").val();
|
||||
queryData['endTime'] = $("#endTime").val();
|
||||
queryData['beginDateTime'] = $("#beginTime").val();
|
||||
queryData['endDateTime'] = $("#endTime").val();
|
||||
queryData['logName'] = $("#logName").val();
|
||||
queryData['logType'] = $("#logType").val();
|
||||
table.reload(LoginLog.tableId, {
|
||||
// queryData['logType'] = $("#logType").val();
|
||||
table.reload(Log.tableId, {
|
||||
where: queryData, page: {curr: 1}
|
||||
});
|
||||
};
|
||||
|
@ -47,79 +48,81 @@ layui.use(['layer', 'table', 'ax', 'laydate'], function () {
|
|||
/**
|
||||
* 导出excel按钮
|
||||
*/
|
||||
LoginLog.exportExcel = function () {
|
||||
var checkRows = table.checkStatus(LoginLog.tableId);
|
||||
if (checkRows.data.length === 0) {
|
||||
Feng.error("请选择要导出的数据");
|
||||
} else {
|
||||
table.exportFile(tableResult.config.id, checkRows.data, 'xls');
|
||||
}
|
||||
};
|
||||
// Log.exportExcel = function () {
|
||||
// var checkRows = table.checkStatus(Log.tableId);
|
||||
// if (checkRows.data.length === 0) {
|
||||
// Feng.error("请选择要导出的数据");
|
||||
// } else {
|
||||
// table.exportFile(tableResult.config.id, checkRows.data, 'xls');
|
||||
// }
|
||||
// };
|
||||
|
||||
/**
|
||||
* 日志详情
|
||||
*/
|
||||
LoginLog.logDetail = function (param) {
|
||||
var ajax = new $ax(Feng.ctxPath + "/log/detail/" + param.operationLogId, function (data) {
|
||||
Feng.infoDetail("日志详情", data.regularMessage);
|
||||
}, function (data) {
|
||||
Feng.error("获取详情失败!");
|
||||
});
|
||||
ajax.start();
|
||||
};
|
||||
// Log.logDetail = function (param) {
|
||||
// var ajax = new $ax(Feng.ctxPath + "/log/detail/" + param.operationLogId, function (data) {
|
||||
// Feng.infoDetail("日志详情", data.regularMessage);
|
||||
// }, function (data) {
|
||||
// Feng.error("获取详情失败!");
|
||||
// });
|
||||
// ajax.start();
|
||||
// };
|
||||
|
||||
/**
|
||||
* 清空日志
|
||||
*/
|
||||
LoginLog.cleanLog = function () {
|
||||
Feng.confirm("是否清空所有日志?", function () {
|
||||
var ajax = new $ax(Feng.ctxPath + "/log/delLog", function (data) {
|
||||
Feng.success("清空日志成功!");
|
||||
LoginLog.search();
|
||||
}, function (data) {
|
||||
Feng.error("清空日志失败!");
|
||||
});
|
||||
ajax.start();
|
||||
});
|
||||
};
|
||||
// Log.cleanLog = function () {
|
||||
// Feng.confirm("是否清空所有日志?", function () {
|
||||
// var ajax = new $ax(Feng.ctxPath + "/log/delLog", function (data) {
|
||||
// Feng.success("清空日志成功!");
|
||||
// Log.search();
|
||||
// }, function (data) {
|
||||
// Feng.error("清空日志失败!");
|
||||
// });
|
||||
// ajax.start();
|
||||
// });
|
||||
// };
|
||||
|
||||
//渲染时间选择框
|
||||
// 渲染时间选择框
|
||||
laydate.render({
|
||||
elem: '#beginTime'
|
||||
elem: '#createTime'
|
||||
});
|
||||
|
||||
//渲染时间选择框
|
||||
laydate.render({
|
||||
elem: '#endTime'
|
||||
});
|
||||
// 渲染时间选择框
|
||||
// laydate.render({
|
||||
// elem: '#createTime'
|
||||
// });
|
||||
|
||||
// 渲染表格
|
||||
var tableResult = table.render({
|
||||
elem: '#' + LoginLog.tableId,
|
||||
url: Feng.ctxPath + '/log/list',
|
||||
elem: '#' + Log.tableId,
|
||||
url: Feng.ctxPath + '/logManager/page',
|
||||
page: true,
|
||||
height: "full-98",
|
||||
height: "full-158",
|
||||
cellMinWidth: 100,
|
||||
cols: LoginLog.initColumn()
|
||||
cols: Log.initColumn(),
|
||||
request: {pageName: 'pageNo', limitName: 'pageSize'},
|
||||
parseData: Feng.parseData
|
||||
});
|
||||
|
||||
// 搜索按钮点击事件
|
||||
$('#btnSearch').click(function () {
|
||||
LoginLog.search();
|
||||
Log.search();
|
||||
});
|
||||
|
||||
// 搜索按钮点击事件
|
||||
$('#btnClean').click(function () {
|
||||
LoginLog.cleanLog();
|
||||
});
|
||||
// $('#btnClean').click(function () {
|
||||
// Log.cleanLog();
|
||||
// });
|
||||
|
||||
// 工具条点击事件
|
||||
table.on('tool(' + LoginLog.tableId + ')', function (obj) {
|
||||
var data = obj.data;
|
||||
var layEvent = obj.event;
|
||||
|
||||
if (layEvent === 'detail') {
|
||||
LoginLog.logDetail(data);
|
||||
}
|
||||
});
|
||||
// table.on('tool(' + Log.tableId + ')', function (obj) {
|
||||
// var data = obj.data;
|
||||
// var layEvent = obj.event;
|
||||
//
|
||||
// if (layEvent === 'detail') {
|
||||
// Log.logDetail(data);
|
||||
// }
|
||||
// });
|
||||
});
|
||||
|
|
|
@ -20,19 +20,18 @@
|
|||
<div class="layui-inline">
|
||||
<input id="logName" class="layui-input" type="text" placeholder="日志名称"/>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<!-- <div class="layui-inline">
|
||||
<select id="logType">
|
||||
<option value="">类型</option>
|
||||
<option value="0">全部</option>
|
||||
<option value="1">业务日志</option>
|
||||
<option value="2">异常日志</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="layui-inline">
|
||||
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button>
|
||||
@if(shiro.hasPermission("/log/delLog")){
|
||||
|
||||
<button id="btnClean" class="layui-btn icon-btn layui-btn-danger"><i class="layui-icon"></i>清空日志</button>
|
||||
@}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -42,7 +41,9 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="tableBar">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a>
|
||||
</script>
|
||||
|
||||
@}
|
Loading…
Reference in New Issue