人员F7展示商务伙伴人员原创
金蝶云社区-开发者赋能部_吴富彪
开发者赋能部_吴富彪
3人赞赏了该文章 465次浏览 未经作者许可,禁止转载编辑于2022年12月29日 10:44:21

关键词:人员F7、商务伙伴

一、需求

image.png

    用户控件F7默认是没展示商务伙伴的。如在合同签署业务中,主体公司要与商务伙伴进行合同签署,需要在用户控件中能选择到商务伙伴人员。

二、思路与方案

业务需要选择商务伙伴人员,需要通过插件实现:可以通过参数(externalUserType)控制

三、实现过程

PC端

参数说明

应用场景参数名类型说明
指定组织树初始根节点initRootOrgIdLong如果指定的节点不是根节点时,会显示[显示全部]开关,打开开关可以查看全部组织的人员信息
指定组织树的初始焦点initOrgIdLong
指定[包含下级]开关默认值isIncludeAllSubBoolean默认为false:[包含下级]开关是关闭状态
设置是否添加管理员组织管辖范围isOrgBaseAdminBoolean默认为false:不添加组织管理员管辖范围
设置是否添加用户授权组织管辖范围isAddUserPermOrgFilterBoolean默认为false:不添加用户授权组织范围
指定要显示的外部用户的人员类型集合externalUserTypeString人员F7默认不展示展示外部用户(如客户、供应商等其他人员类型);可以通过参数控制,为[all]时展示所有外部用户类型;设置为具体某些类型,如客户、供应商时,设置具体参数,多个用逗号隔开,即[2,3]
设置是否只能选择外部用户isOnlyShowExternalUserBoolean设置为true时左树和列表只展示企业外部用户。可以结合externalUserType使用。


在开发过程中,如果业务需要选择商务伙伴人员,需要通过插件实现:可以通过参数(externalUserType)控制,值为[all]时展示所有外部用户类型;设置为具体某些类型,如客户、供应商时,设置具体参数,多个用逗号隔开,即[2,3]

代码:

    @Override
    public void registerListener(EventObject e) {
        UserEdit userEdit = this.getControl("kdec_userfield");
        if (userEdit != null) {
            userEdit.addBeforeF7SelectListener(new BeforeF7SelectListener() {
                @Override
                public void beforeF7Select(BeforeF7SelectEvent evt) {
                    //指定组织树初始根节点
                    evt.getFormShowParameter().setCustomParam("initRootOrgId", 100001);
                   //指定要显示的外部用户的人员类型集合
                    evt.getFormShowParameter().setCustomParam("externalUserType", "all");
                }
            });
        }
    }

四、效果图

image.png

五、开发环境版本

本样例采用的轻量级环境,版本是: 苍穹版本号 COSMICV5.0.008 星瀚版本号 CONSTELLATIONV5.0.008,建议使用版本大于等于V4.0.019.0

六、参考资料

开发平台

学习成长中心

商务伙伴用户

商务伙伴



赞 3