- 浏览: 432867 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
man1900:
想部署及学习了解,可参考本人新的博客获得下载源代码。http: ...
JOffice 中的JBPM4在线流程设计器--初览(Applet版) -
atgoingguoat:
哎。假的。
JOffice 中的JBPM4在线流程设计器--初览(Applet版) -
电竞杀神张无忌:
这是主流程调用子流程报的错大神指导原因吗? ...
JBPM4的子流程与父流程的设计及开发 -
贝塔ZQ:
pageoffice也是office在线编辑的吧,J.Offi ...
J.Office另一种在线Office编辑器整合 -
Mybonnie1:
你好,想问下,串行的多实例任务能做到回退么
Activiti 多个并发子流程的应用
开发与设计公文流程在所有的政府oa项目上都少不了此需求,而能灵活定义一个在线的公文发文与收文流程尤其重要,J.Office通过过Velocity模板技术进行表单定义,同时结合WebOffice能非常容易实现在线公文的拟稿、保留修改痕迹、并且进行套红、套打功能。
在介绍本文之前,我们先看一下其中一个发文流程:
这是一个稍为复杂的发文流程,用jbpm工具发这个流程并不成问题,问题是这个流程设计好,其里面的每个任务如何跟公文系统的数据进行对应起来。
J.Office提供了流程的表单技术,通过Velocity,可以把表单里面对应的任务直接保存至公文系统,并且同时让流程跳转至下一步。
如其中一个任务表单的设计:
FlowPanel=Ext.extend(Ext.form.FormPanel,{ constructor:function(cfg){ this.officePanel=new OfficePanel({ height:490, filePath:'${doc_path}', showToolbar:true }); FlowPanel.superclass.constructor.call(this,{ bodyStyle:'padding:5px', title:'办公室主任审核', height:600, width:800, layout:'form', items:[ { fieldLabel:'审核意见', name:'zr_option', xtype:'textarea', width:400, allowBlank:false, anchor:'98%,98%' },this.officePanel.panel ] }); }, save:function(){ if(!this.getForm().isValid()) return; //TODO 保存我的流程表单至我的自定义表 this.officePanel.saveDoc({ fileCat : 'archIssue', docPath:this.officePanel.filePath }); return true; } })
对应的界面如下所示:
在以上可以比较容易在进行流程的跳转前,我们可以在这里处理我们的公文,如保存,套红,修改等操作,完成后再进行下一步的跳转处理。
注意,在VM模板中,我们也使用了${doc_path}这些变量,其值来自流程表单的提交,并且会在流程跳转过程中一直存在,以方便流程读取这些变量。
其他表单的设计也类似。
鉴于以前使用的WebOffice控件封装得不太好,现在附上一个封装较好的使用代码示例:
OfficePanel=function(conf){ var officeObj = document.createElement('object'); officeObj.width = "100%"; officeObj.height = "100%"; officeObj.classid= "clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5"; officeObj.codebase = __ctxPath+'/js/core/weboffice/weboffice_V6.0.4.6.cab#V6,0,4,6'; var panelConf={border:false,layout:'fit'}; if(conf.showToolbar){ panelConf.tbar=new Ext.Toolbar({ items:[ { text : '保留修改痕迹', iconCls : 'btn-archive-save-trace', handler : function() { officeObj.SetTrackRevisions(1); officeObj.SetCurrUserName(curUserInfo.fullname); } }, '-', { text : '取消保留痕迹', iconCls : 'btn-archive-cancel-trace', handler : function() { officeObj.SetTrackRevisions(0); } }, '-',{ text : '清除痕迹', iconCls : 'btn-archive-eraser', handler : function() { officeObj.SetTrackRevisions(4); } }, '-',{ text:'加入套红模板', iconCls:'', handler:function(){ new ArchTemplateSelector({ callback : function(tempPath) { var filePath=conf.filePath?__fullPath+'/attachFiles/'+conf.filePath:''; officeObj.LoadOriginalFile(__fullPath+"/attachFiles/" + tempPath,'doc'); officeObj.SetFieldValue("contents",filePath, "::FILE::"); //officeObj.SetFieldValue("red_header","","::ADDMARK::"); //officeObj.SetFieldValue("red_header",__fullPath+"/attachFiles/" + tempPath, "::FILE::"); } } ).show(); } } ] }); } Ext.applyIf(panelConf,conf); var panel=new Ext.Panel(panelConf); panel.on('afterrender',function(){ panel.body.appendChild(officeObj); panel.doLayout(); var filePath=conf.filePath?__fullPath+'/attachFiles/'+conf.filePath:''; var docType=conf.docType?conf.docType:'doc'; officeObj.LoadOriginalFile(filePath,docType); panel.doLayout(); }); panel.on('destroy',function(){ try { officeObj.Close(); } catch (ex) {} }); window.onunload=function(){ try { officeObj.Close(); } catch (ex) {} }; //对外公共方法 return { panel:panel, officeObj:officeObj, filePath:conf.filePath, openDoc:function(path,type){ var vType='doc'; if(type){ vType=type; } officeObj.LoadOriginalFile(path,type); }, saveDoc:function(config){ config=config||{}; officeObj.HttpInit(); officeObj.HttpAddPostString('file_cat', config.fileCat); //overwrite file path if(config.docPath!=null && config.docPath!=''){ officeObj.HttpAddPostString('file_path', config.docPath); } officeObj.HttpAddPostCurrFile('AipFile',''); var url=config.url ? config.url: __fullPath + '/file-upload'; // 提交上传文件 returnValue = officeObj.HttpPost(url); var obj; eval('obj='+returnValue+";"); return obj; } }; }; //Ext.reg('officepanel',OfficePanel);
发表评论
-
Activiti 工作流会签开发设计思路
2012-07-26 12:12 28500Activiti 工作流会签开 ... -
基于开源流程引擎Activiti5的工作流开发平台
2012-05-17 11:28 7233http://www.redxun.cn:8 ... -
Jbpm4或Activiti5的流程任务分发与汇总
2012-03-20 18:28 6283应用场景:在企业或事业单位,经常需要把一个任务分派给多条线去 ... -
关于Activiti或JBPM流程的回退的讨论之一
2011-12-30 12:08 8896需求: ... -
Activiti 5 在线流程设计器开发
2011-11-30 08:56 23779jbpm4的开发成员to ... -
基于标签方式的工作流启动及任务执行开发说明
2011-09-25 21:21 2309基于现在的系统的整 ... -
JOffice2 发布了开源的开发者体验版本啦!
2011-08-09 23:42 7303JOffice的爱好者有福音了,经公司决定,现在发布 ... -
关于JOffice的业务表单与流程的整合问题
2011-07-26 23:55 3323关于 JOffice 的业务表 ... -
JBPM4的子流程与父流程的设计及开发
2011-07-14 11:23 5670【JBPM4的子流程 ... -
Jbpm4中的会签设计及实现
2011-05-05 15:20 7678会签任务是工作流里一个比较觉见的任务方式,意思是一 ... -
jbpm4.4在线设计分支跳转
2011-05-02 14:30 4399我们知道jbpm4.4提供了三种比较方便的分支跳转方式 ... -
J.Office 2 JBPM4.4 工作流增强版特性
2011-04-27 16:00 37342.0主要在工作流方面提供了很强的改进,jbpm升级至jbpm ... -
JOffice2的在线表单设计示例(JBPM4.4)
2011-03-16 13:52 6003JOffice2目前升级至jbpm ... -
JOffice2中的JBPM4的任务回退实现
2010-12-07 15:27 3592任务回退的工作可以有两种实现方式: 1. 完成当前 ... -
利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思
2010-11-26 17:05 6251Jbpm4提供的IdentitySession ... -
分享宏天免费的JBPM4流程设计器(Applet)
2010-07-07 11:56 312JBPM4一直没有一个很好的在线流程设计器,基于这种方式,跟大 ... -
JBPM4中的任务回退、补签、自由流程实现
2010-04-22 16:12 10455最近在实施政府办公项 ... -
OA JBPM中的公文(发文、收文)流程
2010-03-25 00:10 11461公文管理主要包括两大模块,其一是发文管理,其二是收文管理,非常 ... -
JBPM在线流程设计器的分析与实现部分构想
2010-03-10 13:54 7390在发表文章之前,先 ... -
取得任务节点的对外所有跳转Transition对象
2010-03-09 11:32 2407在流程的任务里,我们需要把当前的任务节点的下一步的跳转选择显示 ...
相关推荐
在JOffice2中,JBPM4是一个强大的工作流引擎,用于管理和执行业务流程。本文将深入探讨如何在JOffice2中实现JBPM4任务的回退功能,这在处理复杂流程时尤其重要,允许用户纠正错误或根据需要调整流程方向。 任务回退...
- **自定义流程表单设计**:根据需求自定义表单界面。 - **人员设置** - **流程处理权限授给用户**:指派流程处理权限给具体用户。 - **流程处理权限授给角色**:指派流程处理权限给角色。 7. **公共文档** - *...
这个JOffice V1.2 beta版,也就是官方说开源的版本之一。 说实话,这个公司很讨厌,打着开源的幌子来宣传自己的产品,里面的 东西根本没有开源,还很恶心的包留了一部分代码,htcore.jar。 对于这样的开源,我表示...
关于 JOffice1.3使用手册,方便快捷,大家来下载
// 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls;...
office文档转pdf后,再转swf,最终显示需要的一些工具及jar包,包括一个office转pdf转swf的java文件。因目前可上传的文件大小限制,OpenOffice安装文件未上传,工具目前最新版本为3.4.1,请另行下载
11. **上传至JOffice系统**: 完成设计后,将.jasper文件上传至报表管理系统,设定参数以便在系统中运行。 12. **参数设置和数据初始值**: 在报表参数设置中,指定参数的默认值或允许用户输入。这样,报表在运行时...
在本例中,我们关注的是一个特定的Java应用程序——J.Office1.3.1,它与Tomcat6服务器绑定,并需要JDK 1.6和MySQL 5.0的支持。 首先,J.Office1.3.1是基于Java的一个办公软件,可能包含了处理文档、表格和演示文稿...
在压缩包文件"joffice"中,很可能包含了实现上述功能的源代码、配置文件、数据库脚本以及可能的部署相关文件。开发者可以通过分析这些文件,了解SSH框架在实际项目中的应用方式,学习如何构建和优化一个完整的办公...
在压缩包中提到的“joffice”可能是该项目的一个组件或子目录,可能包含与Java Office集成相关的代码。这可能涉及到读取、写入或处理Office文档(如Word、Excel)的功能,使用户能够直接在邮箱中预览和编辑附件。 ...
在JOffice中,权限管理采用了基于角色的管理策略,这使得系统能够高效地实现对用户访问权限的控制。这种策略与Spring Security 2框架相结合,允许开发者通过配置文件对整个系统的权限进行集中管理。Spring Security...
本教程的目标是将位于`D:\myfile`目录下的所有文件及其子目录打包到名为`license.jar`的JAR文件中。 #### 步骤详解 ##### 第一步:切换到指定目录 首先,打开命令提示符(CMD)。可以通过在Windows搜索框中键入...
在Joffice的实例中,ScriptMgr.load方法被用来异步加载所需的JS模块。当用户首次访问某个功能时,相关的JS文件会被加载并缓存起来。随后,如果用户再次访问同样的功能,则不会再重新加载这些JS文件,因为它们已经在...
JoPro是一个生产力和办公套件,将文字处理器,电子表格设计器,演示设计器和svg查看器集成到一个应用程序中! 基于Netbeans平台。 图像和代码由Anthony Goubard设计。 最初称为Joffice。
JOffVis 一个基于 Java Swing 的工具,用于可视化 ...先决条件:1) Java SDK 72) Maven 3要编译应用程序,请运行以下命令mvn 干净编译要启动应用程序,请运行以下命令mvn exec:java -Dexec.mainClass="joffice.gui.App
- **Tomcat**:一款轻量级的Servlet容器,也是Java Web开发中最常用的Web服务器之一。 - **OpenJPA**:一个实现了Java Persistence API (JPA)的持久化解决方案。 - **Subversion (SVN)**:一个集中式的版本控制系统...