一个被遗忘的ccflow工作流引擎自定义表单开发模式

摘要:
自定义表单工作模式:流程控制按钮区域是ccflow来完成,表单区域是放在控制区域下面的框架里,如下图所示。2,仅仅使用ccflow的流程引擎。3,最大限度的减少程序开发人员的开发。2,自己开发的表单,要接受来自ccflow的参数,参数格式如下。如果您了解了ccflow的数据存储结构,我们建议您把该流程的流程属性,数据存储表名与您的业务表单表名一致。

定义概述:一个已经做好的表单需要绑定到节点上 , 该文章在驰骋工作流引擎流程引擎设计器中。

自定义表单工作模式:流程控制按钮区域是ccflow来完成,表单区域是放在控制区域下面的框架里,如下图所示。

image

注意:蓝色边框一下是一个框架,框架里面的界面是一个url,这个就是自定义表单。

应用背景:这种类型是解决我自己已经有了一个成熟稳定的产品或者项目,里面的表单已经做好了,我只想使用流程引擎负责流转功能,业务数据的存储不变化。这中类型有如下特点。

1, 数据的存取有自己开发人员来确定。

2, 仅仅使用ccflow的流程引擎。

3, 最大限度的减少程序开发人员的开发。

4, 最大完整的保障自己的业务独立与业务完整。

如果要适应这种方式需要在把自己的表单做如下改造:

1, 把自己的表单主表增加一个int类型的workid列用于做主键或者用程序保障他的唯一性。

2, 自己开发的表单,要接受来自ccflow的参数,参数格式如下。比如:您输入的是 http://localhost/MySelf.aspx?aa=xxx 系统在调用时就会是 http://localhost/MySelf.aspx?aa=xxx&WorkID=123&FK_Node=101&UserNo=zhoupeng&SID=xxxxx, 这些参数是系统自定传递的,它表示那个流程实例、到达了那个节点、那个流程,与当前的登录人员,SID 是验证该人员是否合法,请参考其他章节。开发人员可以根据节点编号灵活控制权限。

如果您了解了ccflow的数据存储结构(请参考流程属性章节),我们建议您把该流程的流程属性,数据存储表名与您的业务表单表名一致。

image

这样做的好处有:

1, 不用担心数据存储主键,不用关心流程的业务逻辑。

2, 系统会给该业务字段自动创建其他的流程字段,用户可以根据这些字段信息扩展更多的业务逻辑编写。

自定义表单流程demo:

流程编号:129

image

第一步:开发一个自定义表单位置在。

image

在该表单里有一保存按钮,并让其隐藏,该按钮的功能是出来保存整体表单

数据,如下图:

image

定义一个保存函数Save,这个保存函数是系统约定的,保存函数里激活保存按钮从而完成保存,调用Save保存是流程的发送与保存工具栏按钮,如下图就是表单运行时的样子。

image

第2步:把配置节点属性。把辨析的该表单定义如下,并保存, 第2,3个节点同样的设置。

image

第3步:设置步骤2,3的审核组件属性,让其启用,并把高度与宽度设置为0,表示高度宽度为100%。

image

第3步骤:启用调试运行。

节点1效果:

在用户点击保存与发送按钮后,系统就会自动触发了框架里面的save方法,完成框架内的数据保存,如果框架内的函数返回false,标识发送失败,系统就停止发送。

image

发送之后效果:

image

节点2效果:

image

节点3效果:

image

该案例详细的说明了如何使用自定义表单完成对业务的快速实现,更多的信息请参考源代码与源代码里面的注释。

免责声明:文章转载自《一个被遗忘的ccflow工作流引擎自定义表单开发模式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Apache中Cookie长度的设置 414 request-uri too large apacheQt之加载QSS文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

GIT团队合作探讨之二--Pull Request

pull request是github/bitbucket给开发人员实现便利合作提供的一个feature。他们提供一个用户友好的web界面在进代码之前来讨论这些变更。 简单说,pull request是一种为了开发人员通知team member他们已经完成了一个feature的机制。一旦他们的feature branch ready了,开发人员就通过他们...

el-upload 上传表单验证

<template> <div> <div class="container"> <el-form style="60%;" :model="form" status-icon :rules="rules" re...

Jquery面试题整合

一、Jquery测试题 下面哪种不是jquery的选择器?(单选) A、基本选择器 B、后代选择器 C、类选择器 D、进一步选择器 考点:jquery的选择器 (C) 当DOM加载完成后要执行的函数,下面哪个是正确的?(单选) jQuery(expression, [context]) B、jQuery(html,[ownerDocument]) C、jQ...

动态表单

最近需要做一个动态表单管理,因为以前没什么经验,所以自己做了一个小demo研究了一下,现将自己的整体思路再从头顺一下,也顺便记录一下这次的学习经验,呵呵 1、  首先,要想实现动态表单的管理,自己首先想到的是不就是执行sql语句对数据库表的字段进行增删改嘛,后来想想并不这么简单,因为要关乎到以后用户添加数据时表单的动态生成,以及还要生成动态的js表单验证,...

jQuery Validate插件实现表单强大的验证功能

转自:http://www.jb51.net/article/76595.htm jQuery Validate插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。 第一节:jQuery Validation让验证变得如此容易 一、...

linux入门系列19--数据库管理系统(DBMS)之MariaDB

前面讲完Linux下一系列服务的配置和使用之后,本文简单介绍一款数据库管理系统(MySQL的兄弟)MariaDB。 如果你有MySQL或其他数据的使用经验,MariaDB使用起来将非常轻松。 本文讲解Centos7默认的数据MariaDB,由于是入门系列文章因此不会深入讲解,后面有机会在单独深入。 一、MariaDB产生背景 数据处理是软件的核心,软件的本...