About jishuang

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

gridSelect树形下拉怎么设置级联勾选

树形下拉是通过gridselect上的option中的appearance属性控制的,而gridselect的显示下拉区域其实用的是grid的 因此要控制树形下拉的级联勾选(选择父时子也会被选中),需要控制gridselect中的grid的级联勾选属性 可以在gridselect的onShowOption事件中如下控制: Model.prototype.gridSelect3ShowOption = function(event){ //设置下拉级联勾选 event.source.grid.setGridParam({cascade:true}); };

规则中如何调用自定义公共js文件中的函数

data的规则中设置表达式时可以调用当前model中的定义的函数,调用方式可以用$model.函数名 如:js中定义了一个fCodeRule函数 Model.prototype.fCodeRule = function(value) { if (value === 'test') { return value; } else return 'testabc'; } 规则中可以通过$model.fCodeRule($row.val("fName"))调用 如果是定义了一个ADM格式的公共js,要在规则中调用公共js中的数据,不能只引用js文件就可以,需要 1.引用公共的js文件 2.在model的构造函数中定义变量 3.在规则中通过$model.定义的变量.函数名 如下: define(function(require) { var $ = require("jquery"); var justep [...]

如何动态给checkboxGroup的bind-itemset设置的data添加数据

js中给data动态添加数据的时候可以直接newData,然后调用setValue赋值 但是在给checkboxGroup或者radioGroup的bind-itemset设置的data动态添加的数据的时候不能直接setValue,需要通过默认值的方式设置, 否则checkboxGroup或者radioGroup会默认选中newData最后新增的数据 设置默认值的方式参考如下: var data = this.comp("data4"); data.newData({ defaultValues : [ { fName : '上' }, { fName : '下' } ] })

js调用ksqlQueryProcedure生成的ksqlAction怎么给ksql中的:命名参数赋值

ksqlQueryProcedure生成的ksqlAction可以直接在ksql参数中写要执行的ksql语句如:select AP_RQ.* from AP_RQ AP_RQ where AP_RQ.fName = :fname 其中的:fname是命名参数,在js中调用action的时候可以跟参数传参赋值达到动态过滤的效果 但通过ksqlQueryProcedure生成的ksqlAction是不能:命名参数赋值,要通过action中Map类型的参数variables才可以,具体实现如下: //定义action需要的map参数 var mapParam = new biz.Request.MapParam(); mapParam.put("fname", 'test');//把ksql中:命名参数以及对应的值放到map中 //定义action参数把map参数传给variables var actiomParam = new biz.Request.ActionParam(); actiomParam.setMap("variables", mapParam); biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "reportLinkDetialAction", [...]

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"; [...]

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';