checkboxGroup如何控制不同的选项显示不同的样式

不同的选项设置不同的样式不能简单的设置bind-style就可以的,需要通过下面的方式 在bind-items关联的data的onAfterRefresh事件(如果bind-items关联的data数据默认加载了也可以在model的onload中)中实现 // 根据checkboxGroup选项显示的值设置不同的背景和字段颜色 var id = this.getIDByXID("showCheckboxGroup");//通过checkboxGroup组件的xid获取id的值 $("#" + id).find("label").each(function(index, domEle) {//通过id查找生成的label标签 if (domEle.textContent == 'one') { domEle.parentNode.style.backgroundColor = "#99FFCC"; domEle.parentNode.style.color = "red"; } else if (domEle.textContent == 'two') { domEle.parentNode.style.backgroundColor = "#CCFF99"; [...]

BeX5企业微信集成

准备工作: 1、需有经过备案的域名; 2、BeX5 V3.7必须部署到一个外网服务器上,外网访问地址,需映射到准备好的域名及端口上; 3、申请好的企业微信号,或者申请体验号。 步骤: 企业微信后台,添加应用,创建管理组; 管理员账号登陆BeX5,配置企业微信及应用相关参数; 企业微信后台,配置回调参数; 管理员账号登陆BeX5,同步组织、同步菜单; 企业微信后台,邀请关注; 员工关注后即可使用; 消息服务配置及注意事项。    一.企业微信后台,添加应用,创建管理组   1.添加应用 进入“企业应用”,“自建应用”,创建应用; 进入创建应用后,上传应用LOGO,填写应用名称、功能介绍,选择可见范围等信息; 本文,是将BeX5首页作为企业微信菜单的入口,功能权限是通过BeX5中权限进行控制。 二.管理员账号登陆BeX5,配置企业微信及应用相关参数 进入“协同办公”——“系统工具”——“企业微信配置”功能;此时,只需完成界面中的“第一步,配置应用”。具体参数如下: CorpID:微信后台,设置——功能设置——权限管理——你添加的管理组——“CorpID” Secret:  微信后台,企业应用——新建的应用——“Secret” 注意:不同的操作需要更换不同的secret,例如同步到通讯录,需要从微信后台获 取同步通讯录的secret,同步某个应用的分组,当前应用推送消息则需要当前这个应用的 secret,修改secret之后需要重启服务! 微信管理员账号:需要是微信通讯录中已有成员的微信帐号。 应用ID(AgentId):微信后台,应用中心——新增的应用中的“应用ID” 可信域名:BeX5的服务,需配置域名 Token:随机获取字符串 EncodingAESKey:随机获取字符串   [...]

listTable如何控制子没有数据时不显示

listTable组件是两个list嵌套显示,如下 图1 在listTable创建时设置里层的list时要设置关联的data通过哪个关系给外层的list的关联的data形成主从 listTable创建时有设置“默认展开”和“展开图标”的设置,“默认展开”是控制里层的list默认是否展开显示状态如图1的展现,“展开图标”是点击外层list隐藏里层list时外层list的序号列前会显示图标,下面的案例中选择的的是icon-arrow-right-b 需要注意的是,如果在两个data设置了主从关系,那么默认只有第一条主数据会显示子,下面的都不会显示 当把“默认展开”的选项勾掉,显示效果如下 listTable的默认实现时在外层的list上点击时会控制里面的list是否显示,并在外层list的序号前显示一个icon-arrow-right-b格式的图标,当里层的list没有数据时会显示标题和箭头图标,如下: 如果要控制里层的list没有数据是不显示标题和图标,可以如下控制: 1.控制标题不显示:定义一个js函数 Model.prototype.rowVisible = function(event) { var rowid = event.getID(); var cData2 = this.comp("bizData2");//里层嵌套list关联的data var rows = cData2.find([ "fZB" ], [ rowid ]);//通过外层rowid查找里层的data上是否有相关的子数据 if (rows.length > 0) [...]

多人同时处理是如何控制流程的时候等待其他人处理的框不显示

流程在多人同时处理是默认的只有最后一个人流转的时候才会显示执行者和下个环节的流转对话框,前面的人都是弹出的“等待其他人处理”的提示框 如果要控制等待的提示框不显示可以在onAfterAdvanceQuery中处理,如下: public static void businessActivity4AfterAdvanceQuery() { ProcessControl control = (ProcessControl) ContextHelper.getActionContext().getActionResult(); List<ProcessControlItem> flowTos = control.getFlowTos(); if(flowTos.size()==0){//判断flowTos为空 control.setDialogEnabled(false);//设置对话框不显示 } }

如何动态创建popMenu并添加菜单项和点击事件

动态创建popMenu需要先引用组件的js文件如下: var popMenu = require("$UI/system/components/justep/popMenu/popMenu"); 然后就可以设置相关的参数new popMenu,但是popMenu是组合组件里面的菜单项其实是menu所以创建菜单项时要获取到menu调用相关的方法创建 menu动态创建菜单项时其实是动态创建button,需要设置点击事件要通过on的方式给按钮绑定,或者直接在创建项中设置,完整的实现如下: Model.prototype.button18Click = function(event) { var parentNode = this.getElementByXid("top1"); var option = { parentNode : parentNode, xid : 'popMenu1', class : 'x-popMenu', anchor : 'button18', [...]

dataTables获取如何列信息

dataTables组件用的是jquery dataTables组件,获取列信息等时调用的jquery dataTables标准的方法,如下: var dataTables = this.comp("list");//获取dataTables组件 var columns = dataTables.$domNode.dataTable().fnSettings().aoColumns;//获取dataTables中列信息 var columnName = []; for (var i = 0; i < columns.length; i++) { if (columns[i].sName !== "") { columnName.push(columns[i].sName)//获取列的name,也可以获取其他的信息 } }

如何计算流程的耗时

平台默认的在SA_Task中有创建时间sCreateTime和结束时间sActualFinishTime,计算耗时时可以获取这个两个字段的值计算时间差 流程的耗时分环节的耗时和整个流程实例的耗时 计算环节已完成任务的耗时可以通过sKindID为tkTask过滤数据 计算整个流程实例的耗时可以通过sKindID为tkProcessInstance过滤数据 如下通过sData1的值获取已完成的流程实例的创建时间sCreateTime和结束时间sActualFinishTime: select t.sCreateTime,t.sActualFinishTime from SA_Task t where t.sData1='64911E08597F402DB40F2D627AF977BC' and t.sStatusID='tesFinished';

如何调整功能树的顺序

BeX5中功能树都是在UI2下应用的config下面创建XXX.funciton.xml中设置的 如果要设置不同的应用下一级目录的显示顺序可以在/UI2/system/config/functionSequence.xml中调整 如果不同的应用下一级目录相同要调整二级菜单以及下面的显示顺序,需要手动把相关的菜单文件合并到一个文件中然后调整显示顺序

orgSelectPC下拉时如何设置默认展开

orgSelectPC下拉时数据默认都时候没有展开,如果需要展开可以在下拉事件onShowOption事件中获取到里面的grid调用grid上的API展开 onShowOption的事件中event.source.grid就可以获取到里面的grid 如下,是展开所有的一级数据 Model.prototype.orgSelectPC1ShowOption = function(event){ event.source.grid.expandLevel(1); };

流程环节设置顺序执行时如何按顺序给相关的人发通知

流程顺序的执行规则中可以设置多个人按照顺序的默认是执行即从环节1流转到环节2,选择了A、B、C三个人 默认3个人默认的待办任务生成顺序是先生成A的,A流转后生成B的,B流转后再生成C的 但是在环节1设置通知规则,在流转时给A、B、C三个人发通知时,默认3个人是同时收到任务的,如果需要收到通知的顺序跟收到任务的顺序一样,就不能通过设置通知规则实现 需要在环节1的onAfterAdvance事件中给A手动发通知,在环节2的onAfterAdvance事件中通过判断给B或C发通知,具体实现如下: public static void businessActivity1AfterAdvance() { ProcessControl flowControl = (ProcessControl) ContextHelper.getActionContext().getParameter("control"); for (ProcessControlItem to : flowControl.getFlowTos()) { OrgUnit ect = to.getExecutors().get(0);//获取顺序执行选择的执行者中的第一个人 String executorFid = ect.getFID(); String executorFname = ect.getFName(); String sData1 [...]