最近开始专注开源sifunflow工作流引擎,并且对sifunflow工作流保存函数进行调整,使用ajax保存表单数据,优化系统提高用户体验,并将修改后的源代码向大家共享,希望有更多人参与到sifunflow开源工作流引擎开发。
-----------------------------------------------------------------------------------------
domino系统很多时候还是采用传统的提交表单方式进行数据保存,这样的做法,自然开发人员少写一些代码,但是用户体验不好,提交表单会导致页面刷新重新加载和长时间等待。 因此如果能采用ajax提交domino表单数据,无疑可以大大提高用户体验。
修改后sifunflow流程引擎的表单保存函数如下:
/**
* fCheckForm
* 参数:
* saveSuccessFun:数据保存成功后调用
* saveFailFun : 数据保存失败后调用(可选)
* 功能:表单数据有效性验证;如果验证通过,则进行ajax提交表单;否则不提交数据,并调用保存失败函数
*
* */
function fCheckForm(saveSuccessFun,saveFailFun){
var djForm = dijit.byNode(document.forms[0]);
if(!djForm){
var curForm = document.forms[0];
djForm=new dijit.form.Form({
action:curForm.action,
method:curForm.method,
name:curForm.name,
enctype:curForm.enctype},curForm)
}
if(djForm.validate()){
try{
fCustomSaveDoc();
document.getElementById("saveRowItem").onclick();
}catch(e){
require(["dojo/request","dojo/dom-form"],function(request,domForm){
request.post(djForm.action, {
data: domForm.toObject(djForm.domNode),
timeout: 2000
}).then(function(response){
console.log(response);
if(saveSuccessFun){saveSuccessFun()}
});
})
}
}else{
if(saveFailFun){saveFailFun()}
return false;
}
return true;
}
-----------------------------------------------------------------------------------------
sifun 工作流平台,V1.1完整版已经发布,供大家下载使用!
当前工作流平台,包括了收文、发文模块。收文转发文,发文转收文模块
外出授权模块
流程引擎平台研发团队都为10年以上的资深顾问,从事OA、SAP、工作流、BPM实施经验丰富
如需要技术支持,请加入QQ群: 81845457
下载地址:
http://yunpan.cn/Q4V3at5CXKJNH 访问密码 5a78
因为在一台服务器上安装了分区,做了SSO,现在IP已经不能访问了。给各位关注的朋友,带来不变,请大家谅解!!
为了能够给大家提供更好的服务,希望大家在自己配置一下host,配置如下
61.128.167.30 oa.sifunflow.com
61.128.167.30 dev.sifunflow.com
添加新评论2 条评论
2014-06-06 10:19
2014-06-06 10:18
* fCheckForm
* 参数:
* saveSuccessFun:数据保存成功后调用
* saveFailFun : 数据保存失败后调用(可选)
* 功能:表单数据有效性验证;如果验证通过,则进行ajax提交表单;否则不提交数据,并调用保存失败函数
*
* */
function fCheckForm(saveSuccessFun,saveFailFun){
var djForm = dijit.byNode(document.forms[0]);
if(!djForm){
var curForm = document.forms[0];
djForm=new dijit.form.Form({
action:curForm.action,
method:curForm.method,
name:curForm.name,
enctype:curForm.enctype},curForm)
}
if(djForm.validate()){
try{
fCustomSaveDoc();
document.getElementById("saveRowItem").onclick();
}catch(e){
if(document.getElementById("Query_flow_decoded")){
document.getElementById("Query_flow_decoded").value ="";
}
require(["dojo/request/iframe","dojo/dom-form"],function(request,domForm){
request.post(djForm.action, {
form: djForm.domNode,
handleAs:"xml"
}).then(function(response){
console.log(response);
if(saveSuccessFun){
saveSuccessFun()
}else{
alert("保存成功!")
}
},function(err){
console.log(err,argruments)
});
})
}
}else{
if(saveFailFun){saveFailFun()}
return false;
}
return true;
}