<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
|
<%
|
String path = request.getContextPath();
|
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
|
+ path + "/";
|
%>
|
|
<!DOCTYPE HTML>
|
<html>
|
<head>
|
<base href="<%=basePath%>">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<title>日志信息</title>
|
<!--[if !IE]><!-->
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<!--<![endif]-->
|
<!--[if gt IE 8]>
|
<link href="static/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css">
|
<![endif]-->
|
<link href="static/plugins/jquery-easyui/themes/bootstrap/easyui.css" rel="stylesheet" type="text/css">
|
<link rel="stylesheet" href="static/styles/initialize.css" type="text/css">
|
<link rel="stylesheet" href="static/styles/common.css" type="text/css">
|
<link rel="stylesheet" href="static/plugins/layer/skin/default/layer.css" type="text/css">
|
<script type="text/javascript" src="static/plugins/jquery/jquery.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/jquery.easyui.min.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
|
<script type="text/javascript" src="static/plugins/slimScroll/jquery.slimscroll.min.js"></script>
|
<script type="text/javascript" src="static/plugins/layer/layer.js"></script>
|
<script src="static/plugins/jquery.redirect.js" type="text/javascript"></script>
|
<script type="text/javascript" src="static/scripts/customResize.js"></script>
|
|
<script type="text/javascript" src="static/plugins/spinjs/spin.js"></script>
|
<script type="text/javascript" src="static/plugins/spinjs/jquery.spin.js"></script>
|
<script type="text/javascript" src="static/plugins/jquery.blockUI.js"></script>
|
|
<script type="text/javascript" src="static/wcp/scripts/wcp.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.layer.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.blockUI.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.spin.js"></script>
|
<script type="text/javascript" src="static/wcp/scripts/libs/wcp.jquery.js"></script>
|
|
<!--[if lt IE 9]>
|
<script type="text/javascript" src="static/plugins/json2.js"></script>
|
<![endif]-->
|
<style>
|
html, body {
|
height: 100%;
|
width: 100%;
|
overflow: hidden;
|
}
|
</style>
|
</head>
|
<body>
|
<div class="pt-wrap margin-lr" style="height:100%;">
|
<div class="pt-main-top clear">
|
<div class="pt-nav">
|
<span class="pt-title-icon"><i class=" fa fa-book"></i></span>
|
<div class="pt-title">
|
<div><h4 id="logTitle">日志列表</h4></div>
|
</div>
|
</div>
|
<div class="pt-search">
|
<p class="pt-retrieval">
|
<input id="txtKeySearch" type="text" placeholder="请输入模块名称/操作人进行搜索">
|
<button id="btnKeySearch">
|
<i class="fa fa-search"></i>
|
</button>
|
</p>
|
<button id="search" class="pt-btn pt-btn-info"><i class="fa fa-search"></i>高级查询</button>
|
<shiro:hasPermission name="SYS_MANAGE.LOG.OPERATION.EXPORT">
|
<button id="btnExportExcel" class="pt-btn pt-btn-info">
|
<i class="fa fa-download"></i>导出
|
</button>
|
</shiro:hasPermission>
|
<shiro:hasPermission name="SYS_MANAGE.LOG.OPERATION.BACKUP">
|
<button id="btnExport" class="pt-btn pt-btn-info">
|
<i class="fa fa-download"></i>备份
|
</button>
|
</shiro:hasPermission>
|
<shiro:hasPermission name="SYS_MANAGE.LOG.OPERATION.RESTORE">
|
<button id="btnImport" class="pt-btn pt-btn-info">
|
<i class="fa fa-upload"></i>恢复
|
</button>
|
</shiro:hasPermission>
|
</div>
|
</div>
|
<div>
|
<div class="pt-form-inline" id="div_search" style="display:none;">
|
|
<div class="form-group">
|
<label class="control-label">操作类型:</label>
|
<div class="control-inline">
|
<input class="easyui-combobox" name="txt_czlx" id="type"/>
|
</div>
|
</div>
|
<div class="form-group">
|
<label class="control-label">操作时间:</label>
|
<div class="control-inline">
|
<input id="starttime" type="text" class="easyui-datetimebox"/>
|
</div>
|
</div>
|
<div class="form-group">
|
<label class="control-label">至</label>
|
<div class="control-inline">
|
<input id="endtime" type="text" class="easyui-datetimebox"/>
|
</div>
|
</div>
|
|
<div class="form-group">
|
<button id="searchSelect" class="pt-btn pt-btn-info">查询</button>
|
<!-- <button id="btnReset" class="pt-btn pt-btn-default">重置</button> -->
|
</div>
|
|
</div>
|
<div id="div_table">
|
<table id="dg_log" style="width:100%;height:100%;"></table>
|
</div>
|
</div>
|
</div>
|
</body>
|
<script type="text/javascript" src="static/scripts/ResizeScroll.js"></script>
|
<script>
|
//定义页面全局变量
|
var NowSelectedNodeId = 0;
|
var _parentTable = '${parentTable}' ;
|
var _parentKey = '${parentKey}' ;
|
|
$(function () {
|
|
if(_parentTable != ''){
|
//从其他功能模块调整过来有 parentTable 值的,则做一些业务逻辑控制
|
$("#logTitle").html("日志明细列表");
|
$("#btnExport").hide();
|
$("#btnImport").hide();
|
}
|
//初始化表格
|
$('#dg_log').datagrid({
|
url: 'management/log/getLogList?parentTable='+_parentTable+'&parentKey='+_parentKey,
|
fitColumns: true,
|
striped: true,
|
idField: "logId",
|
rownumbers: true,
|
pagination: true,
|
checkOnSelect: false,
|
selectOnCheck: false,
|
singleSelect: true,
|
columns: [[
|
{field: 'ck', checkbox: true},
|
{field: 'moduleName', title: '模块名称', width: 150, align: 'center'},
|
{field: 'operateType', title: '操作类型', width: 50, align: 'center'},
|
{field: 'action', title: '动作', width: 50, align: 'center'},
|
{field: 'documentTitle', title: '文档标题', width: 400,halign:"center", align: 'left'},
|
{field: 'operateName', title: '操作人', width: 100, align: 'center'},
|
{field: 'ipAddress', title: 'ip地址', width: 120, align: 'center'},
|
{field: 'operateTime', title: '操作时间', width: 120, align: 'center'},
|
{
|
field: 'logId', title: '操作', width: 80, align: 'center',
|
formatter: function (value, row, index) {
|
return ' <a onclick=\'showLog("' + value + '");\' class="pt-color-only"><i class="fa fa-eye" title="查看"></i></a>';
|
/* '<a onclick=\'deleteLog("' + value + '");\' class="pt-color-danger"><i class="fa fa-trash-o" title="删除"></i></a>'; */
|
}
|
}
|
]],
|
|
|
});
|
|
var czlx = '[{"id":"","text":"--请选择--","selected":true},{"id":"登陆","text":"登陆"},{"id":"新增","text":"新增"},{"id":"修改","text":"修改"},{"id":"删除","text":"删除"},{"id":"查看","text":"查看"},{"id":"流程","text":"流程"},{"id":"导入","text":"导入"},{"id":"导出","text":"导出"},{"id":"执行","text":"执行"},{"id":"关闭","text":"关闭"},{"id":"暂停","text":"暂停"},{"id":"启动","text":"启动"},{"id":"完成","text":"完成"},{"id":"失败","text":"失败"},{"id":"手机端查看","text":"手机端查看"},{"id":"手机端新增","text":"手机端新增"},{"id":"手机端删除","text":"手机端删除"},{"id":"手机端修改","text":"手机端修改"},{"id":"手机端登陆","text":"手机端登陆"},{"id":"手机端流程流转","text":"手机端流程流转"}]';
|
czlx = $.parseJSON(czlx);
|
$('#type').combobox({
|
data: czlx,
|
valueField: 'id',
|
textField: 'text'
|
});
|
|
// new ResizeScroll({
|
// "id" : ".pt-right-main",
|
// "fun" : function() {
|
// var wh = $(window).height();
|
// //$(".pt-form").height(wh-79-48);
|
// return (wh - 81 - 20);
|
// }
|
// });
|
|
//绑定按钮事件
|
//新增按钮事件
|
$("#btnAdd").click(function () {
|
showLog(0);
|
});
|
|
//备份按钮事件
|
$("#btnExport").click(function () {
|
//获取dg选中的数据行
|
exprotData(0);
|
});
|
//导出按钮事件
|
$("#btnExportExcel").click(function () {
|
//获取dg选中的数据行
|
exprotData(1);
|
});
|
//导入按钮事件
|
$("#btnImport").click(function () {
|
//获取dg选中的数据行
|
importData();
|
});
|
//绑定关键字检索输入框回车事件
|
$("#btnKeySearch").click(function () {
|
SearchKey();
|
});
|
|
//关键字检索按钮事件
|
$('#txtKeySearch').bind('keypress', function (event) {
|
if (event.keyCode == "13") {
|
SearchKey();
|
}
|
});
|
|
//高级查询按钮事件
|
$("#search").click(function () {
|
if ($("#div_search").is(':visible')) {
|
$("#div_search").hide();
|
computeHeight();
|
} else {
|
$("#div_search").show();
|
computeHeight();
|
}
|
|
});
|
|
//高级查询,查询按钮事件
|
$("#searchSelect").click(function () {
|
SearchKey();
|
});
|
|
new CustomResize({
|
"id": "div_table",
|
"fun": computeHeight
|
});
|
})
|
|
function computeHeight() {
|
var wh = $(window).height();
|
var dsh = 0;
|
if ($("#div_search").is(':visible')) {
|
dsh = $("#div_search").height() + 6;
|
}
|
|
$("#div_table").height(wh - 86 - dsh);
|
$("#dg_log").datagrid("resize");
|
}
|
|
//日志搜索方法
|
function SearchKey() {
|
var keyValue = $("#txtKeySearch").val();
|
var type = $("#type").val();
|
var starttime = $("#starttime").val();
|
var endtime = $("#endtime").val();
|
|
$('#dg_log').datagrid('load', {
|
searchText: keyValue,
|
type: type,
|
starttime: starttime,
|
endtime: endtime
|
});
|
}
|
|
//日志查看
|
function showLog(logId) {
|
var url = "management/log/showLog?logId=" + logId;
|
var title = "日志查看";
|
top.layer.open({
|
title: title,
|
type: 2,
|
area: ["750px", "540px"],
|
fixed: false,
|
content: url,
|
success: function (layero, index) {
|
var body = window.top.layer.getChildFrame('body', index);
|
var iframeWin = window.top[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象
|
|
//将回调函数传给子页面
|
iframeWin.params.callBack = refreshData;
|
}
|
});
|
|
//window.event ? window.event.returnValue == false : e.preventDefault();
|
}
|
|
//刷新表格数据
|
function refreshData() {
|
$('#dg_log').datagrid('reload');
|
//清除已经选择的数据
|
$('#dg_log').datagrid('clearSelections');
|
$('#dg_log').datagrid('clearChecked');
|
}
|
|
//删除单个关键字事件
|
function deleteLog(logId) {
|
deleteLogs([logId]);
|
}
|
|
//删除多个关键字事件
|
function deleteLogs(LogIds) {
|
layer.confirm("确定要删除选择的日志吗?", {
|
icon: 3,
|
title: '提示'
|
}, function (index) {
|
wcp.ui.setBusy("body", wcp.ajax({
|
url: "management/log/deleteLog",
|
data: JSON.stringify(LogIds),
|
}).done(function (result) {
|
wcp.notify.success('删除成功!');
|
|
//刷新数据
|
refreshData();
|
}));
|
|
layer.close(index);
|
});
|
|
}
|
|
function exprotData(index) {
|
|
var keyValue = $("#txtKeySearch").val();
|
var type = $("#type").val();
|
var starttime = $("#starttime").val();
|
|
var endtime = $("#endtime").val();
|
var url;
|
if (index == 0) {
|
url = "management/log/exportLog"
|
} else {
|
url = "management/log/exportExcel"
|
}
|
var form = document.getElementById('#downLoadForm');
|
if (form == null) {
|
form = $("<form>");
|
form.attr("id", "downLoadForm");
|
form.attr("style", "display:none");
|
form.attr("target", "");
|
form.attr("method", "post");
|
$("body").append(form);
|
}
|
form.attr("action", url);
|
|
var searchText = document.getElementById('#searchText');
|
if (searchText == null) {
|
searchText = $("<input>");
|
searchText.attr("id", "searchText");
|
form.append(searchText);
|
}
|
//inputPhysicalName.attr("type", "hidden");
|
searchText.attr("name", "searchText");
|
searchText.val(keyValue);
|
|
var typeform = document.getElementById('#type');
|
if (typeform == null) {
|
typeform = $("<input>");
|
typeform.attr("id", "type");
|
form.append(typeform);
|
}
|
//inputPhysicalName.attr("type", "hidden");
|
typeform.attr("name", "type");
|
typeform.val(type);
|
var starttimefrom = document.getElementById('#starttime');
|
if (starttimefrom == null) {
|
starttimefrom = $("<input>");
|
starttimefrom.attr("id", "starttime");
|
form.append(starttimefrom);
|
}
|
//inputPhysicalName.attr("type", "hidden");
|
starttimefrom.attr("name", "starttime");
|
starttimefrom.val(starttime);
|
var endtimefrom = document.getElementById('#endtime');
|
if (endtimefrom == null) {
|
endtimefrom = $("<input>");
|
endtimefrom.attr("id", "endtime");
|
form.append(endtimefrom);
|
}
|
//inputPhysicalName.attr("type", "hidden");
|
endtimefrom.attr("name", "endtime");
|
endtimefrom.val(endtime);
|
|
var isAuditLogFrom = $('<input>');
|
isAuditLogFrom.attr("type", "hidden");
|
isAuditLogFrom.attr("name", "isAuditLog");
|
isAuditLogFrom.val(0);
|
form.append(isAuditLogFrom);
|
|
if(_parentTable != '') {
|
var parentTableFrom = $('<input>');
|
parentTableFrom.attr("type", "hidden");
|
parentTableFrom.attr("name", "parentTable");
|
parentTableFrom.val(_parentTable);
|
form.append(parentTableFrom);
|
|
var parentKeyFrom = $('<input>');
|
parentKeyFrom.attr("type", "hidden");
|
parentKeyFrom.attr("name", "parentKey");
|
parentKeyFrom.val(_parentKey);
|
form.append(parentKeyFrom);
|
}
|
|
|
form.submit();
|
}
|
|
//Excel导入事件
|
function importData() {
|
top.layer.open({
|
title: "数据导入",
|
type: 2,
|
area: ["620px", "350px"],
|
fixed: false,
|
content: "management/log/importIndex",
|
success: function (layero, index) {
|
var body = window.top.layer.getChildFrame('body', index);
|
var iframeWin = window.top[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象
|
iframeWin.params.callBack = refreshData;
|
}
|
});
|
}
|
|
</script>
|
</html>
|