帝可得项目之点位管理改造之区域管理改造

前言

看完帝可得项目之点位管理再看这个

点位管理模块下面的区域管理页面改造

这里还是把页面原型和看完帝可得项目之点位管理这篇文章做好的界面放在下面,免得大家还要翻上一篇文章。

说明

由于在帝可得项目之点位管理这篇文章中我的views下面的三个页面文件忘记替换了,所以你们在看完帝可得项目之点位管理后做出的页面应该是下面这个。

区域管理页面原型:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

看完帝可得项目之点位管理这篇文章做好的界面(只展示列表页):

在这里插入图片描述

(1)将主键id改为序号并调整格式

首先打开前端项目中的views下面的manage下面的region下面的index.vue文件

在这里插入图片描述
找到对应的代码区域将"主键id"改为"序号"并添加一个type属性,属性值为“index”,如图所示

在这里插入图片描述
刷新页面
在这里插入图片描述
发现此时序号这列宽度太窄导致制动换行,所以添加一个width属性,属性值为50
在这里插入图片描述
刷新页面

在这里插入图片描述

(2)移除修改和删除的图标

将图中两个画圈圈的地方删掉,也就是删除两个icon属性

在这里插入图片描述
刷新页面

在这里插入图片描述

这里测试新增页面,发现与原型保持一致,就添加一组数据试试

在这里插入图片描述

(3)在区域列表展示的时候添加点位数这一列

实现方案:

  • 方案一:同步存储
    在区域表中添加一个node_count字段,里面存储点位数量的信息,当我们查询区域列表的时候,就可以同步返回点位数量。
    优点:单表查询,效率高
    缺点:每次点位数据发生变化时,都需要更新区域表,增加了额外的工作量,如果更新操作出现遗漏,还会导致数据不一致。
  • 方案二:关联查询
    在mapper中编写关联查询语句
    优点:保证数据的实时性和准确性
    缺点:涉及到多表关联,比较复杂,当点位数量比较大的时候,还会影响查询性能。

由于点位数据通常不是特别大,为了保证点位数量的实时性和准确性,我们选择第二种方案

关联查询语句:

SELECT r.*,COUNT(n.id) AS node_count FROM tb_region r LEFT JOIN tb_node n ON r.id = n.region_id GROUP BY r.id;

关联查询语句写好后,我们需要建立一个用于映射数据库查询结果并返回到前端的vo类。

方法:首先,在后端代码的domain文件夹下面建立一个vo文件夹,如图所示

在这里插入图片描述
现在我们做的是点位管理模块下面的区域管理页面,所以我们在vo文件夹下面新建一个名为RegionVo的类,如图所示

在这里插入图片描述
我们让RegionVo这个类继承Region,然后在定义一个点位数量属性nodeCount,如图所示。
在这里插入图片描述
然后我们打开mapper文件夹里面的RegionMapper,在代码的最后面新建一个查询区域列表的方法。

在这里插入图片描述
然后没有安装MybaitsX插件的全装一下,怎么安装可以去搜一下,这里就不介绍了,安装完后选中selectRegionVoList,然后按Ctrl+Enter,跳转到xml文件中去,然后在select标签中插入我们写好的sql语句,注意要去掉sql语句最后面的分号。然后我们插入进去的sql语句是查询所有区域列表的,但是我们的实际需求中需要按照区域的名称实现动态sql,所以找到原有的查询sql复制粘贴到上图我们刚插进去的sql语句的下面,然后给region_name加一个别名,如图所示

在这里插入图片描述

注意,这里的AS后面是node_count,但是Vo实体类中是nodeCount,若依默认将驼峰命名的功能给关了,所以我们需要打开,找到dkd-admin下面的mybatis-config.xml配置文件,如图所示

在这里插入图片描述
将功能打开:

在这里插入图片描述
到此,Mapper层编写完毕,接下来是编写业务层。

打开IRegionSrevice文件

在这里插入图片描述
将Mapper中的方法直接站过来,如图所示

在这里插入图片描述
然后创建方法的实现,点击下图中的箭头所指的位置

在这里插入图片描述
在这里插入图片描述
最后修改RegionController.java中的代码

在这里插入图片描述
到此后端代码终于改好了,最好是清除一下缓存再重启一下项目,重启之后进入区域管理,打开f12,点击搜索按钮,查看返回信息,出现nodeCount属性则证明后端代码成功改好了。如图所示

在这里插入图片描述
接下来改造前端代码,在区域管理的页面上加入新的一列名为点位数,并将prop属性设置为nodeCount,如图所示

在这里插入图片描述
改好之后刷新页面,至此关于点位管理模块下面的区域管理就改好了,如图所示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值