# 零代码开发 #### 介绍 不写一行代码,十分钟即可搞定一个简单应用。以ruoyi-vue v3.8.3为基础,整合activiti7、mongodb、form-making、bpmn.js等技术组件,具有表单设计与管理、流程绘制、应用发起与处理、数据配置与展示等功能。 #### 内置功能 1. 表单中心:表单设计、表单管理 2. 流程中心:流程设计、流程管理 3. 应用中心:应用列表(发起流程)、代办任务、我发起的 4. 数据中心:数据列表、数据配置、数字展示 5. ruoyi-vue自带的用户、菜单、权限管理等功能 #### 安装教程 1. 安装mongodb 5.0.9,可以选择使用docker安装: * docker pull mongo:5.0.9 * docker run -d --name mongodb -v /home/mongo:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin --privileged=true mongo:5.0.9 2. 创建mongodb 数据库与数据集(数据集的名称必须为**form_data**) * 使用compass等工具连接至mongodb * 创建名为 **nocode** 的database * 在 **nocode** 数据库中创建名为 **form_data** 的collection 3. 配置application.yml * 打开 ruoyi-admin/src/main/resources/application.yml 文件 * 修改spring.data.mongodb的相关配置项 * 配置样例: * ![输入图片说明](images/mongodb%E9%85%8D%E7%BD%AE.png) 4. 按照ruoyi官方文档进行部署配置,完成后启动前、后端项目 * 可参考:[若依前后端分离版文档](https://doc.ruoyi.vip/ruoyi-vue/) 5. 启动项目后,运行零代码初始化脚本(因为activiti会在第一次启动后生成工作流相关表,所以零代码的sql脚本需要在项目启动后再运行) * 使用datagrip等工具执行脚本: sql/零代码初始化脚本(第一次运行后再引入).sql * 脚本运行成功后刷新主页面,可以看到多出四个菜单: * ![输入图片说明](images/%E5%A4%9A%E5%87%BA%E5%9B%9B%E4%B8%AA%E8%8F%9C%E5%8D%95.png) #### 使用说明 本项目通过对表单、流程进行通用化的解析和处理来达到零代码开发的效果。如果有非常复杂的流程或极度定制化的表单需求, 可以参考通用实现来编写相关代码进而达到定制化开发的效果 下面以创建一个请假应用为例来展示零代码开发的过程 1. 创建两个演示账号 * zhangsan:普通角色 * lisi:普通角色、hr岗位 * 给“普通角色”赋予“应用中心”菜单权限 2. 表单设计 * 进入“表单中心-表单设计”页面,拖拽生成表单,完成后点击“保存”。其中图片组件的上传地址可配置为:http://后端服务ip:后端服务端口/nocode/form/upload * ![输入图片说明](images/%E8%A1%A8%E5%8D%95%E8%AE%BE%E8%AE%A1.png) * 完成后可以在“表单中心-表单管理”页面看到刚刚创建的表单 * ![输入图片说明](images/%E8%A1%A8%E5%8D%95%E7%AE%A1%E7%90%86.png) 3. 流程设计 * 进入“流程中心-流程定义”页面,点击“在线绘制流程” * 定义流程编号、流程名称 * ![输入图片说明](images/%E6%B5%81%E7%A8%8B%E7%BC%96%E5%8F%B7%E4%B8%8E%E5%90%8D%E7%A7%B0.png) * 绘制流程 * 设置候选人员 * ![输入图片说明](images/%E5%80%99%E9%80%89%E4%BA%BA%E5%91%98.png) * 设置候选组 * ![输入图片说明](images/%E5%80%99%E9%80%89%E7%BB%84.png) * 设置通过条件(系统预设“通过”为:pass==1) * ![输入图片说明](images/%E9%80%9A%E8%BF%87%E6%9D%A1%E4%BB%B6.png) * 设置不通过条件(系统预设“不通过”为:pass==0) * ![输入图片说明](images/%E4%B8%8D%E9%80%9A%E8%BF%87%E6%9D%A1%E4%BB%B6.png) * 流程绘制完成后点击“部署” * ![输入图片说明](images/%E9%83%A8%E7%BD%B2%E6%B5%81%E7%A8%8B.png) 4. 绑定表单与流程 * 进入“表单中心-表单管理”页面,在“请假管理”行点击“修改”,输入要绑定的流程key * ![输入图片说明](images/%E7%BB%91%E5%AE%9A%E6%B5%81%E7%A8%8B.png) 5. 发起、处理、查看流程 * 进入“应用中心-应用列表”页面,在“请假管理”行点击“发起” * ![输入图片说明](images/%E5%8F%91%E8%B5%B7%E6%B5%81%E7%A8%8B.png) * 流程发起后可以切换账号在“代办任务”页面进行流程的审批 * ![输入图片说明](images/%E5%AE%A1%E6%89%B9.png) * 在“我发起的”页面中可以看到审批详情与审批进度 * ![输入图片说明](images/%E8%BF%9B%E5%BA%A6%E6%9F%A5%E8%AF%A2.png) 6. 数据配置 * 进入“数据中心-数据列表”页面,选择“请假管理”数据集点击“编辑属性”对字段的名称、显隐、顺序进行配置 * ![输入图片说明](images/%E5%B1%9E%E6%80%A7%E9%85%8D%E7%BD%AE.png) * 进入“数据中心-数据列表”页面,选择“请假管理”数据集点击“查看数据”看下数据展示是否正常 * ![输入图片说明](images/%E6%95%B0%E6%8D%AE%E6%9F%A5%E7%9C%8B.png) 7. 菜单配置 * 进入“应用中心-应用列表”页面,在“请假管理”行点击“外链地址”,将表单的外链记录下来 * ![输入图片说明](images/%E8%A1%A8%E5%8D%95%E5%A4%96%E9%93%BE.png) * 进入“数据中心-数据列表”页面,选择“请假管理”数据集点击“外链地址”,将列表的外链记录下来 * ![输入图片说明](images/%E5%88%97%E8%A1%A8%E5%A4%96%E9%93%BE.png) * 进入“系统管理”-“菜单管理”,新建“请假管理”目录 * ![输入图片说明](images/%E8%AF%B7%E5%81%87%E7%AE%A1%E7%90%86.png) * 在“请假管理”目录下新建“我要请假”菜单,将“路由地址”设置为表单的外链 * ![输入图片说明](images/%E6%88%91%E8%A6%81%E8%AF%B7%E5%81%87.png) * 在“请假管理”目录下新建“请假列表”菜单,将“路由地址”设置为列表的外链 * ![输入图片说明](images/%E8%AF%B7%E5%81%87%E5%88%97%E8%A1%A8.png) * 刷新页面,可以看到“请假管理”应用 * ![输入图片说明](images/%E6%88%91%E8%A6%81%E8%AF%B7%E5%81%87-1.png) * ![输入图片说明](images/%E8%AF%B7%E5%81%87%E5%88%97%E8%A1%A8-1.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request