app中查看attachment中附件报错“handleDocumentWithURL is not defined”

手机app中点击attachment中的附件查看时会提示“handleDocumentWithURL is not defined” 手机app中查看附件是需要cordova插件的,打包的时候没有选择相关的插件,app中操作就会报错 手机app中操作附件需要的插件如下,打包的时候要把这些插件勾选上: cordova!cordova-plugin-file cordova!cordova-plugin-file-transfer cordova!cordova-plugin-inappbrowser cordova!ch.ti8m.documenthandler cordova!cordova-plugin-x-toast

下载或查看附件时报错

下载或查看附件时通常会遇到下面两种错误 第一种 Caused by: org.outerj.daisy.blobstore.NonExistingBlobException: Non existing blob name: defaultDocNameSpace_____________attachment201704063b5912003520474c4e475e7c2803747154225857 at org.outerj.daisy.blobstore.impl.FSBlobStore.retrieve(Unknown Source) ... 20 more 第二种 Caused by: org.outerj.daisy.repository.DocumentNotFoundException: A document with id 1811-defaultDocNameSpace does not exist. at org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.loadDocumentInTransaction(Unknown Source) at [...]

移动端如何在首页添加待办任务类型的功能块

移动端首页待办任务块不是通过widget配置的,所以要添加自己的块不能通过widget配置实现,具体操作参考如下: 参考/BIZ/OA/personalOffice/logic/action/portal.action.m中的action,定义一个自己功能的action,然后在/BIZ/portal/logic/action/message.config.m中添加action的配置即可 需要注意的是 1.action中要返回Map类型的数据,如: public static Map<String, Object> gridPortal(){ HashMap<String, Object> result = new HashMap<String, Object>(); result.put("fLabel", "显示不同的grid"); result.put("fProcess", "/appdemo/test/process/grid/gridProcess"); result.put("fActivity", "mainActivity"); result.put("fCount", 2); return result; } 2.要在java代码给参数fProcess设置的process文件的动作设置中添加自己定义的action 3.要确保给参数fProcess设置的process和activity进行功能权限的发分配

动态创建labelInput

labelInput是由labelEdit扩展的,有label和input组合的,所以在创建labelInput时要创建分别创建labelEdit、label和input然后再组合 参考如下: 引用js文件: var labelEdit = require("$UI/system/components/justep/labelEdit/labelEdit"); var input = require("$UI/system/components/justep/input/input"); 动态创建: var parentNode = this.getElementByXid("content2"); var option = { parentNode : parentNode, xid : 'input9', class : 'x-label-edit x-label x-edit', }; [...]

java获取人员信息的mail

java中平台提供的API可以直接获取人员的ID等,但是获取mail、phone这些信息时没有直接的API可以参考下面的方式实现 Collection<String> extPersonRelations = new ArrayList<String>(); extPersonRelations.add("sMail,"); com.justep.system.opm.api.Person person = com.justep.system.opm.api.PersonHelper.loadPerson(sID, extPersonRelations); String email = person.getExtValue("sMail").toString(); 其中的sID就是人员的ID的值

app中流转对话框选择执行者第一次不显示数据

手机app中做流程流转时选择执行者对话框第一次打开可能没有数据要点一下加载才会有数据,第二次加载就正常了 这个现象的可能是组织机构中的数据太多导致的,可以先提前把数据加载好,选择执行者的时候直接用加载好的数据就可以避免这种现象 提前加载数据如下操作: 在/UI2/portal/mobile/main/main.w的model的onload事件中添加下面的调用 OrgUtil.getOrgData(this,"", "", "", ""); 注意调用前要先在/UI2/portal/mobile/main/main.js中添加添加js文件的引用,如下: var Org = require("$UI/system/components/justep/org/js/org"); var OrgUtil = Org.Util;

如何判断是从待办或者提交任务中打开的功能

平台默认的从待办或提交任务中打开的功能url中会有一个_pagePattern参数 从待办任务中打开的功能_pagePattern=write 从提交任务中打开的功能_pagePattern=readonly 因此判断是从待办或提交任务中打开的功能可以通过获取url中这个参数的值去判断 在上下文context中提供的有API获取url中的参数 如下: this.getContext().getRequestParameter("_pagePattern");

如何隐藏流转对话框的标题

windowDialog组件提供了showTitle属性控制是否显示标题 流转对话框就是用windowDialog打开的,所以可以用showTitle属性控制 设置某个功能的流转对话框隐藏标题,可以在功能对应的.w的process组件的onBeforeOpenDialog事件中控制 如下: setTimeout(function(){event.source._processDialog.set({showTitle: false})},1); 如果是所有的流程功能都控制可以在/UI2/system/service/process/dialog/processDialog.w的model的onParamsReceive事件中控制 如下: this.owner.set({showTitle:false}); 如果按照这个方案推荐用扩展空间修改,而且这个方式标题会先显示然后隐藏

流程启动时怎么把业务数据存到sData2中

流程启动时把业务数据存到sData2中可以在前端process组件的onBeforeStart事件中设置或者在后端process文件的onBeforeStart事件中设置 前端设置如下: 在process组件onBeforeStart事件中event参数的结果如下 因此可以在onBeforeStart事件中如下设置sData2的值 event.relations["sData2"] = "aaa"; 后端设置如下: public static void flowTestProcessBeforeStart() { Map<String, Object> relations = (Map<String, Object>) ContextHelper.getActionContext().getParameter("attributes");//获取启动action中的map参数attributes relations.put("sData2", "bbbb");//通过map参数给sData2赋值 }