abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之五(三十一)
(net core)+easyui+efcore实现仓储管理系统目录
abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)
abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二)
abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)
abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四)
abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九)
abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)
abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)
abp(net core)+easyui+efcore实现仓储管理系统——菜单-上 (十六)
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八)
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理一 (十九)
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理六(二十四)
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理七(二十五)
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之二(二十八)
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之三(二十九)
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之四(三十)
在上一篇文章abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之四(三十) 中我们实现了新增组织部门信息功能,不过还存在一些BUG,如下图。“自动展开和子级”没有显示,“上级组织”下拉框中没有数据显示。今天我们来继续完善组织部门信息新增功能。
十、创建下拉框树
1. 在Visual Studio 2017的“解决方案资源管理器”中,右键单击在领域层“ABP.TPLMS.Web.Mvc”项目中的Models目录。 选择“添加” > “新建文件夹”。并重命名为“Orgs”。
2. 在Visual Studio 2017的“解决方案资源管理器”中,鼠标右键单击“Org”文件夹,然后选择“添加” > “新建项…”。 在“添加新项-ABP.TPLMS.Web.Mvc”对话框中,选择“类”,并将名称命名为TreeJsonModel.cs。代码如下。
复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace ABP.TPLMS.Web.Models.Orgs
{
///
/// 构建Json数据源的数据格式,属性有id,test,children,这里名字不能够更改否则不能够读取出来
///
public class TreeJsonViewModel
{
///
/// ID
///
public int id { get; set; }
///
/// 分类
///
public string text { get; set; }
///
/// 子类
///
public List children { get; set; }
///
/// 父ID
///
public int parentId { get; set; }
public string url { get; set; }
public string state { get; set; }
}
}
复制代码
3. 在Visual Studio 2017的“解决方案资源管理器”中,右键单击在领域层“ABP.TPLMS.Web.Mvc”项目中的Controller目录中找到OrgsController.cs文件,在此文件中输入创建下拉列表树的JSON代码。
复制代码
[DontWrapResult]
[HttpGet]
public JsonResult GetJsonTree()
{
PagedOrgResultRequestDto paged = new PagedOrgResultRequestDto();
var classlist = _orgAppService.GetAll(paged).GetAwaiter().GetResult().Items;
List list = LinqJsonTree(classlist,0);
return Json(list);
}
///
/// 递归
///
///
///
private List LinqJsonTree(IReadOnlyList orgs,int parentId)
{
List jsonData = new List();
List classlist = orgs.Where(m => m.ParentId == parentId).ToList();
classlist.ToList().ForEach(item =>
{
jsonData.Add(new TreeJsonViewModel
{
id = item.Id,
children = LinqJsonTree(orgs, item.Id),
parentId = item.ParentId,
text = item.Name,
url = string.Empty,
state = parentId == 0 ? "open" : ""
});
});
return jsonData;
}
复制代码
4. 在Visual Studio 2017中按F5运行应用程序。登录之后,点击“[组织管理]”菜单,我们可以看到货物管理列表页面。然后点击“添加”按钮。如下图。
5.我们发现我们需要的“自动展开和子级”两个Checkbox复选框没有显示,而且点击“上级组织”的下拉箭头,下拉列表中也没有任何数据。我们在浏览器中按F12。会发现如下图。
6.对于上面的情况,是由于样式冲突造成的。我们重写对应的代码。代码如下。
复制代码
复制代码
分类: AspNet
好文要顶 关注我 收藏该文
DotNet菜园
关注 - 1
粉丝 - 1526
+加关注
3 0
« 上一篇: abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之四(三十)
posted @ 2019-12-20 14:24 DotNet菜园 阅读(284) 评论(0) 编辑 收藏
刷新评论刷新页面返回顶部
注册用户登录后才能发表评论,请 登录 或 注册, 访问 网站首页。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【推荐】腾讯云热门云产品限时秒杀,爆款1核2G云服务器99元/年!
【推荐】阿里云双11返场来袭,热门产品低至一折等你来抢!
【活动】京东云服务器_云主机低于1折,低价高性能产品备战双11
【活动】ECUG For Future 技术者的年度盛会(杭州,1月4-5日)
相关博文:
· abp(netcore)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六)
· abp(netcore)+easyui+efcore实现仓储管理系统——定义仓储并实现(四)
· abp(netcore)+easyui+efcore实现仓储管理系统——创建应用服务(五)
· abp(netcore)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)
· abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三)
https://www.cnblogs.com/chillsrc/p/12072901.html