using Ninject; using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.Model.Entity; using WX.CRM.Model.MAP; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Base { public class RoleController : BaseController { private IBAS_ROLE roleBiz; private IBAS_ROLE_Q roleBiz_Q; [Inject] public IBAS_RIGHT_LEVEL bas_right_level { get; set; } ValidationErrors errors = new ValidationErrors(); public RoleController(IBAS_ROLE _roleBiz, IBAS_ROLE_Q _roleBiz_Q) { this.roleBiz = _roleBiz; this.roleBiz_Q = _roleBiz_Q; } #region 首页 [AuthorizeRedirect(Roles = InitRights.CONST_角色管理)] public ActionResult Index() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.角色管理, userRightId); tool.AllowButton(toolbtn); // tool.AllowButton("Create", "Edit", "Details", "Other1", "Delete"); tool.AddOtherButton("Other1", "更新顺序", "icon-reload", "UpdateSort_Click", true); tool.AddOtherButton("Other2", "设置页面等级", "icon-edit", "SetDengji_Click", true); ViewBag.ToolBar = tool; //DataGrid string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("ROLEID", "10%", "角色ID"); tab.AddHeadCol("RNAME", "", "角色名称 "); tab.AddHeadCol("CODE", "", "编码"); tab.AddHeadCol("REMARK", "", "说明"); tab.AddHeadCol("SORTID", "10%", "排序"); //tab.AddHeadCol("LEVEL", "10%", "等级"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetTable(); return View(); } /// /// 获取全部数据列表 /// /// [AuthorizeRedirect(Roles = InitRights.CONST_角色管理)] public JsonResult GetHtmlList(string columns) { List modelist = roleBiz_Q.GetList(); Table table = new Table(columns, true); foreach (WX.CRM.Model.Entity.BAS_ROLE model in modelist) { table.AddCol(model.ROLEID); table.AddCol("text-align:left;padding-left:20px;", "", model.RNAME); table.AddCol("text-align:left;padding-left:20px;", "", model.CODE); table.AddCol(model.REMARK); table.AddCol(string.Format("", model.SORTID, model.ROLEID)); //table.AddCol(""); table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 设置等级 [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Other2)] public ActionResult RoleLevel() { //ToolBar //ToolBar tool = new ToolBar(); //string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.角色管理, userRightId); //tool.AllowButton(toolbtn); //// tool.AllowButton("Create", "Edit", "Details", "Other1", "Delete"); //tool.AddOtherButton("Other1", "更新顺序", "icon-reload", "UpdateSort_Click", true); //tool.AddOtherButton("Other2", "设置页面等级", "icon-edit", "SetDengji_Click", true); //ViewBag.ToolBar = tool; //DataGrid string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("PKID", ""); tab.AddHeadCol("RIGHTID", "7%", "权限ID "); tab.AddHeadCol("RNAME", "8%", "权限名称"); tab.AddHeadCol("ROLECODE", "10%", "角色编码"); tab.AddHeadCol("REMARKS", "10%", "备注"); tab.AddHeadCol("STATUS", "10%", "状态"); tab.AddHeadCol("CTIME", "10%", "创建时间"); tab.AddHeadCol("LEVEL", "", "等级"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetTable(); return View(); } /// /// 获取全部数据列表 /// /// [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Other2)] public JsonResult GetRoleLevelHtmlList(string columns, string rightcode, string rolecode) { List modelist = bas_right_level.GetList(rightcode, rolecode); Table table = new Table(columns, true); foreach (Bas_Right_Level_Map model in modelist) { table.AddHiddenCol(model.PKID); table.AddCol("text-align:left;padding-left:20px;", "", model.RIGHTID); table.AddCol("text-align:left;padding-left:20px;", "", model.RNAME); table.AddCol("text-align:left;padding-left:20px;", "", model.ROLECODE); table.AddCol(model.REMARKS); if (model.STATUS == 1) { table.AddCol("正常"); } else { table.AddCol("禁用"); } table.AddCol(model.CTIME.ToUnityString(1)); if (model.Detail.Count > 0) { string dptname = "营业部:"; List dpt = model.Detail.Where(m => m.TYPEID == 2).ToList(); foreach (var item in dpt) { dptname += string.Format("\"{0}\"", item.deptName); } string gname = "销售组:"; List gp = model.Detail.Where(m => m.TYPEID == 1).ToList(); foreach (var item in gp) { gname += string.Format("\"{0}-{1}\"", item.deptName, item.groupName); } string newstr = string.Empty; if (dpt.Count > 0) { newstr += dptname; } if (gp.Count > 0) { if (!string.IsNullOrEmpty(newstr)) newstr += "
"; newstr += gname; } table.AddCol("text-align:left;padding-left:20px;", "", newstr); } table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #region 编辑 [HttpGet] [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Other2)] public ActionResult LevelEdit(decimal? id, string rolecode) { BAS_RIGHT_LEVEL model = new BAS_RIGHT_LEVEL() { ROLECODE = rolecode, PKID = 0, STATUS = 1 }; if (id.HasValue) { model = bas_right_level.GetModel(id.Value); List detailList = bas_right_level.GetDetailModel(id.Value); ViewBag.detail = detailList; } return View(model); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Other2)] public JsonResult LevelEdiSavet(Bas_Right_Level_Save model) { BAS_RIGHT_LEVEL main = new BAS_RIGHT_LEVEL() { PKID = model.PKID, REMARKS = model.REMARKS, RIGHTID = model.RIGHTID, RNAME = model.RNAME, ROLECODE = model.ROLECODE, STATUS = model.STATUS }; List list = JsonHelper.JsonDivertToObj>(model.Detail); if (model.PKID == 0) { main.CTIME = DateTime.Now; bool result = bas_right_level.Create(ref errors, main, list); CacheHelper.Remove("cache_BAS_RIGHT_LEVEL_DETAIL"); return JsonHandler.InsertMessage(errors, result); } else { bool result = bas_right_level.Update(ref errors, main, list); CacheHelper.Remove("cache_BAS_RIGHT_LEVEL_DETAIL"); return JsonHandler.UpdateMessage(errors, result); } } #endregion [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Other2)] public JsonResult LevelDelete(decimal id) { bool result = bas_right_level.Delete(ref errors, id); CacheHelper.Remove("cache_BAS_RIGHT_LEVEL_DETAIL"); return JsonHandler.DeleteMessage(errors, result); } #endregion #region 详细 [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Details)] public ActionResult Details(string id) { if (string.IsNullOrWhiteSpace(id)) return View(new WX.CRM.Model.Entity.BAS_ROLE()); else return View(roleBiz_Q.GetModel(Convert.ToDecimal(id))); } #endregion #region 编辑 [HttpGet] [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Edit)] public ActionResult Edit(string id) { decimal inid = id == null ? 0 : Convert.ToDecimal(id); WX.CRM.Model.Entity.BAS_ROLE model = new WX.CRM.Model.Entity.BAS_ROLE(); if (inid != 0) model = roleBiz_Q.GetModel(inid); return View(model); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Edit)] public JsonResult Edit(WX.CRM.Model.Entity.BAS_ROLE model) { if (!ModelState.IsValid) return JsonHandler.ValidateFailMessage(); if (model.ROLEID == 0) { model.CTIME = DateTime.Now; model.CREATEUSER = UserId; bool result = roleBiz.Create(ref errors, model); return JsonHandler.InsertMessage(errors, result); } else { model.UTIME = DateTime.Now; model.UPDATEUSER = UserId; bool result = roleBiz.Update(ref errors, model); return JsonHandler.UpdateMessage(errors, result); } } #endregion #region 删除 [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Delete)] public JsonResult Delete(string id) { if (string.IsNullOrWhiteSpace(id)) return JsonHandler.ManageMessage("参数不对!", false); bool result = roleBiz.Delete(ref errors, Convert.ToDecimal(id)); return JsonHandler.DeleteMessage(errors, result); } #endregion #region 更新列表数据排序 /// /// 更新列表数据排序 /// /// [AuthorizeToolBar(InitRights.CONST_角色管理, InitToolBar.CONST_Other1)] public JsonResult Sort(string roleIds, string sortIds) { bool result = roleBiz.Sort(ref errors, roleIds, sortIds); return JsonHandler.ManageMessage(errors, result); } #endregion #region 获取角色树形 [HttpPost] /// /// 获取角色树形 /// /// public JsonResult GetRoleTree() { return Json(roleBiz_Q.GetRoleTree(), JsonRequestBehavior.AllowGet); } #endregion #region 获取角色树形(包括了树头) [HttpPost] /// /// 获取角色树形 /// /// public JsonResult GetRoleAllTree() { List obj = new List() { new { id = 0, text = "所有角色", iconCls = " icon-group", children = roleBiz_Q.GetRoleTree() } }; return Json(obj, JsonRequestBehavior.AllowGet); } #endregion } }