用于在新建/編輯頁,當(dāng)發(fā)生變更時(shí)進(jìn)行數(shù)據(jù)更新/校驗(yàn)并反填回界面
配置方式:在對(duì)象管理的布局中,右側(cè)全局設(shè)置中找到UI事件
注:1、從對(duì)象不支持觸發(fā)UI事件
2、 UI事件的執(zhí)行結(jié)果只作用在新建/編輯頁,實(shí)際生效以是否保存為準(zhǔn)
3、自定義對(duì)象全部支持UI事件,預(yù)置對(duì)象部分支持(銷售線索、客戶、訂單/訂單產(chǎn)品、商機(jī)2.0/商機(jī)2.0明細(xì))
4、只有旗艦版和集團(tuán)版支持該能力
數(shù)據(jù)更新事件
1、在新建/編輯頁,當(dāng)某一字段修改(值改變且失焦)時(shí),觸發(fā)自定義函數(shù)來更新主對(duì)象或從對(duì)象的數(shù)據(jù)
實(shí)際場景:新建訂單,當(dāng)選擇客戶后,能夠直接將客戶的地址同步到到訂單的送貨地址字段上
配置方式:UI事件 — 添加數(shù)據(jù)更新事件 — 分類選擇字段事件
函數(shù)編寫模板:
//新建UIEvent事件 UIEvent event = UIEvent.build(context) { //主對(duì)象修改數(shù)據(jù) editMaster(a: 1, b: 2) //添加一條從對(duì)象,添加從對(duì)象,必須指定業(yè)務(wù)類型,而且是當(dāng)前布局展示的業(yè)務(wù)類型 //如果業(yè)務(wù)類型不匹配.從對(duì)象無法添加 addDetail "detailApiName" set(a: 1, b: 2) //根據(jù)條件刪除 從對(duì)象, 刪除為where中返回為true的從對(duì)象 removeDetail "detailApiName" where { x -> (x["a"] as Integer) > 0 } //根據(jù)條件編輯從對(duì)象 和上同理只會(huì)處理where 中返回為true的從對(duì)象數(shù)據(jù) editDetail "detailApiName" set(a: 1, b: 2) where { x -> (x["a"] as Integer) > 0 } //removeDetail和editDetail 都可以不添加where這樣會(huì)直接作用于所有數(shù)據(jù) //set的內(nèi)容和editMaster的內(nèi)容要保證是map也就是key:valued的形式 removeDetail "detailApiName" editDetail "detailApiName" set(a: 1, b: 2) } return event
2、在主從同時(shí)新建/編輯頁,當(dāng)新建/編輯/刪除從對(duì)象時(shí),觸發(fā)自定義函數(shù)來更新主對(duì)象/從對(duì)象的數(shù)據(jù)(前提是該對(duì)象存在從對(duì)象,才會(huì)有從對(duì)象事件入口)
實(shí)際場景:每新增一條訂單產(chǎn)品明細(xì),根據(jù)客戶的級(jí)別為該產(chǎn)品明細(xì)的優(yōu)惠額度字段賦值
配置方式:UI事件 — 添加數(shù)據(jù)更新事件 — 分類選擇從對(duì)象事件,觸發(fā)條件可選新增明細(xì)/編輯明細(xì)/刪除明細(xì)
函數(shù)編寫模板:
UIEvent event = UIEvent.build(context) { //主對(duì)象、從對(duì)象數(shù)據(jù)修改,詳見上 } //獲取當(dāng)前操作的從對(duì)象數(shù)據(jù) Map currentData = event.getCurrentDetail() //修改當(dāng)前操作的從對(duì)象數(shù)據(jù)(主要用于新建明細(xì)和編輯明細(xì)的場景下) currentData.put("從對(duì)象字段的ApiName","該字段需要變更的值為") currentData.put("從對(duì)象字段1的ApiName","該字段1需要變更的值為") return event
3、返回錯(cuò)誤信息到頁面示例:
Fx.message.throwErrorMessage("錯(cuò)誤信息") return null
校驗(yàn)事件:
在新建/編輯頁,當(dāng)某一字段修改(值改變且失焦)時(shí),觸發(fā)自定義函數(shù)驗(yàn)證該字段值是否符合特定條件
實(shí)際場景:在填寫手機(jī)號(hào)/郵箱格式錯(cuò)誤時(shí),能夠立即給到前端提示
配置方式:UI事件 — 添加校驗(yàn)事件
函數(shù)編寫模板:
//紅字提醒 Remind remind = Remind.Text("Text") //彈窗提醒 Remind remind = Remind.Alert("Text") return remind