abp(net core)+easyui+efcore實現倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之六(三十二)

来源:https://www.cnblogs.com/chillsrc/archive/2019/12/29/12116075.html
-Advertisement-
Play Games

在上一篇文章 abp(net core)+easyui+efcore實現倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之五(三十一) 中我們實現了新增組織部門信息功能,不過還存在一些BUG。今天我們來繼續完善組織部門信息新增功能,併進行測試。 ...


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實現倉儲管理系統——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結合增刪改查之五(三十一)  

   在上一篇文章 abp(net core)+easyui+efcore實現倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之五(三十一) 中我們實現了新增組織部門信息功能,不過還存在一些BUG。今天我們來繼續完善組織部門信息新增功能,併進行測試。

 

十一、載入異常解決

    1.在“添加組織信息”界面中輸入相應的組織信息之後,點擊“保存”按鈕 。在彈出的確認對話框中點擊“確定”按鈕。在保存成功之後,而且資料庫中的記錄正好超過了10條,在進行樹列表初始化時,數據無法顯示。如下圖。

     2.在“組織信息”列表界面中使用滑鼠點擊“添加”按鈕,彈出“添加組織信息”界面,我們使用滑鼠點擊“上級組織”,無法顯示任何數據。如下圖。

 

      3. Visual Studio 2017的按F5運行,同時在“ABP.TPLMS.Web.Mvc”項目的Controller目錄中找到OrgsController.cs文件,在GetJsonTree中設置斷點。如下圖。我們發現classlist對象中只有10條數據,而實際上我們有12條數據。是不是由於這個原因造成的呢?

 

 

     4. 我們來看一下PagedOrgResultRequestDto對象paged,發現paged的屬性MaxResultCount=10,如下圖。Paged實例預設最多查詢10條記錄。

     5. Visual Studio 2017的“ABP.TPLMS.Web.Mvc”項目的Controller目錄中找到OrgsController.cs文件,代碼中添加最大查詢記錄數。代碼修改如下: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Abp.AspNetCore.Mvc.Authorization;
using Abp.Web.Models;
using ABP.TPLMS.Controllers;
using ABP.TPLMS.Orgs;
using ABP.TPLMS.Orgs.Dto;
using ABP.TPLMS.Web.Models.Orgs;
using Microsoft.AspNetCore.Mvc;

 

// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 

namespace ABP.TPLMS.Web.Controllers
{

    [AbpMvcAuthorize]
    public class OrgsController : TPLMSControllerBase
    {

        private readonly IOrgAppService _orgAppService;
        private const int MAX_COUNT= 1000;
        public OrgsController(IOrgAppService orgAppService)
        {
            _orgAppService = orgAppService;
        }

        [HttpGet]
        // GET: /<controller>/

        public IActionResult Index()
        {
            return View();
        }

        [DontWrapResult]
        [HttpPost]
        public string List()
        {

            PagedOrgResultRequestDto paged = new PagedOrgResultRequestDto();

            paged.MaxResultCount = MAX_COUNT;
            var userList = _orgAppService.GetAll(paged).GetAwaiter().GetResult().Items;

            int total = userList.Count;
            var json = JsonEasyUI(userList, total);
            return json;

        }

        [DontWrapResult]
        [HttpGet]
        public JsonResult GetJsonTree()
        {

            PagedOrgResultRequestDto paged = new PagedOrgResultRequestDto();

            paged.MaxResultCount = MAX_COUNT;
            var classlist = _orgAppService.GetAll(paged).GetAwaiter().GetResult().Items;
            List<TreeJsonViewModel> list = LinqJsonTree(classlist,0);     

            return Json(list);

        }

        /// <summary>
        /// 遞歸
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        //

        private List<TreeJsonViewModel> LinqJsonTree(IReadOnlyList<OrgDto> orgs,int parentId)
        {

            List<TreeJsonViewModel> jsonData = new List<TreeJsonViewModel>();
            List<OrgDto> 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;
        }
    }
}
    6.在Visual Studio 2017的解決方案資源管理器中,按F5運行應用程式。

     7.在瀏覽器中的地址欄中輸入“http://localhost:5000/”,然後輸入管理員用戶名進行登錄。

     8.在主界面的菜單中,選擇“Business->組織管理”菜單項,瀏覽器中呈現一個組織信息列表與四個按鈕。組織信息能正常顯示。如下圖。

 

      9.在“組織管理”列表頁面中使用滑鼠點擊“添加”按鈕,彈出“添加組織信息”界面。如下圖。

 

 

 

十二、測試新增組織信息

     1.在Visual Studio 2017的解決方案資源管理器中,按F5運行應用程式。

     2.在瀏覽器中的地址欄中輸入“http://localhost:5000/”,然後輸入管理員用戶名進行登錄。

     3.在主界面的菜單中,選擇“Business->組織管理”菜單項,瀏覽器中呈現一個組織信息列表與四個按鈕。如下圖。關於菜單的生成可以參見文章(

abp(net core)+easyui+efcore實現倉儲管理系統——菜單-上 (十六)     、abp(net core)+easyui+efcore實現倉儲管理系統——菜單-下(十七)  )。

 

 

     4.新增組織:點擊“添加”按鈕,彈出一個“添加組織信息”的操作界面,如下圖中所示。

     5.在輸入相應的貨物信息之後,點擊“保存”按鈕 。在彈出的確認對話框中點擊“確定”按鈕。在彈出的“保存成功”確認對話框中點擊“確定”按鈕。如下圖。

 

       6.彈出保存成功。見下圖。

 

 

 

 

   

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這篇文章介紹的內容是關於最全最詳細的PHP面試題(帶有答案),有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下 相關推薦: 分享一波騰訊PHP面試題 2019年PHP最新面試題(含答案) Redis 高級面試題 學會這些還怕進不了大廠? 阿裡面試官三年經驗PHP程式員知識點彙總,學會你就 ...
  • Python第五十一天 python2升級為python3 公司使用的生產環境系統是centos7,所以這裡以centos7系統為基礎,講解將python2升級為python3的方法 centos7系統預設已經安裝了python2.7,但是python2的生命周期到2020年1月1日就會終結,在這個 ...
  • 1.用於檢索敏感辭彙 # !/usr/bin/python # -*- coding:utf-8 -*- info = input('請輸入檢索內容:') li = ['蒼老師','東京熱'] for i in li: if i in info: info = info.replace(i,'*** ...
  • 《瘋狂Java講義(第4版)》是《瘋狂Java講義》的第4版,第4版保持了前3版系統、全面、講解淺顯、細緻的特性,全面新增介紹了Java 9的新特性。 《瘋狂Java講義(第4版)》深入介紹了Java編程的相關方面,《瘋狂Java講義(第4版)》內容覆蓋了Java的基本語法結構、Java的面向對象特 ...
  • 1.引言 上一篇博文關於淺拷貝和深拷貝 https://www.cnblogs.com/zhaoyixiang/p/12116203.html 我們瞭解到我們在淺拷貝時對帶指針的對象進行拷貝會出現記憶體泄漏,那C++是否可以實現像python,JAVA一樣引入垃圾回收機制,來靈活的來管理記憶體。 遺憾的 ...
  • 上一篇文章我們已經知道可以通過task.wait/task.WaitAny/task.WaitAll,等方法來實現等待一個tsak或者一組task的執行完畢,這一個方法都會阻塞主線程也就是這一些操作都是主流程的一個必然環節,但是我們在實際項目中,也還會遇到這樣的場景,那就是主流程根本不關心task的... ...
  • 時間如流水,只能流去不流回! 點贊再看,養成習慣,這是您給我創作的動力! 本文 Dotnet9 https://dotnet9.com 已收錄,站長樂於分享dotnet相關技術,比如Winform、WPF、ASP.NET Core、Xamarin.Forms等,亦有C++桌面相關的Qt Quick和 ...
  • 隨著.NET Core 3.1的發佈,國內2019 中國.NET開發者峰會在上海的成功舉辦。從技術採用生命周期的角度來說,隨著.NET Core 3.1的發佈,有越來越多的廠商開始採用.NET Core, .NET Core 正在跨越技術鴻溝。.NET Core 正是順應應用程式現代化,應用程式容器... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...