门户V2定制-组织详情页面初始化扩展

在组织详情页面中,添加根组织,默认会选中分配组织角色,在某些租户中,需要不默认选中。即需要在门户自定义组件中,在组织详情页面的初始化事件中,修改分配组织角色绑定的数据

在页面中增加初始化事件

页面组件的事件,不能用于扩展,因此在页面 JS 文件中添加页面初始化事件 onInitState,代码如下

export default class IndexPage extends Page {
    constructor(props, context) {
        super(props, context);
    }

    //页面初始化事件
    async onInitState() {
        let pageState = await super.onInitState();   
        return {...pageState};
    }

    //页面组件的数据初始化事件
    onPageInitState = async (event) => {
        ...
    }
}

在门户自定义组件中,扩展页面初始化事件

在门户自定义组件的 portalConfig.config.js 文件中,添加组织详情页面的页面初始化事件的 before 事件

  • 门户自定义组件 portalConfig.config.js 文件位于 model/UI2/comp/portalConfig/components/portalConfig 目录下
  • 组织详情页面是:model/UI2/opm-pcx/dialog/orgDetail.w
  • 页面初始化事件是:onInitState
  • before 事件是:@before
  • 获取页面对象使用:configContextProcessor.page
  • onConfigContextInit 方法的最后,执行 this.inited = false; 使得每次打开页面时都会执行

代码如下

    async onConfigContextInit(configContextProcessor) {
        let portalConfig = {
            "config": {
                "/entry": {
                    "/opm-pcxapp": {
                        "/opm-pcx": {
                            "/dialog": {
                                "/orgDetail.w": {
                                    "onInitState": {
                                        "@before": () => { 
                                            configContextProcessor.page.comp("pageData").setValue("assignRole",0);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        };
        merge(configContextProcessor.page.configContext, portalConfig);
        ConfigContextProcessor.enhancePageAdvice(configContextProcessor.page);
        this.inited = false;//设置后,会多次执行
    }

results matching ""

    No results matching ""

    results matching ""

      No results matching ""