基于jeecgboot-vue3的Flowable流程-自定义业务表单流程历史信息显示

news/2024/11/13 9:08:59/

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

1、对于自定义业务表单的流程历史记录信息做了调整,增加显示自定义业务表单

javascript"><el-tab-pane label="表单信息" name="form"><div v-if="customForm.visible"> <!-- 自定义表单 --><component ref="refCustomForm" :formDisabled="customForm.disabled" :is="customForm.formComponent" :model="customForm.model":formData="customForm.customFormData" :isNew = "customForm.isNew"></component></div><div style="margin-left:10%;margin-bottom: 30px"><!--对上传文件进行显示处理,临时方案 add by nbacheng 2022-07-27 --><el-upload action="#" :on-preview="handleFilePreview" :file-list="fileList" v-if="fileDisplay" /></div></el-tab-pane >

2、流程显示也做了调整

javascript"><el-tab-pane label="流程跟踪" name="track"><el-card class="box-card" shadow="never"><process-viewer ref="processViewerRef" :key="`designer-${loadIndex}`" :style="'height:' + height" :xml="xmlData":finishedInfo="finishedInfo" :allCommentList="historyProcNodeList"/></el-card></el-tab-pane>

3、流程获取信息如下

javascript">const getFlowRecordList = (dataId) => {const params = {dataId: props.dataId}flowRecordBydataid(params).then(res => {console.log("flowRecordList res",res)flowRecordList.value = res.result.flowList;console.log("flowRecordList", flowRecordList.value);// 流程过程中不存在初始化表单 直接读取的流程变量中存储的表单值if (res.result.formData) {customForm.disabled = true;customForm.visible = true;customForm.formComponent = getFormComponent(res.result.routeName).component;customForm.model = res.result.formData;customForm.customFormData = res.result.formData;console.log("detailProcess customForm",customForm);getModelDetail();}}).catch(res => {console.log(res)})}

4、后端也要做调整,满足上面要求flowRecordBydataid这个做一下调整

// 获取初始化表单String serviceImplName = business.getServiceImplName();FlowCallBackServiceI flowCallBackService = (FlowCallBackServiceI) SpringContextUtils.getBean(serviceImplName);// 流程处理完后,进行回调业务层if (flowCallBackService!=null){Object businessDataById = flowCallBackService.getBusinessDataById(dataId);map.put("formData",businessDataById);map.put("routeName", business.getRouteName());}

5、效果图


http://www.ppmy.cn/news/1501416.html

相关文章

K210视觉识别模块学习笔记8:Mx_yolo3本地模型训练环境搭建_部署模型到亚博canmv(失败)

今日开始学习K210视觉识别模块: 本地模型训练环境搭建 亚博智能 K210视觉识别模块...... 固件库: canmv_yahboom_v2.1.1.bin 本地训练 Mx_yolo3 这里就简单地提示一下下载安装哪些软件&#xff0c;然后主要是使用Mx_yolo3 进行本地训练模型的...... 本文不…

【TS】TypeScript中的接口(Interface):对象类型的强大工具

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 TypeScript中的接口(Interface):对象类型的强大工具引言1. 接口的基本概念1.1 什…

【Vue】vue两个核心功能声明式渲染_响应式

1、简介 Vue.js 是一个渐进式JavaScript框架&#xff0c;用于构建用户界面。它以其易用性、灵活性和高效性而闻名。Vue 的两个核心功能是声明式渲染和响应式系统&#xff0c;这两个功能共同为开发者提供了强大的工具来构建动态且响应式的Web应用。 2、声明式渲染 2.1简介 声…

HTTP请求入参类型解读

HTTP请求入参类型解读 Content-Type 在HTTP请求中&#xff0c;Content-Type请求头用于指示资源的MIME类型&#xff0c;即请求体的媒体类型。它告诉服务器实际发送的数据类型是什么&#xff0c;以便服务器能够正确地解析和处理这些数据。Content-Type可以有多种值&#xff0c;…

python爬虫的基础知识

1.学习爬虫的好处 提升编程技能&#xff1a;爬虫开发需要掌握编程基础&#xff0c;特别是网络请求、HTML/CSS/JavaScript解析、数据存储和异常处理等技能。通过学习爬虫&#xff0c;你可以巩固和提升你的编程技能&#xff0c;特别是Python等编程语言的应用能力。 数据驱动决策…

android audio不同音频流,(八)music流音量APK按键调整

&#xff08;1&#xff09;apk通过&#xff0c;dispatchKeyEvent()函数监测按键事件&#xff1a; //apk onCreate()初始化mAudioManager&#xff1a; mAudioManager (AudioManager) this.getSystemService(this.AUDIO_SERVICE); apk接收到按键事件&#xff0c;执行如下处理&…

Java工厂模式详解:方法工厂模式与抽象工厂模式

Java工厂模式详解&#xff1a;方法工厂模式与抽象工厂模式 一、引言 在Java开发中&#xff0c;设计模式是解决常见软件设计问题的一种有效方式。工厂模式作为创建型设计模式的一种&#xff0c;提供了灵活的对象创建机制&#xff0c;有助于降低代码的耦合度&#xff0c;提高系…

c生万物系列(封装)

为了对c语言进行封装&#xff0c;笔者参考了lw_oopc等开源库&#xff0c;决定使用宏对结构体进行封装。 先说一下大致思想&#xff1a;通过宏&#xff0c;结构体和文件来实现封装。 大概步骤&#xff1a;抽象出类-> 使用lw_oopc库进行封装->定义接口封装底层实现 ->…