毕业设计-6

一、本周任务概述

    1.1 概述:本周主要实现的功能如下

  1. 完成部门管理页面布局,加载各单位部门列表。
  2. 完成部门管理中多部门的修改、删除、添加、分页等常见功能。
  3. 修改用户管理注册问题、在分页栏增加了按钮实现查询和添加操作功能。
  4. 修改部门管理加载各单位的问题,不过该单位下部门的加载还存在一定问题。
  5. 完成角色管理,并实现增加、修改、删除等操作。

     1.2 效果:

 (部门管理,进入页面后,可以看到左侧包含部门的单位列表。点击该单位可分别加载其中的部门,效果如上图所示)

 (添加部门,必须先选择单位才能选择是否选择上级部门

 (当点击编辑某个部门时,可以加载原来的部门信息,然后用户定义修改信息)

 (删除某个部门时,会删除下面的子部门,这部分还有一些问题,还需要解决)

 (角色管理界面)

 (添加角色,可以选择父角色,设置基本属性)

 (修改角色,和添加角色有点不一样,因为下拉框的label是选择项,而选择项对应的值却是int,比如父角色value却对应roleID,因此我就通过这种方法来进行修改,若不选择右边的下拉框,就说明只更改了角色名或描述,依然能够起作用

 (删除角色,只有当开始添加这个角色为可删除或者修改为可删除才可以删除,父角色删除了子角色必定会被删除,删除成功可得如下结果

二、问题发现与解决

    2.1 角色管理,修改角色信息。因为那个dialog其实都差不多,只是修改的时候除了id不能改,其他都可以修改。所以我打算复用这个dialog,但是最终发现却不可以,因为下拉框的label是绑定的角色名,而value是绑定的角色id。虽然作用域插槽可以拿到每行数据,但是里面确是角色名称,无法找到对应的角色id,于是我在界面上又通过如下布局来实现对角色信息的修改。可能效果不太好,后续打算再进一步修改方案。

 

    2.2 我发现在部门管理加载各个单位列表的时候,总是遇到一个问题,首先是加载单位列表很慢,就用户体验差,于是我看了下后台代码,并进行了优化。原来的思路是首先根据部门表查出来所有companyID,然后去掉重复(mybatis好像有select distinct,目前我还不会用吧)就自己写了个配置文件,得到了distinct companyID,然后再循环每个companyID得到所有的公司信息,最后再返回;现在的思路就是直接查询distinct companyID,并用Example 设置id in (companyID集合)直接一步到位查出所有单位的信息。虽然这个速度提高了,但是,每当我点击左侧公司后,再加载它下面的部门,就会发现相应速度也很慢,我在后台和前台都测试了运行完那个函数需要的时间,发现并不需要那么久,目前还没找出来是因为什么导致加载出来的速度比较慢。

         

 

    2.3 前面在添加部门的时候,我有意识地选择了具有部门的公司(部门表里没有该公司就认为该公司没有部门,反之则有),然后添加上级单位,不会报错。但是当我选择了不具又部门的单位,就会报错。上级部门里会显示没有数据,如果直接点击确认就会报错。因此我加了判断是否该公司有部门,有部门才可以选择父部门,否则点击了选择父部门按钮也无任何作用。

     

 

三、下周计划

    下周继续修改一些常见的bug,并开始统计模块的布局,分析业务数据,并逐渐实现。

猜你喜欢

转载自www.cnblogs.com/Juice-Dreamer/p/12741510.html