功能开启
进度说明:
- 管理后台,请使用 https://gitee.com/yudaocode/yudao-ui-admin-vue3 (opens new window) 仓库的
master分支 - 后端项目,请使用 https://gitee.com/zhijiantianya/ruoyi-vue-pro (opens new window) 仓库的
master(JDK8)、master-jdk17(JDK17/21)或master-jdk25(JDK25)分支
OA 系统,后端由 yudao-module-oa 模块实现,前端由 yudao-ui-admin-vue3 的 oa 目录实现。
考虑到编译速度,默认 yudao-module-oa 模块是关闭的,需要手动开启。步骤如下:
- 第一步,开启
yudao-module-oa模块 - 第二步,导入 OA 系统的 SQL 数据库脚本
- 第三步,重启后端项目,确认功能是否生效
- 第四步,导入并发布 OA 审批流程
补充说明:
由于 OA 的用品领用、用印、会议室预定、用车、公文、出差报销、请假加班等申请使用到 BPM 的审批功能,所以你需要先看 《工作流》 文档,将工作流开启!工作汇报的提交只改变汇报状态,不经过 BPM 审批。
# 1. 第一步,开启模块
① 修改根目录的 pom.xml (opens new window) 文件,取消 yudao-module-oa 模块的注释。如下图所示:

② 修改 yudao-server 目录的 pom.xml (opens new window) 文件,引入 yudao-module-oa 模块。如下图所示:

③ 点击 IDEA 右上角的【Reload All Maven Projects】,刷新 Maven 依赖。如下图所示:

# 2. 第二步,导入 SQL
点击 oa.sql.zip (opens new window) 下载附件,解压出 SQL 文件,然后导入到数据库中。如下图所示:
友情提示:↑↑↑ oa.sql 是可以点击下载的! ↑↑↑
重要说明:该 SQL 仅芋道星球成员可使用和商用,否则视为侵权(索赔 100 万,永久追溯)【下载即视为同意】。

以 oa_ 作为前缀的表,就是 OA 模块当前源码维护的表,一共 48 张,按业务模块分为:
| 子前缀 | 模块 | 表数量 |
|---|---|---|
oa_schedule*、oa_task*、oa_plan、oa_work_report | 工作协作 | 7 |
oa_announcement*、oa_discussion*、oa_vote*、oa_contact*、oa_note* | 信息协作 | 13 |
oa_mail_* | 企业邮箱 | 4 |
oa_file_* | 企业云盘 | 3 |
oa_supply_*、oa_seal* | 办公用品与用印 | 5 |
oa_meeting_room*、oa_vehicle* | 会议室与车辆 | 5 |
oa_official_doc_* | 公文管理 | 3 |
oa_travel_*、oa_reimbursement | 出差与报销 | 3 |
oa_attendance、oa_leave_apply、oa_overtime_apply、oa_regular_apply、oa_resign_apply | 考勤与人事申请 | 5 |
# 3. 第三步,重启项目
重启后端项目,然后访问前端的 OA 菜单,确认功能是否生效。如下图所示:

如果菜单未显示,检查当前角色是否分配了「OA 办公协同」菜单及对应权限,重新登录后查看。
# 4. 第四步,初始化审批流程
OA 的申请表单由业务模块实现,审批节点、审批人及流程进度由 BPM 提供。
① 在 yudao-module-oa/src/main/resources/bpm 目录中,找到对应流程的 JSON 文件。
② 进入 [工作流程 -> 流程管理 -> 流程模型] 菜单,导入 JSON 文件。导入后检查流程管理人、发起权限、审批人和业务表单配置。
③ 点击【发布】,使流程定义生效。仅导入模型但未发布时,业务申请不能正常提交。 已存在的流程先检查其配置及发布状态,避免覆盖已调整的流程。
| 业务 | 流程标识 |
|---|---|
| 用品领用 | oa_supply_apply |
| 用印申请 | oa_seal_apply |
| 会议室预定 | oa_meeting_room_booking |
| 用车、还车 | oa_vehicle_apply、oa_vehicle_return |
| 公文发文、收文 | oa_official_doc_send、oa_official_doc_receive |
| 出差、差旅报销 | oa_travel_apply、oa_travel_reimbursement |
| 普通费用报销 | oa_reimbursement |
| 请假、加班 | oa_leave_apply、oa_overtime_apply |
| 转正、离职 | oa_regular_apply、oa_resign_apply |
项目也提供 OaBpmModelInitTest,用于本地手动导入并发布这些流程。它默认禁用,运行前需按类注释配置本地后端、租户和测试账号。
至此,我们就成功开启了 OA 的功能 🙂