RPA JS 扩展开发文档

RPA JS 扩展开发文档

  • SDK接口说明
  • 代码示例

›All Blog Posts

All Blog Posts

  • 使用VS Code插件在本地调试页面代码
  • 如何不使用VS Code和Chrome工具进行RPA开发
  • [Web]明细代码示例
  • [Web]CPQ产品配置页扩展
  • RPAJS中如何实现AOP开发
  • [H5]商机,报价,订单明细自定义编辑页面
  • [H5]自定义实体,表单子实体批量示例
  • [H5]表单页代码示例
  • [H5]详情页代码示例
  • [H5]系统级API示例
  • [H5]调试RPA JS扩展代码
  • [H5]在自定义页面中使用RPA SDK
  • [Mobile]调试RPA JS扩展代码
  • [Web][新版]表单页代码示例
  • [Web]明细表格API示例
  • [Web]系统级API示例
  • [Web]表单页代码示例
  • [Web]列表页代码示例
  • [Web]详情页代码示例
  • [Web]调试RPA JS扩展代码
  • RPA JS 更新日志
  • RPA JS 常见问题Q&A
  • RPA JS 扩展开发介绍

[Web]详情页代码示例

February 3, 2020

Author: 郑颍丽、江炜

详情页

详情页扩展有头部按钮, 资料页表单, 商机推进组件, 相关列表页按钮 等 其中按钮icon地址:Breeze Icons 图标名字规则: name-theme, 其中主题theme可以为空,默认使用Outlined主题, 例如: comment_32-filled, comment_32.


const CUSTOMBTNID = "CUSTOMBTNID";

//获取详情页头部按钮组扩展点实例
const detailPageButtonGroup = new xsyrpa.ButtonGroupExtensionPoint("customEntity78__c.DetailPage#*#Header_ButtonGroup");
detailPageButtonGroup.on('detailButtonGroupLoaded', (data) => {
     //新增按钮到头部按钮组中
    detailPageButtonGroup.addButton({
        extId: CUSTOMBTNID,
        text: "新按钮"
    }).then((newBtn) => {
        //新增按钮成功
        newBtn.on("onClick", () => {
            //新按钮事件 
        });
    });

    //获取编辑按钮实例
    const editButton = new xsyrpa.ButtonExtensionPoint("customEntity78__c.DetailPage#*#_editCustomize_button");
    //隐藏编辑按钮
    editButton.setVisible(false);
});

相关列表按钮代码示例

const ext_AppPageLifeCycle = new xsyrpa.PageExtensionPoint("AppPageLifeCycle");

//页面加载时设置sessionStorage
ext_AppPageLifeCycle.on("setStorage", function(data, resolve) {
    window.sessionStorage.setItem('maskForHSBC',JSON.stringify(data));
});

//应用加载完毕
ext_AppPageLifeCycle.on("loaded", () => {

    //获取文档相关列表按钮组
    const ext_customEntity78__c_DetailPage__ReferList_1009_ButtonGroup = new xsyrpa.ButtonGroupExtensionPoint("customEntity78__c.DetailPage#*#_ReferList_1009_ButtonGroup");
    //新增按钮到文档相关列表
    ext_customEntity78__c_DetailPage__ReferList_1009_ButtonGroup.addButton({
        extId:"buttonid",
        icon:"comment_32",
        text:""
    });
    //隐藏相关列表详细数据操作按钮组(true隐藏,false显示)
    ext_customEntity78__c_DetailPage__ReferList_1009_ButtonGroup.invokeAsync('removeButton',true)

})


//获取资料页表单实例
const ext_form331606 = new xsyrpa.FormExtensionPoint("form331606");
ext_form331606.on("loaded",(formData)=>{
    //打印表单数据
    console.log(formData);
    //获取资料页字段"传真"
    const ext_entityInfo_account_fax = new xsyrpa.FormInlineItemExtensionPoint("entityInfo_account.fax");
    //设置必填
    ext_entityInfo_account_fax.setRequired(true);

    //设置可见
    ext_entityInfo_account_fax.setVisible(true);

    //设置只读
    ext_entityInfo_account_fax.setReadOnly(true);
});

详情页头部按钮组

详情页暂时还未有整体的生命周期扩展点。

如果想获取详情页的数据id, 可以从头部按钮组的扩展点上获取。

  • 头部按钮组示例
const ext_order_DetailPage_Header_ButtonGroup = new xsyrpa.ButtonGroupExtensionPoint("order.DetailPage#*#Header_ButtonGroup");
ext_order_DetailPage_Header_ButtonGroup.on('detailButtonGroupLoaded', (data) => {
    // 传出data为
    /*
      {
         entityId // 实体id
         recordId // 数据id
      }
    */
 
    //之后可以进行调用openApi或控制系统按钮的隐藏等(使用方法见已公开文档)
})
  • 报价单详情页根据审批状态隐藏打印按钮
const ext_quote_DetailPage_Header_ButtonGroup = new xsyrpa.ButtonGroupExtensionPoint("quote.DetailPage#*#Header_ButtonGroup"); //标价单详情页头部按钮组
const ext_quote_DetailPage__printCustomize_button = new xsyrpa.ButtonExtensionPoint("quote.DetailPage#*#_printCustomize_button"); //报价单详情页打印按钮
ext_quote_DetailPage_Header_ButtonGroup.on('detailButtonGroupLoaded', (data)=>{
    console.log(data);
    //data.recordId, data.entityId
    //调用OpenApi 获取审批状态
    //隐藏打印按钮
    ext_quote_DetailPage__printCustomize_button.setVisible(false);
})

详情页-资料组件-分割线隐藏(以商机报备为例)

资料页分割线

资料页分割线扩展点

资料分割线显示与隐藏


const ext_opportunity_register_DetailPage_opportunity_register_splitline = new xsyrpa.FormItemSectionExtensionPoint("opportunity_register.DetailPage#*#opportunity_register_splitline");
/**
 * @param  true 显示 false 隐藏
 * */
ext_opportunity_register_DetailPage_opportunity_register_splitline.setVisible(true) //显示分割线

web左侧菜单配置


const ext_AppLeftMenu = new xsyrpa.LeftMenuExtensionPoint("AppLeftMenu");
/**
     * 菜单项显示、隐藏、文本替换
     * itemKey:  菜单项的唯一标识(菜单项的menuId)
     * text: 替换的文案,不传不替换
     * visible:设置菜单项是否显示
     * 例如:[{itemKey: '40', text: "电话台", visible: true}]。
     * 这个规则意义:menuid为40的菜单项文案更改为配置显示。
*/
ext_AppLeftMenu.setMenuItemsConfig([{itemKey: '357719', text: '2222', visible: true}])

Recent Posts
  • 详情页
  • 详情页头部按钮组
  • 资料页分割线
  • 资料页分割线扩展点
  • 资料分割线显示与隐藏
  • web左侧菜单配置
Copyright © 2021 销售易