权限的设置

开发工具与关键技术: Visual Studio  权限
作者:黎凤焕
撰写时间:2019年 5 月 4 日

当学习完后,你会发现,学习了整整一个系统,都离不开表格的使用,同是layui 的表格,知识点却千变万化,由浅到深,深入浅出的结构。差不多每个模块都有表格,不怕讲得麻烦,就怕听者不懂。
不同层次的人对layui表格的认识也有所不同,理解的层度也不同,都经历着表格的磨练,不断的长知识,不断创新,发现新大陆。学了这么多模块的表格,都是离不开表格的特性,都有其中的共同点,学完这个系统后,一眼看下来,你会发现,差不多每个模块讲得内容都是一样的,都与查询、新增、修改、删除、下拉框绑定数据、渲染表格、对表格进行分页等。不同的是,在每个模块中插入新的知识点,只是使用layui 表格为新的知识点进行铺垫,借助layui表格的查询、新增、修改、删除、下拉框绑定数据、渲染表格、对表格进行分页等为下文学新的知识点埋下伏笔,就连模态框也是差不多的操作,不同的是里面的数据信息改变了,其实,用法是一样的,只要灵活变通一下,就可以构建新的表格或者模态框了,看着代码,你会发现,不同的是函数名、所求的信息不一样,其它的都差不多是一样的,表格的查询、新增、修改、删除、下拉框绑定数据、渲染表格、对表格进行分页、模态框等除去不一样的地方,剩余的就像万能句型,把要求的数据对号入座、组成新的代码,套入对应的位置,减少搭建页面的时间,进一步的完成所要做的内容,这样就构建出新的layui表格或者新的模态框,当熟练程度较高的时候,你会发现,其实查询、新增、修改、删除、下拉框绑定数据、渲染表格、对表格进行分页、模态框什么的都是小菜一碟。
设置权限的时候,先查询所有的用户类型(超级管理员除外),查询用户类型的个数(除去超级管理员),当新增用户类型的时候,判断新增的角色有没有重复,获取新增的角色,遍历新增权限,新增权限表,判断新增的内容,判断是否保存成功。新增角色的时候,操作选择事件,对角色模块进行设置权限,判断新增角色权限的多种现象。构建新增角色的页面,声明记录用户勾选的模块明细id,操作选择事件,添加类样式,判断是否选中,当点击重置按钮时,对页面进行重置,点击保存按钮时,通过jQuery 插件表单提交。构建新增页面后,通过页面跳转链接跳转到新增页面。
//1.3 跳转到新增界面
function toInsert() {
//多窗口模式,层叠置顶
layerIndex = layer.open({
type: 2,// type=1:页面层,2:iframe层,4:tips层
area: [‘1100px’, ‘600px’],//在默认状态下,layer是宽高都自适应的,这里定义宽度高。
title: “新增角色”, //标题
maxmin: true,//最大最小化,该参数值对type:1和type:2有效。默认不显示最大小化按钮。需要显示配置maxmin: true即可
content: “/JurisdictionManagement/Jurisdiction/JurisdictionInsert?time=” + (new Date()).getTime() //这里content是一个URL,
});
};
新增角色的时候,只有超级管理员才可以对角色新增,设置权限时,管理员除外,在主视图对模块权限设置,从登陆页面进去时,先获取到用户ID,当用户是管理员时,新增角色按钮显示出来,当用户ID不是管理员时,隐藏新增角色按钮。修改角色和新增角色也是要通过链接进行页面跳转。

//1.4 跳转到修改界面 并传递ID
function toUpdate(userTypeId) {
layerIndex = layer.open({
type: 2,
area: [‘1100px’, ‘600px’],
title: “修改角色”,
maxmin: true,
content: “/JurisdictionManagement/Jurisdiction/JurisdictionUpdate?userTypeId=” + userTypeId + “&time=” + (new Date()).getTime()
});
};

修改角色时通过主键修改角色的状态,判断要修改的角色是启用状态还是作废的状态,修改角色权限时,对数据进行回填的状态。对数据进行判断,判断是否选中,选中的多种情况的影响和记录选中的次数,记录原始的选择ModularDetailIds,将从数据库中查询的ModularDetailIds分割得到数组。判断修改角色的类型,对修改的角色判断是否重复,如果重复不可以对其进行修改。分割记录删除或者新增模块明细id,判断各种情况,当符合要求的时候,才可以保存,修改才会成功。判断该id 是否存在于原始列表中,如果不存在于原始列表,判断该id 是否存在于增加列表等,判断多种现象,判断重置表单时的现象,新增角色、修改角色都用到jQuery表单提交。
角色状态:
在这里插入图片描述

//1.5jquery 表单提交
function submitForm() {
$("#insertModularDetailIds").val(insertModularDetailIds);
$("#deleteModularDetailIds").val(deleteModularDetailIds);

        var userType = $("#UserType").val();
        var describe = $("#Describe").val();

        if (userType != null && describe != null && userType != "" && describe != "") {
            $("#formUserType").ajaxSubmit(function (message) {
                //提示
                layer.msg(message.Text, { icon: 0, skin: "layui-layer-molv" });
                if (message.State == true) {
                    //设置计时器
                    setTimeout(closeThis(), 3000);
                }

            });
        }
        else {
            layer.msg("请填写完整", { icon: 0, skin: "layui-layer-molv" });
        }
        return false; // 必须返回false,否则表单会自己再做一次提交操作,并且页面跳转
    }

修改角色和新增角色都使用layui 和form表单的使用,不管是权限角色的修改和新增,还是别的页面的修改和新增,有关表格数据提交的,都与layui和form表单的使用有关,在新增角色的时候,学到arrayObject.splice和arrayObject.push:
arrayObject.splice(index,howmany,item1,…,itemX)方法向/从数组中添加/删除项目,然后返回被删除的项目。
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX 可选。向数组添加的新项目。
arrayObject.push(newelement1,newelement2,…,newelementX)方法可向数组的末尾添加一个或多个元素,并返回新的长度。
newelement1 必需。要添加到数组的第一个元素。
newelement2 可选。要添加到数组的第二个元素。
newelementX 可选。可添加多个元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值