位置: IT常识 - 正文

若依(RuoYi-Vue)+Flowable工作流前后端整合教程(若依框架好用吗)

编辑:rootadmin
若依(RuoYi-Vue)+Flowable工作流前后端整合教程

推荐整理分享若依(RuoYi-Vue)+Flowable工作流前后端整合教程(若依框架好用吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:若依前后端分离二次开发,若依框架好用吗,若依官网,若依框架,若依框架是什么水平,若依官网,若依框架好用吗,若依框架是什么水平,内容如对您有帮助,希望把文章链接给更多的朋友!

此教程适合若依前后端分离项目,其他项目可以在扩展列表中进行查找。

近期公司里需要对很久以前的RuoYi-Vue前后端分离项目扩展出flowable的功能,当然这个重任也是落在了我的身上(不然也不会有这篇文章),然后我在官网看到了RuoYi-Vue-Flowable这个项目,按照文档提供的迁移方式对于我们这个老版本的项目来说无法正常运行,所以我联系了作者并更新了一下文档,打算在网上在发布一篇(毕竟有的人懒得看官方文档)。

官方项目地址:https://gitee.com/tony2y/RuoYi-flowable

把项目拉到本地后下面开始整合教程,整合教程分为前端和后端两个模块。

前端迁移流程1.flowale功能页面相关内容迁移

1.1 把目录ruoyi-ui/src/views/下的flowable文件夹移动到你自己前端项目中的/src/views/文件下。

1.2 移动页面配套的js文件,将ruoyi-ui/src/api/下的flowable文件夹移动到自己项目中的/src/api/文件下。

2.flowale流程设计器相关内容迁移

将ruoyi-ui/src/components目录下的customBpmn,flow,parser,Process,render,tinymce文件夹移动到自己项目中的/src/components文件下。

3.表单设计器与人员选择模块相关文件迁移

3.1 将ruoyi-ui/src/views/tool中的build文件夹移动到自己项目中的/src/views/tool文件下,存在则覆盖。

3.2 迁移表单设计器相关样式,将ruoyi-ui/src下的styles文件移动到自己项目中的/src文件夹下。

3.3 修改ruoyi-ui/src/utils/index.js中的deepClone函数。

修改为如下内容,存在该函数做修改,不存在做新增。

// 深拷贝对象export function deepClone(obj) { const _toString = Object.prototype.toString // null, undefined, non-object, function if (!obj || typeof obj !== 'object') { return obj } // DOM Node if (obj.nodeType && 'cloneNode' in obj) { return obj.cloneNode(true) } // Date if (_toString.call(obj) === '[object Date]') { return new Date(obj.getTime()) } // RegExp if (_toString.call(obj) === '[object RegExp]') { const flags = [] if (obj.global) { flags.push('g') } if (obj.multiline) { flags.push('m') } if (obj.ignoreCase) { flags.push('i') } return new RegExp(obj.source, flags.join('')) } const result = Array.isArray(obj) ? [] : obj.constructor ? new obj.constructor() : {} for (const key in obj) { result[key] = deepClone(obj[key]) } return result}

3.4 迁移或替换相关js文件,存在则替换,不存在则新增,将ruoyi-ui/src/utils/generator,ruoyi-ui/src/utils文件夹中对应下图红框的js文件移动到自己项目中对应的文件夹中。

3.5 迁移表单设计器相关图标,将ruoyi-ui/src下的icons文件移动到自己项目中的/src文件夹下。​

4. 流程表达式、流程监听器相关内容迁移

4.1 相关页面迁移,将ruoyi-ui/src/views/system下的expression,listener文件夹移动到自己项目中的/src/views/system文件夹下。

若依(RuoYi-Vue)+Flowable工作流前后端整合教程(若依框架好用吗)

4.2 相关js文件迁移,将ruoyi-ui/src/api/system下的expression.js,listener.js文件移动到自己项目中的/src/api/system文件夹下。

5. main.js中引入组件

main.js中结合上图添加如下代码。

import Tinymce from '@/components/tinymce/index.vue'Vue.component('tinymce', Tinymce)6. package.json中新增依赖

package.json中结合上图添加如下依赖。

"bpmn-js": "^11.1.0","diagram-js": "^11.4.1","xcrud": "^0.4.19","vkbeautify": "^0.99.3",7. 新增路由配置

在ruoyi-ui/src/router/index.js文件中添加路由配置,不同的ruoyi版本路由写法不一致,请参照自己项目路由进行添加。

参考如下:

{ path: '/flowable', component: Layout, hidden: true, children: [ { path: 'definition/model/', component: () => import('@/views/flowable/definition/model'), name: 'Model', meta: { title: '流程设计', icon: '' } } ] }, { path: '/flowable', component: Layout, hidden: true, children: [ { path: 'task/finished/detail/index', component: () => import('@/views/flowable/task/finished/detail/index'), name: 'FinishedRecord', meta: { title: '流程详情', icon: '' } } ] }, { path: '/flowable', component: Layout, hidden: true, children: [ { path: 'task/myProcess/detail/index', component: () => import('@/views/flowable/task/myProcess/detail/index'), name: 'MyProcessRecord', meta: { title: '流程详情', icon: '' } } ] }, { path: '/flowable', component: Layout, hidden: true, children: [ { path: 'task/myProcess/send/index', component: () => import('@/views/flowable/task/myProcess/send/index'), name: 'SendRecord', meta: { title: '流程发起', icon: '' } } ] }, { path: '/flowable', component: Layout, hidden: true, children: [ { path: 'task/todo/detail/index', component: () => import('@/views/flowable/task/todo/detail/index'), name: 'TodoRecord', meta: { title: '流程处理', icon: '' } } ] }, { path: '/tool', component: Layout, hidden: true, children: [ { path: 'build/index', component: () => import('@/views/tool/build/index'), name: 'FormBuild', meta: { title: '表单配置', icon: '' } } ] }8. 启动项目

删除node_modules文件夹,控制台执行npm install下载完毕后启动项目即可。

由于加入了流程校验器,迁移项目后启动错误请执行以下命令

npm install create-bpmnlint-plugin -D后端迁移流程1. 在父级pom文件中加入如下依赖<!-- properties --><properties> <flowable.version>6.7.2</flowable.version></properties><!-- dependency --><dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-flowable</artifactId> <version>${ruoyi.version}</version></dependency><dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>1.5.21</version> <scope>compile</scope></dependency><dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>${flowable.version}</version></dependency><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version></dependency><!--el表达式计算--><dependency> <groupId>com.googlecode.aviator</groupId> <artifactId>aviator</artifactId> <version>5.3.3</version></dependency><!--modules --> <modules> <module>ruoyi-flowable</module></modules>

2. 把RuoYi-flowable项目中的ruoyi-flowable文件夹整个迁移到自己项目中

3. 在admin项目的pom文件中引入ruoyi-flowable项目<dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-flowable</artifactId></dependency>4. 迁移flowable相关类

根据若依项目的版本不同,缺少的实体类,mapper,service也会有所不同,所以需要根据flowable项目中所提示缺少的类进行针对性的拷贝,如果为service接口记得补全对应的controller。

5. 在admin项目的yml配置文件中新增如下配置

application.yml文件中添加如下配置

# flowable相关表flowable: # true 会对数据库中所有表进行更新操作。如果表不存在,则自动创建(建议开发时使用) database-schema-update: false # 关闭定时任务JOB async-executor-activate: false

数据源地址后需要加上nullCatalogMeansCurrent=true,保证自动创建flowable表时不会报错。

6. 迁移数据库表

新建一个库执行tony-flowable.sql文件,flowable项目中少什么表就将对应的表导入到自己的数据库中,mysql数据库版本要用5.7。

7. 数据迁移

将sys_menu对应下图红框中的菜单数据加入到自己的表中。

 将sys_dict_type对应下图红框中的字典类型数据添加到自己的表中。

 将sys_dict_data对应下图红框中的字典数据添加到自己的表中。

8. 启动项目

第一次启动时需要把yml配置文件中的database-schema-update设置为true,这样会自动创建flowable中所需要的全部表。

完成上述操作后就可以在自己项目中正常使用了。 

本文链接地址:https://www.jiuchutong.com/zhishi/283563.html 转载请保留说明!

上一篇:Win7系统正确使用ReadyFor4GB的方法(windows7使用方法)

下一篇:fsguiexe.exe进程是什么文件 fsguiexe进程查询(executor进程)

  • 国家企业信用信息公示系统登录收不到验证码?

    国家企业信用信息公示系统登录收不到验证码?

  • 红米k40双击息屏怎么用不了(红米k40双击熄灭屏幕不管用)

    红米k40双击息屏怎么用不了(红米k40双击熄灭屏幕不管用)

  • Redmi K30 Pro前置相机支持哪些功能(redmi k30 pro前置摄像头弹出失败)

    Redmi K30 Pro前置相机支持哪些功能(redmi k30 pro前置摄像头弹出失败)

  • word脚注分割线怎么设置(word脚注分隔线)

    word脚注分割线怎么设置(word脚注分隔线)

  • 微信备份后格式打不开(微信备份后格式变了)

    微信备份后格式打不开(微信备份后格式变了)

  • 如何隐秘退出qq群(怎么设置退出qq后不接受消息)

    如何隐秘退出qq群(怎么设置退出qq后不接受消息)

  • 秒速寻定位对方要提示权限吗(使用秒定位能找到人吗)

    秒速寻定位对方要提示权限吗(使用秒定位能找到人吗)

  • 拼多多如何不让好友看见自己买的东西(拼多多如何不让快递员打电话)

    拼多多如何不让好友看见自己买的东西(拼多多如何不让快递员打电话)

  • 抖音里为什么有的能看出来在线(抖音里为什么有的声音不能用)

    抖音里为什么有的能看出来在线(抖音里为什么有的声音不能用)

  • 微信限制登录是什么原因(微信限制登录是为什么)

    微信限制登录是什么原因(微信限制登录是为什么)

  • iphone11是双4g吗(iphone11是双卡4g吗)

    iphone11是双4g吗(iphone11是双卡4g吗)

  • 华为手机怎么打开日历(华为手机怎么打拼音带声调)

    华为手机怎么打开日历(华为手机怎么打拼音带声调)

  • 华为mate30第一次充电需要多长时间(mate30第一次充电要多久)

    华为mate30第一次充电需要多长时间(mate30第一次充电要多久)

  • word如何删除空白页数(word如何删除空白页快捷键)

    word如何删除空白页数(word如何删除空白页快捷键)

  • 怎么查看qq情侣空间和谁开过(怎么查看qq情侣分数)

    怎么查看qq情侣空间和谁开过(怎么查看qq情侣分数)

  • 华为畅享10plus人脸识别在哪里(华为畅享10plus人脸解锁怎么设置)

    华为畅享10plus人脸识别在哪里(华为畅享10plus人脸解锁怎么设置)

  • 手机酷狗音乐怎么传到电脑(手机酷狗音乐怎么传到电脑上)

    手机酷狗音乐怎么传到电脑(手机酷狗音乐怎么传到电脑上)

  • 小米ai音箱不联网能用吗(小米ai音箱不联网怎么办)

    小米ai音箱不联网能用吗(小米ai音箱不联网怎么办)

  • 抖音怎么多视频合拍(抖音怎么多视频投dou+)

    抖音怎么多视频合拍(抖音怎么多视频投dou+)

  • 苹果11后面是玻璃的吗(苹果11后面玻璃有印子怎么去除)

    苹果11后面是玻璃的吗(苹果11后面玻璃有印子怎么去除)

  • 怎么防止手机号被定位(怎么防止手机号封号)

    怎么防止手机号被定位(怎么防止手机号封号)

  • 怎么用手机看酒店有没有摄像头(怎么用手机看酒店监控)

    怎么用手机看酒店有没有摄像头(怎么用手机看酒店监控)

  • u盾怎么和手机连接(u盾怎么和手机连接的图示)

    u盾怎么和手机连接(u盾怎么和手机连接的图示)

  • win7桌面分屏设置(windows7分屏幕)

    win7桌面分屏设置(windows7分屏幕)

  • 手机号被泄露如何处理(手机号被泄露如何投诉)

    手机号被泄露如何处理(手机号被泄露如何投诉)

  • python中chr()函数怎么用?(python中chr函数介绍)

    python中chr()函数怎么用?(python中chr函数介绍)

  • 所得税费用影响企业利润总额吗
  • 小规模企业需要交哪些税
  • 外贸企业申报退税流程
  • 小规模纳税人转让不动产增值税
  • 一般纳税人开具的普票可以抵扣吗
  • 税金及附加属于管理费用吗
  • 一般纳税人劳务费税率是多少
  • 开普票需要公对公转账吗
  • 集体不动产和动产包括
  • 建筑业属于货物行业吗
  • 金蝶软件数量金额式怎样输入数据
  • 公司可以为非本人开户吗
  • 房地产开发公司排名
  • 企业库存现金的限额是由( )核定的
  • 怎么计算股票的压力位和支撑位
  • 外聘人员劳务费入什么科目
  • 购买软件平台信息服务费怎么做账?
  • 开公司财务流程
  • 企业领用本企业生产的产品会计分录
  • 转账支票遗失能挂失吗
  • 零余额账户银行余额调节表
  • 收到报废车款要交什么税
  • 卖房土地增值税税率
  • 开票资料电话可以查到吗
  • 房地产的出租行为属于土地增值税征收范围吗
  • 1697506708
  • 税控盘费用抵减增值税的账务处理
  • 填写报关单需要什么资料
  • 机打发票验旧是什么意思
  • 怎么认定是否为党员
  • 应收账款的账务处理方式是什么
  • win11咋截屏
  • linux 创建sh
  • jquery怎么升级
  • linux子网掩码自动变成24
  • 发票已开不符合收入确认条件账务处理怎么做?
  • 如何收取会员会费才合法
  • 企业汇算清缴中,A107070表中的数据是自动跳出来嘛
  • php增删改查mysqli实例
  • nodejs如何与前端交互
  • 借款利息收入开票
  • 税控盘技术维护费计入什么科目
  • 房屋租赁需要计增值税吗
  • 小规模0申报要做账吗
  • 未分配利润用于扩大再生产
  • 已缴款未入库是缴费成功了吗
  • 当期可抵扣进项税额包括进项转出额吗
  • 小微小型微利企业表述正确的有
  • sql row_number()over()
  • 会计凭证借贷方哪个是收入
  • 个税手续费怎么计算
  • 固定资产的期末余额反映固定资产原值的结余额
  • 补发工资如何计算个税
  • 取得股息红利怎么交税
  • 预缴增值税税款所属期
  • 进项增值税发票抵扣期限
  • 取得资产需要付出成本吗
  • 费用误计入固定资产
  • 工伤医疗补助可以申请吗
  • 员工垫付的费用怎样记账
  • 企业利润分为四个方面
  • 记账凭证的分类及每类的具体含义是什么
  • 固定资产怎么计算折旧额
  • 64位CentOs7源码安装mysql-5.6.35过程分享
  • linux 清理
  • 电脑重装系统win8
  • linux如何装
  • hyper安装win7
  • js domcontentloaded
  • Bullet(Cocos2dx)之内存泄露检测
  • centos 设置定时任务执行指定脚本的方法
  • 深入浅出nginx实战
  • three.js入门教程(合集)
  • shell脚本模拟ctrl
  • unity教程完整版
  • 安卓端数据库
  • jquery实现下拉框
  • 北京税务局网站
  • 广西税务局123
  • 江苏省常州市国事业单位国企招录测绘工程研究生公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设