待办任务中如何显示附言信息

平台默认的附言信息是存到上一个完成的任务上的,而不是在当前未处理的任务上,因此不能直接显示当前任务上sContent字段值,可以通过下面的方案实现 在流转前(onBeforeAdvance)事件获取到填写的附言信息,然后把附言信息填充给生成任务的扩展字段中,在待办任务中直接显示扩展字段的内容 事件中实现如下: public static void flowProcessBeforeAdvance() { ProcessControl flowControl = (ProcessControl) ProcessUtils.getProcessContext().getProcessControl(); String sContent = flowControl.getPostscript();// 获取附言信息 for (ProcessControlItem to : flowControl.getFlowTos()) {// 获取环节相应的流转信息 to.getTask().setRelationValue("sESField01", sContent); // 获取附言信息,并把附言信息保存到任务的扩展字段sESField01中 } } 待办任务页面/UI2/SA/task/taskView/waitActivity.w在taskData的columns中添加扩展字段sESField01,然后在list中添加组件bind-ref设置为这个关系就可以显示了 如果是某个环节需要设置,就在环节的onBeforeAdvance事件中处理;如果是整个流程都需要设置,就在流程的onBeforeAdvance事件中处理 [...]

attachmentPC组件点击文件名调用自己的js方法

平台默认的attachmenPC组件文件名的click调用的是$model.previewOrRemoveItem.bind($model,$model.$activeDoc.get())打开附件查看,如下 <a class="btn btn-link" data-bind="enable:($model.$activeDoc.get().fileID.get() &amp;&amp; $model.$access.get() % 4 &gt;= 2),click:$model.previewOrRemoveItem.bind($model,$model.$activeDoc.get()),text:$model.$activeDoc.get().docName.get()" xid="a4"/> 如果要调用自己当前.w对应的js中的方法,可以如下修改 $model.getModel().attachmentClick.bind($model.getModel(),$model.$activeDoc.get()) 其中attachmentClick是js中的函数名 js文件中定义如下: Model.prototype.attachmentClick = function(event) { var docPath = event.docPath.get(); var fileID = event.fileID.get(); var url = DocUtils.InnerUtils.getdocServerAction({ [...]

attachmentPC组件上传的office文件实现在当前页打开在线查看

附件组件在线查看平台默认的是用浏览器的另一个页签打开的,如果需要在当前页面中显示可以如下操作 1.js定义的define中引用 var officeViewer = require('$UI/system/components/justep/docCommon/officeViewer'); var $OV = officeViewer.$OV; var OV = officeViewer.OV; 2.在.w中定义一个div <div xid="officeViewer" /> 3.在div中创建ocx并打开文件 var data = this.comp("mainData"); var fFJ = data.getValue("fFJ"); var jsonList = [...]

gridselect修改下拉区域鼠标悬停时列的提示信息

gridSelect组件下拉区域里面其实是grid,所以修改鼠标悬停时列的提示信息,可以通过获取到里面的grid在grid的onCellRender中处理,如下: Model.prototype.gridSelect3ShowOption = function(event) { var gridselect = event.source;//获取gridselect组件 var grid = gridselect.grid;//获取gridSelect组件内部的grid grid.on('onCellRender', function(event) {//使用on方法添加onCellRender事件 if (event.colName == "fName") { var title = event.colVal + 'bbbb';//设置鼠标悬停时显示的内容 event.html = "<div title='" + title + [...]

实施部署时不发布源文件怎么部署

部署时java、w两种文件可以不用发布源文件的 java文件:可以直接发布class文件。java文件都是在dsrc和src下的,编辑java文件后会会生成dclasses和classes目录,把生成的dclasses和classes目录拷贝到服务器对应的位置就可以 .w文件:如果是3.4以及之后的版本发布的时候可以不要.w,只发布.w文件编译后所在目录同级的.release文件夹就可以 3.4之前的版本(不包括5.2版本)除了.release,还需要一个空的.w文件,即.w文件也需要拷贝到服务器上,可以把.w中的内容情况 .js文件默认必须要的,但是可以对.js文件进行合并,发布合并的js文件,原文件不需要 对于跟.w同名的js文件不需要在.w中引用,非同名的需要引用,引用时写js文件的原始路径不要写合并后生成的合并文件的路径 js文件的合并可以参考http://docs.wex5.com/bex5-ui-question-list-10188/

自己的js文件如何生成类似于comp.min.js这样的文件

平台版本某些组件或者公用的js文件,没有提供原始的js文件也可以运行是因为平台默认的把这些文件合并到类似于comp.min.js这样的,运行的时候直接找的合并后文件 如果自己定义的js文件也需要这样,可以如下操作: 1.参考/UI2/system/common.min.js.xml的文件,自己定义一个xml文件,文件名的命名格式为XXX.min.js.xml 在xml配置要合并的js文件路径以及合并后的生成的js文件名字 配置要合并的js文件路径用file节点如下: <file>components/justep/shell/shellImpl.config.js</file> 配置合并后的生成的js文件名字用output节点如下: <output name="common.min.js"/> 2.执行tools\dist\dist.bat 需要注意的是xml文件的位置:如果你要合并的是x5demo/baseDemo下js文件的,你需要把XXX.min.js.xml放到x5demo/baseDemo下,这样运行时平台默认就会找合并后的js文件 如下: 如果自己的js文件中有引用系统的文件,并且系统的文件也被合并了,需要在xml中用depend配置合并文件的路径,注意配置文件路径时要用相对路径,如下xml文件的内容

推广版或企业版上传大附件报超时

用推广版或企业版部署实施时在上传比较大的文件时可能会报如下的错误 Caused by: com.justep.doc.exception.DocRTException: 编码: JUSTEP300018; 提示: 文档服务请求超时! at com.justep.doc.DocAdapter.checkSession(DocAdapter.java:887) ... 26 more 这个错误的原因是推广版和企业版文档服务器默认启用了文档服务认证就是%JUSTEP_HOME%\conf\server.xml中如下的配置 <auth-server>http://localhost:8081/BusinessServer</auth-server> 有这个配置会控制请求时间默认是60s,如果上传的附件比较大需要的时间长可以自己修改时间 BIZ\SA\doc\logic\code\src\com\justep\doc\DocAdapter.java中找到如下代码 long ss = (new java.util.Date().getTime() - Long.valueOf(a[1])) / 1000; System.out.println(ss+"上传时间"); if (ss > [...]

保存数据的时候报错“更新模式是WHERE_VERSION时, 必须有version”

平台的bizData的upateMode只支持两种: whereVersion和whereAll; whereVersion: update或delete时,使用只使用version作为条件; whereAll: update或delete时,使用所有列的旧数据(即查询出来的数据)作为条件; whereVersion:判断version字段是否被其他人改变,如果改变就保存失败 whereAll: 判断所有字段是否被其他人改变,如果有任何一个字段改变就保存失败 当使用whereVersion模式是bizData、概念和数据库中必须有version关系或字段 当保存报错“更新模式是WHERE_VERSION时, 必须有version”时按照下面的3项进行检查: 1.确认概念中是否有version关系,没有需要添加上,概念中有数据库的表中也需要添加 2.确认queryAction中是否选择了关系没有选择version 3.确认data的columns是否选择了关系没有选择version

attachment(非attachmentSimple)相关的附件组件判断未上传完成不能保存数据

attachment(非attachmentSimple)相关的附件组件上传文件后要执行业务数据data的保存才会生成fileID的值,才可以操作附件 因此要确保附件上传完之后再保存数据,没上传完就保存,附件组件的数据有可能会不正确导致附件操作失败 attachment(非attachmentSimple)相关的附件组件提供的有: onStart开始上传前事件 onSuccess上传完成事件 因此可以用这两个去控制附件没有上传完时不允许保存 1.在model中定义一个实例变量this.attachmentSuccess var Model = function() { this.callParent(); this.attachmentSuccess = true; }; 2.在onStart事件中设置实例变量的值为false Model.prototype.attachmentPC1Start = function(event){ this.attachmentSuccess = false; }; 3.在onSuccess事件中设置实例变量的值为true Model.prototype.attachmentPC1Success = function(event){ this.attachmentSuccess [...]