权限管理系统展示

1.通用增删改查

 

2.权限菜单控制

3.角色

4.用户

6.操作日志

 

8.部分代码展示:

/// <summary>
        /// 添加
        /// </summary>
        /// <returns></returns>
        public IntResponse Add(Model.Employee model)
        {
            IntResponse rel = new IntResponse();
            SqlHelper db = SqlHelper.Instance;
            SqlCommand cmd = db.GetSqlStringCommond(@"
if exists(select 0 from Employee(nolock) where UserName=@UserName)
begin
    set @ErrCode='1002'
    set @ErrMsg='用户已存在'
end
else
begin
    INSERT INTO Employee
        ([UserName],[UserNick],[UserPwd],[Desciption],[IsDisable],[Note],[AddMan],[AddTime])
    VALUES    (@UserName,@UserNick,@UserPwd,@Desciption,@IsDisable,@Note,@AddMan,getdate())
end");
            db.AddInParameter(cmd, "@UserName", SqlDbType.NVarChar, model.UserName);
            db.AddInParameter(cmd, "@UserNick", SqlDbType.NVarChar, model.UserNick);
            db.AddInParameter(cmd, "@UserPwd", SqlDbType.NVarChar, EncryptHelper.Md5(model.UserPwd.Trim()));
            db.AddInParameter(cmd, "@Desciption", SqlDbType.NVarChar, model.Desciption);
            db.AddInParameter(cmd, "@IsDisable", SqlDbType.Bit, model.IsDisable);
            db.AddInParameter(cmd, "@Note", SqlDbType.NVarChar, model.Note);
            db.AddInParameter(cmd, "@AddMan", SqlDbType.Int, model.AddMan);
            db.AddOutParameter(cmd, "@ErrCode", SqlDbType.NVarChar, 100);
            db.AddOutParameter(cmd, "@ErrMsg", SqlDbType.NVarChar, 100);
            int exRel = db.ExecuteNonQuery(cmd);

            var errCode = cmd.Parameters["@ErrCode"].Value ?? "";
            if (string.IsNullOrEmpty(errCode.ToString()))
            {
                if (exRel > -1)
                {
                    rel.Num = exRel;
                    OperateLog.Instance.Add(cmd, 1002001, "添加用户");
                }
                else
                {
                    rel.ErrCode = "1001";
                    rel.ErrMsg = "指令执行失败";
                }
            }
            else
            {
                rel.ErrCode = cmd.Parameters["@ErrCode"].Value.ToString();
                rel.ErrMsg = cmd.Parameters["@ErrMsg"].Value.ToString();
            }
            return rel;
        }
/// <summary>
        /// 获取一条数据
        /// </summary>
        /// <param name="cacheTime">缓存时间</param>
        /// <param name="id"></param>
        /// <returns></returns>
        public ItemResponse<Model.Menu> GetModel(int cacheTime, int id)
        {
            if (cacheTime > 0)
            {
                ItemResponse<Model.Menu> item;
                string key = Global.Global.AppKey + "Fei.BLL.Menu-GetModel-" + cacheTime + id;
                object obj = CacheHelper.Get(key);
                if (obj == null)
                {
                    item = dal.GetModel(id);
                    if (!item.IsError)
                    {
                        CacheHelper.Set(key, obj, DateTime.Now.AddMilliseconds(cacheTime));
                    }
                }
                else
                {
                    item = obj as ItemResponse<Model.Menu>;
                }
                return item;
            }
            else
            {
                return dal.GetModel(id);
            }
        }
//过滤器Validate 实现权限控制
[Validate(ValidateCode = "menu-list")]
        public ActionResult List([Bind(Prefix = "p1")]int pageIndex = 1)
        {
            ViewModels.MenuList vm = new ViewModels.MenuList();
            vm.List = BLL.Menu.Instance.GetListForPermisson(0);
            if (vm.List.IsError)
            {
                throw new Exception("数据查询出错");
            }

            return View(vm);
        }
/**
*客户端生成页码条
*苗建龙
*/
fei = {}
fei.pageBar = function (config) {
    this.nowPage = 1;
    this.totalSize = 100;
    this.pageSize = 10;
    this.pageNumBarLength = 2;
    this.firstPageText = "首页";
    this.upPageText = "上一页";
    this.downPageText = "下一页";
    this.lastPageText = "末页";
    this.isSyncPageSize = false;
    this.callback = function (index) { alert(index); }

    for (var item in config) {
        this[item] = config[item];
    }
}

fei.pageBar.prototype.render = function (id) {
    var me = this;

    this.container = document.getElementById(id) || document.body;
    this.container.innerHTML = "";

    if (this.isSyncPageSize) {
        this._appendSyncPageSize();
    }


    this.nowPage = parseInt(this.nowPage, 10);
    this.totalSize = parseInt(this.totalSize, 10);
    this.pageSize = parseInt(this.pageSize, 10);
    this.pageNumBarLength = parseInt(this.pageNumBarLength, 10);
    this.totalPage = Math.ceil(this.totalSize / this.pageSize) < 1 ? 1 : Math.ceil(this.totalSize / this.pageSize);


    if (this.nowPage < 1) {
        this.nowPage = 1;
    }
    if (this.totalSize < 1) {
        this.totalSize = 1;
    }

    this._getPageNumText(1, this.firstPageText);

    var up = this.nowPage - 1;
    if (up < 1) {
        up = 1;
    }
    this._getPageNumText(up, this.upPageText);

    this._appendPageNumBar();

    var down = this.nowPage + 1;
    if (down > this.totalPage) {
        down = this.totalPage;
    }
    this._getPageNumText(down, this.downPageText);

    this._getPageNumText(this.totalPage, this.lastPageText);
}

fei.pageBar.prototype._appendSyncPageSize = function () {
    var me = this;

    var my = document.createElement("label");
    my.innerHTML = "每页";
    me.container.appendChild(my);

    var dom_pageSize = document.createElement("input");
    dom_pageSize.setAttribute("type", "text");
    //dom_pageSize.setAttribute("style", "width: 30px;");
    dom_pageSize.setAttribute("value", this.pageSize.toString());
    dom_pageSize.style.width = "25px";
    var pageSizeChangeFn = function () {
        me.pageSize = parseInt(dom_pageSize.value, 10);
    }
    if (dom_pageSize.addEventListener) {
        dom_pageSize.addEventListener("keyup", pageSizeChangeFn, false);
    }
    else if (dom_pageSize.attachEvent) {
        dom_pageSize.attachEvent('onkeyup', pageSizeChangeFn);
    }
    else {
        dom_pageSize["onkeyup"] = pageSizeChangeFn;
    }
    me.container.appendChild(dom_pageSize);

    var t = document.createElement("label");
    t.innerHTML = "条&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    me.container.appendChild(t);
}

fei.pageBar.prototype._appendPageNumBar = function () {
    var i = this.nowPage - this.pageNumBarLength;
    if (i < 2) {
        i = 2;
    }
    this._getPageNumText(1, "1", true);
    if (i > 2) {
        var split = document.createElement("i");
        split.innerHTML = "...";
        this.container.appendChild(split);
    }
    for (i; i < this.nowPage; i++) {
        this._getPageNumText(i, i, true);
    }

    var numMax = this.nowPage + this.pageNumBarLength;
    if (numMax > this.totalPage - 1) {
        numMax = this.totalPage - 1;
    }
    var j = this.nowPage;
    if (j < 2) {
        j = 2;
    }
    for (j; j <= numMax; j++) {
        this._getPageNumText(j, j, true);
    }

    if (numMax < this.totalPage - 1) {
        var split = document.createElement("i");
        split.innerHTML = "...";
        this.container.appendChild(split);
    }

    if (this.totalPage > 1) {
        this._getPageNumText(this.totalPage, this.totalPage, true);
    }
}

fei.pageBar.prototype._getPageNumText = function (pageNum, pageText, isNum) {
    var me = this;
    if (pageNum == me.nowPage) {
        if (isNum) {
            var nowNum = document.createElement("span");
            nowNum.className = "active";
            nowNum.setAttribute("class", "active");
        }
        else {
            var nowNum = document.createElement("span");
        }
        nowNum.innerHTML = pageText;
        me.container.appendChild(nowNum);
    }
    else {
        var num = document.createElement("a");
        num.href = "javascript:void(0)";
        if (!isNum) {
            num.className = "span";
            num.setAttribute("class", "span");
        }

        var fn = function () {
            me.callback.call(window, pageNum);
        }
        if (num.addEventListener) {
            num.addEventListener("click", fn, false);
        }
        else if (num.attachEvent) {
            num.attachEvent('onclick', fn);
        }
        else {
            num["onclick"] = fn;
        }
        num.innerHTML = pageText;
        this.container.appendChild(num);
    }
}
JavaScript

 

 

本系统为个人兴趣开发。大部分代码使用自制代码生成器生成,前段样式css、HTML、js页码条、js弹出框等全部自己写出来的

生成器展示

http://www.cnblogs.com/fei85454645/p/4164531.html

 

 

本文链接http://www.cnblogs.com/fei85454645/articles/4186536.html

posted @ 2014-12-26 13:15  ◆Fei灬龙ぷ  阅读(279)  评论(0)    收藏  举报