About jishuang

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

如何判断是从待办或者提交任务中打开的功能

平台默认的从待办或提交任务中打开的功能url中会有一个_pagePattern参数 从待办任务中打开的功能_pagePattern=write 从提交任务中打开的功能_pagePattern=readonly 因此判断是从待办或提交任务中打开的功能可以通过获取url中这个参数的值去判断 在上下文context中提供的有API获取url中的参数 如下: this.getContext().getRequestParameter("_pagePattern");

如何隐藏流转对话框的标题

windowDialog组件提供了showTitle属性控制是否显示标题 流转对话框就是用windowDialog打开的,所以可以用showTitle属性控制 设置某个功能的流转对话框隐藏标题,可以在功能对应的.w的process组件的onBeforeOpenDialog事件中控制 如下: setTimeout(function(){event.source._processDialog.set({showTitle: false})},1); 如果是所有的流程功能都控制可以在/UI2/system/service/process/dialog/processDialog.w的model的onParamsReceive事件中控制 如下: this.owner.set({showTitle:false}); 如果按照这个方案推荐用扩展空间修改,而且这个方式标题会先显示然后隐藏

流程启动时怎么把业务数据存到sData2中

流程启动时把业务数据存到sData2中可以在前端process组件的onBeforeStart事件中设置或者在后端process文件的onBeforeStart事件中设置 前端设置如下: 在process组件onBeforeStart事件中event参数的结果如下 因此可以在onBeforeStart事件中如下设置sData2的值 event.relations["sData2"] = "aaa"; 后端设置如下: public static void flowTestProcessBeforeStart() { Map<String, Object> relations = (Map<String, Object>) ContextHelper.getActionContext().getParameter("attributes");//获取启动action中的map参数attributes relations.put("sData2", "bbbb");//通过map参数给sData2赋值 }

grid列设置固定宽度隐藏其他的列后列宽不变怎么设置

grid中的列设置固定宽度,当隐藏某些列时剩下的列宽默认是会把隐藏列的宽度平分,导致列宽发生变化 平台默认的没有提供隐藏其他的列后列宽不变的设置 grid用的是jquery grid,所以当平台提供的grid方法中没有相关的设置时,可以到网上查找jquery grid是否有相关的设置 设置固定宽度隐藏其他的列后列宽不变标准的jquery grid提供了参数设置具体如下: this.comp("mainGrid").$domNode.jqGrid('setGridParam', {shrinkToFit:false}); 其中的mainGrid是grid组件的xid

如何根据概念标识获取概念全路径和label

java中通过概念标识获取全路径参考: Model m = ModelUtils.getModel("/appdemo/test/data"); Concept c = m.getUseableConcept("AP_RQ"); String coptFullName = c.getFullName(); /appdemo/test/data是data数据模块全路径 AP_RQ是概念的标识 java中通过概念标识获取label参考: Concept c = (Concept)ModelUtils.getModelObjectByFullName("/appdemo/test/ontology/AP_RQ", Concept.TYPE); String label = c.getLabel(ContextHelper.getOperator().getLanguage()); /appdemo/test/ontology/AP_RQ是概念全路径(带模块路径的概念标识),AP_RQ就是概念

loadData的数据data中如何保存

data上提供的loadData方法加载数据,如果加载的数据需要保存需要把加载的数据设置为新增的状态 可以在action的java方法中返回Table前,遍历Table设置行状态 代码如下: public static Table loadDataRQ(){ String ksql = "select rq.* from AP_RQ rq where rq.fName like '%aa%'"; Table table = KSQL.select(ksql, null, "/appdemo/test/data", null); table.getProperties().put(Table.PROP_NAME_ROWID, "rq"); Iterator<Row> rows = table.iterator(); while (rows.hasNext()) [...]

loadData的数据grid中不能编辑并且点击后值不显示

默认的bizData中用的概念别名做的主键名(queryAction中idColumn参数的设置) cData中的主键列是自己设置的 在对数据进行操作的时候需要根据rowid(主键值)去操作的,当没有主键值的时候grid中是不能对数据编辑的 所以当loadData的数据grid中不能编辑并且点击后值不显示时,要确认action中返回的数据列中是否有bizData需要的idColumn参数值,或者是cData上的主键列,如果没有需要加上 如果返回的数据中要做主键的列不是idColumn参数值或者cData上的主键列,可以在action对应的java中table返回前设置主键列 如下: String ksql = "select sz.* from AP_SZ sz"; Table table = KSQL.select(ksql, null, "/appdemo/test/data", null); table.getProperties().put(Table.PROP_NAME_ROWID, "sz"); return table;

流转前获取当前环节的上一个活动环节

在process文件的onBeforeAdvanceQuery(流转查询前)和onBeforeAdvance(流转前)事件中都可以获取到当前环节的上一个活动环节,具体实现如下: List<ActivityInstance> activityInstances = ProcessUtils.getAI().getPrevAIs2();//获取流程上下文中的当前环节的直接前续环节实例,不包括环节不存在的环节实例 for (ActivityInstance activityInstance : activityInstances) { Activity activity = activityInstance.getActivity();//获取环节对象 if ((activity !=null) && activity.isManual()){ //判断当前环节是否是手动环节 String activityID = activity.getName();//获取activity标识 String activityName = activity.getLabel(ContextHelper.getOperator().getLanguage());//获取activity的label } }

一个人有同一个流程的多个流程模版权限如何根据业务数据选择不同的模版

平台提供的获取流程模版的函数,但同一个流程有多个流程模版都有权限时是随机取的其中一个,如果需要根据业务数据选择不同的模版,可以自己定义一个函数实现 本例是根据流程模版名称获取不同的流程模版的,到SA_ProcessTemplate获取sName为需要的值时主键值并返回 函数的java代码定义如: public static String flowTemp(String temp) { String ksql = "select t from SA_ProcessTemplate t join SA_ResourceControl rc on t=rc.sResourceID where " + "rc.sTypeID='PROCESS_TEMPLATE2' and t.sValidState=1 " + "and t.sName=:temp and t.sKindID='template' [...]

select组件选择“请选择”后在下拉区域中会多一个“请选择”

select的options中bind-optionsCaption属性设置无值时的提示信息如“请选择”,在下拉区域中也会显示这个选项 当选择“请选择”后在下拉区域中会多一个“请选择”,这个问题的原因是select的bind-ref和bind-labelRef关联的是同一个关系 当bind-ref和bind-labelRef用同一个关系是只需要设置bind-ref就可以,bind-labelRef不需要设置,这样就不会重复出现“请选择”这个选项