|
@@ -1,61 +1,94 @@
|
|
<!DOCTYPE html>
|
|
<!DOCTYPE html>
|
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
|
<head>
|
|
<head>
|
|
- <th:block th:include="include :: header('接口调用日志列表')"/>
|
|
|
|
|
|
+ <th:block th:include="include :: header('用户列表')" />
|
|
|
|
+ <th:block th:include="include :: layout-latest-css" />
|
|
|
|
+ <th:block th:include="include :: ztree-css" />
|
|
</head>
|
|
</head>
|
|
<body class="gray-bg">
|
|
<body class="gray-bg">
|
|
-<div class="container-div">
|
|
|
|
- <div class="row">
|
|
|
|
- <div class="col-sm-12 search-collapse">
|
|
|
|
- <form id="formId">
|
|
|
|
- <div class="select-list">
|
|
|
|
- <ul>
|
|
|
|
- <li>
|
|
|
|
- <label>登录名:</label>
|
|
|
|
- <input type="text" name="loginName"/>
|
|
|
|
- </li>
|
|
|
|
- <li>
|
|
|
|
- <label>接口类型:</label>
|
|
|
|
- <select name="platformInterfacetype"
|
|
|
|
- th:with="type=${@dict.getType('platform_interfacetype')}">
|
|
|
|
- <option value="">所有</option>
|
|
|
|
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
|
|
|
|
- th:value="${dict.dictValue}"></option>
|
|
|
|
- </select>
|
|
|
|
- </li>
|
|
|
|
- <li>
|
|
|
|
- <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
|
|
|
|
- class="fa fa-search"></i> 搜索</a>
|
|
|
|
- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
|
|
|
|
- class="fa fa-refresh"></i> 重置</a>
|
|
|
|
- </li>
|
|
|
|
- </ul>
|
|
|
|
- </div>
|
|
|
|
- </form>
|
|
|
|
|
|
+<div class="ui-layout-west">
|
|
|
|
+ <div class="box box-main">
|
|
|
|
+ <div class="box-header">
|
|
|
|
+ <div class="box-title">
|
|
|
|
+ <i class="fa icon-grid"></i> 组织机构
|
|
|
|
+ </div>
|
|
|
|
+ <div class="box-tools pull-right">
|
|
|
|
+ <button type="button" class="btn btn-box-tool" id="btnExpand" title="展开" style="display:none;"><i class="fa fa-chevron-up"></i></button>
|
|
|
|
+ <button type="button" class="btn btn-box-tool" id="btnCollapse" title="折叠"><i class="fa fa-chevron-down"></i></button>
|
|
|
|
+ <button type="button" class="btn btn-box-tool" id="btnRefresh" title="刷新部门"><i class="fa fa-refresh"></i></button>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
- <div class="btn-group-sm" id="toolbar" role="group">
|
|
|
|
- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:log:export">
|
|
|
|
- <i class="fa fa-download"></i> 导出
|
|
|
|
- </a>
|
|
|
|
|
|
+ <div class="ui-layout-content">
|
|
|
|
+ <div id="tree" class="ztree"></div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-sm-12 select-table table-striped">
|
|
|
|
- <table id="bootstrap-table"></table>
|
|
|
|
|
|
+ </div>
|
|
|
|
+</div>
|
|
|
|
+
|
|
|
|
+<div class="ui-layout-center">
|
|
|
|
+ <div class="container-div">
|
|
|
|
+ <div class="row">
|
|
|
|
+ <div class="col-sm-12 search-collapse">
|
|
|
|
+ <form id="formId">
|
|
|
|
+ <div class="select-list">
|
|
|
|
+ <ul>
|
|
|
|
+ <input type="hidden" id="deptId" name="deptId">
|
|
|
|
+ <input type="hidden" id="parentId" name="parentId">
|
|
|
|
+ <li>
|
|
|
|
+ <label>接口名称:</label>
|
|
|
|
+ <input type="text" name="interfaceName"/>
|
|
|
|
+ </li>
|
|
|
|
+ <li>
|
|
|
|
+ <label>接口类型:</label>
|
|
|
|
+ <select name="shareType"
|
|
|
|
+ th:with="type=${@dict.getType('share_type')}">
|
|
|
|
+ <option value="">所有</option>
|
|
|
|
+ <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
|
|
|
|
+ th:value="${dict.dictValue}"></option>
|
|
|
|
+ </select>
|
|
|
|
+ </li>
|
|
|
|
+ <li>
|
|
|
|
+ <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
|
|
|
|
+ class="fa fa-search"></i> 搜索</a>
|
|
|
|
+ <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
|
|
|
|
+ class="fa fa-refresh"></i> 重置</a>
|
|
|
|
+ </li>
|
|
|
|
+ </ul>
|
|
|
|
+ </div>
|
|
|
|
+ </form>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="btn-group-sm" id="toolbar" role="group"></div>
|
|
|
|
+ <div class="col-sm-12 select-table table-striped">
|
|
|
|
+ <table id="bootstrap-table"></table>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
-<th:block th:include="include :: footer"/>
|
|
|
|
|
|
+
|
|
|
|
+<th:block th:include="include :: footer" />
|
|
|
|
+<th:block th:include="include :: layout-latest-js" />
|
|
|
|
+<th:block th:include="include :: ztree-js" />
|
|
<script th:inline="javascript">
|
|
<script th:inline="javascript">
|
|
- let viewFlag = [[${@permission.hasPermi('system:log:view')}]];
|
|
|
|
- let prefix = ctx + "system/log";
|
|
|
|
|
|
+ let prefix = ctx + "system/interfaceinfo";
|
|
|
|
+ let log_prefix = ctx + "system/log";
|
|
let platform_interfacetype_datas = [[${@dict.getType('platform_interfacetype')}]];
|
|
let platform_interfacetype_datas = [[${@dict.getType('platform_interfacetype')}]];
|
|
|
|
+ let shareType_datas = [[${@dict.getType('share_type')}]];
|
|
|
|
|
|
- $(function () {
|
|
|
|
- var options = {
|
|
|
|
- url: prefix + "/list",
|
|
|
|
- detailUrl: prefix + "/detail/{id}",
|
|
|
|
|
|
+ $(function() {
|
|
|
|
+ let panehHidden = false;
|
|
|
|
+ if ($(this).width() < 769) {
|
|
|
|
+ panehHidden = true;
|
|
|
|
+ }
|
|
|
|
+ $('body').layout({ initClosed: panehHidden, west__size: 185 });
|
|
|
|
+ queryLogList();
|
|
|
|
+ queryDeptTree();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ function queryLogList() {
|
|
|
|
+ let options = {
|
|
|
|
+ url: prefix + "/interfaceLogList",
|
|
exportUrl: prefix + "/export",
|
|
exportUrl: prefix + "/export",
|
|
- modalName: "接口调用日志",
|
|
|
|
|
|
+ modalName: "接口调用",
|
|
columns: [{
|
|
columns: [{
|
|
checkbox: true
|
|
checkbox: true
|
|
},
|
|
},
|
|
@@ -65,105 +98,98 @@
|
|
visible: false
|
|
visible: false
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'status',
|
|
|
|
- title: '状态',
|
|
|
|
- visible: false
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'remark',
|
|
|
|
- title: '注释',
|
|
|
|
- visible: false
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'loginUser',
|
|
|
|
- title: '登录人',
|
|
|
|
- visible: false
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'loginName',
|
|
|
|
- title: '登录名'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'createTime',
|
|
|
|
- title: '调用时间'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'interfaceinfoId',
|
|
|
|
- title: '调用接口id',
|
|
|
|
- visible: false
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'interfaceinfoName',
|
|
|
|
- title: '调用接口名'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'operationStatus',
|
|
|
|
- title: '调用结果',
|
|
|
|
- sortable: true,
|
|
|
|
- formatter: function (value,row,index) {
|
|
|
|
- return value == 1 ? '<span class="badge badge-primary">成功</span>' : '<span class="badge badge-danger">失败</span>';
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'ipaddress',
|
|
|
|
- title: 'ip地址'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'os',
|
|
|
|
- title: '操作系统',
|
|
|
|
- cellStyle:formatTableUnit,
|
|
|
|
- formatter: paramsMatter
|
|
|
|
-
|
|
|
|
|
|
+ field: 'interfaceName',
|
|
|
|
+ title: '接口名称',
|
|
|
|
+ visible: true
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'platformInterfacetype',
|
|
|
|
- title: '平台接口类型',
|
|
|
|
|
|
+ field: 'shareType',
|
|
|
|
+ title: '接口类型',
|
|
formatter: function (value, item, index) {
|
|
formatter: function (value, item, index) {
|
|
- return $.table.selectDictLabel(platform_interfacetype_datas, item.platformInterfacetype);
|
|
|
|
|
|
+ return $.table.selectDictLabel(shareType_datas, item.shareType);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'browser',
|
|
|
|
- title: '访问浏览器',
|
|
|
|
|
|
+ field: 'deptId',
|
|
|
|
+ title: '所属部门ID',
|
|
visible: false
|
|
visible: false
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'param',
|
|
|
|
- title: '参数条件',
|
|
|
|
- visible: false
|
|
|
|
|
|
+ field: 'deptName',
|
|
|
|
+ title: '所属部门'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'results',
|
|
|
|
- title: '返回结果',
|
|
|
|
- visible: false
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- field: 'operationQuantity',
|
|
|
|
- title: '操作数量',
|
|
|
|
- visible: false
|
|
|
|
|
|
+ field: 'count',
|
|
|
|
+ title: '调用总数',
|
|
|
|
+ formatter: function(value, item, index) {
|
|
|
|
+ return '<span class="label label-success">'+value+'</span>';
|
|
|
|
+ }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'operationStatus',
|
|
|
|
- title: '操作状态',
|
|
|
|
- visible: false
|
|
|
|
|
|
+ field: 'callsuccnum',
|
|
|
|
+ title: '调用成功数',
|
|
|
|
+ formatter: function(value, item, index) {
|
|
|
|
+ return '<span class="label label-primary">'+value+'</span>';
|
|
|
|
+ }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- field: 'exceptionLog',
|
|
|
|
- title: '异常记录',
|
|
|
|
- visible: false
|
|
|
|
|
|
+ field: 'callfailnum',
|
|
|
|
+ title: '调用失败数',
|
|
|
|
+ formatter: function(value, item, index) {
|
|
|
|
+ return '<span class="label label-danger">'+value+'</span>';
|
|
|
|
+ }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '操作',
|
|
title: '操作',
|
|
align: 'center',
|
|
align: 'center',
|
|
formatter: function(value, row, index) {
|
|
formatter: function(value, row, index) {
|
|
var actions = [];
|
|
var actions = [];
|
|
- actions.push('<a class="btn btn-warning btn-xs ' + viewFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.id + '\')"><i class="fa fa-search"></i>详情</a> ');
|
|
|
|
|
|
+ actions.push('<a class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="getLogList(\'' + row.id + '\')"><i class="fa fa-search"></i>查看日志</a> ');
|
|
return actions.join('');
|
|
return actions.join('');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
]
|
|
};
|
|
};
|
|
$.table.init(options);
|
|
$.table.init(options);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function getLogList(id){
|
|
|
|
+ let title = "接口日志列表";
|
|
|
|
+ let url = log_prefix + "/logList/" + id;
|
|
|
|
+ $.modal.openTab(title, url);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function queryDeptTree()
|
|
|
|
+ {
|
|
|
|
+ var url = ctx + "system/dept/treeData";
|
|
|
|
+ var options = {
|
|
|
|
+ url: url,
|
|
|
|
+ expandLevel: 2,
|
|
|
|
+ onClick : zOnClick
|
|
|
|
+ };
|
|
|
|
+ $.tree.init(options);
|
|
|
|
+
|
|
|
|
+ function zOnClick(event, treeId, treeNode) {
|
|
|
|
+ $("#deptId").val(treeNode.id);
|
|
|
|
+ $("#parentId").val(treeNode.pId);
|
|
|
|
+ $.table.search();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $('#btnExpand').click(function() {
|
|
|
|
+ $._tree.expandAll(true);
|
|
|
|
+ $(this).hide();
|
|
|
|
+ $('#btnCollapse').show();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ $('#btnCollapse').click(function() {
|
|
|
|
+ $._tree.expandAll(false);
|
|
|
|
+ $(this).hide();
|
|
|
|
+ $('#btnExpand').show();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ $('#btnRefresh').click(function() {
|
|
|
|
+ queryDeptTree();
|
|
});
|
|
});
|
|
|
|
|
|
//表格超出宽度鼠标悬停显示td内容
|
|
//表格超出宽度鼠标悬停显示td内容
|