RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能
模块(菜单)的排序是每个系统都必须要有的功能,我们框架模块的排序在业务逻辑中已经体现。
WinForm版本可以直接在界面上对模块进行排序以控制模块展示的顺序。Web版本在3.2版本中也新增了直接可以模块管理界面对模块进行排序的人性化操作,大大的方便了管理人员。模块的排序在模块管理主界面分页按钮的右侧如下图所示。
三个按钮功能分别为:上移、下移、确认修改
WebMVC部分,模块排序功能代码参考:
/// <summary>
/// 保存模块排序功能
/// </summary>
/// <param name="parentId">父节点</param>
/// <param name="rows">数据行</param>
/// <returns></returns>
[HttpPost]
[ValidateInput(false)]
[LoginAuthorize]
public virtual ActionResult SaveSort(string parentId,string rows)
{
string message = RDIFrameworkMessage.MSG0001;
try
{
if (!IsAuthorized("ModuleManagement.Edit"))
{
return Content(new JsonMessage { Success = false, Data = "0", Message = "你没有权限操作!" }.ToString());
} int returnUpdateValue = 0;
RDIFramework.Utilities.UserInfo curUser = ManageProvider.Provider.Current();
if (!string.IsNullOrEmpty(parentId))
{
var dtModule = RDIFrameworkService.Instance.ModuleService.GetDTByParent(curUser, parentId);
var moduleOldSort = new List<KeyValuePair<string, object>>();
if (dtModule != null && dtModule.Rows.Count > 0)
{
moduleOldSort.AddRange(from DataRow row in dtModule.Rows select BaseEntity.Create<PiModuleEntity>(row) into moduleEntity select new KeyValuePair<string, object>(moduleEntity.Id, moduleEntity.SortCode));
} var moduleNewSort = new List<KeyValuePair<string, object>>();
//把json字符串转换成对象
List<PiModuleEntity> listRows = rows?.JonsToList<PiModuleEntity>();
if (listRows != null && listRows.Count > 0)
{
moduleNewSort.AddRange(listRows.Select(entity => new KeyValuePair<string, object>(entity.Id, entity.SortCode)));
} if (moduleNewSort.Count > 0 && moduleOldSort.Count > 0 && moduleNewSort.Count == moduleOldSort.Count)
{
for (int index = 0; index < moduleOldSort.Count; index++)
{
moduleOldSort[index] = moduleNewSort[index];
} foreach (var parElement in moduleOldSort)
{
PiModuleEntity updateEntity = RDIFrameworkService.Instance.ModuleService.GetEntity(curUser,parElement.Key);
if (updateEntity.SortCode != null && parElement.Value != null && !updateEntity.SortCode.Equals(BusinessLogic.ConvertToInt32(parElement.Value)))
{
updateEntity.SortCode = BusinessLogic.ConvertToInt32(parElement.Value);
string statusCode;
string statusMessage;
RDIFrameworkService.Instance.ModuleService.Update(curUser, updateEntity, out statusCode,out statusMessage);
returnUpdateValue += statusCode == RDIFramework.Utilities.StatusCode.OKUpdate.ToString()? 1: 0;
}
} if (returnUpdateValue > 0)
{
message = "操作提示:" + " <br>排序保存成功,更新数据:" + returnUpdateValue.ToString() + "条。";
return Content(new JsonMessage {Success = true, Data = "1", Message = message}.ToString());
}
message = "操作提示:" + " <br>没有排序数据被修改。";
return Content(new JsonMessage { Success = true, Data = "1", Message = message }.ToString());
} message = "操作提示:" + " <br>当前操作的记录条件与原记录条件不符。";
return Content(new JsonMessage { Success = false, Data = "0", Message = message }.ToString());
}
message = "操作提示:" + " <br>请选择一个父级节点再操作。";
return Content(new JsonMessage { Success = false, Data = "0", Message = message }.ToString());
}
catch (Exception ex)
{
return Content(new JsonMessage { Success = false, Data = "0", Message = "操作失败:" + ex.Message }.ToString());
}
}
相关文章:
RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录
RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍
一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。
RDIFramework.NET官方网站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!
RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!
欢迎关注RDIFramework.net框架官方公众微信(微信号:guosisoft),及时了解最新动态。
扫描二维码立即关注
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能的更多相关文章
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-新增锁定用户与解除锁定用户的功能
锁定用户功能在现实应用场景中得到了大量的应用,当我们需要限制某用户的登录,又不能删除这个用户时就可以使用锁定功能,如:未授权的用户尝试错误密码错误过多可以尝试的用户进行锁定,又如ATM机上取钱时密码错 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2版本正式发布
RDIFramework.NET .NET快速信息化系统开发框架 V3.2版本 正式发布 精益求精求完美! 1.RDIFramework.NET框架介绍 RDIFramework.NET,基于.NE ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增消息管理
在V3.0版本的Web(Mvc.WebForm)与WinForm中我们新增了“消息管理”模块.“消息管理”模块是对框架的所有消息进行管理.通过左侧的消息分类可以查看所选分类的所有消息列表.在主界面上我 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增查询引擎管理
欲了解V3.0版本的相关内容可查看下面的链接地址. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本发布 RDIFramework.NET — 基于.NET的快速信 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增系统参数管理
欲了解V3.0版本的相关内容可查看下面的链接地址. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本发布 在V3.0版本的Web(Mvc.WebForm)与WinF ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本新增序列管理
欲了解V3.0版本的相关内容可查看下面的链接地址. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版本发布 在V3.0版本的Web(Mvc.WebForm)与WinF ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.3版本全新发布
1.RDIFramework.NET框架介绍 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,为企业或个人快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->WinForm版本重构岗位授权管理界面更规范、高效与美观
岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改.删除.移动.对岗位设置用户,设置岗位的权限等.岗位管理在企业应用中是一个普遍应用的模块,也属于其他业务应用的基础.合理的 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->WinForm版本新增新的角色授权管理界面效率更高、更规范
角色授权管理模块主要是对角色的相应权限进行集中设置.在角色权限管理模块中,管理员可以添加或移除指定角色所包含的用户.可以分配或授予指定角色的模块(菜单)的访问权限.可以收回或分配指定角色的操作(功能) ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本新增新的角色授权管理界面效率更高、更规范
角色授权管理模块主要是对角色的相应权限进行集中设置.在角色权限管理模块中,管理员可以添加或移除指定角色所包含的用户.可以分配或授予指定角色的模块(菜单)的访问权限.可以收回或分配指定角色的操作(功能) ...
随机推荐
- vue Error: No PostCSS Config found in
最近在做一个vue的移动端的项目,遇到一个问题,我本地的项目运行正常,可是上传到github上的一启动就报错,就是标题上的错误,找了很久,刚开始以为是某个css没有配置,就把本地的复制过去还是报错,无 ...
- 解决挂载nfs共享目录失败的问题
现象:在192.168.82.131上 启动了nfs服务,并共享了/nfsfile目录,在另一台主机(ip: 192.1168.82.115)挂载的时候一直阻塞 1 初步分析是防火墙拦截导致,于是进行 ...
- Reactjs组件中的方法为什么绑定this?
前言:Reactjs中的定义的方法其实是基于实例的原型方法:es6默认严格模式 问题:在Reactjs组件中写入以下代码,那么执行结果会是什么呢? ··· 结果是这样的: 对的,你没看错,不是do ...
- 关于条件语句和 a && b
learn from javascript cookbook if (element == 'ab') array[index] = "**"; 该语句 等价于 if (eleme ...
- python语法_模块_loggin_hashlib_conifgparser
loggin模块 日志模块,级别从上往下依次增强,debug 和 info 默认不输出信息,只有后三种级别有输出信息 loggin.debug('') loggin.info('') loggin.w ...
- JavaScript 功能类 Url.js
简书原文 这个类的主要目的是为了方便平时编码中的Url类型的数据操作 Github 全局名称 全局名称是由源码的最后一行代码确定的,默认为Url,如存在相同名称的对象会抛出异常: 可以通过 requi ...
- kali linux 网络渗透测试学习笔记(二)OWASP ZAP工具扫描SQL injection漏洞失败
按照惯例,利用OWASP ZAP工具扫描SQL injection漏洞时,应该很快就可以扫描出来,但是在笔者进行扫描的时候,却遇到了以下状况: 这说明了该工具根本就没能够扫描出SQL注入的漏洞,不知道 ...
- 前端系列——jquery.i18n.properties前端国际化解决方案“填坑日记”
前言:最近,新的平台还没有开发完成,原来的老项目又提出了新的需求:系统国际化.如果是前后端完全分离的开发模式,要做国际化,真的太简单了,有现成的解决方案,基于Node构建的时下热门的任何一种技术选型都 ...
- 【RL-TCPnet网络教程】第9章 RL-TCPnet网络协议栈移植(uCOS-III)
第9章 RL-TCPnet网络协议栈移植(uCOS-III) 本章教程为大家讲解RL-TCPnet网络协议栈的uCOS-III操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移 ...
- SIP协议搭建电信级VOIP/IM运营平台--架构篇(sip集群)
移动互联网的发展为整个VOIP通信行业开拓了新的战场,一时间各类即时通信软件如雨后春筝般冒了出来,再一次创造了移动互联网的发展神话.SIP协议做为音视频通信的首选标准,应用也越来越广泛. ------ ...