纷享销客开发者手册 纷享销客开发者手册
  • APL开发手册
  • PWC开发手册
  • OpenAPI 文档
APL代码介绍
API Reference
开发工具
更新日志
  • 简体中文
  • English
APL代码介绍
API Reference
开发工具
更新日志
  • 简体中文
  • English
  • 入门

  • APL函数开放场景

  • APL类开放场景

    • 公共库

    • 电子签

    • 认证提供商

    • 可用业务类型

    • 对象Controller插件

    • 事件监听

    • 对象导出插件

    • ERP集成平台

    • 外勤类型函数校验

    • 快消订货业务插件

      • 1.概述
      • 2.配置步骤
      • 3.Groovy代码示例
      • 4.常见问题
    • 对象业务处理器

    • 在线文档

    • 自定义模型

    • 环境部署

Groovy代码示例


/**
     * 产品列表页展示拓展组件
     * @param arg 订单主对象objectData,从对象 details["SalesOrderProductObj",productList]
     * @return 产品列表页拓展布局 productIdToExtendMap:
     *          [id1: [info:[文案内容集合],tip:[提示内容集合]],[id2:...]]]
     */
    @Override
    ProductsExtend.Result getProductsExtend(ProductsExtend.Arg arg) {
        /*log.info("productsExtend Arg:" + arg)
        //订单主对象
        Map masterData = arg.objectData as Map
        //details 从对象
        List productList = arg.details["SalesOrderProductObj"] as List
        Map resultMap = [:]
        productList.each { item ->
            String id = item["_id"] as String
            List infoList = []
            List tipList = []
            infoList.add(["content": "infoContent2", "color": "#91959e"])
            tipList.add(["title" : "titleContent", "content": "tipContent", "color": "#fc5857"])
            Map tmpMap = ["info": infoList, "tip": tipList]
            resultMap.put(id, tmpMap)
        }
        log.info("resultMap=" + resultMap)*/
        return ProductsExtend.Result.builder().productIdToExtendMap(null).build()
    }

    /**
     * 下单按钮处理主订单、订单产品数据
     * @param arg 订单主对象objectData,从对象 details["SalesOrderProductObj",productList]
     * @return
     *  主订单 data,
     *  从对象 details["SalesOrderProductObj",productList],
     *  拆分订单集合 splitOrderDetail
     */
    @Override
    OrderDetails.Result commitOrderConfirm(OrderDetails.Arg arg) {
        /*log.info("commitOrderConfirm Arg: " + arg)
        //主订单对象
        Map masterData = arg.objectData as Map
        //从对象
        Map details = arg.details as Map
        List productList = details["SalesOrderProductObj"] as List

        //如需要处理主订单、订单产品数据,处理后赋值在objectData、details中返回结果
        //若拆分订单,拆分后的多个data、details组合,放splitOrders集合中
        OrderDetails.SplitOrders splitOrders1 = OrderDetails.SplitOrders.builder()
                .objectData(masterData)
                .details(details)
                .build()
        OrderDetails.SplitOrders splitOrders2 = OrderDetails.SplitOrders.builder()
                .objectData(masterData)
                .details(details)
                .build()
        List splitOrders = [splitOrders1, splitOrders2]
        OrderDetails.SplitOrderInfo splitinfo = OrderDetails.SplitOrderInfo.builder()
                .groupField("")       //按照什么维度去分组的apiname
                .collectMasterFieldList([])     //需要在将主订单拆分后的每个订单上,独立展示的字段的APIName集合
                .uiEventMasterFieldList([])     //提前在主订单布局上配置UI事件,返回的是触发UI事件的字段的APIName集合
                .saveField("")         //新增的自定义字段的APIName(多行文本),该字段由前端组装数据并存储,存储内容为collectMasterFieldList中要展示的字段数据
                .build()
        OrderDetails.SplitOrderDetailDTO splitOrderDetailDTO = OrderDetails.SplitOrderDetailDTO.builder()
                .splitOrderInfo(splitinfo)
                .orderList(splitOrders)
                .build()*/
        return OrderDetails.Result.builder()
                .objectData(null)
                .details(null)
                .splitOrderDetail(null)
                .build()
    }

    /**
     * 处理是否跳过订单主对象信息页
     * @param arg 客户Id:accountId 当前用户Id:userId 布局名字:orderLayout 展示的字段集合:showFields
     * @return display true/false 显示/隐藏  objectData 写入订单主对象数据 (display=false时 生效)
     * {"display" : true, "objectData" : {"field1" : "value1"}}
     */
    @Override
    CustomPageDisplay.Result customPageDisplayHandler(CustomPageDisplay.Arg arg) {
        log.info("customPageDisplayHandler Arg: " + arg)
        return CustomPageDisplay.Result.builder()
                .display(true)
                .objectData(null)
                .build()
    }

2.配置步骤
4.常见问题

← 2.配置步骤 4.常见问题→

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式