经过半个多月的学习和对项目的改造,项目已经初步具备快速搭建各类企业常见流程的能力,本次通过搭建一个简易的企业内部请假流程,来测试可行性。
- 前期项目的历次改造过程,请参见本人专栏《从0到1搭建自己的OA系统》
1.设置请假类型
在前端的系统管理菜单下,找到字典管理,增加如下字典数据:
在该新建的请假类型下,新建3个请假的具体数据和对应的键值,这里是建了三个:
2.SQL表及后端代码生成
在数据库中建立如下的请假表:
使用代码生成器生成相应的controller、service、mapper放置到后端
其中针对Controller手动增加一个方法curruserlist,只获取当前用户的请假列表
@SaCheckPermission("system:leave:list")
@GetMapping("/curruserlist")
public TableDataInfo<UserLeaveVo> curruserlist(UserLeaveBo bo, PageQuery pageQuery) {
bo.setCreateBy(getUsername());
return iUserLeaveService.queryPageList(bo, pageQuery);
}
3.前端请假界面
复制项目前端目录下的views/system/notice文件夹中的create.vue和config.js,并在views下建立一个新的文件夹命名为personal,将create.vue和config.js复制到该文件夹下,重新命名create.vue为leave.vue,替换文件内所有notice为leave,同时去掉leave.vue中所有位置的标题相关内容,:
在api/system下复制notice.js为leave.js,并替换文件里面所有notice为leave:
4. 前端菜单添加
在前端界面的菜单中添加一个"个人业务"的主菜单,在这个主菜单下增加一个“请假申请”菜单,连接到上述修改的leave页面
最终的前端界面效果:
5.流程模型搭建
首先搭建表单,注意字段名称要和上述搭建的UI界面一致:
之后搭建流程模型,并添加表单和任务监听器:
搭建完毕后予以部署,并在版本管理中,与前端搭建的UI界面关联起来:
以上完成后大功告成!!
6.流程测试
在个人业务下的请假申请中,新建请假单,并填写请假内容:
点击发起操作即可发起申请流程:
切换至领导账号,可以看到申请已经流转到领导账号这里,可以直接批准或拒绝等操作: