js中平台默认提供了this.getContext().getActivityLabel()可以获取当前activity显示名称
但是这个获取到的是process文件中定义的名字,获取不到流程模板中修改的名字
要获取流程模板中修改的名字需要调用action的方式,把当前任务的ID传给action,做参数到SA_Task中查询数据
如下:action中定义一个task的参数,action对应的java代码的定义
public static String getModActivityName(String task){ String ksql = "select task.sActivityName from SA_Task task where task = '"+task+"'"; Table table = KSQL.select(ksql, null, "/system/data", null); String sActivityName = ""; if(table.size()>0){ Row r = table.iterator().next(); sActivityName = r.getString("sActivityName"); } return sActivityName; }
js中调用action
Model.prototype.button1Click = function(event){ var task = this.getContext().getTask(); var param = new biz.Request.ActionParam(); param.setString("task",task); biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "getModActivityName", "parameters" : param, "callback" : function(callbackData) { if (callbackData.state) { alert("当前环节名:"+callbackData.response); } else alert("执行失败"); } }); };
评一波