泛微E9-动态添加明细行

本文描述了一个使用JavaScript实现的前端功能,通过表单状态字段筛选建模表中的数据,并将满足条件的数据加载到明细表中,展示了如何通过Ajax请求和编码处理SQL查询,以及利用字段联动更新明细表内容。
摘要由CSDN通过智能技术生成

将建模表中维护的数据根据条件筛选,加载到明细表中,建模中的数据如下图所示,表单名称为uf_SystemObjectS,便于后期维护(如添加部品、废弃部品)。
uf_SystemObjectS表单名称

流程表单中的”表单状态“字段,里面用来存储进行筛选的条件,即建模表单中的”启用状态“,当表单状态为”禁用“时,明细表自动加载出”禁用“状态的数据,前端页面实现效果如下图所示:
在这里插入图片描述

代码块如下:

<script type="text/javascript" src="/czj/js/Base64.js"></script>
<script>
  debugger;
  
  var bdztField = WfForm.convertFieldNameToId("bdzt");  //表单状态
  
  var bpbhField =  WfForm.convertFieldNameToId("xm","detail_1");  //部品编号
  var bpmcField = WfForm.convertFieldNameToId("czly","detail_1");  //部品名称
  var djField = WfForm.convertFieldNameToId("je","detail_1");  //单价
  var bpidField = WfForm.convertFieldNameToId("bpid","detail_1");    //部品id
  
  function InitDetail(qyzt){
   	 //删除明细表1所有行数据
   	 WfForm.delDetailRow("detail_1","all");
    
   	 var sql = "select id,bpbh,bpmc,dj from uf_SystemObjectS where qyzt='" + qyzt + "'";
   	 var max = 999999999999;
  	 jQuery.ajax({
       	 url: "/iJSP/util/sqlsearch.jsp?times=" + Math.floor(Math.random() * (max + 1)),
       	 data: { "sql": encode64(sql) },
    	 type: "POST",
       	 dataType: "JSON",
       	 async: false,
       	 success: function (result) {
          	debugger;
         	var len = result.length;
          	if(len > 0){
	            for(let i = 0 ; i< len ; i++){
	            	//动态增加明细行
	              	var addObj = {};
	              	addObj[bpbhField] = {value : result[i].bpbh};
	              	addObj[bpmcField] = {value : result[i].bpmc};
	              	addObj[djField] = {value : result[i].dj};
	             	addObj[bpidField] = {value :result[i].id };
	             	WfForm.addDetailRow("detail_1",addObj);
	            }
         	}
        },
        error:function(){
          	debugger;
         	Dialog.alert("查找错误,请联系管理员!");
        }
    });
  }
  
  jQuery(document).ready(function(){    
    debugger;
    WfForm.bindFieldChangeEvent(bdztField,function(obj,id,value){
      	debugger;
      	InitDetail(value);
    });
    
  })
</script>

另外,该样式也可以通过高级设置-字段联动实现,触发字段为流程表单中的“表单状态”
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的巨无霸汉堡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值