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
}
}