如何在通过插件自定义水印内容
1 业务场景
客户希望能更加灵活的设置水印内容,并且能通过在上级节点配置,达到作用于当前节点下的所有子节点的效果,如:在基础服务上配置水印内容,展示用户名+组织名,目前标准产品的水印配置功能无法满足要求。
2 实现方案
二次开发可以自己实现一个自定义的水印插件,在插件中传入自定义的水印内容(如:用户名+组织名),在水印配置页面相应节点配置后,作用于该节点下面的所有节点。例如在基础服务节点配置水印插件,基础服务上的所有的页面都应用插件定义的水印。
2.1 接口结构
自定义的水印插件需实现IWaterMarkPlugin接口:
public interface IWaterMarkPlugin { //打开表单前修改水印内容 default void setWaterMarkInfo(LoadWaterMarkInfoEventArgs e){}; }
2.2 示例代码
/** * 案例:自定义水印插件实现水印为用户名+组织名 * 在插件中实现 IWaterMarkPlugin 接口重写setWaterMarkInfo()方法设置水印 */ public class WaterMarkerCustomPluginTest extends AbstractFormPlugin implements IWaterMarkPlugin{ @Override public void setWaterMarkInfo(LoadWaterMarkInfoEventArgs e) { long userId = RequestContext.get().getCurrUserId(); DynamicObject user=BusinessDataServiceHelper.loadSingle(userId, "bos_user"); String orgName = getOrgName(user); WaterMark waterMark = new WaterMark(); //设置水印类型为文本,具体类型可在设计器上查看到 waterMark.setType("1"); //设置文字内容为用户名+组织 waterMark.setText(user.get("name")+"_"+orgName); //设置字号,12 waterMark.setFontSize("12"); //设置水印颜色为黑色 waterMark.setColor("#333"); //设置水印不透明度为50% waterMark.setGlobalAlpha(50); e.setWaterMark(waterMark); } //获取当前用户组织名方法 private String getOrgName(DynamicObject user) {} }
2.3 水印配置
注册水印自定义插件:
2.4 展示效果
在水印插件中自定义参数(水印类型:文本,文字内容:用户名+组织名,字体:黑色,不透明度:50%)
如何在通过插件自定义水印内容
1 业务场景 客户希望能更加灵活的设置水印内容,并且能通过在上级节点配置,达到作用于当前节点下的所有子节点的效果,如:在基础服务上配...
点击下载文档
上一篇:预警监控方案高级条件介绍下一篇:如何将源单附件面板的附件复制到目标单据
本文2024-09-23 00:38:09发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140737.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章