About jishuang

该作者尚未填入任何详情
So far jishuang has created 559 blog entries.

js动态控制只读

组件关联了data在控制只读时推荐用data的规则去控制 需要动态控制只读的时候可以在js中定义函数,然后在规则中用$model调用函数,如果要通过当前计算行的数据判断,可以给函数定义参数,在规则中调用用$row做参数,把当前计算行传过去进去取值判断 如下:判断列fName的值为back时控制fCode不能编辑 1.js中定义函数: Model.prototype.fCodeReadonly = function(row) { var fName = row.val("fName");//通过传的row获取fName的值 if (fName == "back") return true; else return false; } 2.规则中调用

在process文件的流程启动后onAfterStart中获取task

流程启动的时候没有传task,所以不能像在流转后onAfterAdvance中获取task一样用ProcessUtils.getProcessContext().getTask().getId()获取 流程启动后会在返回结果中有task,所以可以在onAfterStart中从action的返回结果中获取,具体如下: public static void flowProcessAfterStart() { List<Map<String, String>> list = (List<Map<String, String>>)ContextHelper.getActionContext().getActionResult(); for(Map<String, String> map: list){ System.out.println(map.get("task")+"输入生成的任务ID"); } } 如果要在启动后修改任务名称可以通过上面的获取到task的值(就是SA_Task中sID的值),然后用ksql或者sql去修改SA_Task中sName的值

attachment(非attachmentSimple)相关的组件点图标调用自己的js方法

平台默认的attachment(非attachmentSimple)相关的组件点图标调用的是$model.previewOrRemoveItem.bind($model)打开附件查看 如果要调用自己当前.w对应的js中的方法,可以如下修改 $model.getModel().preview.bind($model.getModel(),$object,$model) 其中preview是js中的函数名 attachment组件js文件中定义如下: Model.prototype.preview = function(event, owner) { var docPath = event.docPath.get(); var docID = event.docID.get(); var docName = event.docName.get(); var fileID = event.fileID.get(); if (owner.$state.get() == 'upload' && owner.$access.get() % 4 [...]

为什么有的模块没有分配授权运行时功能树中可以显示出来

在UI2应用模块的config目录XXX.function.xml菜单文件中有展现类型的设置 可以设置为无、solid、hide 设置无需要分配了功能权限才可以功能树显示的 设置为solid不分配功能权限就可以在功能树中显示,但运行时可能会提示没有权限 设置为hide分配功能权限了功能树也不会显示,但是有权限运行,如流程后续环节的页面不需要在功能树中显示从待办任务中可以打开 如果有需求所有人不需要分配功能权限就在功能树中就可以显示并操作,需要如下设置 1.process文件中设置类型为SYSTEM 2.XXX.function.xml菜单文件中展现类型设置为solid

修改了studio中编译器的jdk版本,studio中编译报错

在studio中修改了编译器中jdk的版本,在studio中编译报类似如下的错误 类文件具有错误的版本 50.0,应为 49.0 请删除该文件或确保该文件位于正确的类路径子目录中。 这个错误说明jdk的版本不对,修改了编译器的版本还要把 studio\dropins\studio-app\plugin\lib和runtime\UIServer\WEB-INF\lib下的tools.jar也换成对应的jdk版本的tools.jar才可以

设置页面的title

3.5之前的版本只能设置总的,可以在/UI2/system/components/justep/window/main.html中加title属性 3.5以及之后版本中可以在每个.w设置自己的,在window组件上有title属性 title属性的值设置为js:开头的 如下: 如果要设置总的跟3.5之前的版本一样在/UI2/system/components/justep/window/main.html中加title属性 注意还需要下面的操作 /UI2/system/lib/portal/shellImpl.js中shell.setWindowTitle(ret);注释掉 执行tools/dist/dist.bat 注意js缓存的问题

任务中心查看所有任务

任务中心查看任务的时候默认只能查看当前人为任务执行者的,查看其他人任务时会提示无效的executor 如果需要查看所有的任务可以参考下面的修改(推荐通过扩展空间操作): /UI2/SA/task/taskCenter/mainActivity.js中找到 Model.prototype.browseTask = function(){方法的具体实现 把justep.Shell.showPage({url:url, title: name, executor: executor}); 改为 justep.Shell.showPage({url:url, title: name); 修改后注意缓存的问题

流转后获取附言信息

流转后可以在onAfterAdvance事件中获取附言信息,.w中的process组件和后端process中都提供的有这个事件 w中的process组件的onAfterAdvance事件可以在processControl中获取如下: Model.prototype.processAfterAdvance = function(event) { var processControl = event.processControl;//获取processControl var sContent = processControl.getPostscript();//获取附言信息 }; 后端process中可以在具体环节的onAfterAdvance事件上或者在整个流程的onAfterAdvance事件上操作,可以通过任务到数据库中获取值,也可以通过ProcessControl获取 通过任务到数据库中获取如下: public static void flowProcessAfterAdvance() { String taskID = ProcessUtils.getProcessContext().getTask().getId();//获取taskID String ksql = "select SA_Task.sContent from [...]

loadData树形json串

自己定义json,用loadData方法把数据给树形数据(data是树形的)时要注意父ID的设置,根节点的父ID的值可以用{}设置。如下fParentID是否父ID: var json = {"rows":[{"AP_SXSJ":"1","fName":"办公用品","fParentID":{},"rows":[{"AP_SXSJ":"2","fName":"记事本","fParentID":"1"},{"AP_SXSJ":"3","fName":"笔","fParentID":"1"}]}]}; var data = this.comp("treeData"); data.loadData(json,true); var grid= this.comp("treeGrid"); grid.refresh();