From 40504b9aa5f464d9f903722ded97ba710fadef4e Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Tue, 14 Jan 2020 12:21:07 +0800 Subject: [PATCH] update Former-commit-id: 8696a62334db2b92f4f1d79b741344713d706cf9 --- projects/IoTCenter/Api/NodeController.cs | 32 +++++++++++++------ projects/IoTCenter/Api/ProductController.cs | 20 ++++-------- projects/WebApp/wwwroot/js/store.js | 14 ++++++-- projects/WebApp/wwwroot/pages/iot/device.html | 15 ++++----- projects/WebApp/wwwroot/pages/iot/device.js | 18 +++++++---- projects/WebApp/wwwroot/pages/iot/node.html | 12 +++---- projects/WebApp/wwwroot/pages/iot/node.js | 23 +++++++------ projects/WebApp/wwwroot/pages/iot/nodes.html | 2 +- .../WebApp/wwwroot/pages/iot/product.html | 8 ++--- projects/WebApp/wwwroot/pages/iot/product.js | 18 +++++++---- 10 files changed, 96 insertions(+), 66 deletions(-) diff --git a/projects/IoTCenter/Api/NodeController.cs b/projects/IoTCenter/Api/NodeController.cs index bad6eb10..f0621fab 100644 --- a/projects/IoTCenter/Api/NodeController.cs +++ b/projects/IoTCenter/Api/NodeController.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using System; +using System.ComponentModel.DataAnnotations; using System.Linq; namespace UserCenter.Controllers @@ -32,16 +33,6 @@ namespace UserCenter.Controllers { try { - //var model = this._nodeCategoryRepo.ReadOnlyTable() - // .Include(o => o.CategoryNodes) - // .ThenInclude(o => o.Node) - // .OrderBy(o => o.DisplayOrder) - // .Select(o => new - // { - // o.Name, - // o.DisplayOrder, - // Nodes = o.CategoryNodes.Select(o => o.Node) - // }); var model = this._nodeRepo.ReadOnlyTable() .Select(o => new { @@ -60,5 +51,26 @@ namespace UserCenter.Controllers return Problem(ex.Message); } } + + [HttpPost] + public ActionResult GetNode([Required]string number) + { + try + { + var model = this._nodeRepo.ReadOnlyTable() + .Include(o => o.Devices) + .ThenInclude(o => o.Product) + .Include(o => o.Devices) + .ThenInclude(o => o.Data) + .Where(o => o.Number == number) + .FirstOrDefault(); + return Ok(model); + } + catch (Exception ex) + { + ex.PrintStack(); + return Problem(ex.Message); + } + } } } \ No newline at end of file diff --git a/projects/IoTCenter/Api/ProductController.cs b/projects/IoTCenter/Api/ProductController.cs index 57e05718..f51899c3 100644 --- a/projects/IoTCenter/Api/ProductController.cs +++ b/projects/IoTCenter/Api/ProductController.cs @@ -2,6 +2,7 @@ using Infrastructure.Data; using Infrastructure.Extensions; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using System; using System.ComponentModel.DataAnnotations; @@ -53,22 +54,15 @@ namespace UserCenter.Controllers } [HttpPost] - public ActionResult GetDevices([Required]string number) + public ActionResult GetProduct([Required]string number) { try { - var model = this._deviceRepo.ReadOnlyTable() - .Where(o => o.Product.Number == number) - .OrderBy(o => o.DisplayOrder) - .Select(o => new - { - o.Name, - o.Number, - o.DisplayName, - Image = o.Product.Image, - o.DisplayOrder, - o.Data - }); + var model = this._productRepo.ReadOnlyTable() + .Include(o => o.Devices) + .ThenInclude(o => o.Data) + .Where(o => o.Number == number) + .FirstOrDefault(); return Ok(model); } catch (Exception ex) diff --git a/projects/WebApp/wwwroot/js/store.js b/projects/WebApp/wwwroot/js/store.js index a96bb2ee..60ec2d07 100644 --- a/projects/WebApp/wwwroot/js/store.js +++ b/projects/WebApp/wwwroot/js/store.js @@ -6,7 +6,9 @@ const store = new Vuex.Store({ user: null, products: [], nodes: [], - devices:[], + product: null, + node: null, + device:null }, mutations: { setToken(state, data) { @@ -30,9 +32,17 @@ const store = new Vuex.Store({ setNodes(state, model) { state.nodes = model; }, + setProduct(state, model) { + state.product = model; + }, + setDevice(state, model) { + state.device = model; + }, + setNode(state, model) { + state.node = model; + }, updateNode(state, model) { updateByNumber(state.nodes, model); - }, insertDevice(state, model) { updateByNumber(state.devices, model); diff --git a/projects/WebApp/wwwroot/pages/iot/device.html b/projects/WebApp/wwwroot/pages/iot/device.html index 75720fab..8bbebb33 100644 --- a/projects/WebApp/wwwroot/pages/iot/device.html +++ b/projects/WebApp/wwwroot/pages/iot/device.html @@ -1,18 +1,17 @@
{{item.name}}
{{device.displayName}}
- +{{device.displayName}}
- +{{device.displayName}}