| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690 |
- <%--
- Created by IntelliJ IDEA.
- User: Administrator
- Date: 2018/4/12 0012
- Time: 15:21
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <!-- 用bootstrap先应付一下 -->
- <!-- Latest compiled and minified CSS -->
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
- <!-- Optional theme -->
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
- <!-- Latest compiled and minified JavaScript -->
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
- <div class="row">
- <ul class="md-tab-group">
- <li>
- <div class="ripple-button" id="_user_role" onclick="showTab('user_role')">用户权限一览</div>
- </li>
- <li>
- <div class="ripple-button" id="_roles" onclick="showTab('roles')">角色一览</div>
- </li>
- <li>
- <div class="ripple-button" id="_permissions" onclick="showTab('permissions')">权限一览</div>
- </li>
- <div class="tab-button"></div>
- </ul>
- </div>
- <div>
- <!-- 用户列表 -->
- <div id="user_role">
- <h2>用户管理</h2>
- <p id="user_count"></p>
- <form action="#" id="user_query">
- 用户过滤<input name="query">
- 页数<input name="pageNumber" type="number" value="1" onchange="loadUsers();">
- 每页大小<input name="pageSize" type="number" value="10" onchange="loadUsers();">
- </form>
- <div class="panel panel-default">
- <div class="panel-heading">用户一览</div>
- <table class="table">
- <thead>
- <tr>
- <th>#</th>
- <th>名称</th>
- <th>别称</th>
- <th>角色</th>
- <th>特许权限</th>
- <th>操作</th>
- </tr>
- </thead>
- <tbody id="user_list"></tbody>
- </table>
- </div>
- </div>
- <!-- 角色列表 -->
- <div id="roles">
- <h2>角色管理</h2>
- <p id="role_count"></p>
- <form action="#" id="role_query">
- 角色过滤<input name="query">
- 页数<input name="pageNumber" type="number" value="1" onchange="loadRoles();">
- 每页大小<input name="pageSize" type="number" value="10" onchange="loadRoles();">
- </form>
- <div>
- </div>
- <button onclick="role_add();" class="btn btn-default">新增角色</button>
- <div class="panel panel-default">
- <div class="panel-heading">角色一览</div>
- <table class="table">
- <thead>
- <tr>
- <th>#</th>
- <th>角色</th>
- <th>别称</th>
- <th>描述</th>
- <th>权限</th>
- <th>操作</th>
- </tr>
- </thead>
- <tbody id="role_list"></tbody>
- </table>
- </div>
- </div>
- <!-- 权限列表 -->
- <div id="permissions">
- <h2>权限管理</h2>
- <p id="permission_count"></p>
- <form action="#" id="permission_query">
- 权限过滤<input name="query">
- 页数<input name="pageNumber" type="number" value="1" onchange="loadPermissions();">
- 每页大小<input name="pageSize" type="number" value="10" onchange="loadPermissions();">
- </form>
- <button onclick="permission_add();" class="btn btn-default">新增</button>
- <div class="panel panel-default">
- <div class="panel-heading">权限一览</div>
- <table class="table">
- <thead>
- <tr>
- <th>#</th>
- <th>权限</th>
- <th>别称</th>
- <th>描述</th>
- <th>操作</th>
- </tr>
- </thead>
- <tbody id="permission_list"></tbody>
- </table>
- </div>
- </div>
- </div>
- <!-- 各种默认隐藏的div -->
- <!-- 修改用户的特许权限 -->
- <div style="display: none;" id="user_permission_modify">
- <p>
- <input id="user_permission_modify_id" value="" hidden="true">
- <input id="user_permission_modify_name" value="" hidden="true">
- </p>
- <form action="#">
- <div id="user_permissions_div"></div>
- </form>
- <button onclick="user_permission_modify_submit();">提交</button>
- </div>
- <!-- 修改用户所属的角色 -->
- <div style="display: none;" id="user_role_modify">
- <p>
- <input id="user_role_modify_id" value="" hidden="true">
- <input id="user_role_modify_name" value="" hidden="true">
- </p>
- <form action="#">
- <div id="user_roles_div"></div>
- </form>
- <button onclick="user_role_modify_submit();">提交</button>
- </div>
- <!-- 修改角色所拥有的权限 -->
- <div style="display: none;" id="role_permission_modify">
- <p>
- <input id="role_permission_modify_id" value="" hidden="true">
- <input id="role_permission_modify_name" value="" hidden="true">
- </p>
- <form action="#">
- <div id="role_permissions_div"></div>
- </form>
- <button onclick="role_permission_modify_submit();">提交</button>
- </div>
- <!-- 修改角色的一般属性,如别称,描述 -->
- <div style="display: none;" id="role_modify">
- <div style="display: none;">
- <input name="role_modify_id" id="role_modify_id">
- </div>
- <div>
- <div class="md-text-field has-float-label">
- <label>${msg['authority.role.alias']}</label>
- <input type="text" id="role_modify_alias" name="alias" nm="${msg['authority.role.alias']}" value="">
- <hr class="underline">
- <hr class="underline-focus">
- <div class="err-tip">别名不能为空</div>
- </div>
- </div>
- <div>
- <div class="md-text-field has-float-label">
- <label>${msg['authority.role.description']}</label>
- <input type="text" id="role_modify_description" name="description" nm="${msg['authority.role.description']}" value="">
- <hr class="underline">
- <hr class="underline-focus">
- <div class="err-tip">描述不能为空</div>
- </div>
- </div>
- <div>
- <button class="md-button raised-button is-primary" type="submit" onclick="role_update_submit();">
- <span class="md-button-label">修改</span>
- </button>
- <button class="md-button raised-button is-primary" type="submit" onclick="$('#role_modify').hide();">
- <span class="md-button-label">取消</span>
- </button>
- </div>
- </div>
- <!-- 修改权限的一般属性 -->
- <div style="display: none;" id="permission_modify">
- <div style="display: none;">
- <input name="permission_modify_id" id="permission_modify_id">
- </div>
- <div>
- <div class="md-text-field has-float-label">
- <label>${msg['authority.permission.alias']}</label>
- <input type="text" id="permission_modify_alias" name="alias" nm="${msg['authority.permission.alias']}" value="">
- <hr class="underline">
- <hr class="underline-focus">
- <div class="err-tip">别名不能为空</div>
- </div>
- </div>
- <div>
- <div class="md-text-field has-float-label">
- <label>${msg['authority.permission.description']}</label>
- <input type="text" id="permission_modify_description" name="description" nm="${msg['authority.permission.description']}" value="">
- <hr class="underline">
- <hr class="underline-focus">
- <div class="err-tip">描述不能为空</div>
- </div>
- </div>
- <div>
- <button class="md-button raised-button is-primary" type="submit" onclick="permission_update_submit();">
- <span class="md-button-label">修改</span>
- </button>
- <button class="md-button raised-button is-primary" type="submit" onclick="$('#permission_modify').hide();">
- <span class="md-button-label">取消</span>
- </button>
- </div>
- </div>
- <script>
- _r = {};
- /*页面片段的初始化方法*/
- function myInit(args) {
- loadUsers();
- loadRoles();
- loadPermissions();
- $('#_user_role').click();
- }
- /**
- * Tab标签卡切换
- */
- function showTab(tab) {
- $('.ripple-button').each(function (_, z) {
- z = $(z);
- tabId = z.attr('id');
- if (tabId == undefined)
- return;
- tabId = tabId.substring(1);
- TAB = $('#' + tabId);
- if (tabId == tab) {
- TAB.show();
- } else {
- TAB.hide();
- }
- })
- }
- function loadUsers() {
- $.ajax({
- url: home_base + '/admin/authority/users',
- data: $('#user_query').serialize(),
- dataType: 'json',
- type: 'POST',
- success: function (re) {
- if (!re.ok) {
- alert(re.msg);
- return;
- }
- data = re.data;
- $('#user_count').html('共' + data.pager.recordCount + '个用户,总计' + data.pager.pagerCount + '页');
- var list_html = '';
- for (var i = 0; i < data.list.length; i++) {
- var user = data.list[i];
- var pstr = '';
- for (var j = 0; j < user.permissions.length; j++) {
- var p = user.permissions[j];
- if (p.alias)
- pstr += p.alias;
- else
- pstr += p.name;
- pstr += ' ';
- if (j > 4 && user.permissions.length > 4) {
- pstr += '等' + user.permissions.length + '种权限';
- break;
- }
- }
- var rstr = '';
- for (var j = 0; j < user.roles.length; j++) {
- var r = user.roles[j];
- if (r.alias)
- rstr += r.alias;
- else
- rstr += r.name;
- rstr += ' ';
- if (j > 4 && user.roles.length > 4) {
- rstr += '等' + user.roles.length + '种角色';
- break;
- }
- }
- var tmp = '\n<tr>'
- + '<td>' + user.id + '</td>'
- + '<td>' + user.name + '</td>'
- + '<td>' + (user.alias ? user.alias : '') + '</td>'
- + '<td>' + rstr + '</td>'
- + '<td>' + pstr + '</td>'
- + '<td>'
- + ' <button onclick="user_role_update("' + user.id + '");" class="btn btn-default">修改角色</button>'
- + ' <button onclick="user_permission_update("' + user.id + '");" class="btn btn-default">修改特许权限</button>'
- + '</td>'
- + '</tr>'
- list_html += tmp;
- }
- $('#user_list').html(list_html);
- _r._user_roles = data;
- }
- });
- }
- function loadRoles() {
- $.ajax({
- url: home_base + '/admin/authority/roles',
- data: $('#role_query').serialize(),
- dataType: 'json',
- type: 'POST',
- success: function (re) {
- if (!re.ok) {
- alert(re.msg);
- return;
- }
- data = re.data;
- $('#role_count').html('共' + data.pager.recordCount + '个角色,总计' + data.pager.pagerCount + '页');
- var list_html = '';
- for (var i = 0; i < data.list.length; i++) {
- var role = data.list[i];
- var pstr = '';
- for (var j = 0; j < role.permissions.length; j++) {
- var p = role.permissions[j];
- if (p.alias)
- pstr += p.alias;
- else
- pstr += p.name;
- pstr += ' ';
- if (j > 4 && role.permissions.length > 4) {
- pstr += '等' + role.permissions.length + '种权限';
- break;
- }
- }
- var tmp = '\n<tr>'
- + '<td>' + role.id + '</td>'
- + '<td>' + role.name + '</td>'
- + '<td>' + (role.alias ? role.alias : '') + '</td>'
- + '<td></td>'
- + '<td>' + pstr + '</td>'
- + '<td>'
- + ' <button onclick="role_update(' + role.id + ');" class="btn btn-default">修改描述</button>'
- + ' <button onclick="role_permission_update(' + role.id + ');" class="btn btn-default">修改权限</button>'
- + ' <button onclick="role_delete(' + role.id + ');" class="btn btn-default">删除</button>'
- + '</td>'
- + '</tr>'
- list_html += tmp;
- }
- $('#role_list').html(list_html);
- _r._roles = data;
- }
- });
- }
- function loadPermissions() {
- $.ajax({
- url: home_base + '/admin/authority/permissions',
- data: $('#permission_query').serialize(),
- dataType: 'json',
- type: 'POST',
- success: function (re) {
- if (!re.ok) {
- alert(re.msg);
- return;
- }
- data = re.data;
- $('#permission_count').html('共' + data.pager.recordCount + '个权限,总计' + data.pager.pagerCount + '页');
- var list_html = '';
- for (var i = 0; i < data.list.length; i++) {
- var permission = data.list[i];
- var tmp = '\n<tr>'
- + '<td>' + permission.id + '</td>'
- + '<td>' + permission.name + '</td>'
- + '<td>' + (permission.alias ? permission.alias : '') + '</td>'
- + '<td>' + (permission.description ? permission.description : '') + '</td>'
- + '<td>'
- + ' <button onclick="permission_update(' + permission.id + ');" class="btn btn-default">修改</button>'
- + ' <button onclick="permission_delete(' + permission.id + ');" class="btn btn-default">删除</button>'
- + '</td>'
- + '</tr>'
- list_html += tmp;
- }
- $('#permission_list').html(list_html);
- _r._roles = data;
- }
- });
- }
- // 各种操作哦哦哦哦哦哦哦哦哦
- /*更新用户特许权限*/
- function user_permission_update(user_id) {
- $.ajax({
- url: home_base + '/admin/authority/user/fetch/permission',
- dataType: 'json',
- data: {id: user_id},
- success: function (re) {
- if (re && re.ok) {
- var html = '';
- var ps = re.data.permissions;
- for (var i = 0; i < ps.length; i++) {
- var p = ps[i];
- var flag = false;
- for (var j = 0; j < re.data.user.permissions.length; j++) {
- if (re.data.user.permissions[j].id == p.id) {
- flag = true;
- break;
- }
- }
- if (p.alias) {
- html += p.alias;
- } else {
- html += p.name;
- }
- if (flag) {
- html += '<input type="checkbox" t="checkbox_user_permission" pid="' + p.id + '" checked="true" />\n'
- } else {
- html += '<input type="checkbox" t="checkbox_user_permission" pid="' + p.id + '" />\n'
- }
- }
- $('#user_permission_modify_id').val('' + user_id);
- $('#user_permission_modify_name').val('' + re.data.user.name);
- $('#user_permissions_div').html(html);
- $('#user_permission_modify').show();
- }
- }
- });
- }
- /*将用户的特许权限提交到服务器*/
- function user_permission_modify_submit() {
- var user_id = $('#user_permission_modify_id').val();
- var ps = $('input[t="checkbox_user_permission"]:checked');
- var pids = [];
- ps.each(function (i, p_input) {
- pids.push($(p_input).attr('pid'));
- });
- $.ajax({
- url: home_base + '/admin/authority/user/update',
- type: 'POST',
- data: JSON.stringify({'user': {id: user_id}, 'permissions': pids}),
- success: function () {
- loadUsers();
- $('#user_permission_modify').hide();
- }
- })
- }
-
- function user_role_update(user_id) {
- $.ajax({
- url: home_base + '/admin/authority/user/fetch/role',
- dataType: 'json',
- data: {id: user_id},
- success: function (re) {
- if (re && re.ok) {
- var html = '';
- var rs = re.data.permissions;
- for (var i = 0; i < rs.length; i++) {
- var r = rs[i];
- var flag = false;
- for (var j = 0; j < re.data.user.roles.length; j++) {
- if (re.data.user.roles[j].id == r.id) {
- flag = true;
- break;
- }
- }
- if (r.alias) {
- html += r.alias;
- } else {
- html += r.name;
- }
- if (flag) {
- html += '<input type="checkbox" t="checkbox_user_role" rid="' + r.id + '" checked="true" />\n'
- } else {
- html += '<input type="checkbox" t="checkbox_user_role" rid="' + r.id + '" />\n'
- }
- }
- $('#user_role_modify_id').val('' + user_id);
- $('#user_role_modify_name').val('' + re.data.user.name);
- $('#user_roles_div').html(html);
- $('#user_role_modify').show();
- }
- }
- });
- }
- function user_role_modify_submit() {
- var user_id = $('#user_role_modify_id').val();
- var rs = $('input[t="checkbox_user_role"]:checked');
- var rids = [];
- rs.each(function (i, r_input) {
- rids.push($(r_input).attr('rid'));
- });
- $.ajax({
- url: home_base + '/admin/authority/user/update',
- type: 'POST',
- data: JSON.stringify({'user': {id: user_id}, 'roles': rids}),
- success: function () {
- loadUsers();
- $('#user_role_modify').hide();
- }
- })
- }
- // 角色相关操作
- function role_update(role_id) {
- for (var i = 0; i < _r._roles.list.length; i++) {
- var role = _r._roles.list[i];
- if (role.id == role_id) {
- $('#role_modify_id').attr('value', role_id);
- $('#role_modify_alias').attr('value', role.alias);
- $('#role_modify_description').attr('value', role.description);
- $('#role_modify').show();
- return;
- }
- }
- }
- /*将角色的一般属性的修改发送到服务器进行修改*/
- function role_update_submit() {
- var role_id = $("#role_modify_id").val();
- var p = {id:role_id};
- p["alias"] = $("#role_modify_alias").val();
- p["description"] = $("#role_modify_description").val();
- console.log(p);
- $.ajax({
- url : home_base + "/admin/authority/role/update",
- type : "POST",
- data : JSON.stringify({"role":p}),
- success : function() {
- loadRoles();
- $("#role_modify").hide();
- }
- // TODO 处理异常
- });
- }
- /*删除一个角色*/
- function role_delete(role_id) {
- // TODO 提示用户确认
- $.ajax({
- url : home_base + "/admin/authority/role/delete",
- type : "POST",
- data : JSON.stringify({id:role_id})
- });
- loadRoles();
- }
- /*新增角色*/
- function role_add() {
- var role_name = prompt("请输入新角色的名称,仅限英文字母,长度3到10个字符");
- var re = /[a-zA-Z]{3,10}/;
- if (role_name && re.exec(role_name)) {
- $.ajax({
- url : home_base + "/admin/authority/role/add",
- type : "POST",
- data : JSON.stringify({name:role_name}),
- success : function () {
- loadRoles();
- }
- });
- }
- }
- /*更新角色所拥有的权限列表,这个方法用于显示多选框*/
- function role_permission_update(role_id) {
- $.ajax({
- url : home_base + "/admin/authority/role/fetch",
- dataType : "json",
- data : {id:role_id},
- success : function (re) {
- if (re && re.ok) {
- console.log(re.data);
- var html = "";
- var ps = re.data.permissions;
- for (var i = 0; i < ps.length; i++) {
- var p = ps[i];
- var flag = false;
- for (var j = 0; j < re.data.role.permissions.length; j++) {
- if (re.data.role.permissions[j].id == p.id) {
- flag = true;
- break;
- }
- }
- if (p.alias) {
- html += p.alias;
- } else {
- html += p.name;
- }
- if (flag) {
- html += "<input type='checkbox' t='checkbox_role_permission' pid='" + p.id + "' checked='true'>\n"
- } else {
- html += "<input type='checkbox' t='checkbox_role_permission' pid='" + p.id + "'>\n"
- }
- }
- $("#role_permission_modify_id").val(""+role_id);
- $("#role_permission_modify_name").val(""+re.data.role.name);
- $("#role_permissions_div").html(html);
- $("#role_permission_modify").show();
- }
- }
- });
- }
- /*将角色的权限列表提交到服务器去*/
- function role_permission_modify_submit() {
- var role_id = $("#role_permission_modify_id").val();
- var ps = $("input[t='checkbox_role_permission']:checked");
- console.log(ps);
- console.log(role_id);
- var pids = [];
- ps.each(function(i, p_input) {
- pids.push($(p_input).attr("pid"));
- });
- $.ajax({
- url : home_base + "/admin/authority/role/update",
- type : "POST",
- data : JSON.stringify({"role":{id:role_id}, "permissions":pids}),
- success : function() {
- loadRoles();
- $("#role_permission_modify").hide();
- }
- });
- }
- /*更新权限的一般信息,显示输入框*/
- function permission_update(permission_id) {
- for (var i=0;i<_r._permissions.list.length;i++) {
- var permission = _r._permissions.list[i];
- if (permission.id == permission_id) {
- $("#permission_modify_id").attr("value", permission_id);
- $("#permission_modify_alias").attr("value", permission.alias);
- $("#permission_modify_description").attr("value", permission.description);
- $("#permission_modify").show();
- return;
- }
- }
- }
- /*把权限的一般信息的修改提交到服务器*/
- function permission_update_submit() {
- var permission_id = $("#permission_modify_id").val();
- var p = {id:permission_id};
- p["alias"] = $("#permission_modify_alias").val();
- p["description"] = $("#permission_modify_description").val();
- console.log(p);
- $.ajax({
- url : home_base + "/admin/authority/permission/update",
- type : "POST",
- data : JSON.stringify(p),
- success : function() {
- loadPermissions();
- $("#permission_modify").hide();
- }
- });
- }
- /*删除一个权限*/
- function permission_delete(permission_id) {
- $.ajax({
- url : home_base + "/admin/authority/permission/delete",
- type : "POST",
- data : JSON.stringify({id:permission_id}),
- success : function() {
- loadPermissions();
- $("#permission_modify").hide();
- }
- });
- loadPermissions();
- }
- /*新增一个权限*/
- function permission_add() {
- var permission_name = prompt("请输入新角色的名词,仅限英文字母/冒号/米号,长度3到30个字符");
- var re = /[a-zA-Z\:\*]{3,10}/;
- if (permission_name && re.exec(permission_name)) {
- $.ajax({
- url : home_base + "/admin/authority/permission/add",
- type : "POST",
- data : JSON.stringify({name:permission_name}),
- success : function () {
- loadPermissions();
- }
- });
- }
- }
- </script>
|