基于jeecgboot-vue3的Flowable设计器新增流程类型的操作

本文主要是介绍基于jeecgboot-vue3的Flowable设计器新增流程类型的操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。

1、新增流程定义,需要可以选择流程分类,同时带出应用类型,以便做相应的逻辑处理

2、ElementBaseInfo.vue 这个文件进行修改

<template><div class="panel-tab__content"><el-form size="small" label-width="90px" @submit.prevent><el-form-item label="ID"><el-inputv-model="elementBaseInfo.id":disabled="idEditDisabled || elementBaseInfo.$type === 'bpmn:Process'"clearable@change="updateBaseInfo('id')"/></el-form-item><el-form-item label="名称"><el-input v-model="elementBaseInfo.name" clearable @change="updateBaseInfo('name')" /></el-form-item><!--流程的基础属性--><template v-if="elementBaseInfo.$type === 'bpmn:Process'"><el-form-item label="流程分类"><el-select v-model="elementBaseInfo.processType" @change="changeAppType"><el-optionv-for="item in processType":key="item.id":label="item.name":value="item.id"></el-option></el-select></el-form-item><el-form-item label="应用类型"><el-select v-model="appType"><el-optionv-for="item in appType":key="item.id":label="item.name":value="item.id"></el-option></el-select></el-form-item><el-form-item label="版本标签"><el-input v-model="elementBaseInfo.versionTag" clearable @change="updateBaseInfo('versionTag')" /></el-form-item><el-form-item label="可执行"><el-switch v-model="elementBaseInfo.isExecutable" active-text="是" inactive-text="否" @change="updateBaseInfo('isExecutable')" /></el-form-item></template><el-form-item v-if="elementBaseInfo.$type === 'bpmn:SubProcess'" label="状态"><el-switch v-model="elementBaseInfo.isExpanded" active-text="展开" inactive-text="折叠" @change="updateBaseInfo('isExpanded')" /></el-form-item></el-form></div>
</template>
<script lang="ts" setup>import { ref, watch, onBeforeUnmount, toRaw } from 'vue'; defineOptions({ name: 'ElementBaseInfo' })const props = defineProps({businessObject: {type: Object,default: () => {}},processType: {type: Array,default: () => []},type: String,idEditDisabled: {type: Boolean,default: true}})const bpmnElement = ref()const elementBaseInfo = ref<any>({})const bpmnInstances = () => (window as any)?.bpmnInstancesconst appType = ref("")const resetBaseInfo = () => {bpmnElement.value = bpmnInstances()?.bpmnElement || {}elementBaseInfo.value = bpmnElement.value.businessObjectconsole.log("resetBaseInfo props.processType",props.processType);if(props.processType.length === 1) {appType.value = props.processType[0].appType;}//elementBaseInfo.value.processAppType = props.appType[0];//显示流程应用类型if (elementBaseInfo.value && elementBaseInfo.value.$type === "bpmn:SubProcess") {elementBaseInfo.value["isExpanded"] = elementBaseInfo.value.di?.isExpanded}}const updateBaseInfo = (key: string) => {if (key === "id") {bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), {id: elementBaseInfo.value[key],di: { id: `${elementBaseInfo.value[key]}_di` }});return;}if (key === "isExpanded") {bpmnInstances().modeling.modeling.toggleCollapse(toRaw(bpmnElement.value));return;}const attrObj = Object.create(null);attrObj[key] = elementBaseInfo.value[key]bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), attrObj);}const changeAppType = (value: String) => {if (value) {const selectItem = props.processType.find(item => item.id == value);appType.value = selectItem.appType;}}watch(() => props.businessObject,(val) => {if (val) {resetBaseInfo()}})onBeforeUnmount(() => {bpmnElement.value = null})</script>

3、效果图

这篇关于基于jeecgboot-vue3的Flowable设计器新增流程类型的操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/997620

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo