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

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

基础服务人员列表效果示例
想要实现上述效果并不难,跟着小编往下看~
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格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



