明细表的数据校验

功能介绍

自定义代码实现对明细表行字段的校验

应用场景

例子:如图 费用类型是个下拉单选框,我们需要对费用类型做唯一性校验,即不能有重复的费用类型行出现

思路:

1.设置属性联动,触发条件:值改变时,联动选自定义代码

  1. 拿到明细表的所有行数据
  2. 创建一个空数组a,用来装费用类型
  3. 遍历每一行的费用类型,用arr.indexOf来查找数组中是否有此费用类型,没有就push进去,有则代表重复了
  4. 提醒用户费用类型不能重复
const formData = configs.context.getFormData();

// JIUDE  明细表attrcode
// COST_TYPE  费用类型attrcode

const datas = formData?.['JIUDE']

const s = [...datas]
const temp = [] // 用来装费用类型字段的数组

s.forEach((asf)=>{
    if (temp.indexOf(asf['COST_TYPE']) == -1){
        temp.push(asf['COST_TYPE'])
    }else{
        configs.utils.message.warning('一个费用类型只能申请一次!!!!')
        // console.log("haoma", asf['COST_TYPE'])
        asf['COST_TYPE'] = ''

    }
})
const aRef = configs.context.getCompRef({ formCode: '', attrCode: 'JIUDE' });
aRef?.onChange(s)
作者:王浩彬  创建时间:2024-06-17 10:20
最后编辑:tz_docs  更新时间:2025-05-12 18:04