欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-20 17:26:09
从篇 abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八) 至abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理七(二十五) 为止,我们已经通过EasyUI完成了货物信息管理的增删改功能基本实现。现... ......

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之货物管理四 (二十二)
 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文件,添加一个查询条件相关代码。如下图。

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

具体代码如下:

<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”文件。如下图。

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

具体代码如下:

[dontwrapresult]
        [httppost]
        public string list()
        {
            var page = request.form["page"].tostring();
            var size = request.form["rows"].tostring();
            int pageindex = page == null ? 1 : int.parse(page);
            int pagesize = size == null ? 20 : int.parse(size);

            pagedcargoresultrequestdto paged = new pagedcargoresultrequestdto();
            paged.maxresultcount = pagesize;
            paged.skipcount = ((pageindex-1)<0?0: pageindex - 1) * 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)中添加查询条件。如下图画框处。

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

     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->货物管理”菜单项,浏览器中呈现一个带查询条件的货物信息列表与四个按钮。如下图。 abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)

      9.在“货物代码”查询条件中输入“a”,然后点击“查询”按钮,然而查询结果没有变化。如下图。 abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)

     10. 在“商品编码”查询条件中输入“8548900010”,然后点击“查询”按钮,然而查询结果没有变化。如下图。 abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)

      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”的货物信息。如下图。
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)

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

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

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

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

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

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

 

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