xgl-case/src/main/resources/templates/onlineUsers/list.html
2021-12-15 17:55:34 +08:00

132 lines
4.6 KiB
HTML

<section class="content-header">
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> 首页</a></li>
<li><a href="#">权限管理</a></li>
<li class="active">在线用户管理</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="jax-box">
<form id="formSearch" class="form-inline form-search">
<div class="form-group">
<label for="username">用户名:</label>
<input type="text" class="form-control" id="username">
</div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<shiro:hasPermission name="onlineUser:list">
<div class="btn-group">
<button id="btn_query" type="button" class="btn table-btn-info">
<span aria-hidden="true"></span>&nbsp;查 询
</button>
</div>
</shiro:hasPermission>
</form>
</div>
<div class="jax-box jax-box-table">
<div id="toolbar" class="btn-group">
<shiro:hasPermission name="onlineUser:batchKickout">
<button id="btn_batch_kickout" type="button" class="btn btn-danger">
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>批量踢出
</button>
</shiro:hasPermission>
</div>
<table id="table"></table>
</div>
</section>
<script>
var kickoutFlag = "[[${@perms.hasPerm('onlineUser:kickout')}]]";
var columns = [
{checkbox: true },
{
field: 'sessionId',
title: '会话id',
align : "center"
},
{
field: 'username',
title: '用户名',
align : "center"
},{
field: 'host',
title: '主机地址',
align : "center"
},
{
field: 'lastAccess',
title: '最后访问时间',
align : "center"
},
{
field : 'operation',
title : '操作',
align : "center",
formatter : function(value,
row, index) {
var kickout = kickoutFlag=="true" ? '<a class="table-btn table-btn-danger" href="javascript:void(0)" onclick="kickoutUser(\''+row.sessionId+'\',\''+row.username+'\')">踢出</a>' : '';
return kickout;
}
}];
var options={
id:"#table",
url: '/online/user/list',
columns:columns,
toolbar: '#toolbar',
showRefresh: true,
queryParams : queryParams
}
Core.initTable(options);
/*查询用户参数*/
function queryParams(params) {
var temp = { //这里的键的名字和控制器的变量名必须一致,这边改动,控制器也需要改成一样的
limit : params.limit, //页面大小
offset : params.offset, //页码
username : $("#username").val()
};
return temp;
}
/*踢出用户*/
function kickoutUser(sessionId,username) {
Core.confirm("确定踢除该用户?",function () {
Core.postAjax("/online/user/kickout",{"sessionId":sessionId,"username":username},function (data) {
if(data.ret==0){
Core.refreshTable("#table");
}
layer.msg(data.msg);
})
})
}
$(function () {
$("#btn_query").click(function(){
Core.refreshTable("#table");
});
$("#btn_batch_kickout").click(function(){
var checkedRows= Core.selectMutiData("#table");
if(checkedRows){
Core.confirm("确定踢出选中的"+checkedRows.length+"条记录?",function () {
var sessions=[];
$.each(checkedRows, function (i, item) {
var session={};
session.sessionId = item.sessionId;
session.username = item.username;
sessions.push(session);
})
var jsonStr = JSON.stringify(sessions)
Core.postAjax("/online/user/batch/kickout", jsonStr, function (data) {
if (data.ret==0) {
Core.refreshTable("#table");
}
layer.msg(data.msg);
},"POST","application/json; charset=UTF-8")
})
}
});
})
</script>