Пример #1
0
        //构建树形菜单的action
        public ActionResult MyFunction()
        {
            int userid = int.Parse(Session["userid"].ToString());

            var user = (from u in medc.ps_user
                        where u.id == userid
                        select u).FirstOrDefault();
            //查询所属角色
            var role = (from r in medc.ps_role
                        where r.id == user.roleId
                        select r).FirstOrDefault();

            DataSource ds = new DataSource();

            ds.usercode = user.userCode;
            ds.rolename = role.roleName;

            MyMenus mm = new MyMenus();

            TreeData(0, mm);

            ds.mm = mm;

            ds.userinfo = user;

            return(Json(ds, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        public ActionResult GetMenuData()
        {
            DataSource ds = new DataSource();

            MyMenus mm = new MyMenus();

            TreeData(1, mm);

            ds.mm = mm;

            //查询角色表数据
            var rolelist = (from r in medc.ps_role
                            select r).ToList();

            ds.rolelist = rolelist;

            return(Json(ds));
        }
Пример #3
0
        public void TreeData(int?parentid, MyMenus mm)
        {
            List <ps_function> list = GetMenusData(parentid);

            foreach (var v in list)
            {
                var fun = (from f in medc.ps_function
                           where f.id == v.parentId
                           select f).FirstOrDefault();
                MyMenus mymenus = null;
                if (fun != null)
                {
                    mymenus = new MyMenus()
                    {
                        id         = v.id,
                        funcode    = v.functionCode,
                        funname    = v.functionName,
                        funurl     = v.funcUrl,
                        parentid   = v.parentId,
                        parentname = fun.functionName,
                        isStart    = v.isStart
                    };
                }
                else
                {
                    mymenus = new MyMenus()
                    {
                        id         = v.id,
                        funcode    = v.functionCode,
                        funname    = v.functionName,
                        funurl     = v.funcUrl,
                        parentid   = v.parentId,
                        parentname = null,
                        isStart    = v.isStart
                    };
                }

                mm.MMlist.Add(mymenus);

                //递归调用
                TreeData(v.id, mymenus);
            }
        }
Пример #4
0
        /// <summary>
        /// 绑定选择框
        /// </summary>
        public void Bind()
        {
            // 首先绑定目录
            var dsMenu = _systemMenuBll.GetList("category = '目录'");

            MyMenus.DataSource = dsMenu;
            MyMenus.DataBind();

            // 然后绑定页面
            foreach (Control item in MyMenus.Items)
            {
                // checkbox容器,用来装载
                if (!(item.FindControl("MyCheckBoxList") is CheckBoxList checklist))
                {
                    return;
                }

                // 隐藏域,当前目录的ID
                if (!(item.FindControl("hfModuleID") is HiddenField hidId))
                {
                    return;
                }

                // 查询所有二级页面
                var ds = _systemMenuBll.GetList("ParentID=" + Convert.ToInt32(hidId.Value));
                _systemMenuModel = _systemMenuBll.GetModel(Convert.ToInt32(hidId.Value));

                if (ds.Tables[0].Rows.Count <= 0)
                {
                    continue;
                }
                for (var i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    for (var j = 0; j < 12; j++)
                    {
                        switch (j)
                        {
                        case 0:
                            checklist.Items.Add(new ListItem(_systemMenuModel.FullName + "--" + ds.Tables[0].Rows[i]["FullName"] + "--" + "查看", _systemMenuModel.MenuRole + "||" + ds.Tables[0].Rows[i]["MenuRole"] + "Show||" + ds.Tables[0].Rows[i]["MenuRole"] + "List||" + ds.Tables[0].Rows[i]["MenuRole"]));
                            break;

                        case 1:
                            checklist.Items.Add(new ListItem("添加", ds.Tables[0].Rows[i]["MenuRole"] + "Add"));
                            break;

                        case 2:
                            checklist.Items.Add(new ListItem("修改", ds.Tables[0].Rows[i]["MenuRole"] + "Modify"));
                            break;

                        case 3:
                            checklist.Items.Add(new ListItem("删除", ds.Tables[0].Rows[i]["MenuRole"] + "Del"));
                            break;

                        case 4:
                            checklist.Items.Add(new ListItem("导入", ds.Tables[0].Rows[i]["MenuRole"] + "Import"));
                            break;

                        case 5:
                            checklist.Items.Add(new ListItem("导出", ds.Tables[0].Rows[i]["MenuRole"] + "Export"));
                            break;

                        case 6:
                            checklist.Items.Add(new ListItem("打印", ds.Tables[0].Rows[i]["MenuRole"] + "Print"));
                            break;

                        case 7:
                            checklist.Items.Add(new ListItem("查询", ds.Tables[0].Rows[i]["MenuRole"] + "Search"));
                            break;

                        case 8:
                            checklist.Items.Add(new ListItem("刷新", ds.Tables[0].Rows[i]["MenuRole"] + "Refresh"));
                            break;

                        case 9:
                            checklist.Items.Add(new ListItem("审批", ds.Tables[0].Rows[i]["MenuRole"] + "Accredit"));
                            break;

                        case 10:
                            checklist.Items.Add(new ListItem("查看全部", ds.Tables[0].Rows[i]["MenuRole"] + "AllShow"));
                            break;
                        }
                    }
                }
            }
        }