1、全面实现按登录用户动态加载按钮;

2、优化模块授权代码;
3、优化内部功能加载模块的权限控制,比如:拥有模块授权功能的用户给别人授权时,只能访问到自己拥有的模块;
This commit is contained in:
yubaolee
2015-12-07 15:22:01 +08:00
parent 35ef1a6e8b
commit 975632c81e
14 changed files with 165 additions and 53 deletions

View File

@@ -28,9 +28,7 @@
</div>
<script type="text/javascript">
//获取勾选的值
//column:为从0开始的列标识
function getSelected(gridid, column) {
function getDatagridRow(gridid) {
var selected = $(gridid).data('selectedTrs');
if (selected == null || selected.length == 0) {
$(this).alertmsg('warn', '至少选择一个对象', {
@@ -39,6 +37,14 @@
});
return null;
}
return selected;
}
//获取勾选的值
//column:为从0开始的列标识
function getSelected(gridid, column) {
var selected = getDatagridRow(gridid);
if (selected == null) return null;
//todo下面这段只能chrome有效
var records = new Array();
@@ -48,4 +54,17 @@
return records[0];
}
//返回选择的多条记录,用逗号隔开
function getSelectedMany(gridid, column) {
var selected = getDatagridRow(gridid);
if (selected == null) return null;
//todo下面这段只能chrome有效
var results = '';
selected.each(function () {
results += ',' + this.children[column].innerText;
});
results = results.substr(1); //去掉第一个逗号
return results;
}
</script>

View File

@@ -9,10 +9,10 @@
<input style="display: none" id="roleId" value="@ViewBag.RoleId" />
<div class="pull-right">
<div class="alert alert-info search-inline">
<i class="fa fa-info-circle"></i> 可多选统一授权
<i class="fa fa-info-circle"></i> 点击行为单选,点击复选框可多选统一授权
</div>&nbsp;
<button type="button" class="btn-green" data-num="1" data-icon="plus" data-toggle="assign">
授权选中
<button type="button" class="btn-green" data-num="1" data-icon="plus" onclick="assign()">
授权选中项目
</button>&nbsp;
</div>
</div>
@@ -70,7 +70,7 @@
width: 80
}
],
dataUrl: 'ModuleElementManager/Load?orgId=' + selectedId +'&roleId='+$('#roleId').val(),
dataUrl: 'ModuleElementManager/LoadForRole?orgId=' + selectedId +'&roleId='+$('#roleId').val(),
fullGrid: true,
showLinenumber: true,
showCheckboxcol: true,
@@ -102,7 +102,9 @@
},
callback: { onClick: zTreeOnClick }
};
$.getJSON('ModuleManager/LoadForTree', function (json) {
$.getJSON('ModuleManager/LoadForRole',
{ roleId: $('#roleId').val() },
function (json) {
var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json);
zTreeObj.expandAll(true);
});
@@ -110,18 +112,17 @@
//授权选中的
function assign() {
var selected = getSelected(gridid, 2);
var selected = getSelectedMany(gridid, 2);
if (selected == null) return;
$(this).dialog({
id: 'assign',
url: '/ModuleManager/Add?id=' + selected,
title: '编辑',
onClose: function () {
refreshGrid();
}
});
$.post("ModuleElementManager/AssignForRole",
{
roleId:$('#roleId').val(),
menuIds: selected
},
function (data) {
refreshGrid();
});
}
function refreshGrid() {

View File

@@ -19,7 +19,6 @@
<script type="text/javascript">
var gridid = '#@_gridId';
var selectedId = 0;
$(document).ready(function () {
initZtree();
@@ -31,7 +30,7 @@
$('#@_treeDetail').empty()
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
$(gridid).datagrid({
$('#@_gridId').datagrid({
showToolbar: false,
filterThead: false,
columns: [
@@ -129,7 +128,7 @@
//删除
function del() {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId',2);
if (selected == null) return;
$.get('ModuleManager/Delete?Id=' + selected, function (data) {
@@ -143,7 +142,7 @@
//自定义的编辑按钮
function editModule() {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId',2);
if (selected == null) return;
$(this).dialog({
@@ -159,13 +158,13 @@
//为模块分配按钮
function assignButton() {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId',2);
if (selected == null) return;
$(this).dialog({
id: 'editDialog',
width: 1000,
height: 700,
height: 500,
mask:true,
url: '/ModuleElementManager/Index?id=' + selected,
title: '为模块分配按钮'

View File

@@ -18,7 +18,6 @@
</div>
<script type="text/javascript">
var gridid = '#@_gridId';
var selectedId = 0;
var grid;
$(document).ready(function () {

View File

@@ -19,7 +19,6 @@
<script type="text/javascript">
var gridid = '#@_gridId';
var selectedId = 0;
$(document).ready(function () {
initZtree();
@@ -31,7 +30,7 @@
$('#@_treeDetail').empty()
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
$(gridid).datagrid({
$('#@_gridId').datagrid({
showToolbar:false,
filterThead: false,
columns: [
@@ -122,7 +121,7 @@
//删除
function del() {
var selected = getSelected(gridid, 2);
var selected = getSelected('#@_gridId', 2);
if (selected == null) return;
$.getJSON('RoleManager/Delete?Id=' + selected, function (data) {
@@ -136,7 +135,7 @@
//自定义的编辑按钮
function editRole() {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId',2);
if (selected == null) return;
$(this).dialog({
@@ -157,7 +156,7 @@
//角色模块授权按钮
function openModuleAccess(obj) {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId',2);
if (selected == null) return;
$(obj).dialog({
@@ -172,7 +171,7 @@
//为角色分配菜单
function openAssignElement(obj) {
var selected = getSelected(gridid, 2);
var selected = getSelected('#@_gridId', 2);
if (selected == null) return;
$(obj).dialog({

View File

@@ -20,7 +20,6 @@
</div>
<script type="text/javascript">
var gridid = '#@_gridId';
var selectedId = 0;
var grid;
$(document).ready(function () {
@@ -33,7 +32,7 @@
$('#@_treeDetail').empty()
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
grid = $(gridid).datagrid({
$('#@_gridId').datagrid({
showToolbar: false,
filterThead: false,
columns: [
@@ -122,13 +121,13 @@
});
}
//删除
function del() {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId', 2);
if (selected == null) return;
$.getJSON('UserManager/Delete?Id=' + selected, function (data) {
if (data.statusCode == "200")
refreshGrid();
@@ -140,7 +139,7 @@
//自定义的编辑按钮
function editOrg() {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId', 2);
if (selected == null) return;
$(this).dialog({
@@ -161,7 +160,7 @@
//用户模块授权按钮
function openModuleAccess(obj) {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId', 2);
if (selected == null) return;
$(obj).dialog({
@@ -176,7 +175,7 @@
//用户角色授权
function openRoleAccess(obj) {
var selected = getSelected(gridid,2);
var selected = getSelected('#@_gridId', 2);
if (selected == null) return;
$(obj).dialog({
@@ -188,5 +187,19 @@
}
});
}
//为角色分配菜单
function openAssignElement(obj) {
var selected = getSelected('#@_gridId', 2);
if (selected == null) return;
$(obj).dialog({
id: 'assignElement',
url: '/ModuleElementManager/AssignForUser?userId=' + selected,
title: '为用户分配菜单',
width: 700,
height: 380
});
}
//@@ sourceURL=userManagerIndex.js
</script>