|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group hidden-xs" id="toolbar" role="group">
<a class="btn btn-outline btn-danger btn-rounded" onclick="javascript:batchForceLogout()" shiro:hasPermission="monitor:online:batchForceLogout">
<i class="fa fa-trash-o"></i>批量强退
</a>
</div>
<div class="col-sm-12 select-info">
<table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
</div>
</div>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">
var forceFlag = [[${@permission.hasPermi('monitor:online:forceLogout')}]];
var prefix = ctx + "monitor/online"
$(function() {
var options = {
url: prefix + "/list",
exportUrl: prefix + "/export",
sortName: "lastAccessTime",
sortOrder: "desc",
search: false,
columns: [{
checkbox: true
},
{
field: 'sessionId',
title: '会话编号'
},
{
field: 'loginName',
title: '操作人员',
sortable: true
},
{
field: 'deptName',
title: '部门名称'
},
{
field: 'ipaddr',
title: '登录地址'
},
{
field: 'longinLocation',
title: '登录地点'
},
{
field: 'browser',
title: '浏览器'
},
{
field: 'os',
title: '操作系统'
},
{
field: 'status',
title: '会话状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 'on_line') {
return '<span class="badge badge-primary">在线</span>';
} else if (value == 'off_line') {
return '<span class="badge badge-danger">离线</span>';
}
}
},
{
field: 'startTimestamp',
title: '登录时间',
sortable: true
},
{
field: 'lastAccessTime',
title: '最后访问时间',
sortable: true
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var msg = '<a class="btn btn-danger btn-xs ' + forceFlag + '" href="#" onclick="forceLogout(\'' + row.sessionId + '\')" ><i class="fa fa-sign-out"></i>强退</a> ';
return msg;
}
}]
};
$.table.init(options);
});
// 单条强退
function forceLogout(sessionId) {
$.modal.confirm("确定要强制选中用户下线吗?", function() {
var data = { "sessionId": sessionId };
$.operate.post(prefix + "/forceLogout", data);
})
}
// 批量强退
function batchForceLogout() {
var rows = $.table.selectColumns("sessionId");
if (rows.length == 0) {
|