位置: 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进程)

  • ps5美版和港版区别(ps5美版和港版区别大吗)

    ps5美版和港版区别(ps5美版和港版区别大吗)

  • 什么叫做快手流量(快手上什么叫流量)

    什么叫做快手流量(快手上什么叫流量)

  • 数据安全依赖的基本技术是什么(数据安全依赖的基本技术是密码技术网络安全)

    数据安全依赖的基本技术是什么(数据安全依赖的基本技术是密码技术网络安全)

  • 华为插卡孔在哪(华为插卡孔在哪个位置)

    华为插卡孔在哪(华为插卡孔在哪个位置)

  • 通信大数据行程卡是通过什么定位的(通信大数据行程卡怎么更换手机号)

    通信大数据行程卡是通过什么定位的(通信大数据行程卡怎么更换手机号)

  • 通信协议常用有哪些(通信协议常用有哪些类型)

    通信协议常用有哪些(通信协议常用有哪些类型)

  • 文字型数据和数字型数据最大的区别是什么(文字型数据和数据的区别)

    文字型数据和数字型数据最大的区别是什么(文字型数据和数据的区别)

  • mdf是什么格式(.mdd是什么格式)

    mdf是什么格式(.mdd是什么格式)

  • redminote8是什么手机(redminote8百科)

    redminote8是什么手机(redminote8百科)

  • 手机充电一夜不拔对手机有没有影响(手机充电一夜不拔对电池有影响吗)

    手机充电一夜不拔对手机有没有影响(手机充电一夜不拔对电池有影响吗)

  • 华为nova4语音助手叫什么(华为nova4语音助手别人叫怎么不回应)

    华为nova4语音助手叫什么(华为nova4语音助手别人叫怎么不回应)

  • 淘宝怎么取消设置提醒(淘宝怎么取消设置免密支付功能)

    淘宝怎么取消设置提醒(淘宝怎么取消设置免密支付功能)

  • vivo视频通话在哪设置

    vivo视频通话在哪设置

  • 怎样删除ppt多余部分(ppt如何删除多余的部分)

    怎样删除ppt多余部分(ppt如何删除多余的部分)

  • lsac是什么(lsaac什么意思)

    lsac是什么(lsaac什么意思)

  • 在计算机中,组成一个字节的二进制位位数是(在计算机中组成一个二进制位数是)

    在计算机中,组成一个字节的二进制位位数是(在计算机中组成一个二进制位数是)

  • 快手怎么看访客(快手怎么看访客记录苹果手机)

    快手怎么看访客(快手怎么看访客记录苹果手机)

  • designedby是vivo几(designed by vivo是什么型号)

    designedby是vivo几(designed by vivo是什么型号)

  • win10怎么升级1903(win10怎么升级到最新版本)

    win10怎么升级1903(win10怎么升级到最新版本)

  • 360安全浏览器如何更新(360安全浏览器如何清除缓存)

    360安全浏览器如何更新(360安全浏览器如何清除缓存)

  • 华为p20智能识物在哪(华为智能识物怎么打开)

    华为p20智能识物在哪(华为智能识物怎么打开)

  • 数据库种类(数据库种类elikes)

    数据库种类(数据库种类elikes)

  • cad删除线段的一部分(cad中删除线段用哪个键)

    cad删除线段的一部分(cad中删除线段用哪个键)

  • Win10教育版账号如何升级至专业版(win10教育版用户账户控制怎么取消)

    Win10教育版账号如何升级至专业版(win10教育版用户账户控制怎么取消)

  • 织梦dedecms内容页上一页下一页链接调用教程(织梦cms要钱吗)

    织梦dedecms内容页上一页下一页链接调用教程(织梦cms要钱吗)

  • 外国驻华使领馆自用车辆
  • 一般纳税人提供服务税率
  • 公司收到借款利息收入要交增值税吗
  • 补发工资怎么补发
  • 处置固定资产产生的净损失
  • 没有达到起征点的工资忘计申报个税,可以税前扣除吗
  • 企业所得税大白话解释
  • 个税父母赡养抵扣3000
  • 应交税费未交增值税借方余额表示什么
  • 管理费用是负的是什么意思
  • 公允价值变动损益在利润表哪里
  • 用来退税的进项怎么抵扣
  • 利润表中所得税怎么算
  • 短期借款占负债比例大
  • 转账支票必须对着开发票单位吗?
  • 如何区分餐费发票和停车费发票?
  • 为什么纳税人不是负税人
  • 公司对外汇款需要什么手续
  • 继续教育专项附加扣除需要什么材料
  • 小规模纳税人开专票不超过30万要交税吗
  • 外资公司股东要求
  • 关闭系统保留空间
  • 电脑文件启用宏是什么意思
  • 电脑bios打开usb接口
  • win11无法打开开始菜单怎么办
  • macOS Big Sur 11.3 开发者预览版/公测版 Beta 6正式发布
  • windows11怎么操作
  • Linux系统中sort排序命令的使用教程
  • 资产评估没有发票可以吗
  • 贷款损失准备科目为负债类科目
  • 工业企业会计核算的特点
  • 计提下月工资怎么算
  • vue3中使用gis地图
  • 李宏毅课程
  • 预付卡销售和充值计入什么费用
  • 租店铺需要什么流程需要注意什么事项?
  • 新公司不开户需要交税吗
  • 紫白择日法实例详解
  • 保险业务手续费
  • 园林绿化工程公司简介
  • 残保金是什么单位收的
  • 酒店营业税率是多少
  • 民办非注销原因如何写
  • 企业净利率多少算高
  • mysql错误日志在哪里
  • 办公室装修 会计分录
  • 固定资产中的动产和不动产
  • 企业支付的费用化的一般借款利息支出属于什么
  • 核价人员要对哪些方面的价格进行核定,怎么核?
  • 一般纳税人增值税结转账务处理
  • 材料采购发生的共同费用可以按什么作为分配基础
  • 房地产开发企业与转让房地产有关的税金
  • 其它应付款为负
  • 各单位都需设置的是
  • win8出现问题需要重启
  • win8系统怎么关机
  • quicklook预览word
  • vmware虚拟机怎么卸载不了
  • 最近一段时间勒索病毒在全球集中爆发
  • linux使用方式有哪些方面
  • linux安装vmvare
  • 安装fedora33
  • xp系统安装版
  • win8怎么隐藏桌面图标
  • Win10系统怎么打开IE浏览器
  • javascript date函数
  • dos命令语法
  • Cocos2dx 疯狂跑酷(CrazyRun)游戏项目解析
  • 3366小游戏小
  • unity怎么把文件导入项目
  • 深入理解javascript特性.pdf
  • 深入理解python特性
  • angularjs2
  • app开发指南
  • 鼠标悬停时的动画效果
  • 力所能及之处,定当竭尽所能
  • unity坐标系转换
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • 浙江省国税电子税务局如何新增企业
  • 北京亦庄开发区属于哪个区
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设