当前位置: 首页 > news >正文

泛微E9开发 限制明细表列的值重复

限制明细表列的值重复

    • 1、需求说明
    • 2、实现方法
    • 3、扩展知识点
      • 3.1 修改单个字段值(不支持附件类型)
        • 3.1.1 格式
        • 3.1.2 参数
        • 3.1.3 案例
      • 3.2 获取明细行所有行标示
        • 3.2.1 格式
        • 3.2.2 参数说明

1、需求说明

限制明细表的“类型”字段,在同一个流程表单提交时不能重复,比如已经选择了“一级项目”这个值,那么其他明细行就不能选择这个值了,只允许选择其他的值。

  1. 序号1、2行的明细表已经选择了“1级项目”、“2级项目”值,当序号3选择“1级项目”或“2级项目”值时会自动清空
    在这里插入图片描述
  2. 序号1、2行的明细表已经选择了“1级项目”、“2级项目”值,当序号3选择“3级项目”时通过验证
    在这里插入图片描述

2、实现方法

代码块

<script>var lxField1 = WfForm.convertFieldNameToId("lx","detail_1");//获取明细表选择的类型值getAllSelect = function(){var indexs = WfForm.getDetailAllRowIndexStr("detail_1");var indexArr = indexs.split(',');var selArr = [];var passFlg = true;for(var i = 0;i<indexArr.length;i++){var lxValue = WfForm.getFieldValue(lxField1+'_'+indexArr[i]);//如果值为空,不需要判断if(lxValue == ""){continue;}if(selArr.indexOf(lxValue) > -1){passFlg = false;break;}else{selArr.push(lxValue);}}return passFlg;}jQuery(document).ready(function(){debugger;WfForm.bindDetailFieldChangeEvent(lxField1,function(id,rowIndex,lxValue){if(lxValue){var flg = getAllSelect();if(flg == false){WfForm.changeFieldValue(lxField1+'_'+rowIndex,{value:" "});}}});})
</script>

3、扩展知识点

3.1 修改单个字段值(不支持附件类型)

此方法修改的字段如果涉及到触发联动、单元格格式化等,修改完值会自动触发联动/格式化

3.1.1 格式

changeFieldValue: function(fieldMark, valueInfo)

3.1.2 参数
参数参数类型必须说明
ieldMarkString字段标示,格式field${字段ID}_${明细行号}
valueInfoJSON字段值信息,非浏览按钮字段格式为{value:”修改的值”};
3.1.3 案例
//修改文本框、多行文本、选择框等字段类型
WfForm.changeFieldValue("field123", {value:"1.234"});//修改浏览框字段的值,必须有specialobj数组结构对象
WfForm.changeFieldValue("field11_2", {value: "2,3",specialobj:[{id:"2",name:"张三"},{id:"3",name:"李四"}]
});  //修改check框字段(0不勾选、1勾选)
WfForm.changeFieldValue("field123", {value:"1"});    //针对单行文本框字段类型,只读情况,支持显示值跟入库值不一致
WfForm.changeFieldValue("field123", {value: "入库真实值",specialobj: {showhtml: "界面显示值"}
});

3.2 获取明细行所有行标示

3.2.1 格式

getDetailAllRowIndexStr: function(detailMark)

3.2.2 参数说明
参数参数类型必须说明
detailMarkString明细表标示,明细1就是detail_1,以此递增类推
console.log(WfForm.getDetailAllRowIndexStr("detail_2"));    //输出1,3...等等
http://www.lryc.cn/news/388506.html

相关文章:

  • magicapi导出excel
  • 【秋招突围】2024届秋招笔试-科大讯飞笔试题-03-三语言题解(Java/Cpp/Python)
  • springboot是否可以代替spring
  • 基于SpringBoot的CSGO赛事管理系统
  • 使用 Selenium 实现自动化分页处理与信息提取
  • 现代信息检索笔记(二)——布尔检索
  • 使用Python实现学生管理系统
  • 【嵌入式DIY实例】- LCD ST7735显示DHT11传感器数据
  • 基于Tools体验NLP编程的魅力
  • 强化学习-3深度学习基础
  • SOC模块LoRa-STM32WLE5有哪些值得关注
  • CSS中的display属性:布局控制的关键
  • 【Spring Boot AOP通知顺序】
  • k8s是什么
  • 使用雪花算法(Snowflake Algorithm)在Python中生成唯一ID
  • Docker期末复习
  • DP:子数组问题
  • [Day 20] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • Handling `nil` Values in `NSDictionary` in Objective-C
  • 【深入浅出 】——【Python 字典】——【详解】
  • 开发RpcProvider的发布服务(NotifyService)
  • Suno: AI音乐创作的新时代
  • 六西格玛项目实战:数据驱动,手机PCM率直线下降
  • 数据结构递归(01)汉诺塔经典问题
  • 计算机专业课面试常见问题-计算机网络篇
  • HarmonyOS ArkUi ArkWeb加载不出网页问题踩坑
  • 微信换手机号了怎么绑定新手机号?
  • 64.WEB渗透测试-信息收集- WAF、框架组件识别(4)
  • java.lang.LinkageError: 链接错误的正确解决方法,亲测有效,嘿嘿,有效
  • python最基础