如何调整功能树的顺序
BeX5中功能树都是在UI2下应用的config下面创建XXX.funciton.xml中设置的 如果要设置不同的应用下一级目录的显示顺序可以在/UI2/system/config/functionSequence.xml中调整 如果不同的应用下一级目录相同要调整二级菜单以及下面的显示顺序,需要手动把相关的菜单文件合并到一个文件中然后调整显示顺序
BeX5中功能树都是在UI2下应用的config下面创建XXX.funciton.xml中设置的 如果要设置不同的应用下一级目录的显示顺序可以在/UI2/system/config/functionSequence.xml中调整 如果不同的应用下一级目录相同要调整二级菜单以及下面的显示顺序,需要手动把相关的菜单文件合并到一个文件中然后调整显示顺序
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 [...]
attachment组件上传的图片默认是一个一个点击的时候显示原图查看,如果要用轮播的方式默认就实现所有的原图,可以参考如下: 本例展现了data中一条记录中attachment组件上传的图片 1.在.w中需要展现轮播的区域放carousel组件,需要注意的是把组件中contents下默认生成的content删除 <div component="$UI/system/components/bootstrap/carousel/carousel" class="x-carousel" xid="carousel1" auto="false" style="height:300px;width:300px;"> <ol class="carousel-indicators" xid="ol1"/> <div class="x-contents carousel-inner" role="listbox" component="$UI/system/components/justep/contents/contents" active="0" slidable="true" wrap="true" swipe="true" routable="false" xid="contents1" style="height:300px;"></div> </div> 2.js中获取到数据,进行处理给轮播组件显示 var data = this.comp("bizData1"); var carousel [...]
orgDialogPC多选时右侧默认显示的是选择的值,某些情况下需要在打开时设置默认选择的值,可以open的时候设置参数实现 如下: var orgData = this.comp("bizData7"); orgData.setFilter("filer1","SA_OPOrg.sFCode in ('/JUSTEP/0011','/JUSTEP/000015','/001')"); orgData.refreshData(); var rows = [];//定义一个空数组 orgData.each(function(options){ rows.push(options.row);//把要默认选择的行数据放到rows }); this.comp("orgDialogPC1").open({"data" :{ selected : rows//设置默认选择rows中数据 }});
exportExcel组件可以设置导出data中的数据,组件默认提供的relations属性可以设置导出哪些列的数据 这个属性设置的是每次导出的列都是一样的,如果需要动态控制根据不同的判断导出的列不同可以在exportExcel组件的onBeforeExport事件中设置 如下: Model.prototype.exportExcel1BeforeExport = function(event) { event.source._relationWidths = null; if (this.i == 0) { event.source.relations = "fName:,fCode:"; this.i++; } else{ event.source.relations = "fName:"; } }; event.source.relations设置的就是要导出的列
数据库中存的是数字,grid或者dataTables中显示的时候要显示具有实际意义的中文信息时可以参考下面的方案 本例中是数据库中存0或者1,页面中显示男或女 方案一:在ksql中定义自定义关系设置case when ,前端直接显示自定义关系的值 select AP_XSXB .*,(case when AP_XSXB.fXB = '0' then '男' when AP_XSXB.fXB = '1 then '女‘ else ‘’ end As sex) as custom1 from AP_XSXB AP_XSXB 方案二:在grid或者dataTables的onCellRender中设置 Model.prototype.grid1CellRender [...]
之前的问卷调查都是一页显示一条数据,本例中是一页显示多条数据 共有两个data分别Question(问题)、Option(选项) 定义如下: <div component="$UI/system/components/justep/data/data" autoLoad="true" xid="Question" idColumn="fID"> <column label="ID" name="fID" type="String" xid="xid4"/> <column label="键" name="fBatch" type="String" xid="xid5"/> <column label="问题" name="fName" type="String" xid="xid6"/> <column label="类型" name="fType" type="String" xid="xid7"/> <data xid="default2">[{"fID":"20160529001","fBatch":"20160529","fName":"您是从哪里来参加本次开发者活动的?","fType":"单选"},{"fID":"20160529002","fBatch":"20160529","fName":"你是首次接触到WeX5吗?","fType":"单选"},{"fID":"20160529003","fBatch":"201605291","fName":"你参加本次活动的目的是:","fType":"多选"}]</data> <column label="答案" name="fAnswer" type="String" [...]
多个环节and合并时有些操作是需要最后一个环节流转时才执行,可以在onAfterAdvaneQuery或者onAfterAdvance中判断是否是and的最后一个环节 本案例中是在首页的.w中process组件事件和process文件中的全局的事件中判断的,当然也可以在and合并的几个环节的.w中process组件的事件或process文件中and合并的几个环节上的事件中判断,只是需要写多次比较麻烦 流程图下:活动环节5和活动环节6通过and合并(多个环节直接输出都一个环节默认就是and,也可以在活动环节7上面加一个and) .w中process组件的事件中处理如下: Model.prototype.processAfterAdvanceQuery = function(event){ var context = this.getContext(); var activity = context.getActivity();//如果按照activitylabel判断可以用context.getActivityLabel(); if(activity == "businessActivity6" || activity == "businessActivity5"){ var processControl = event.processControl;//获取ProcessControl var flowTos = processControl.getToItems(); if(flowTos.length>0){////判断是否有flowTos alert("onAfterAdvanceQuery事件中and前的最后一个环节"); } } [...]