preOpenForm事件
1 事件介绍
此事件触发时,新界面还没有显示出来,可以在此事件,取消界面的显示,或者修改显示参数。
2 事件触发时机
系统收到showForm指令,显示界面前,准备构建界面显示参数时,触发此事件。
3 代码模板
package kd.bos.plugin.sample.dynamicform.pcform.form.template; import kd.bos.form.events.PreOpenFormEventArgs; import kd.bos.form.plugin.AbstractFormPlugin; public class PreOpenForm extends AbstractFormPlugin { @Override public void preOpenForm(PreOpenFormEventArgs e) { super.preOpenForm(e); // TODO : 可以在此取消界面显示 } }
4 参数说明
PreOpenFosrmEventArgs e:事件参数对象,定义如下:
Object getSource():界面显示参数FormShowParameter对象,可以通过调整此对象属性值,控制界面显示;
void setCancel(boolean cancel) :取消界面显示;
void setCancelMessage(String cancelMessage):cancelMessage 取消原因,提示用户。
5 应用示例
5.1 案例说明
自定义界面标题
自行校验界面查看权,如果未授权,不允许显示
5.2 实现方案
捕获界面显示 preOpenForm事件
a. 修改显示参数,调整界面标题
b. 校验权限,如果无权,取消界面显示
上述场景仅用于演示,实际验权由系统自动处理,不需要插件验权。
5.3 运行效果
显示效果,界面标题被修改;
如果没有权限,则界面不会打开,直接提示无权。
5.4 实例代码
package kd.bos.plugin.sample.dynamicform.pcform.form.bizcase; import kd.bos.context.RequestContext; import kd.bos.form.FormShowParameter; import kd.bos.form.events.PreOpenFormEventArgs; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.servicehelp.permission.PermissionServiceHelper; import kd.bos.servicehelper.model.PermissionStatus; public class PreOpenFormSample extends AbstractFormPlugin { @Override public void preOpenForm(PreOpenFormEventArgs e) { // 设置显示参数 - 是否触发TimerElapsed事件 FormShowParameter showParameter = (FormShowParameter)e.getSource(); showParameter.setListentimerElapsed(true); // 设置显示参数 - 界面标题 showParameter.setCaption("hello world"); // 检查用户是否获得授权,如未授权,撤销界面显示 if (!this.checkFunctionPermission(showParameter.getFormId(), PermissionStatus.View)){ e.setCancel(true); e.setCancelMessage("对不起,您无权访问此页面!"); } } private boolean checkFunctionPermission(String formId, String permissionItemId){ long userId = Long.parseLong(RequestContext.get().getUserId()); int result = PermissionServiceHelper.checkFunctionPermission( userId, RequestContext.get().getOrgId(), formId, permissionItemId); return result == 1; } }
preOpenForm事件
1 事件介绍此事件触发时,新界面还没有显示出来,可以在此事件,取消界面的显示,或者修改显示参数。2 事件触发时机系统收到showForm指令...
点击下载文档
上一篇:移动端表单插件-视图模型下一篇:网络互斥
本文2024-09-23 00:18:24发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-138625.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章