如何根据不同的组织显示苍穹主页面左上角的logo,登录页的二开原创
1人赞赏了该文章
578次浏览
编辑于2023年01月10日 20:25:59
关键词:登录页扩展,LOGO
一、需求
现在有一家集团公司,下属十余分公司,分属不同行业,比如食品,能源,汽车,每家分公司有各自不同的logo,
现要求,根据登录用户所在的组织去动态指定显示对应logo图片。
二、思路与方案
这里有个背景知识:如何设置登录页,这里介绍了统一的logo设置
https://developer.kingdee.com/article/229917129238516480?productLineId=29&isKnowledge=2
目前我们这个需求是要根据用户的登录组织不同去设置logo,是动态的,所以还是不一样的
那如何在组织上扩展logo图片呢?
可以参考下这个文章:
https://developer.kingdee.com/article/392375685656224512?productLineId=29
三、实现过程
1 扩展登录页
那我们回到需求,登录页的表单是哪个,又从哪里设置的呢?
我们登录后跳转的页面url已经告诉我们,以本地开发的url为例
http://localhost:8080/ierp/?formId=pc_main_console
我们可以看到,登录后跳转的页面就是pc_main_console,对其进行扩展(只需要在上面加上插件即可)
在这里我们就可以看到logo就是我们这次要改动的字段了
2 编写插件
代码实现:
public class OrgLogoPlugin extends AbstractFormPlugin{ public void afterBindData(EventObject event) { long userId = RequestContext.get().getCurrUserId(); long orgId = UserServiceHelper.getUserMainOrgId(userId); DynamicObject org= BusinessDataServiceHelper.loadSingle(orgId,"bos_org"); String logoUrl=(String) org.get("bidt_picturefield");//获取图片地址 Image logo = (Image)getControl("logo"); //本地轻量需要加这个前缀 logoUrl="http://localhost:8080/ierp/attachment/downloadImage/"+logoUrl; logo.setUrl(logoUrl); } }
四、效果图
根组织下人员的登录logo
另一个组织的登录logo
五、开发环境版本
COSMICV5.0.003.0
六、参考资料
OrgLogoPlugin.rar(0.65KB)
赞 1
1人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0