系统管理数据库分析,Easyui树形操作

33 篇文章 0 订阅
8 篇文章 0 订阅

1、先获取空的树形  ,查询数据库EHECD_AdminFunction表,生成

 function GetFuns() {
            $('#sysFun').treegrid({
                title: '功能授权',
                animate: true,
                method: 'get',
                loadMsg: '数据加载中请稍后……',
                url: '/Sys/User/GetFun',
                idField: 'ID',
                treeField: 'sName',
                columns: [[
       { field: 'sName', title: '模块名称', width: 198,
           formatter: function (value, rowData, rowIndex) {
               return '<input name="funlist" type="checkbox" id="' + rowData.ID + '" οnclick="SelectedCheckbox(this)">' + value;
           }
       },
                        {
                            field: 'oper', title: '可操作', width: 60, align: 'center',
                            formatter: function (value, rowData, rowIndex) {
                                if (rowData._parentId != null || rowData._parentId != undefined)
                                    return '<input type="checkbox" dataid="' + rowData.ID + '" id="operate' + rowData.ID + '" οnclick="operate(this)">';
                            }
                        },
                        {
                            field: 'query', title: '可查询', width: 60, align: 'center',
                            formatter: function (value, rowData, rowIndex) {
                                if (rowData._parentId != null || rowData._parentId != undefined)
                                    return '<input type="checkbox" dataid="' + rowData.ID + '" id="query' + rowData.ID + '" οnclick="query(this)">';
                            }
                        }
   ]],
                onLoadSuccess: function (row, data) {
                    //清空复选框选中状态
                    ResetFunChecked();
                    //获取角色
                    GetRole(_pageIndex, _pageSize);
                },
                toolbar: [{
                    id: 'btnsave',
                    text: '保存',
                    iconCls: 'icon-save',
                    handler: function () {
                        SaveRoleFun();
                    }
                }]
            });
        }


<div data-options="region:'center',border:false">
        <table id="sysFun" class="easyui-treegrid" data-options="fit:true,toolbar:'#AuthToolBar'"  border="0"></table>
       </div>


2、查询出左边的表,将第一行数据更新到左边树形里面。

 //****************(获取角色)************************************************************
        //当前操作
        var _opeartion;
        var _rowIndex;
        var _roleRow;
        var _pageIndex = 1;
        var _pageSize = 20;
        function GetRole(pageIndex, pageSize) {
            $('#roleDT').datagrid({
                title: '角色信息',
                singleSelect: true, //是否单选  
                pagination: true,   //分页控件  
                rownumbers: true,   //行号  
                loadMsg: '数据加载中请稍后……',
                queryParams: { pageIndex: pageIndex, pageSize: pageSize },
                url: '/Sys/Role/GetRole',
                idField: 'ID',
                columns: [[
                    { field: 'SNAME', title: '角色名称', width: 100 },
                    { field: 'ISORT', title: '排序', width: 50 }
                    ]],
                onLoadSuccess: function (data) {
                    if (data.total > 0) {
                        //默认选中首行
                        $(this).datagrid('selectRow', 0);
                        //获取选中行
                        _roleRow = $("#roleDT").datagrid("getSelected");
                        //获取角色功能授权
                        GetRoleFun();
                    }
                },
                onClickRow: function (rowIndex, rowData) {
                    if (rowData) {
                        _rowIndex = rowIndex;
                        _roleRow = rowData;
                        //获取角色功能授权
                        GetRoleFun();
                    }
                }
            });


            //设置分页控件
            var p = $('#roleDT').datagrid('getPager');
            $(p).pagination({
                showPageList: false,
                pageSize: 20, //每页显示的记录条数,1  
                beforePageText: '第', //页数文本框前显示的汉字  
                afterPageText: '页    共 {pages} 页',
                displayMsg: '共 {total} 条记录',
                onSelectPage: function (pageNumber, pageSize) {
                    GetRoles( pageNumber, pageSize);
                }
            });
        }
        function GetRoles(areaCode, pageNumber, pageSize) {
            AjaxCall("/Sys/Role/GetRole", { pageIndex: pageNumber, pageSize: pageSize }, function (res) {
                 $('#roleDT').datagrid('loadData', { "total": res.total, "rows": res.rows });
            });
        }


        //获取角色功能授权
        function GetRoleFun() {
            ResetFunChecked(); //复选框重置为未选状态
            AjaxCall("/Sys/Role/GetRoleFun", { roleID: _roleRow.ID }, function (res) {
                $.each(res, function (i, n) {
                    if ($('#' + n.sFunId)) {
                        $('#' + n.sFunId).prop("checked", true);
                    }
                    if ($('#operate' + n.sFunId)) {
                        if (n.bOperateAuth != null && n.bOperateAuth) { $('#operate' + n.sFunId).prop("checked", true); }
                        else $('#operate' + n.sFunId).prop("checked", false);
                    }
                    if ($('#query' + n.sFunId)) {
                        if (n.bQueryAuth != null && n.bQueryAuth) { $('#query' + n.sFunId).prop("checked", true); }
                        else $('#query' + n.sFunId).prop("checked", false);
                    }
                });
            });
        }



3、点击保存

        //保存角色功能授权
        function SaveRoleFun() {


            //判断是否有角色数据
            if (IsRoleCount()) return;


            var roleFuns = [];
            $("input[name='funlist']").each(function () {
                if ($(this).is(':checked')) {
                    var tid = $(this).id;
                    var tText = $(this).text();
                    roleFuns.push(
                        {
                            ID: 0,
                            sRoleId: _roleRow.ID, //角色ID
                            sFunId: this.id, //功能ID
                            bOperateAuth: $('#operate' + this.id).is(':checked') ? true : false, //可操作
                            bQueryAuth: $('#query' + this.id).is(':checked') ? true : false //可查询
                        });
                }
            });


            AjaxCall("/Sys/Role/SaveRoleFun", { roleFuns: roleFuns, roleID: _roleRow.ID }, function (data) {
                if (data == 1) $.messager.alert('提示', '保存成功', 'info');
                else $.messager.alert('错误', '保存失败', 'error');
            });
        }


将所有信息全部发到数据库里面,先删除以前该ID对应的数据,再插入新的信息。



        /// <summary>
        /// 保存角色功能授权
        /// </summary>
        /// <param name="roleFuns">角色功能授权</param>
        /// <param name="roleId">角色Id</param>
        /// <returns></returns>
        [Validate(true, "Role", "角色管理-保存角色功能授权")]
        public int SaveRoleFun(List<EHECD_RoleFunAuth> roleFuns, string roleID)
        {
            RoleBll bll = new RoleBll();
            return bll.SaveRoleFun(roleFuns, roleID);
        }


  /// <summary>
        /// 保存角色功能授权
        /// </summary>
        /// <param name="roleFuns">角色功能授权</param>
        /// <param name="roleId">角色Id</param>
        /// <returns></returns>
        public int SaveRoleFun(List<EHECD_RoleFunAuth> roleFuns, string roleId)
        {
            if (roleFuns == null)
                return 0;
            using (DBSession session = DBSession.TryGet())
            {
                try
                {
                    session.BeginTransaction();
                    session.Delete<EHECD_RoleFunAuth>(" sRoleID=? ", roleId);


                    foreach (EHECD_RoleFunAuth item in roleFuns)
                    {
                        item.ID = BllHelper.GetGUID;
                        session.Insert<EHECD_RoleFunAuth>(item);
                    }
                    session.Commit();
                    return 1;
                }
                catch (Exception ex)
                {
                    session.Rollback();
                    return 0;
                }
            }
        }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值