角色权限修改(上)

开发工具与关键技术:VS/MVC
作者:何桂朋
撰写时间:2019年6月27日

假设情景在一家企业有老板、主管、组长、员工。公司设计一个人员管理系统,给公司各级人员分配系统登录账号。访问权限要不同,如公司老板登录后,可查看员工薪水分布界面,而员工则不能看到,操作权限不同,如系统管理员可以在信息发布界面进行增删改查发布信息,而普通员工只可以在信息发布界面进行查看,不能修改、删除和新增。
这章写一下权限管理的一部分–角色权限修改

角色权限结构如下:

在这里插入图片描述

角色权限修改要实现的功能是:将一个角色能操作的模块进行增加和减小。就好比如:
A部长有操作业务、查看员工的工资的权限。现在增加可以调度员工。

我这里是用layui的表格功能做权限管理的页面。

{ field: 'ModularID', title: 'ModularID', hide: true },
{ field: 'ModularName', title: '模块名称', width: 160 },
{ title: '操作', templet: setOperate, align: 'center', fixed: 'right' }

Layui表格中三列重要信息。模块ID、 模块名称、模块对应能操作模块。
模块对应能操作模块通过自定义按钮来操纵。
在生成自定义按钮之前,先获取下面信息。

var ModularDetailIds = new Array();
//原始的选择的ModularDetailIds
var strmodularDetailId = "@ViewBag.modularDetailId.ToString()";
//将从数据库中查询的ModularDetailIds以";"分割得到数组
 ModularDetailIds = strmodularDetailId.split(";");

ModularDetailIds 是该角色所拥有权限操作。
用于判断自定义按钮的颜色。(这很重要)

function setOperate(data) {
    //layui-btn layui-btn-xs layui-btn-primary
    //layui-btn layui-btn-xs
    var btns = "";
    console.log(data);
    var ModularDetailVos = data.ModularDetailVos;
    if (ModularDetailVos != null && ModularDetailVos != "") {
        for (var i = 0; i < ModularDetailVos.length; i++) {
            if (ModularDetailIds.indexOf(ModularDetailVos[i].
ModularDetailID.toString())>-1) 
{
btns += '<button type="button" id="btnOperates' + 
ModularDetailVos[i].ModularDetailID + '
"  class="layui-btn layui-btn-xs" onclick=changeSelect(' 
+ ModularDetailVos[i].ModularDetailID + ')>' + 
ModularDetailVos[i].Special + '</button>';
            }
            else {
                btns += '<button type="button" id="btnOperates' + 
ModularDetailVos[i].ModularDetailID + '"  class="layui-btn layui-btn-xs layui-btn-primary" onclick=changeSelect(' + ModularDetailVos[i].ModularDetailID + ')>' + ModularDetailVos[i].Special + '</button>';
            }
        }
    }
    return btns;
}

通过比较“ModularDetailVos” 和“ModularDetailIds”按钮颜色。
Layui 白色按钮和绿色按钮就在于 白色按钮有“layui-btn-primary”,而绿色没有。
注: 白色按钮是未授权,绿色已授权。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值