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 扩展开发介绍

[H5]自定义实体,表单子实体批量示例

October 30, 2020

Author: 彭茜、傅腾

子实体批量依据选择器

主子明细的子实体中,需要配置"子对象支持批量新建",才能在表单中出现子实体批量依据选择器。

该扩展点可以把批量依据选择器替换成自定义逻辑。

const picker = new xsyrpa.FormSubEntityTableExtensionPoint("xsy.breeze.app.customEntity11__c.defaultBusiType.masterEntityCreation.defaultPageLayout.ChildEntityPicker");
picker.on('pickerClick', (data, resolve, reject) => {
  //一定要resolve或reject
  //resolve()后,用本方法代替出厂的实体批量依据选择器
  //reject()后,弹出实体批量依据选择器
  resolve([
      {id: 1390357211070082} //将数据传到子实体列表页,必须是关联关系实体中存在的id
  ])
})

子实体列表扩展点

子实体列表 - 删除一条数据

const childEntityList = new xsyrpa.FormSubEntityTableExtensionPoint("xsy.breeze.app.customEntity11__c.defaultBusiType.customEntity12__c.childEntityListCreation.defaultPageLayout.SimpleFormList");
childEntityList.deleteDetail({rowIndex: 0});

子实体列表 - 监听删除事件

const childEntityList = new xsyrpa.FormSubEntityTableExtensionPoint("xsy.breeze.app.customEntity11__c.defaultBusiType.customEntity12__c.childEntityListCreation.defaultPageLayout.SimpleFormList");
childEntityList.on('deleteRowData', (data) => {
    console.log(data)
})

子实体列表 - 隐藏按钮

const childEntityList = new xsyrpa.FormSubEntityTableExtensionPoint("xsy.breeze.app.customEntity11__c.defaultBusiType.customEntity12__c.childEntityListCreation.defaultPageLayout.SimpleFormList");
childEntityList.setOperateButtonVisible({
     buttonType: "delete", //目前支持删除(delete)和编辑(edit)
     visible: false,
     rowIndex: 0, //不传rowIndex隐藏全部
})

子实体列表 - 设置字段属性

//子实体列表页(生命周期)
const listPage = new xsyrpa.FormExtensionPoint("xsy.breeze.app.customEntity11__c.defaultBusiType.customEntity12__c.childEntityListCreation.defaultPageLayout#*#");
//子实体列表
const entityList = new xsyrpa.FormSubEntityTableExtensionPoint("xsy.breeze.app.customEntity11__c.defaultBusiType.customEntity12__c.childEntityListCreation.defaultPageLayout.SimpleFormList");
listPage.on("loaded", () => {
    //列表与表单不同,是一个循环处理的过程
    //列表中同一套业务逻辑、同一套UI组件,根据每一条不同的数据,显示出不同的界面
    //我们通过表达式的方式,来动态改变列表上一条记录的UI界面
    //当满足表达式时,将"customItem1__c"字段设置成只读
    entityList.setCellReadonlyRule([{itemApiKey: 'customItem1__c', rule: '$data.name === "readonly"'}]);
    //当满足表达式时,隐藏"customItem1__c"字段
    entityList.setCellInvisibleRule([{itemApiKey: 'customItem1__c', rule: '$data.name === "invisible"'}]);

    //把第"1"行的"customItem1__c"字段的值设置成"123"
    entityList.setCellValue({
        itemApiKey: "customItem1__c",
        value: "123",
        rowIndex: 1,
    });

    //监听值的变化
    entityList.on("rowDataChanged", (data)=>{
      console.log(data)
    });;
})

子实体列表 - 获取所有数据(包括明细)

//注意是list上dataModel扩展点,非list扩展点
const listDataModel = new xsyrpa.BreezeDataModelExtensionPoint("xsy.breeze.app.customEntity366__c.defaultBusiType.customEntity367__c.childEntityListCreation.defaultPageLayout_DataModel");
//子实体的apiKey
const childApiKey = 'customEntity367__c';
//子实体列表数据所在的路径
const itemsPath = `subnode.${childApiKey}.defaultBusiType.records.items`
const getItems = (dataModel) => {
    const pathArr = itemsPath.split('.');
    return pathArr.reduce((dm, path) => {
        return dm[path];
    }, dataModel);
}

//获取所有dataModel的数据
listDataModel.getValue().then((data) => {
    //找到需要的子实体列表数据
    console.log(getItems(data))
})

子实体列表 - 添加明细后的事件

const list = new xsyrpa.FormSubEntityTableExtensionPoint("xsy.breeze.app.customEntity366__c.defaultBusiType.customEntity367__c.childEntityListCreation.defaultPageLayout.SimpleFormList");
list.on('afterAddDetail', (data) => {
  //单个添加和批量添加,会进此处回调,删除不会,请使用deleteRowData
  debugger
})
Recent Posts
  • 子实体批量依据选择器
  • 子实体列表扩展点
  • 子实体列表 - 删除一条数据
  • 子实体列表 - 监听删除事件
  • 子实体列表 - 隐藏按钮
  • 子实体列表 - 设置字段属性
  • 子实体列表 - 获取所有数据(包括明细)
  • 子实体列表 - 添加明细后的事件
Copyright © 2021 销售易