继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习打卡】第9天 线下会议管理

userqiao
关注TA
已关注
手记 35
粉丝 1
获赞 3

课程名称: SpringBoot+Vue3 项目实战,打造企业级在线办公系统
课程章节: 第5章 审批会议申请
主讲老师: 神思者

课程内容

上一章,完成了线上和线下会议模块的开发。既然用户创建了线上或者线下会议申请,那么接下来应该由审批人去审批这些会议申请,这一章我们就来实现会议审批功能。
图片描述

分页查询待审批记录

在之前已经实现了线上和线下会议申请功能,那么所有的会议申请都要在审批任务页面显示出来,然后由相关的人员执行审批工作。在审批任务页面(approval.vue),我们可以看到这个会议申请。相关人员点开这个会议申请记录,可以看到详细的申请信息,甚至说现在审批工作执行到了工作流程的哪一个步骤,都显示的清清楚楚。

这里有个细节问题,需要特别注意注意。审批详情信息要不要随着分页记录一起查询出来?当然是不需要的,因为审批人不一定会点开每个审批记录,然而你却把每个会议申请的详情信息都查询出来,白白增大了数据库的负担。正确的做法是用户点开申请记录的时候,再发送Ajax请求查询审批详情信息。而且Ajax必须是同步执行的,这是因为如果Ajax选择了异步执行,展开申请记录的JS回调函数不会等着Ajax执行完,导致JS回调函数执行结束,强制让Ajax也结束了。这绝对是不行的,所以我们要选择同步方式的Ajax请求。

查询工作流分页数据Web接口

因为审批任务页面是为用户提供审批服务的,所以页面中各种申请记录对应的都是工作流实例,只需要调用工作流项目就能获取到分页记录了。
接口URI:/workflow/searchTaskByPage
序号 参数名 类型 必填 说明

序号 参数名 类型 必填 说明
1 userId int 用户ID
2 role String[] 角色列表
3 page int 页数
4 length int 每页记录数量
5 type String 员工请假
6 status String 待审批
7 creatorName String 申请人
8 instanceId String 工作流实例ID
9 code String 慕课网授权码
10 tcode String 课程授权码

课程收获

发送HTTP请求调用工作流项目Web接口,是由ApprovalServiceImpl类做的,而不是交给异步线程任务类去做。这是因为必须要从工作流项目查询出来数据,然后返回给前端页面,这个过程必须是同步。如果采用异步,数据还没查询出来,Controller直接返回R对象了,这可绝对不行。具体可以查看如下时序图

图片描述

课程上使用的工作流,讲师已经完成了封装。所以不需要太着重工作流的实现。
本课时的主要收获:

  • 对工作流的使用有一定的基础概念。
  • 完成了OA当中的审批流功能。

课程截图

图片描述
图片描述
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP