手册
1. 表单扩展
1.1 表单设计时如何添加JS校验
1.2 【引入脚本】实现修改人与修改日期在编辑时更新
1.3 【引入脚本】字段值为空时不显示
1.4 表单列表数据导入jar包校验说明
1.5 通过表单js控制子表的显示或隐藏
1.6 主表汇总获取子表的描述信息
1.7 【初始赋值】如何对某个字段赋初始默认值
1.8 数字字段对比不允许大于另一个字段
1.9 【引入脚本】多选框的隐藏显示控制
1.10 PC表单隐藏控件内容
1.11 【引入脚本】通过表单参数判断来实现接口参数回填
1.12 【按钮前置事件】通过按钮事件来校验表单账号是否有邮箱
1.13 【引入脚本】通过调用本地关联查询的接口将第一行数据回填至表单
1.14 【编写公式】日期格式化
1.15 【子表回填】根据主表字段自动切换回填内容-子表自动回填
1.16 【引入脚本】js调用接口执行一个脚本,获取数据后反填到表单上或者将结果与表单内容对比,可以做表单校验
1.17 【引入脚本】js将子表末行的数据更新
1.18 【引入脚本】控制子表回填按钮的隐藏
1.19 【引入脚本】通过表单参数判断来实现子表的只读和编辑效果
1.20 【引入脚本】隐藏子表的添加按钮
1.21 【引入脚本】隐藏子表每行复制、删除等按钮
1.22 【关联查询】自定义SQL过滤数据
1.23 【引入脚本】实现流程第二节点回传数据致表单
1.24 【公式脚本】子表数据基于设置数值递增
1.25. 【表单设计】js校验
1.25.1 通过控件中js校验规则实现子表两个字段比较大小的校验
1.25.2 表单设计中通过js校验表单字段输入值是否为数字
1.26 表单填单时点击跳转链接应用场景【可在填单是自动编辑跳转地址】
1.27 流水号配置_通过脚本实现保存时才消费
1.28 【引入脚本】根据条件计算子表列数据
1.29 【附件上传校验】避免上传附件时还位完成就提交保存表单
1.30 【js按钮】表单js按钮根据字段值生成唯一性随机数,并存入到指定的表单列表内
1.31  通过字段控制其他字段的显隐读写
2. 门户扩展
2.1 门户公告栏示例脚本
3. 流程定义扩展
3.1 分支网关的变量如何获取子表数据
3.2 通过初始赋值获取多人会签节点的审批人并存储到某一字段
3.3 通过按钮控制工单状态
3.4 流程分支网关处用发起人所属角色判断走向
4. 人员脚本扩展
4.1 getRoleByAlias(根据角色别名获取角色列表)
4.2 getUpChargesByOrgId(获取上级组织负责人(包含主负责人)或主负责人)
4.3 getChargesByPreNode(获取上一节点执行人的部门负责人(主组织))
4.4 getByRelPreNode、getByRelStartUser
4.5 getUserFromSubData(从子表数据中提取节点审批人--固定值生效)
4.6 getChargesByPOrg、getChargesByStartPOrg
4.7 getChargesByOrg、getChargesByStartOrg
4.8 getOrgById (根据组织id查询组织作为候选处理人(不抽取))
4.9 getByOrgRelDefCode ( 通过职务编码和组织编码查询用户 )
4.10 getListUserByRelCode (根据岗位编码获取人员列表)
4.11 getMainByOrgId (获取该组织中为主组织的人员列表)
4.12 getChargesByOrgId (获取组织负责人(包含主负责人)或主负责人)
4.13 getByCompanyRole(找这个组织下有这个角色的人员)
4.14 getLeaderStep(获取逐级审批)
4.15 getLeaderStepByOrgId(根据组织id获取逐级审批)
4.16 getUserById(根据id获取审批人)
4.17 getUserFromBusSql(sql查询用户id )
5. 常用脚本扩展
5.1 流程状态通知方案
5.2 节点按钮前置脚本
5.3 更新字段值
6. 表单列表扩展
6.1 如何格式化内容导出
6.2 如何格式化复选选项
6.3 【JS按钮】表单列表审批人通过js按钮跳转至对应的待办
6.4 【JS按钮】通过JS按钮点击发起流程,并将当前行某字段数据自动推送到发起流程的表单中
6.5 【数据过滤】表单列表中数据根据当前人过滤当前人审批过的数据
6.6 【前置js脚本】控制按钮显隐
7. 功能高级说明
7.1 流程按钮_加签/征询/流转
7.2 对话框/关联查询自定义SQL的使用
8. 典型场景应用
8.1 填报汇总功能
8.2 考勤审批管理
8.3 表单校验
8.4 绑定查询关联操作说明
8.5 快速批量添加数据,引入脚本
8.6 通过sql和数据列表的方式快速生成考勤统计报表
8.7 栏目中配置跳转地址

通过控件中js校验规则实现子表两个字段比较大小的校验

200
邓文文
2022-12-07 14:04:53
分享链接

适用场景:

对子表中两个字段进行数值比较大小,并提示校验,(如针对产品信息表中批复数量字段与生产数量字段大小的比较,批复数量数值需满足大于等于生产数量条件,若批复数量小于生产数量是,校验失败)


实现效果:

配置步骤:

第一步:

表单设计中,可选择进行比较的两个子表字段中的一个字段(生产数量/批复数量),在【字段属性】中->【高级属性】添加js校验,编写方法

第二步:

点击编写方法,编写js校验脚本,对应编写脚本如下:



由于子表行数是动态的,不确定子表具体是哪一行的数据以及不固定的,所以我们通过使用forEach函数获取子表对应行的字段进行遍历比较


注释:

data.sc_print_product.sub_sc_product_inf:  data.sc_print_product为业务主表对象别名; sub_sc_product_inf为业务子表对象别名;


批复数量:item.approval_num:   approval_num 为子表字段别名 对应于子表对应行的批复数量data.sc_print_product.sub_sc_product_inf[index].approval_num;


生产数量:item.product_num:  product_num为子表字段别名   对应于子表对应行的批复数量data.sc_print_product.sub_sc_product_inf[index].approval_num;



var flag = {};
if(data.sc_print_product.sub_sc_product_info.length) {
        data.sc_print_product.sub_sc_product_info.forEach((item,index)=>{
          if(item.approval_num<item.product_num){
            
              flag = {valid:false,data:{message:'生产数量大于批复数量,请重新填写!'}};                       
                }
          else 
            flag={valid:true};
  })
}
 return  flag;


同时可以借助js编辑选择变量获取到子表字段的别名,表单变量可以获取到对应子表中字段别名



发表评论
评论通过审核后显示。