模块与组件
模块:从逻辑角度拆分,主要目的是职责分离
组件:从物理角度拆分,主要目的是单元复用
优点
缺点
正常情况下,前端传递来的参数都能直接被SpringMVC接收,但是也会遇到一些特殊情况,比如Date对象,当我的前端传来的一个日期时,就需要服务端自定义参数绑定,将前端的日期进行转换。自定义参数绑定也很简单,分两个步骤:
由于员工的高级信息依赖于其他模块,因此这里暂时没有做这个功能,只做了普通的增删改查,后面可能还会再添加一个高级搜索功能(暂定)。目前完成的功能如下:
由于本项目在不停的更新,小伙伴们的需求不尽相同,有的小伙伴可能只需要看权限管理模块,有的小伙伴需要看部门管理等等。因此,我现在给每一次的提交都打了tag,下面我简单介绍下tag的用法。
小伙伴们都看到了,这里两个表格非常像,但是不一样,考虑到两个表格可复用性非常大,因此我创建一个组件PosMana来实现这两个功能,组件注册成功后,按如下方式引用:
职位管理和职称管理主要是表格的应用,考虑到这里数据量并不大,因此并未分页,效果如下:
树形控件主要使用了ElementUI中的控件,ElementUI中树的加载可以通过load属性一个一个懒加载,在官方的案例中有这种用法,个人非常不推荐这种用法,很麻烦。我的主要思路如下:
后台程序也都是常规代码,我们重点关注两点:1.递归调用,2.存储过程调用.
部门数据库整体来说还是比较简单,如下:
都是常规字段,脚本可以在项目中下载。depPath是为了查询方便,isParent表示该条是否是父部门。为了简化程序中的逻辑,depPath的设置和isParent的设置我都在存储过程中完成。