控制台报错“编码:JUSETP154007;提示:关系XXX定义了互逆,它的值类型String必须是一个概念”

bizData设置树形关联概念或者主从级联删除控制台类似如下错误: 报这个错误找到打开概念所在的ontology文件,找到这个概念中报错的那个关系,把关系类型设置跟它设置互逆的那个关系所在的概念的概念名(树形的就是当前概念的名字,主从主概念中的关系设置为从概念名字,从概念中关系设置为主概念的名字) 这个错误是因为设置为互逆的两个关系的关系类型必须是概念类型才可以

JS文件的国际化设置

JS文件的国际化设置有两种方法 方法一:将整个JS文件作为语言资源文件 JS文件及语言资源文件,如下图所示 在不同的语言文件中设置不同的显示信息 方法二:将JS文件中的需要语言转换的字符串抽取成变量,定义在单独的JS文件中,并将此JS文件进行国际化设置,这样就实现了语言属性文件的效果(推荐) 案例 将/UI2/appdemo/test/process/total/mainActivity.js文件中需要语言转换的字符串抽取成变量 Model.prototype.button20Click = function(event) { alert(Lang.information); }; 新建/UI2/appdemo/test/process/total/lang.js文件,在lang.js中给这个变量赋值,并将lang.js文件进行国际化设置,lang.js的完整定义如下: define(function(require) { return { information: "information" } }); lang.js文件国际化设置如下: 在/UI2/appdemo/test/process/total/mainActivity.js文件文件中增加对lang.js文件的引用 var Lang = require("./lang"); JS文件及语言资源文件,如下图所示 [...]

PC端流转对话框中选择组织对话框打开时默认展开所有组织

PC端流转对话框中选择组织对话框打开时组织默认指展开了第一级,如果要求组织完全展开可以在打开选择组织机构弹出框后设置,那么就需要对平台提供的流转对话框进行扩展 某个具体流程功能的流转对话框可以参考http://docs.wex5.com/bex5-process-question-list-10008/ 所有的功能都需要可以通过扩展空间的方式修改/UI2/system/service/process/dialog/processDialog.js 在打开选择组织机构弹出框后设置组织全展开需要对Model.prototype.showExecutorDialog方法中重写 具体如下: Model.prototype.showExecutorDialog = function(owner, item){ var dialog = this.getExecutorDialog(); var param = this.createExecutorDialogParam(item); dialog._param_owner = owner; dialog.open(param); //获取到组织机构树orgGrid,然后调用grid的expandAll方法全展开 if(dialog.getInnerModel()){ dialog.getInnerModel().comp("orgGrid").expandAll(); } else{ dialog.on('onLoad',function(event){ event.source.getInnerModel().comp("orgGrid").expandAll(); }); } }; [...]

grid动态设置前端过滤

grid中提供了filter属性设置数据过滤表达式,表达式中可以使用$model,$object,$parent,$row(执行过滤的数据行对象)变量,属于前端过滤 如果要动态设置,可以调用grid的setFilter方法设置 参考: var grid = this.comp('grid1'); grid.setFilter("$row.val('fName') == 'bbb'"); grid.refresh(); 其中:grid1是grid组件的xid

流转对话框中勾选某个环节时不勾选通知

在process和activity中可以设置通知规则,当满足生效条件时在流转对话框中会显示通知,并且通知是勾选上的 当流转对话框中有多个环节选中流转到不同环节时根据业务需要可能有些环节不需要选中通知,可以通过对流转对话框的修改控制选择某些环节是通知不勾选,选择某些环节是通知勾选 某个具体流程功能的流转对话框可以参考http://docs.wex5.com/bex5-process-question-list-10008/ 由于平台默认的/UI2/system/service/process/dialog/processDialog.w是继承/UI2/system/service/process/dialog/processDialog.m.w实现的,所以processDialog.w中调用的某些js方法是在/UI2/system/service/process/dialog/processDialog.m.js中定义的,因此在自己扩展流转对话框中如果有需要修改平台原始的js方法的,需要自己把/UI2/system/service/process/dialog/processDialog.m.js中的函数定义复制到自己的js中然后进行修改 对于通知勾选的控制需要自己重写Model.prototype.addNotice和Model.prototype.checkbox2Change方法 下面实现的是xor输出“活动环节3,活动环节4”两个环节,如果流转对话框中选中的‘活动环节3’通知不勾选,如果选中的‘活动环节4’通知勾选,具体实现如下: Model.prototype.addNotice = function(noticeRows, executorRows, item, control){ var row = {rowid: "", selected: 0, sName: ""}; row.rowid = item.getActivityID(); var activityData = this.comp("activityData"); var itemActivity = activityData.find(['label','selected'], ['活动环节3',true]);//查找流转对话框中的环节是否有活动环节3,并且是勾选流转的数据 if(itemActivity.length>0){//如果有活动环节3,并且是勾选的设置通知的不勾选,否则通知勾选 [...]

BIZ的java中获取BIZ的完整路径

BIZ是在model目录下的,平台默认的把model的上级路径定义为了JUSETP_HOME,所有要获取biz的路径,可以获取到JUSTEP_HOME然后在拼接上/model/BIZ即可 获取JUSETP_HOME的API如下: com.justep.common.SystemUtils.getHome(null) 因此获取BIZ的完整路径如下实现: com.justep.common.SystemUtils.getHome(null)+"\\model\\BIZ"

xor设置默认选中指定环节

流程中如果有xor,xor默认选中的可以不是需要的,如果默认选中指定环节需要对流转对话框进行修改 某个具体流程功能的流转对话框可以参考http://docs.wex5.com/bex5-process-question-list-10008/ 由于平台默认的/UI2/system/service/process/dialog/processDialog.w是继承/UI2/system/service/process/dialog/processDialog.m.w实现的,所以processDialog.w中调用的某些js方法是在/UI2/system/service/process/dialog/processDialog.m.js中定义的,因此在自己扩展流转对话框中如果有需要修改平台原始的js方法的,需要自己把/UI2/system/service/process/dialog/processDialog.m.js中的函数定义复制到自己的js中然后进行修改 设置默认选中的环节需要对Model.prototype.addActivity函数的定义进行修改,因此需要把/UI2/system/service/process/dialog/processDialog.m.js中此函数的完整定义复制到自己扩展的js文件 流转对话框中默认是否选中是通过activityRows.push({rowid: activity.getID(), selected: selected, isEnd: isEnd, label:activity.getLabel()});中的selected这个属性值扩展的,因此可以通过对环节名的判断设置这个属性值为不同的 具体的代码修改参考如下: Model.prototype.addActivity = function(activityRows, executorRows, activity, control) { if (activity.isSelectable()) { var toItem = control.getToItemByID(activity.getID()); var isEnd = toItem.isEnd(); var selected = toItem.isSelected(); [...]

gridSelect多选时如何执行多选事件

gridSelect本身是没有多选相关的事件中,但gridSelect的下拉区域用的是grid,因此可以获取到gridSelect内部的grid调用grid的多选事件,当然也可以调用其他的事件 需要注意的是gridSelect内部的grid需要在下拉后才生成,因此可以在gridSelect的onShowOption事件中进行处理: 如下根据选择的数据进行具体的条件判断取消选择: Model.prototype.gridSelect8ShowOption = function(event) { var gridselect = event.source;//获取gridselect组件 var grid = gridselect.grid;//获取gridSelect组件内部的grid var self = this; grid.on('onRowCheck', function(event) {//使用on方法添加onRowCheck事件 var checkRows = event.source.getCheckedRows();//获取已经选择的数据 if(XXX){ justep.Util.hint("最多只能选择2个数据", { parent : self.getRootNode(), type : [...]

queryAction的condition和filter的区别

condition:私有过滤条件,在queryAction中定义需要的查询条件 filter:公共过滤条件,由UI中设置的过滤条件,使用bizData的filter属性赋值或者调用setFilter方法,当在queryAction中定义了filter又在UI中设置了filter,那么UI中设置的会把queryAction中设置的覆盖 设置的过滤条件就是sql中的where语句 最终filter参数和condition参数以and的方式合并到一起作为where条件过滤数据