泛微E9-隐藏明细表列

       隐藏明细列效果如下:

隐藏明细列效果

 表单字段设计如下,主要是通过主表的“是否隐藏”字段来联动明细表的“附件”,达到附件显示、隐藏的效果。5bdfebab66c14e1c93462e3d4e1d4488.png

         在做表单样式设置时,需要给明细表的“附件”列添加class属性,使用jQuery来实现。

24864d334a6a486f9964327a63e20839.png

代码块如下:

 79e276ef9663434b9c0f961400e7ff88.png 

需要注意:

1、隐藏字段时一定要先修改字段的状态(必须为“只读”或“可编辑”),否则提交时会报以下错误,导致流程无法正常提交。

e0867b0039d34aa8988af1227d8ce071.png

  2、添加明细列时,一定要执行IsShow方法,不然新增的行无法隐藏“附件”列,导致页面排版问题。

 

 

 

---------------------------------------------------------------------------------------------------------------------------------

 var sfycField = WfForm.convertFieldNameToId("sfyc");  //主表-是否隐藏
  var fjField = WfForm.convertFieldNameToId("fj","detail_1");  //明细表-附件
  
  jQuery(document).ready(function(){
   //是否隐藏-值改变触发
    WfForm.bindFieldChangeEvent(sfycField,function(obj,id,value){
      IsShow(value);
    });
    
    //添加明细行后触发事件
    WfForm.registerAction(WfForm.ACTION_ADDROW+"1", function(index){
      var sfycValue = WfForm.getFieldValue(sfycField);
      IsShow(sfycValue);
    });
  });
  
  //隐藏
  function IsShow(showValue){
     //获取明细表行数
      var detailRows = WfForm.getDetailRowCount("detail_1");
      //修改字段属性
      if(showValue == "0"){
        ChangeAttr(fjField,2,detailRows);
        $(".ptoc").hide();
      }else{
        ChangeAttr(fjField,3,detailRows);
        $(".ptoc").show();
      }
  }
  
   //id 字段id viewAttr字段属性状态  row明细表行数
  function ChangeAttr(id,viewAttr,row){
    if(row!=0){
      for(let i=0;i<row;i++){
        WfForm.changeFieldAttr(id+"_"+i,viewAttr);
      }
    }else{
      WfForm.changeFieldAttr(id,viewAttr);
    }
  }

 

 

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值