abp(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之货物管理七(二十五)为止,我们已经通过EasyUI完成了货物信息管理的增删改功能基本实现。现在我们来完成查询功能。

十七、查询货物信息

1. 在Visual Studio 2017的“解决方案资源管理器”中,右键单击在领域层“ABP.TPLMS.Web.Mvc”项目中的Views\Cargo目录。 找到Index.cshmtl文件,添加一个查询条件相关代码。如下图。

具体代码如下:

<div id="dg-button">
<form name="searchform" method="post" action="" id="searchform">
<label for="Name">货物名称:</label>
<input name="Name" id="Name" class="easyui-validatebox" data-options="width:200" />
<label for="Code">货物代码:</label>
<input name="Code" id="Code" class="easyui-validatebox" data-options="width:150" />
<label for="HsCode">商品编码:</label>
<input name="HsCode" id="HsCode" class="easyui-validatebox" data-options="width:100" />
<a href="#" id="search" class="easyui-linkbutton" data-options="iconCls:'icon-search'" onclick="Search()">查询</a>
</form>
</div>

2.在Visual Studio 2017的“解决方案资源管理器”中,右键单击“ABP.TPLMS.Application”项目的 “Cargos”文件夹中,找到Paged CargoResultRequestDto.cs文件,添加查询条件属性。代码如下。

public class PagedCargoResultRequestDto : PagedResultRequestDto
{
public string Keyword { get; set; }
public string CargoName { get; set; }
public string CargoCode { get; set; }
public string HsCode { get; set; }
}
}

3. 在Visual Studio 2017的“解决方案资源管理器”中,右键单击在领域层“ABP.TPLMS.Web.Mvc”项目中的Controller目录。找到“CargoController.cs”文件。如下图。

具体代码如下:

[DontWrapResult]
[HttpPost]
public string List()
{
var page = Request.Form["page"].ToString();
var size = Request.Form["rows"].ToString();
int pageIndex = page == null ? : int.Parse(page);
int pageSize = size == null ? : int.Parse(size); PagedCargoResultRequestDto paged = new PagedCargoResultRequestDto();
paged.MaxResultCount = pageSize;
paged.SkipCount = ((pageIndex-)<?: pageIndex - ) * pageSize;
paged.CargoName = Request.Form["Name"].ToString();
paged.CargoCode = Request.Form["Code"].ToString();
paged.HsCode = Request.Form["HsCode"].ToString(); var userList = _cargoAppService.GetAll(paged).GetAwaiter().GetResult().Items;
int total = _cargoAppService.GetAll(paged).GetAwaiter().GetResult().TotalCount; //1000;
var json = JsonEasyUI(userList,total);
return json;
}

4. 在Visual Studio 2017的“解决方案资源管理器”中,找到领域层“ABP.TPLMS.Web.Mvc”项目中的wwwroot目录下的view-resources\Cargo文件夹下,找到cargomgr.js文件,在工具栏(toolbar)中添加查询条件。如下图画框处。

5.在cargomgr.js文件添加一个查询方法Search,代码如下。

function Search() {
var _$form = $('form[name=searchform]');
var params = _$form.serializeFormToObject();
$('#dgCargo').datagrid({ queryParams:params});
}

6.在Visual Studio 2017中按F5运行应用程序。

7.在浏览器中的地址栏中输入“http://localhost:5000/”,然后输入管理员用户名进行登录。

8.在主界面的菜单中,选择“Business->货物管理”菜单项,浏览器中呈现一个带查询条件的货物信息列表与四个按钮。如下图。

9.在“货物代码”查询条件中输入“A”,然后点击“查询”按钮,然而查询结果没有变化。如下图。

10. 在“商品编码”查询条件中输入“8548900010”,然后点击“查询”按钮,然而查询结果没有变化。如下图。

11.通过上面的两次测试,发现查询没有起到作用。输入查询条件,还是查询出了所有记录。接下来我们来把查询条件添加到查询方法中。在Visual Studio 2017的“解决方案资源管理器”中,右键单击“ABP.TPLMS.Application”项目的 “Cargos”文件夹中,找到CargoAppService.cs文件。重写CreateFilteredQuery方法。代码如下。

protected override IQueryable<Cargo> CreateFilteredQuery(PagedCargoResultRequestDto input)
{ return base.CreateFilteredQuery(input)
.Where(t => t.CargoName.Contains(input.CargoName))
.Where(t => t.CargoCode.Contains(input.CargoCode))
.Where(t => t.HSCode.Contains(input.HsCode))
;
}

12. 重复上面的第6、7、8步。然后在“货物代码”查询条件中输入“a”,然后点击“查询”按钮,然而查询出所有货物代码中有“a”的货物信息。如下图。

13.在“商品编码”查询条件中输入“1100120000”,然后点击“查询”按钮,然而查询出所有“商品编码”中有“1100120000”的货物信息。如下图。

14.在“商品名称”查询条件中输入“触摸屏”,然后点击“查询”按钮,然而查询出所有“商品名称”中有“触摸屏”的货物信息。如下图。

15.在“商品名称”查询条件中输入“触摸屏”,然后点击“查询”按钮,然而查询出所有“商品名称”中有“触摸屏”的货物信息,然后点击翻页。如下图。

至此,通过EasyUI进行增删改查的功能已经全部实现。

abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)的更多相关文章

  1. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理一 (十九)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  2. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理二 (二十)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  3. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理三 (二十一)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  4. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理四 (二十二)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  5. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理五 (二十三)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  6. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理六(二十四)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  7. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理七(二十五)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  8. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八)

    目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) ab ...

  9. abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

随机推荐

  1. 将jar包发布到maven的中央仓库细节整理

    在学习springboot框架的时候,会引入各种各样的starter依赖,照着教程尝试写了个demo-spring-boot-stater,可以理解为一个组件,随引随用 但是只能自己引用,无法共享,于 ...

  2. Jmeter Json List Element Assertion使用详解

    使用背景: jmeter4.0本身提供json Assertion断言,但当我们想要对返回的json list中的多个字段进行断言的时候,我们就会感到很无力.那么此时我们就可以通过Json List ...

  3. restTemplate getForObject中map传参问题

    在使用restTemplate中getForObject的map传参形式时: 开始时我是这么调用的: RestTemplate rest = new RestTemplate(); Map<St ...

  4. 想转行做3D游戏模型,如何快速入行

    随着技术和硬件迭代,3D建模,广泛运用在游戏,影视,动画,VR等领域,而且就业面非常广. 由于3D美术设计师薪资和前景确实都不错,很多同学想进入这个行业,从事相关工作,但是没有一个整体的学习思路和规划 ...

  5. RF作用与目的

    robotframework自动化原理:通过ride工具编写脚本,加载指定的UI测试库,再通过pybot程序去运行指定脚本,调用浏览器驱动,打开浏览器,操作浏览器页面元素,达到模拟用户操作的行为 为什 ...

  6. 使用jmeter进行压力测试入门讲解

    1.下载安装jmeter 略 我这里放上5.1版本的,有需要可以下载 链接:https://pan.baidu.com/s/1xRZZmTY4do1oDU_xPit94Q&shfl=share ...

  7. AppBoxFuture: 服务模型的在线调试与性能监测

      框架内的服务模型(ServiceModel)用于处理各类业务逻辑(如最简单的CRUD操作),在设计时以类似于伪代码的形式存在,发布时后端会通过Roslyn转换并编译为运行时代码.为了方便开发者作者 ...

  8. opencv::基本阈值操作

    图像阈值(threshold) 阈值 是什么?简单点说是把图像分割的标尺,这个标尺是根据什么产生的,阈值产生算法?阈值类型.(Binary segmentation) 阈值类型一阈值二值化(thres ...

  9. Cocos Creator实现1024游戏,免费提供代码。

    效果预览 ​ 获取代码 私信或留言.  游戏介绍 ● Github上的代码,不能进行合并操作,修改以后,功能类似2048,空白块赏随机位置,生成2,可以往左.右.上.下滑动,数字会朝着指定方向运动,相 ...

  10. 以np.concatenate为主题,谈谈numpy数组按维度合并的问题

    1.引言 最近在做多模态融合的图像问题,其中最需要解决的就是不同模态的图像用什么方法进行融合,最简单也最直观的方法就是采用合并数组的方法,将不同模态的图像合并为多通道进行处理.在一些论文中,比如< ...