泛微E9开发 根据判断条件,控制字段的编辑/必填属性

根据判断条件,控制字段的编辑/必填属性

    • 1、需求说明
    • 2、实现方法
    • 3、扩展知识点
      • 1. 注册钩子事件,指定动作完成后触发
        • 1.1 接口名称及参数说明
        • 1.2 案例
      • 2. 改变单个字段显示属性(只读/必填等)
        • 2.1 参数说明
        • 2.2 案例

1、需求说明

当字段“填报人”和字段“姓名”的值相同时,那么明细表1的“预计完成时间”必填(系统自动变更字段属性),否则“预计完成时间”可编辑不必填。

  1. “填报人” <> “姓名” :预计完成时间可编辑

在这里插入图片描述

  1. “填报人” = “姓名” :预计完成时间必填
    在这里插入图片描述

2、实现方法

代码块

  var tbrField = WfForm.convertFieldNameToId("tbr");var xmField = WfForm.convertFieldNameToId("xm"); var yjwcsjDt1 = WfForm.convertFieldNameToId("yjwcsj","detail_1");function ChangeDetailFieldAttr(fieldName,attr){var rowArr = WfForm.getDetailAllRowIndexStr("detail_1").split(",");for(var i = 0;i<rowArr.length;i++){WfForm.changeFieldAttr(fieldName+"_"+rowArr[i],attr);}}jQuery(document).ready(function(){    //值触发WfForm.bindFieldChangeEvent(tbrField+','+xmField,function(obj,id,value){var tbrValue = WfForm.getFieldValue(tbrField);var xmValue = WfForm.getFieldValue(xmField);var attr = 2;if(tbrValue == xmValue){attr = 3;}ChangeDetailFieldAttr(yjwcsjDt1,attr);});//新增明细行完成后执行WfForm.registerAction(WfForm.ACTION_ADDROW+"1", function(index){var tbrValue = WfForm.getFieldValue(tbrField);var xmValue = WfForm.getFieldValue(xmField);if(tbrValue == xmValue){WfForm.changeFieldAttr(yjwcsjDt1+"_"+index,3);}else{WfForm.changeFieldAttr(yjwcsjDt1+"_"+index,2);}});     

3、扩展知识点

1. 注册钩子事件,指定动作完成后触发

支持多次调用注册,按注册的先后顺序依次执行

类型说明
WfForm.ACTION_ADDROW添加明细行,需拼明细表序号
WfForm.ACTION_DELROW删除明细行,需拼明细表序号
1.1 接口名称及参数说明

registerAction: function(actionname, fn)

参数参数类型必须说明
actionnameString 明细行,需拼明细表序号动作类型,详见上表
fnFunction触发事件
1.2 案例

//下标从1开始,明细1添加行触发事件,注册函数入参为新添加行下标
WfForm.registerAction(WfForm.ACTION_ADDROW+“1”, function(index){
alert(“添加行下标是”+index);
}); //下标从1开始,明细1添加行触发事件,注册函数入参为新添加行下标

//下标从1开始,明细2删除行触发事件
WfForm.registerAction(WfForm.ACTION_DELROW+“2”, function(arg){
alert(“删除行下标集合是”+arg.join(“,”));
}); //下标从1开始,明细2删除行触发事件

2. 改变单个字段显示属性(只读/必填等)

changeFieldAttr: function(fieldMark, viewAttr)

2.1 参数说明
参数参数类型必须说明
fieldMarkString字段标示,格式field${字段ID}_${明细行号}
viewAttrint改变字段的状态,1:只读,2:可编辑,3:必填,4:隐藏字段标签及内容,5:隐藏字段所在行(行内单元格不要存在行合并)
2.2 案例

WfForm.changeFieldAttr(“field110”, 1); //字段修改为只读

WfForm.changeFieldAttr(“field110”, 4); //字段标签以及内容都隐藏,效果与显示属性联动隐藏一致,只支持主表字段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/359692.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3中ref标签

<tempalce><aa refa/> </tempalce> <script setup> import {ref} from vue //需要先定义一个空的ref let a ref() //然后才能使用组件ref的标签数据 </script> 然后需要在该组件中暴露出去 defineExpose({a,b,c})

ONLYOFFICE 桌面编辑器 8.1重磅来袭:全新功能提升您的办公效率

文章目录 前言ONLYOFFICE 桌面编辑器8.1一、PDF编辑&#xff1a;告别“头痛”时刻二、幻灯片版式&#xff1a;秒变“设计大师”三、无缝切换&#xff1a;办公界的“快速通道”四、语言支持&#xff1a;全球通吃的“翻译官”五、 隐藏“连接到云”板块&#xff1a;摆脱“云”的束…

Java NIO Buffer概念

针对每一种基本类型的 Buffer &#xff0c;NIO 又根据 Buffer 背后的数据存储内存不同分为了&#xff1a;HeapBuffer&#xff0c;DirectBuffer&#xff0c;MappedBuffer。 HeapBuffer 顾名思义它背后的存储内存是在 JVM 堆中分配&#xff0c;在堆中分配一个数组用来存放 Buffe…

73. UE5 RPG 优化投射物以及敌人生成

解决发射物会与地面产生交互的问题 之前一直遇到发射物的体积过大会在发射时&#xff0c;和地面产生交互&#xff0c;我们可以调整小一些&#xff0c;然后为了防止它和自身产生交互事件。我们可以实现它在生成后&#xff0c;不会触发相关事件&#xff0c;而是在一定时间后。 对…

k8s如何使用 HPA 实现自动扩展

使用Horizontal Pod Autoscaler (HPA) 实验目标&#xff1a; 学习如何使用 HPA 实现自动扩展。 实验步骤&#xff1a; 创建一个 Deployment&#xff0c;并设置 CPU 或内存的资源请求。创建一个 HPA&#xff0c;设置扩展策略。生成负载&#xff0c;观察 HPA 如何自动扩展 Pod…

Arduino称重传感器和 HX711 放大器(数字秤)

Arduino称重传感器和 HX711 放大器&#xff08;数字秤&#xff09; Arduino with Load Cell and HX711 Amplifier (Digital Scale) In this guide, you’ll learn how to create a digital scale with the Arduino using a load cell and the HX711 amplifier. First, you’l…

如何在微信小程序使用vant 进行自定义底部tabbar组件

在微信小程序中使用 Vant 自定义底部 TabBar 需要进行以下步骤&#xff1a; 一、首先&#xff0c;你需要在 app.json 文件中配置自定义 TabBar。 在 "tabBar" 字段中&#xff0c;设置 "custom" 为 true&#xff0c;表示使用自定义 TabBar。 app.json示例…

android 彩虹进度条自定义view实现

实现一个彩虹色进度条功能&#xff0c;不说明具体用途大家应该能猜到。想找别人造的轮子&#xff0c;但是没有合适的&#xff0c;所以决定自己实现一个。 相关知识 android 自定义view LinearGradient 线性渐变 实现步骤 自定义view 自定义一个TmcView类继承View 重写两…

【面试题】等保(等级保护)的工作流程

等保&#xff08;等级保护&#xff09;的工作流程主要包括以下几个步骤&#xff0c;以下将详细分点介绍&#xff1a; 系统定级&#xff1a; 确定定级对象&#xff1a;根据《信息系统等级保护管理办法》和《信息系统等级保护定级指南》的要求&#xff0c;确定需要进行等级保护的…

x86 的 ebp 寄存器,可能比 cr3 更重要,好好掰扯一下 ebp

在 x86 架构的计算机中&#xff0c;ebp&#xff08;Extended Base Pointer&#xff09;寄存器通常用于指向当前函数的栈帧&#xff08;stack frame&#xff09;的基地址。栈帧是函数调用期间在栈上分配的一块内存区域&#xff0c;用于存储局部变量、函数参数、返回地址和其他临…

[FreeRTOS 功能应用] 信号量 功能应用

文章目录 一、基础知识点二、代码讲解三、结果演示四、代码下载 一、基础知识点 [FreeRTOS 基础知识] 信号量 概念 [FreeRTOS 内部实现] 信号量 [FreeRTOS 内部实现] 创建任务 xTaskCreate函数解析 本实验是基于STM32F103开发移植FreeRTOS实时操作系统&#xff0c;信号量实战…

Linux:基础IO(三.软硬链接、动态库和静态库、动精态库的制作和加载)

上次介绍了基础IO&#xff08;二&#xff09;&#xff1a;Linux&#xff1a;基础IO&#xff08;二.缓冲区、模拟一下缓冲区、详细讲解文件系统&#xff09; 文章目录 1.软硬链接1.1硬链接1.2软链接使用场景 2.动态库和静态库1.1回顾1.2静态库的制作和使用为什么要有库制作者角度…

PyMuPDF 操作手册 - 01 从PDF中提取文本

文章目录 一、打开文件二、从 PDF 中提取文本2.1 文本基础操作2.2 文本进阶操作2.2.1 从任何文档中提取文本2.2.2 如何将文本提取为 Markdown2.2.3 如何从页面中提取键值对2.2.4 如何从矩形中提取文本2.2.5 如何以自然阅读顺序提取文本2.2.6 如何从文档中提取表格内容2.2.6.1 提…

人机恋爱新趋势:与AI男友谈恋爱的甜蜜与挑战

"我曾经把ChatGPT当成工具&#xff0c;从未追过星&#xff0c;也没有嗑过CP。没想到&#xff0c;到了36岁&#xff0c;我竟然嗑上了AI男友。Open AI&#xff0c;你赢了。你不仅是最好的AI公司&#xff0c;还是乙女游戏公司。" 转行大龄互联网人&#xff0c;走遍20国…

RT-Thread的Finsh实现学习

学习原因 工作中&#xff0c;使用同事开发的调试软件&#xff0c;输入参数打印的函数名就可以打印参数&#xff0c;但看不到代码实现&#xff0c;只能用自己微薄的知识积累去猜一下&#xff0c;之前尝试过&#xff0c;专门写一个函数&#xff0c;去解析编译生成的map文件&#…

一、Jquery入门(超详)

* [5.3 jQuery 对象和 DOM 对象之间的相互转换](about:blank#53_jQuery__DOM__271)* * [5.3.1 jQuery 对象转换为 DOM 对象](about:blank#531_jQuery__DOM__282)* [5.3.2 DOM 对象转换为 jQuery 对象](about:blank#532_DOM__jQuery__295)六、 解决 jQuery 和其他库的冲…

AI数据分析:集中度分析和离散度分析

在deepseek中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个Python脚本编写的任务&#xff0c;具体步骤如下&#xff1a; 读取Excel表格&#xff1a;"F:\AI自媒体内容\AI行业数据分析\toolify月榜\toolify2023年-2024年月排行榜汇总数据.xlsx&qu…

Redis-事务-基本操作-在执行阶段出错不会回滚

文章目录 1、Redis事务控制命令2、Redis事务错误处理3、Redis事务错误处理&#xff0c;在执行阶段出错不会回滚 1、Redis事务控制命令 127.0.0.1:6379> keys * (empty array) 127.0.0.1:6379> multi OK 127.0.0.1:6379(TX)> set a1 v1 QUEUED 127.0.0.1:6379(TX)>…

深入研究websocket直播中signature这个参数怎么来的,模拟自己生成一个

上一节课我们已经找到了生成signature这个字段的代码位置&#xff0c;就是这个B函数&#xff0c;嗯......听起来好像有点奇怪&#xff0c;但是它确实叫B啊&#xff0c;笑死。不管了&#xff0c;看一下里面的逻辑是啥。 注意e参数的内容是&#xff1a; {"app_name":…

Flutter ffi Failed to lookup symbol

iOS release版本&#xff0c;解决方式参考官方文档&#xff1a;在 iOS 中使用 dart:ffi 调用本地代码 如果debug版本也报这个错误&#xff0c;很可能是有多个.c文件&#xff0c;编译的时候没带上&#xff01; 假设你的ffi模块名字是 c_lib 对于Android端&#xff0c;需要修改…