ruoyi-nbcio-plus基于vue3的flowable为了适配文件上传改造VForm3的代码记录

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

gitee源代码地址

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

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

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

gitee源代码地址

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

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

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

为了适配项目ruoyi-nbcio-plus的文件上传,所以做了一些改造,具体如下:

1、file-upload-widget.vue

增加了下面代码

props: {field: Object,parentWidget: Object,parentList: Array,indexOfParentList: Number,designer: Object,designState: {type: Boolean,default: false},subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */type: Number,default: -1},subFormColIndex: { /* 子表单组件列索引,从0开始计数 */type: Number,default: -1},subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */type: String,default: ''},nbcioHeader: { // for ruoyi-nbcio-plus使用type: Object,default: () => ({})},},
created() {/* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop需要在父组件created中初始化!! */this.initFieldModel()this.registerToRefList()this.initEventHandler()this.buildFieldRules()this.handleOnCreated()//for ruoyi-nbcio-plusthis.uploadHeaders = this.nbcioHeader;},

2、picture-upload-widget.vue也类似进行改造

3、widgetsConfig.js文件做了下面修改

export const advancedFields = [{type: 'picture-upload',icon: 'picture-upload-field',formItemFlag: true,options: {name: '',label: '',labelAlign: '',labelWidth: null,labelHidden: false,columnWidth: '200px',disabled: false,hidden: false,required: false,requiredHint: '',customRule: '',customRuleHint: '',//-------------------uploadURL: 'http://localhost:9060/common/upload',uploadTip: '',withCredentials: false,multipleSelect: false,showFileList: true,limit: 3,fileMaxSize: 5, //MBfileTypes: ['jpg', 'jpeg', 'png'],//headers: [],//-------------------customClass: '',  //自定义css类名labelIconClass: null,labelIconPosition: 'rear',labelTooltip: null,//-------------------onCreated: '',onMounted: '',onBeforeUpload: '',onUploadSuccess: '',onUploadError: '',onFileRemove: '',onValidate: '',//onFileChange: '',},},{type: 'file-upload',icon: 'file-upload-field',formItemFlag: true,options: {name: '',label: '',labelAlign: '',labelWidth: null,labelHidden: false,columnWidth: '200px',disabled: false,hidden: false,required: false,requiredHint: '',customRule: '',customRuleHint: '',//-------------------uploadURL: 'http://localhost:9060/common/upload',uploadTip: '',withCredentials: false,multipleSelect: false,showFileList: true,limit: 3,fileMaxSize: 5, //MBfileTypes: ['doc', 'docx', 'xls', 'xlsx', 'pdf'],//headers: [],//-------------------customClass: '',  //自定义css类名labelIconClass: null,labelIconPosition: 'rear',labelTooltip: null,//-------------------onCreated: '',onMounted: '',onBeforeUpload: '',onUploadSuccess: '',onUploadError: '',onFileRemove: '',onValidate: '',//onFileChange: '',},},

4、form-render文件做了下面调整

<template><el-form :label-position="labelPosition" :size="size" :class="[customClass]" class="render-form":label-width="labelWidth" :validate-on-rule-change="false":model="formDataModel" ref="renderForm"@submit.prevent><template v-for="(widget, index) in widgetList"><template v-if="'container' === widget.category"><component :is="getContainerWidgetName(widget)" :widget="widget" :key="widget.id" :parent-list="widgetList":index-of-parent-list="index" :parent-widget="null"><!-- 递归传递插槽!!! --><template v-for="slot in Object.keys($slots)" v-slot:[slot]="scope"><slot :name="slot" v-bind="scope"/></template></component></template><template v-else><component :is="getWidgetName(widget)" :nbcioHeader="nbcioHeader" :field="widget" :form-model="formDataModel" :designer="null" :key="widget.id" :parent-list="widgetList":index-of-parent-list="index" :parent-widget="null"><!-- 递归传递插槽!!! --><template v-for="slot in Object.keys($slots)" v-slot:[slot]="scope"><slot :name="slot" v-bind="scope"/></template></component></template></template></el-form>
</template><script>//import ElForm from 'element-ui/packages/form/src/form.vue'  /* 用于源码调试Element UI */import emitter from '@/utils/emitter'import './container-item/index'import FieldComponents from '@/components/form-designer/form-widget/field-widget/index'import {generateId, deepClone, insertCustomCssToHead, insertGlobalFunctionsToHtml, getAllContainerWidgets,getAllFieldWidgets, traverseFieldWidgets, buildDefaultFormJson} from "@/utils/util"import i18n, { changeLocale } from "@/utils/i18n"export default {name: "VFormRender",componentName: 'VFormRender',mixins: [emitter, i18n],components: {//ElForm,...FieldComponents,},props: {formJson: { //prop传入的表单JSON配置type: Object,default: () => buildDefaultFormJson()},formData: { //prop传入的表单数据type: Object,default: () => ({})},optionData: { //prop传入的选项数据type: Object,default: () => ({})},previewState: { //是否表单预览状态type: Boolean,default: false},globalDsv: { // 全局数据源变量type: Object,default: () => ({})},nbcioHeader: { // for ruoyi-nbcio-plus使用type: Object,default: () => ({})},},

5、效果图如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java如何使用webService方式调用对接第三方平台

实际使用记录&#xff0c;做个记录&#xff1a; 1、需要对方提供wsdl文件,该文件中有接口的Ip地址&#xff0c;方法名、参数等详细信息&#xff0c; wsdl文档中targetNamespace为命名空间 <xsd:element name"searchBGDMIInfo">标签中name是方法名&#xff1…

数据结构-树和森林之间的转化

从树的二叉链表的定义可知&#xff0c;任何一棵和树对应的二叉树&#xff0c;其根节点的右子树必为空。这里我们举三个树&#xff0c;将这个由三个树组成的森林组成二叉树是这个样子的。 下面我们说明一下详细过程&#xff0c;首先将每个树转化为二叉的状态&#xff0c;如图所示…

NAT网络地址转换实验(华为)

思科设备参考&#xff1a;NAT网络地址转换实验&#xff08;思科&#xff09; 一&#xff0c;技术简介 NAT&#xff08;Network Address Translation&#xff09;&#xff0c;即网络地址转换技术&#xff0c;是一种在现代计算机网络中广泛应用的技术&#xff0c;主要用于有效管…

汇编语言(详解)

汇编语言安装指南 第一步&#xff1a;在github上下载汇编语言的安装包 网址&#xff1a;GitHub - HaiPenglai/bilibili_assembly: B站-汇编语言-pdf、代码、环境等资料B站-汇编语言-pdf、代码、环境等资料. Contribute to HaiPenglai/bilibili_assembly development by creat…

李廉洋:4.27黄金原油下周一行情分析及走势策略。

金价将出现六周来的首次单周下跌&#xff0c;因投资者在金价上涨数月后获利了结。自2月中旬的低点以来&#xff0c;金价已经上涨了约17%&#xff0c;尽管对美联储放松政策的预期正在减弱&#xff0c;但金价仍屡创新高。周五公布的最新通胀数据强化了高利率将暂时维持的观点。“…

MATLAB的几种边缘检测算子(Sobel、Prewitt、Laplacian)

MATLAB的几种边缘检测算子(Sobel、Prewitt、Laplacian) clc;close all;clear all;warning off;%清除变量 rand(seed, 100); randn(seed, 100); format long g;% 读取图像 image imread(lena.png); % 转换为灰度图像 gray_image rgb2gray(image); % 转换为double类型以进行计算…

Git泄露和hg泄露原理理解和题目实操

一.Git泄露 1.简介 Git是一个开源的分布式版本控制系统&#xff0c;它可以实现有效控制应用版本&#xff0c;但是在一旦在代码发布的时候&#xff0c;存在不规范的操作及配置&#xff0c;就很可能将源代码泄露出去。那么&#xff0c;一旦攻击者发现这个问题之后&#xff0c;就…

论文速览 | IEEE Symposium on Security and Privacy (SP), 2023 | FMCW雷达反射阵列欺骗攻击

注1:本文系"计算成像最新论文速览"系列之一,致力于简洁清晰地介绍、解读非视距成像领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, SIGGRAPH, TPAMI; Light‑Science & Applications, Optica 等)。 本次介绍的论文是:<I…

MariaDB 修改用户密码的 SQL

有时候我们希望能够修改数据库中访问用户的密码。 但是我们只能 SQL 登录服务器后才能进行修改。 修改的 SQL 为&#xff1a; ALTER USER root% IDENTIFIED WITH mysql_native_password BY 123;针对实际上数据的配置情况&#xff0c;上面的 SQL 是需要进行一些调整的。 MySQ…

鸿蒙云函数调试坑点

如果你要本地调试请使用 const {payload, action} event.body/** 本地调试不需要序列化远程需要序列化 */ // const {payload, action} JSON.parse(event.body) const {payload, action} event.body 注意: 只要修改云函数&#xff0c;必须上传云函数 如果使用 const {pay…

25计算机考研院校数据分析 | 南京大学

南京大学&#xff08;Nanjing University&#xff09;&#xff0c;简称“南大”&#xff0c;是中华人民共和国教育部直属、中央直管副部级建制的全国重点大学&#xff0c;国家首批“双一流”、“211工程”、“985工程”重点建设高校&#xff0c;入选首批“珠峰计划”、“111计划…

WordPress AI Engine 插件 文件上传致RCE漏洞复现(CVE-2023-51409)

0x01 产品简介 AI Engine插件是WordPress中的AI一体化解决方案,包括创建聊天机器人、生成内容和图像、推荐标题和帖子摘录、支持多种人工智能引擎等功能,可以节省用户时间。 0x02 漏洞概述 WordPress AI Engine 插件upload接口存在文件上传漏洞,未经身份验证的远程攻击者…

(四)Servlet教程——Maven的安装与配置

1.在C盘根目录下新建一个Java文件夹,该文件夹用来放置以下步骤下载的Maven&#xff1b; 2. 下载Maven的来源有清华大学开源软件镜像站和Apache Maven的官网&#xff0c;由于清华大学开源软件镜像站上只能下载3.8.8版本以上的Maven&#xff0c;我们选择在Apache Maven的官网上下…

codeforce#933 题解

E. Rudolf and k Bridges 题意不讲了&#xff0c;不如去题干看图。 传统dp&#xff0c;每个点有两个选择&#xff0c;那么建桥要么不建。需要注意的是在状态转移的时候&#xff0c;桥是有长度的&#xff0c;如果不建需要前d格中建桥花费最少的位置作为状态转移的初态。 #incl…

深度学习论文: MobileNetV4 - Universal Models for the Mobile Ecosystem及其PyTorch实现

深度学习论文: MobileNetV4 - Universal Models for the Mobile Ecosystem及其PyTorch实现 MobileNetV4 - Universal Models for the Mobile Ecosystem PDF: https://arxiv.org/pdf/2404.10518.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: ht…

swagger xss漏洞复现

swagger xss漏洞复现 文章目录 swagger xss漏洞复现漏洞介绍影响版本实现原理漏洞复现修复建议: 漏洞介绍 Swagger UI 有一个有趣的功能&#xff0c;允许您提供 API 规范的 URL - 一个 yaml 或 json 文件&#xff0c;将被获取并显示给用户 根本原因非常简单 - 一个过时的库Dom…

高级控件5-RecyclerView

与ViewPager类似的一个滑动的高级控件是RecyclerView&#xff0c;使用更加灵活。 第1步&#xff1a;添加依赖 打开mvn官网&#xff0c;检索recyclerview&#xff0c;选择使用人数较多的版本&#xff0c;复制依赖&#xff0c;放入项目中即可 快捷方法&#xff08;复制下面的代…

科普:PD协议、QC协议、三星AFC、华为SCP是什么,怎么获取这些协议及协议通讯原理

PD协议是什么 PD协议是由 USB-IF 组织制定的一种快速充电规范&#xff0c;它一般使用Type-C接口&#xff0c;所以常见的Type-C接口充电器一般都是支持PD协议。 USB Power Delivery(USB PD)是目前主流的快充协议之一&#xff0c;USB PD 通过Type-C电缆和连接器增加电力输送&…

【Unity动画系统】动画基本原理与Avater骨骼复用

动画基本原理 动画片段文件是一个描述物体变化状态的文本文件 在Unity中创建的资源文件大多都是YAML语言编写的文本文件 Curves表示一种变化状态&#xff0c;为空的话则没有记录任何内容 位置变化后的旋转变化状态&#xff1a; 动画文件里的Path名字要相同才能播放相同的动画 …

uniapp制作分页查询功能

效果 代码 标签中 <uni-pagination change"pageChanged" :current"pageIndex" :pageSize"pageSize" :total"pageTotle" class"pagination" /> data中 pageIndex: 1, //分页器页码 pageSize: 10, //分页器每页显示…