<!DOCTYPE html>
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
<head>
|
<th:block th:include="include :: header('角色列表')" />
|
</head>
|
<body class="gray-bg">
|
<div class="container-div">
|
<div class="row">
|
<div class="col-sm-12 search-collapse">
|
<form id="role-form">
|
<div class="select-list">
|
<ul>
|
<li>
|
[[#{jsp.system.role.001}]]:<input type="text" name="roleName"/>
|
</li>
|
<li>
|
[[#{jsp.system.role.002}]]:<input type="text" name="roleKey"/>
|
</li>
|
<li>
|
[[#{basis.state}]]:<select name="status" th:with="type=${@dict.getType('sys_normal_disable')}">
|
<option value="">ALL</option>
|
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
</select>
|
</li>
|
<li class="select-time">
|
<label>[[#{basis.createTime}]]: </label>
|
<input type="text" class="time-input" id="startTime" th:placeholder="#{jsp.system.user.profile.027}" name="params[beginTime]"/>
|
<span>-</span>
|
<input type="text" class="time-input" id="endTime" th:placeholder="#{jsp.system.user.profile.028}" name="params[endTime]"/>
|
</li>
|
<li>
|
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> [[#{basis.search}]]</a>
|
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> [[#{basis.reset}]]</a>
|
</li>
|
</ul>
|
</div>
|
</form>
|
</div>
|
|
<div class="btn-group-sm" id="toolbar" role="group">
|
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:role:add">
|
<i class="fa fa-plus"></i>[[#{basis.add}]]
|
</a>
|
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:role:edit">
|
<i class="fa fa-edit"></i> [[#{basis.edit}]]
|
</a>
|
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:role:remove">
|
<i class="fa fa-remove"></i> [[#{basis.del}]]
|
</a>
|
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export">
|
<i class="fa fa-download"></i> [[#{basis.export}]]
|
</a>
|
</div>
|
|
<div class="col-sm-12 select-table table-striped">
|
<table id="bootstrap-table" data-mobile-responsive="true"></table>
|
</div>
|
</div>
|
</div>
|
<th:block th:include="include :: footer" />
|
<script th:inline="javascript">
|
var editFlag = [[${@permission.hasPermi('system:role:edit')}]];
|
var removeFlag = [[${@permission.hasPermi('system:role:remove')}]];
|
var prefix = ctx + "system/role";
|
|
|
$(function() {
|
var options = {
|
url: prefix + "/list",
|
createUrl: prefix + "/add",
|
updateUrl: prefix + "/edit/{id}",
|
removeUrl: prefix + "/remove",
|
exportUrl: prefix + "/export",
|
sortName: "roleSort",
|
modalName: "role",
|
columns: [{
|
checkbox: true
|
},
|
{
|
field: 'roleId',
|
title: 'ID'
|
},
|
{
|
field: 'roleName',
|
title: [[#{jsp.system.role.001}]],
|
sortable: true
|
},
|
{
|
field: 'roleKey',
|
title: [[#{jsp.system.role.002}]],
|
sortable: true
|
},
|
{
|
field: 'roleSort',
|
title: [[#{jsp.exam.demographyParam.sort}]],
|
sortable: true
|
},
|
{
|
visible: editFlag == 'hidden' ? false : true,
|
title: [[#{basis.state}]],
|
align: 'center',
|
formatter: function (value, row, index) {
|
return statusTools(row);
|
}
|
},
|
{
|
field: 'createTime',
|
title: [[#{basis.createTime}]],
|
sortable: true
|
},
|
{
|
title: [[#{basis.operate}]],
|
align: 'center',
|
formatter: function(value, row, index) {
|
var actions = [];
|
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.roleId + '\')"><i class="fa fa-edit"></i>'+[[#{basis.edit}]]+'</a> ');
|
actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authDataScope(\'' + row.roleId + '\')"><i class="fa fa-check-square-o"></i>'+[[#{data.permission}]]+'</a> ');
|
actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="authUser(\'' + row.roleId + '\')"><i class="fa fa-user"></i>'+[[#{jsp.system.role.015}]]+'</a> ');
|
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.roleId + '\')"><i class="fa fa-remove"></i>'+[[#{basis.del}]]+'</a> ');
|
return actions.join('');
|
}
|
}]
|
};
|
$.table.init(options);
|
});
|
|
/* 角色管理-分配数据权限 */
|
function authDataScope(roleId) {
|
var url = prefix + '/authDataScope/' + roleId;
|
$.modal.open([[#{jsp.system.role.014}]], url);
|
}
|
|
/* 角色管理-分配用户 */
|
function authUser(roleId) {
|
var url = prefix + '/authUser/' + roleId;
|
$.modal.openTab([[#{jsp.system.role.015}]], url);
|
}
|
|
/* 角色状态显示 */
|
function statusTools(row) {
|
if (row.status == 1) {
|
return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.roleId + '\')"></i> ';
|
} else {
|
return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.roleId + '\')"></i> ';
|
}
|
}
|
|
/* 角色管理-停用 */
|
function disable(roleId) {
|
$.modal.confirm([[#{jsp.system.role.016}]], function() {
|
$.operate.post(prefix + "/changeStatus", { "roleId": roleId, "status": 1 });
|
})
|
}
|
|
/* 角色管理启用 */
|
function enable(roleId) {
|
$.modal.confirm([[#{jsp.system.role.017}]], function() {
|
$.operate.post(prefix + "/changeStatus", { "roleId": roleId, "status": 0 });
|
})
|
}
|
</script>
|
</body>
|
</html>
|