目前Activiti默认支持的类型有String,long,enum,date,boolean,collection 要自定义字段类型,首先需要表单类型解析类 /** * @Author:LJ * @Description: activiti Javascript类型表单字段 * @Date: 2018/5/17 * @Modified By: */ public class JavascriptFormType extends AbstractFormType { /** * 把表单中的值转换…
一.流程变量   流程实例按步骤执行时,需要保存并使用一些数据,在Flowable中,这些数据称为变量(variable).   流程实例可以持有变量,称作流程变量(process variables).   为了使用效率,Flowable将变量分为两种:运行时变量.历史变量. 1.1 运行时变量   流程实例运行时的变量,存入act_ru_variable表中.在流程实例运行结束时,此实例的变量在表中删除.   在流程实例创建及启动时,可设置流程变量.所有的startProcessInstan…
学习资料:<Activiti实战> 第六章 任务表单(一)动态表单 内容概览:本章要完成一个OA(协同办公系统)的请假流程的设计,从实用的角度,讲解如何将activiti与业务紧密相连. 第四章中讲解了两种表单:动态表单和外置表单的区别.这里将使用不同的表单来完成相同的功能. 动态表单:<activiti:formProperty> 外置表单:<activiti:formKey> 6.1 动态表单…
由于vue3用的人还不多,所以有些问题博主踩了坑只能自己爬出来了,特此做个记录.如有错误,请大家指正. 回归正题,我所做的业务是,动态添加表单项,对每一项单独做校验,效果如下: 主要代码如下: 1 <a-form 2 name="custom-validation" 3 ref="formRef" 4 :model="modelRef" 5 :rules="rules" 6 v-bind="layout&quo…
概要 动态表单指的是我们的表单不是通过vue 组件一个个编写的,我们的表单是根据后端生成的vue模板,在前端通过vue构建出来的.主要的思路是,在后端生成vue的模板,前端通过ajax的方式加载后端的表单模板,权限数据和表单数据,在前端使用vue进行构建出来. 表单渲染过程. 实现步骤 1.在前端开发表单组件,比如用户组件,文本输入组件. 在平台中我们可以看到我们开发的组件. 组件的开发在第三篇有介绍. 我们定义的组件和后台配置的权限相关. 我们每个组件都定义了: permission: 权限对…
动态表单生成之拖拽生成表单(下) 我们的动态表单,最终要实现的效果与Form.io的在线生成表单的效果类似,可以参考它的demo地址:https://codepen.io/travist/full/xVyMjo 准备工作 首先,我们在过程中会需要用到一个弹出层控件,这里引用KendoUI的Dialogs,使用下面的命令安装: npm i --save @progress/kendo-angular-dialog 安装完成后,会提示几个可选依赖没有安装,我们继续使用命令完成安装: npm i --…
动态表单之根据Json生成表单 我们在实际的使用中,动态表单往往是由服务器端的一系列配置,然后返回数据给客户端,最后客户端根据数据来动态的生成表单.那么怎么像我们上面所描述的这样,生成一个可以让我们的客户端解析,并且可以用于服务器与客户端传输的字符呢? 我第一时间能想到的最直接的办法,就是生成一些列数据,这些数据中包含客户端我们在构造FormModel时每个控件中需要的属性,最终客户端去判断控件的类型,并new不同的控件,然后push到formModel中~ 那究竟在ng-dynamic-for…
动态表单生成之布局 到上面的篇章为止,我们已经把表单比较完整的生成出来了,也实现了一些验证功能,可以说,我们截止这里,就已经可以满足我们的大部分表单生成需求了~ 但是: 目前来说,我们对于表单的布局只能是用一些公用的CSS统一控制一下,但是如果说我们的表单有需要将一些控件需要单独来点样式呢?我们接下来一起看看吧~ 理论部分 其实,我们在<dynamic-kendo-form></dynamic-kendo-form>中,可以指定一个属性 [layout]="formLay…
Flask开发系列之Web表单 简单示例 from flask import Flask, request, render_template app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def home(): return render_template('home.html') @app.route('/signin', methods=['GET']) def signin_form(): return ren…
在需要返回数据的地方调用表单返回方法完成数据返回 this.View.ReturnToParentWindow(retData); 在调用界面的回调函数中取出返回结果的ReturnData即可使用. 例如: 在动态表单的按钮事件中调用此方法 //确定按钮事件 private void SaveClaimerAndDate() { string errMsg = Check(); if (!string.IsNullOrWhiteSpace(errMsg)) { this.View.ShowErr…
Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成) 动态表单生成 ElementUI官网引导 Element表单生成 Element动态增减表单,在线代码 关键配置 template中,form和form-item的写法和绑定 data里的值为空 methods中,向后台获取数据的函数写法 1. form,form-item,input的写法[^code] <el-form :model="dynamicValidateForm" label-width=&…
如果没有表单设计功能,我们一般建物理表,再把表单挂接到流程, 我们可以把外接表单的地址填到表单地址中,地址中会传递一个id. 如果使用外接表单,在审批的时候可能会“不太友好”,因为在审批单上看不到任何业务表单信息, 在腾讯的时候有一个实践就是提交流程的时候推送一些业务信息到流程引擎, 这里使用一个“快捷表单”来实现,“快捷表单”用 一个简单json(表单模型)来读取业务表中的数据. 这样在审批单中就可以显示业务表上的信息. 区别于“外接表单”,流程引擎中的另一个难点是“设计动态表单”. 设计动态…
1. 原生事件中调用angular方法, 比如 input的onChange事件想调用angular里面定义的方法 - onChange="angular.element(this).scope().uploadPhoto(this)" <div class="col-md-2"> <input onChange="angular.element(this).scope().uploadPhoto(this)" type=&qu…
动态表单的含义是不要手动定义,直接在配置文件中进行定义. 1.手动进行定义 <form-beans > <form-bean name="userForm" type="org.apache.struts.action.DynaActionForm"> <!-- 该表单的属性是配置出来的 --> <form-property name="username" type="java.lang.Str…
非Core中的请参照: MVC的验证 jquery.validate.unobtrusive mvc验证jquery.unobtrusive-ajax 参照向动态表单增加验证 页面引入相关JS: <script src="~/lib/jquery/dist/jquery.js"></script> <script src="~/lib/jquery-validation/dist/jquery.validate.js"></…
动态表单生成之拖拽生成表单(上) 这个功能就比较吊炸天了,之前的六篇,都是ng-dynamic-forms自带的功能,可能很多的说明官方的文档都已经写了,我只是个搬运工,而在这篇文章中,我将化身一个工程师,来自己创造点东西,让我们一起来期待吧~ 导入相关类库 拖拽功能看似吊炸天,其实HTML5中已经有一套标准来定义它了,所以并没有那么难以实现,这篇关于拖拽的文章写得还可以,大家可以先看看:http://www.zhangxinxu.com/wordpress/2011/02/html5-drag…
ng-dynamic-forms源码分析 在两个开源项目中,ng-dynamic-forms的源码相较于form.io,比较简单,所以我还勉强能看懂,下面就我自己的理解进行简单分析,若有不对的地方,请大家多多指正. 整体结构分析 ng-dynamic-forms的主要代码均分布在packages文件夹下,其中的Core是各种控件的抽象,其他的文件夹是各个UI框架的具体封装,每个文件夹都是一个可独立编译运行的项目. Core文件夹内容分析 Core文件夹做的事情,基本上是对于各种组件.布局的抽象,…
好久不写博客了,手都生了,趁着最近老大让我研究动态表单生成的时机,撸一发博客~~ 开源项目比较 老大丢给我了两个比较不错的开源的动态表单生成工具,这两个项目在github上的star数量基本持平: https://form.io/#/ https://github.com/udos86/ng-dynamic-forms form.io 其中from.io本身是一个商业项目,只是开源了其中动态表单生成的部分.他的功能有点强大,从官方简介的视频来看看,支持拖拽.验证.设置各种默认值等等,商业版本甚至…
背景:系统手机开单生成销售单据,通过银行pos机收款,系统收款流水与银行流水可能存在差异,所以通过获取银行接口,获取消费信息自动插入到生产系统数据库,开发对账报表,实现差异汇总! 展示效果如下: 开发简介: 1.报表使用动态表单 2.单据体使用树形控件 3.使用插件代码调用自定义的过滤框,进行传值 4.引出数据功能通过插件代码生成自定义的数据格式 5.冻结列可以实现像excel中的冻结功能 6.分层实现层级关系数据展示(收起和展示)…
先贴个本帖的地址,以免被爬:struts2教程 官方系列六:表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 介绍 在本教程中,我们将探索使用Struts2来验证用户在表单上的输入.有两种方法可以来进行表单验证.本教程将介绍更基本的方法,在Struts2 Action类中包含验证. 为了使Struts2 Action类在Struts2 表单中验证用户的输入,您必须在Action类中定义一个validate方法…
介绍html5新特性的一个属性:contenteditable 作用域全局.所有的块标签都可以,例如:span.p.div.td等标签.但是,不可以作用域<br/>类型的标签. contenteditable属性的作用是,允许标签获取焦点是可以输入内容.html5之前:如果我们想创建一个表单,且表单的表格可以输入内容的情况.会选择一个js事件当点击td标签是动态生成一个input输入框显示在当前td标签区域上方,输入完成后将值赋给当前td中.然后input消失.拥有html5之后,我们只要在t…
只是实现了前台页面的动态表单的设计,并未实现后台绑定数据到数据库等功能.技术使用到的为jquery和bootstrap.俗话说有图有真相,先说下具体效果如下: 点击添加一个面板容器: 容器添加成功: 实现的代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <li…
插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数. private void ShowMaterialStock() { object useOrgId = (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"]; object materialId = this.View.Model.GetPKValue(); List&l…
说明: 组件使用了ng-zorro (https://ng.ant.design/docs/introduce/zh) 第一类:嵌套表单 1. 静态表单嵌套 demo.component.html <form [formGroup]="formGroup"> <div> <label>名称: </label> <input type="text" formControlName="title"…
公司最近的项目有个添加动态表单的需求,总结一下我在表单验证上遇到的一些坑. 如图是功能的需求,这个功能挺好实现的,但是表单验证真是耗费了我一些功夫. vue+element在表单验证上有一些限制,必须依照element示例的格式才能验证通过. 附上代码: <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class=&quo…
前言 版本更新迭代的时候,需要用到一个动态表单的功能,ElementUI刚好有教程就改改用咯 步骤 代码 <!-- 手机副号动态表单框 --> <el-form-item v-for="(domains, index) in formData.domains" :key="index" :prop="'domains.'+ index +'.value'" :rules="[ { required: true, mes…
BOS IDE中配置了个界面,拖了动态表单界面,加了5个测试按钮. 点击“打开单据”维护界面, 会跳转到一个新的主界面页签,[物料]新增 点击“打开列表”,会弹出[物料]列表界面 点击“打开动态表单”,会弹出动态表单, 这个打开动态表单界面是空的,一般动态表单都是要压入自定义参数值进去,或者从父界面获取需要的值. 点击“打开简单帐表”,会弹出简单帐表, 点击“打开直接SQL帐表”,会弹出直接SQL帐表, 可以看到报错了,因为这个是所有[直接Sql帐表]的基对象,是不能直接使用的,我们开发的直接S…
试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行的输入框,并禁用该行输入框的表单验证. 思路分析 动态表单验证 这里显然是一个数据遍历产生的动态表单验证问题,并且与el-table相结合.动态表单验证主要的难点在于表单项的prop属性的设置问题,由于是el-table中的表单,只需要使用scope.$index传递给prop,并将prop设置成形…
对于动态增减表单项,Element UI 官方文档表单那一节已经介绍得很清楚了,我之前没有看见,绕了很多弯路,这里针对点击按钮增删一排输入框的问题做一个总结. 效果图如下 存在一排必填的姓名与手机号,点击增加后会新增一行,点击每行后面的删除图标则会删除该行 必填项很简单,就是普通表单: <el-form ref="form" :rules="formRules" :inline="true" :model="form"…
要实现一个功能动态表单中嵌套动态表单如下: 仔细看看antd的文档其实不难 具体步骤如下 1.建立一个 名为 ConcatRegion的组件(动态表单A)代码如下 export function ConcatRegion({ form }: ConcatRegionProps) { return ( <> <Form.Item label="策略"> <Form.List name="totalStrategy"> {(field…