全部开发者教程

企业级在线办公系统

各位同学大家好,这一章我们实现了报销管理模块,从报销申请,到报销审批,再到财务归档,甚至删除报销申请也都没问题。现在我们实现的是普通报销,关于差旅费报销的功能,我会在本课程完结之后,放在这一章手册的附录里面,到时候大家可以照着手册把差旅费报销功能给做一下。

一、实现报销申请有条件分页查询

这一章的内容看似跟上一章的请假管理很相似,但是仔细分析,还是能找出很多有差异的地方。我先说相似的部分吧,咱们首先做出来了报销申请的分页查询功能,无条件和有条件都可以查询数据。这一点跟请假管理的分页功能差不多,有上一章的经验,我们写分页功能还是很容易的。

二、实现员工创建报销申请

创建员工申请的时候,前端页面发生了很大的改变。因为一笔报销申请可以包含多个报销项目,所以在弹窗页面中,我们可以动态增减报销项目,但是最多只能有5个报销项目。我们填写的报销申请先会被保存到报销表中,然后异步线程任务类会调用工作流项目,创建工作流实例。这一点跟创建报销申请还是很相似的。

三、实现当事员工删除报销申请

当事人自己创建的报销申请,他本人是可以删除的,只要报销申请的状态是1或者2。删除报销申请,不光要删除报销表中的记录,还要关闭工作流实例。这个难不倒我们,上一章我们删除请假记录的时候就这么干过。

四、实现生成报销单PDF文件

报销申请是非常依赖单据的,所以我们做了生成PDF报销单的功能。因为我在main.js文件中封装了生成PDF文件的公共函数,所以我们在页面上调用即可。不需要我们写额外的代码。

五、实现报销申请的审批和归档

申请人把下载好的PDF报销单打印出来,接下来拿着打印的报销单和粘贴好的发票,先到财务那里审核,然后再去找部门经理和总经理审批。最后还要把报销单和发票交给财务归档。在浏览器上,我们亲身体验了报销审批的全过程,也挺有意思的。如果你本地电脑连接上二维码扫码器,对着纸质报销单扫码,浏览器页面上会自动填写上工作流实例的instance_id,然后你可以用这个作为条件,查询到报销申请对应的审批任务,然后在系统中就可以执行审批了。