ruoyi-nbcio-plus基于vue3的flowable收回任务后重新进行提交表单的处理

本文主要是介绍ruoyi-nbcio-plus基于vue3的flowable收回任务后重新进行提交表单的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/

更多nbcio-boot功能请看演示系统 

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://122.227.135.243:9888

1、后端的处理

      因为这个收回审批的提交跟原先的VForm表单提交不一样了,如下界面,这个是可以表单信息里进行修改了,修改后要能提交保存起来,因为原先肯定没有考虑这些

       因为原先提交的时候保存起来,在变量里面,所以用下面的formConf.setFormData(variables);就可以了,但这个variables需求前端进行重新设置修改后的值。

FormConf formConf = new FormConf();Map<String, Object> formModel = JsonUtils.parseObject(formInfo.getContent(), Map.class);if (null != formModel && !formModel.isEmpty()) {formConf.setTitle(title);formConf.setDisabled(true);formConf.setFormBtns(false);formConf.setFormModel(formModel);formConf.setFormData(variables);procFormList.add(formConf);}

2、前端的处理

判断是否是退回到第一个节点

taskFormVisible.value = data.existTaskForm;if (taskFormVisible.value) {taskFormData.value = data.taskFormData;}if(data.startUserNode) {startUserForm.value.isStartUserNode = true;}formVisible.value = true;nextTick(() => {processFormList.value.forEach((item: any, index: any) => {if (item.disabled && !startUserForm.value.isStartUserNode) {vFormRenderRef.value[index].disableForm();}})})

是的话,不要disable了,可以进行编辑,

同时通过任务修改如下:

/** 通过任务 */const handleComplete = () => {const isExistTaskForm = taskFormRef !== undefined;// 校验表单taskFormRef.value?.validate(async (valid: boolean) => {if (valid) {if (isExistTaskForm) {const data = await vFormRenderRef.value[0]?.getFormData();const Widgetlist = await vFormRenderRef.value[0]?.getFieldWidgets();//替换文件上传成功后的文件名称与url,以便后面回显用let fileUpload = Widgetlist?.filter(item => item.type === "file-upload");fileUpload?.forEach((fileitem) => {data[`${fileitem.name}`]?.forEach((dataitem,index) => {data[`${fileitem.name}`][index].name = data[`${fileitem.name}`][index].response.data?.newFileName;data[`${fileitem.name}`][index].url = data[`${fileitem.name}`][index].response.data?.url;})})//替换图片上传成功后的文件名称与url,以便后面回显用let picUpload = Widgetlist?.filter(item => item.type === "picture-upload");picUpload?.forEach((picitem) => {data[`${picitem.name}`]?.forEach((dataitem,index) => {data[`${picitem.name}`][index].name = data[`${picitem.name}`][index].response.data?.newFileName;data[`${picitem.name}`][index].url = data[`${picitem.name}`][index].response.data?.url;})})const variables = data;taskFormData.formValue = data;variables.variables = taskFormData;taskForm.variables = variables;}console.log("handleComplete taskForm",taskForm)const res = await complete(taskForm)proxy?.$modal.msgSuccess(res.msg);goBack();}});}

3、效果图如下:

这篇关于ruoyi-nbcio-plus基于vue3的flowable收回任务后重新进行提交表单的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip