首页 > 其他分享 >泛微ECOLOGY9-如何实现明细第一行check框勾选禁用、浏览框内仅展示第一行相关的数据和已选择数据过滤

泛微ECOLOGY9-如何实现明细第一行check框勾选禁用、浏览框内仅展示第一行相关的数据和已选择数据过滤

时间:2024-07-13 14:55:00浏览次数:17  
标签:第一行 明细 明细表 框内 WfForm var check field28182

实现效果:

默认新增第一行并选择计划单
添加明细行并选择根据账号过滤后的数据
默认新增第一行并选择计划单

1. 用户/业务需求

以付款业务为例,明细表中添加多条同一个供应商的付款计划进行付款审批,审批后接口传入其他系统进行付款。

2. 需求分析

审批完成后的接口仅支持接收一个账户相关的付款申请。
明细表中浏览计划申请记录,以第一个行明细数据作为基准,并记录已选择的数据进行供应商和已选择信息过滤。

3. 实现思路

1.js代码块控制第一行check框勾选禁用,获取第一行选择的数据ID和已添加明细行选择的数据ID;
2.建模浏览框无条件查询增加sql查询条件过滤;
3.当第一行数据删除或变化时删除已有数据。

4. 解决方案

1.新增主表字段:账号(field28168)、第一行数据ID(field28196)、明细表数据ID(field28195);
3.新增明细表一字段申请流程(field28182);
3.明细表属性设置:关闭允许复制、开启新增默认一行空的明细;
4.流程表单插入代码块:

<script>
//获取第一行供应商银行账号
  jQuery(document).ready(function(){
  WfForm.controlDetailRowDisableCheck("detail_1", "0", true);//禁用第一行删除
WfForm.bindDetailFieldChangeEvent("field28182",function(id,rowIndex,value){
  //获取明细表第一行申请流程和主表第一行数据ID
  var field28182_0 = WfForm.getFieldValue("field28182_0");
  var field28196 = WfForm.getFieldValue("field28196");
  if(field28182_0!=field28196){
  WfForm.changeFieldValue("field28196", {value:field28182_0})
  }
  });
WfForm.bindFieldChangeEvent("field28168", function(obj,id,value){
  //获取明细表一除了第一行得行标
var dt1AllRowIndexStr = WfForm.getDetailAllRowIndexStr("detail_1");
var parts = dt1AllRowIndexStr.split(','); // 分割成数组
parts.shift(); // 移除数组的第一个元素
var dt1delRowIndexStr = parts.join(','); // 再将数组合并成字符串
WfForm.delDetailRow("detail_1",dt1delRowIndexStr);
});
});
</script>

5.建模浏览框列表无条件查询增加条件查询:

SELECT id, lcbh, lcbh  FROM uf_hkjhjfk_fw WHERE (zh = IFNULL('$zh$', '') OR ('$zh$' = '' OR '$zh$' IS NULL))  AND (     ('$mxbsjid$' != '' AND '$mxbsjid$' IS NOT NULL AND id NOT IN ($mxbsjid$))  OR ('$mxbsjid$' = '' OR '$mxbsjid$' IS NULL)   )

总结:

重点在于系统功能和js代码块结合使用;
如果流程表单涉及多个明细根据主表不同字段显示需要动态获取对应明细行第一行的下表实现控制check框勾选禁用,如下所属:

// 找出最小值
var rId=WfForm.getDetailAllRowIndexStr("detail_1");
var numbers = rId.split(",").filter(Boolean).map(Number);
var minValue = Math.min(...numbers);

标签:第一行,明细,明细表,框内,WfForm,var,check,field28182
From: https://blog.csdn.net/qq_52618133/article/details/140398744

相关文章

  • You have an error in your SQL syntax; check the manual that corresponds to your
    错误提示:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMariaDBserverversionfortherightsyntaxtousenear'TYPE=InnoDB'atline22解决方案:错误消息提示了在SQL语句的第22行附近有一个语法错误,特别是与TYPE=InnoDB这部分有关。......
  • Redis巡检检查 redis-check-aof
    一、AOF1、AOF 是什么以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,Redis启动之初会读取该文件重新构建数据,换言之,Redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。2、AOF默认......
  • QPushButton的checked和pressed样式设置无效是因为优先级问题
    设置QPushButton想要设置pressed状态的图标,但是尝试了很多次都没有效果,原来是按照优先级来的,位置越往下优先级越高,hover状态时在最下面,所以鼠标在按钮上时,hover优先级最高,所以无论pressed还是checked都无法显示正确的图标,所以要调整下顺序; QPushButton{border-image:url......
  • 摸鱼大数据——Spark Core——缓存和checkpoint
    1、RDD的缓存当RDD被重复使用,或者计算该RDD比较容易出错,而且需要消耗比较多的资源和时间的时候,我们就可以将该RDD缓存起来。​主要作用:提升Spark程序的计算效率注意事项:RDD的缓存可以存储在内存或者是磁盘上,甚至可以存储在Executor进程的堆外内存中。主要是放在内存......
  • python更新包、pip延时报错,pip check 查询冲突
    pip下载package或者更新package会出现延迟报错的问题,因为python默认使用的是国外镜像,有时候下载非常慢,我们可以选择进行换源,引用国内的镜像资源进行更新或者下载。阿里云: http://mirrors.aliyun.com/pypi/simple/中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/......
  • C# WinForm给ToolStrip工具栏扩展一个CheckBox单选框类型按钮的方法
    [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip)]publicpartialclassToolStripCheckBox:ToolStripItem{privateboolIsChecked=false;publicboolHasChecked{get......
  • 0day 新接口-飞企互联-FE企业运营管理平台 checkGroupCode接口SQL注入漏洞
     0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用......
  • 大模型基本概念学习 - Checkpoint、PyTorch、 TensorFlow、Transformers、ModelScope
    文章目录前言一、checkpoint二、TensorFlow1.简介2.主要特点3.示例代码三、PyTorch1.简介2.主要特点3.示例代码四、TensorFlow和PyTorch区别五、Transformers六、Transformers通过配置或自动检测来决定使用PyTorch或TensorFlow1.自动检测2.通过环境变量配......
  • selenium框架学习之获取文本框内容和Xpath元素不唯一
    本周一直写创建简历的测试用例,由于元素和内容过多,只能把各个方法单独封装,然后在测试用例里面使用,以此优化用例。在封装的时候遇到的一些问题,和大家说下怎么解决~1. 获取文本框输入---新增了一个【输入微信号】的功能模块,需要同时测试点击【同手机】和输入文本的功能。于是......
  • 鸿蒙ArkTS声明式组件:【Checkbox】
    Checkbox提供多选框组件,通常用于某选项的打开或关闭。说明:该组件从APIVersion8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。子组件无接口Checkbox(options?: {name?:string,group?:string})从APIversion9开始,该接口支持在ArkT......