using Learun.Application.Base.SystemModule; using Learun.Util; using System.Collections.Generic; using System.Web.Mvc; namespace Learun.Application.Web.Areas.LR_SystemModule.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创建人:陈彬彬 /// 日 期:2017.03.09 /// 描 述:功能模块控制器 /// public class ModuleController : MvcControllerBase { #region 模块对象 private ModuleIBLL moduleIBLL = new ModuleBLL(); #endregion #region 视图 /// /// 功能模块管理视图 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 表单页面 /// /// [HttpGet] public ActionResult Form() { return View(); } #endregion #region 功能模块 /// /// 获取功能模块数据列表 /// /// [HttpGet] [AjaxOnly] public ActionResult GetModuleList() { var data = moduleIBLL.GetModuleList(); return this.JsonResult(data); } /// /// 获取树形数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetModuleTree() { var data = moduleIBLL.GetModuleTree(); return this.JsonResult(data); } /// /// 获取树形数据(带勾选框) /// /// [HttpGet] [AjaxOnly] public ActionResult GetModuleCheckTree() { var data = moduleIBLL.GetModuleCheckTree(); return this.JsonResult(data); } /// /// 获取功能列表的树形数据(只有展开项) /// /// [HttpGet] [AjaxOnly] public ActionResult GetExpendModuleTree() { var data = moduleIBLL.GetExpendModuleTree(); return this.JsonResult(data); } /// /// 获取列表数据根据父级id /// /// 父级id /// 功能类型 /// [HttpGet] [AjaxOnly] public ActionResult GetModuleListByParentId(string keyword, string parentId) { var jsondata = moduleIBLL.GetModuleListByParentId(keyword, parentId); return this.JsonResult(jsondata); } /// /// 获取树形数据(带勾选框) /// /// [HttpGet] [AjaxOnly] public ActionResult GetCheckTree() { var moduleList = moduleIBLL.GetModuleCheckTree(); var buttonList = moduleIBLL.GetButtonCheckTree(); var columnList = moduleIBLL.GetColumnCheckTree(); //var formList = moduleIBLL.GetFormCheckTree(); var jsonData = new { moduleList, buttonList, columnList //formList }; return this.JsonResult(jsonData); } /// /// 获取树形数据(带勾选框)--系统模块 /// /// [HttpGet] [AjaxOnly] public ActionResult GetCheckTreeForModuleList() { var moduleList = moduleIBLL.GetModuleCheckTree(); var jsonData = new { moduleList, }; return this.JsonResult(jsonData); } /// /// 获取树形数据(带勾选框)--系统按钮 /// /// [HttpGet] [AjaxOnly] public ActionResult GetCheckTreeForButtonList() { var buttonList = moduleIBLL.GetButtonCheckTree(); var jsonData = new { buttonList, }; return this.JsonResult(jsonData); } /// /// 获取树形数据(带勾选框)--系统视图 /// /// [HttpGet] [AjaxOnly] public ActionResult GetCheckTreeForColumnList() { var columnList = moduleIBLL.GetColumnCheckTree(); var jsonData = new { columnList //formList }; return this.JsonResult(jsonData); } #endregion #region 模块按钮 /// /// 获取功能模块按钮数据列表 /// /// 模块主键 /// [HttpGet] [AjaxOnly] public ActionResult GetButtonListNoAuthorize(string moduleId) { var data = moduleIBLL.GetButtonListNoAuthorize(moduleId); return this.JsonResult(data); } /// /// 获取功能模块按钮数据列表 /// /// 模块主键 /// [HttpGet] [AjaxOnly] public ActionResult GetButtonList(string moduleId) { var data = moduleIBLL.GetButtonList(moduleId); return this.JsonResult(data); } /// /// 获取树形数据(带勾选框) /// /// [HttpGet] [AjaxOnly] public ActionResult GetButtonCheckTree() { var data = moduleIBLL.GetButtonCheckTree(); return this.JsonResult(data); } #endregion #region 模块视图 /// /// 获取功能模块视图数据列表 /// /// 模块主键 /// [HttpGet] [AjaxOnly] public ActionResult GetColumnList(string moduleId) { var data = moduleIBLL.GetColumnList(moduleId); return this.JsonResult(data); } /// /// 获取树形数据(带勾选框) /// /// [HttpGet] [AjaxOnly] public ActionResult GetColumnCheckTree() { var data = moduleIBLL.GetColumnCheckTree(); return this.JsonResult(data); } #endregion #region 获取数据 /// /// 获取表单数据 /// /// 主键 /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string keyValue) { var module = moduleIBLL.GetModuleEntity(keyValue); var btns = moduleIBLL.GetButtonList(keyValue); var cols = moduleIBLL.GetColumnList(keyValue); var fields = moduleIBLL.GetFormList(keyValue); var jsondata = new { moduleEntity = module, moduleButtons = btns, moduleColumns = cols, moduleFields = fields }; return this.JsonResult(jsondata); } #endregion #region 提交数据 /// /// 保存功能表单 /// /// 主键值 /// 功能实体 /// 按钮实体列表 /// 视图实体列表 /// 表单字段列表 /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveForm(string keyValue, string moduleEntityJson, string moduleButtonListJson, string moduleColumnListJson,string moduleFormListJson) { var moduleButtonList = moduleButtonListJson.ToList(); var moduleColumnList = moduleColumnListJson.ToList(); var moduleFormList = moduleFormListJson.ToList(); var moduleEntity = moduleEntityJson.ToObject(); moduleIBLL.SaveEntity(keyValue, moduleEntity, moduleButtonList, moduleColumnList, moduleFormList); return Success("保存成功。"); } /// /// 删除表单数据 /// /// 主键 /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { bool res = moduleIBLL.Delete(keyValue); if (res) { return Success("删除成功。"); } else { return Fail("有子节点无法删除。"); } } #endregion #region 权限数据 /// /// 获取权限按钮和列表信息 /// /// 页面地址 /// [HttpGet] [AjaxOnly] public ActionResult GetAuthorizeButtonColumnList(string url) { Dictionary dicButton = new Dictionary(); Dictionary dicColumn = new Dictionary(); ModuleEntity moduleEntity = moduleIBLL.GetModuleByUrl(url); if (moduleEntity != null) { List buttonList = moduleIBLL.GetButtonList(moduleEntity.F_ModuleId); foreach (var item in buttonList) { if (!dicButton.ContainsKey(item.F_EnCode)) { dicButton.Add(item.F_EnCode, item.F_FullName); } } List columnList = moduleIBLL.GetColumnList(moduleEntity.F_ModuleId); foreach (var item in columnList) { if (!dicColumn.ContainsKey(item.F_EnCode)) { dicColumn.Add(item.F_EnCode.ToLower(), item.F_FullName); } } } var jsonData = new { module = moduleEntity, btns = dicButton, cols = dicColumn }; return this.JsonResult(jsonData); } #endregion } }