凯特-肖海杰 发表于 2021-6-24 11:30:47

APP将子功能中数据回写主功能的字段中

一、案例效果         
         通过平台的APP功能规划中的javascript脚本,实现子功能中自定义事件更新主功能的字段值                                        http://doc.jepaas.com/uploads/je_doc_jepaas/images/m_d553d0dd70d4c38e724796c0bd6e5854_r.png
               二、实现思路
          例:销售商机中的子功能 —>
            ‘产品清单’触发事件遍历当前的子功能中所有的金额,然后改变主功能中的字段值

三、操作步骤         1. 点击表单中按钮的自定义功能脚本事件,自定义自己的执行方法

      2. 获取传递的参数formCtrl当前的子功能控制器,然后再根据getParent().form获取到当前的表         单功能

      3. 然后根据getThisList()方法获取到当前子功能的列表功能

      4. Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,方便我们操作属性

      5. 最后通过setValues()可以设置主功能的指定字段值,然后执行主功能的save()保存方法
四、相关代码
form: {
      // 子功能表单提交事件
      submit(formCtrl) {
            // formCtrl 当前子功能的表单控制器
            // 首先从当前子功能获取到主功能的表单控制器
            // getParent().form 获取到主功能控制器
            var pFormCtrl = formCtrl.getParent().form;
            // 获取到当前的子功能列表控制器
            var targetList = formCtrl.getThisList();
            // 当前定义一个初始的默认金额
            var total = 0;
            // 将所有子功能集合的值做一次叠加
            Object.entries(targetList.store.dataMap).forEach(() => {
                // CP_XJ这个取决于自己配置的字段值
                total += item.CP_XJ;
            })
            // 父功能表单更新 商机金额(XSSJ_SJJE)字段,然后保存
            pFormCtrl.setValues({
                XSSJ_SJJE: total
            })
            // 执行付功能的保存方法
            pFormCtrl.save()
      }
    }

五、关键字,相关问题   
          子功能更新主功能数据
          子功能和主功能数据共享
       子功能保存主功能


页: [1]
查看完整版本: APP将子功能中数据回写主功能的字段中