电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

自定义水印内容小妙招 之 水印插件

来源:金蝶云社区作者:金蝶2024-09-235

自定义水印内容小妙招 之 水印插件

用户希望能够灵活自定义设置水印内容,比如打开某单据页面时展示【用户名】+【组织名】的水印内容;且希望通过在上级节点配置,达到作用于当前节点下的所有子节点的效果。例如,在【系统服务云】→【基础服务】目录下设置水印,那【基础服务】节点下级【人员】、【组织】等所有单据打开都显示【用户名】+【组织名】的水印内容,如下图所示:


基础服务人员列表效果示例


想要实现上述效果并不难,跟着小编往下看~




1 解决方案


通过二次开发,可以实现自定义的水印插件,且绑定自定义插件后,系统将动态获取自定义插件里设定的内容,无需进行任何配置。在插件中传入自定义的水印内容(如:用户名+组织名),在水印配置页面配置相应节点后,效果将作用于该节点下面的所有节点。例如,在基础服务节点配置水印插件,基础服务上的所有的页面都应用插件定义的水印。具体可以分为以下三步:


第一步,自定义的水印插件需实现IWaterMarkPlugin接口,代码示例如下:


public interface IWaterMarkPlugin {   
  //打开表单前修改水印内容    
  default void setWaterMarkInfo(LoadWaterMarkInfoEventArgs e){};
}


第二步,通过自定义水印插件实现水印为用户名+组织名。在插件中实现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 Water

自定义水印内容小妙招 之 水印插件

用户希望能够灵活自定义设置水印内容,比如打开某单据页面时展示【用户名】+【组织名】的水印内容;且希望通过在上级节点配置,达到作用于...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信