泛微E9开发 通过点击按钮来复制选择的明细行

泛微E9开发 通过点击按钮来复制选择的明细行

复制明细行

功能背景

用户可以通过“复制明细”按钮来实现新增选择的明细行,并且新增明细行的数据跟选择的数据完全一样,具体操作如下图所示:

  1. 手动新增明细行,并且输入数据
    在这里插入图片描述
  2. 选择需要复制的明细表,点击“复制明细”按钮,弹出信息确认提示框
    在这里插入图片描述
  3. 新增的明细行整行数据标黄,用来与手动新增的行作区分
    在这里插入图片描述

展示效果

标黄行表示通过“复制明细”按钮新增,其余行为用户手动新增
在这里插入图片描述

实现方法

  1. 添加“复制明细”按钮
    在这里插入图片描述
  2. 添加代码块
<script>
  var lxF = WfForm.convertFieldNameToId("lx","detail_1");   //类型
  var xmmF = WfForm.convertFieldNameToId("xmm","detail_1");   //项目名
  var yjjeF = WfForm.convertFieldNameToId("yjje","detail_1");   //预计金额
  var yjwcsjF = WfForm.convertFieldNameToId("yjwcsj","detail_1");   //预计完成时间
  var ddF = WfForm.convertFieldNameToId("dd","detail_1");   //担当
  var clickFn = 0;  //用来控制复制明细的行数
  
  function CopyRow(){
    debugger;
    var selRows = WfForm.getDetailCheckedRowIndexStr("detail_1");
    var rowArr = selRows.split(',');
    var rows = rowArr.length;
    if(rows == 1 && rowArr[0] == ""){
      Dialog.alert("请选择要复制的明细行");
      return ;
    }
    for(let i =0;i<rowArr.length;i++){
      clickFn ++ ;
      if(rowArr[i] != "" && rowArr[i] != null){
        var lxV = WfForm.getFieldValue(lxF+"_"+rowArr[i]);
        var xmmV = WfForm.getFieldValue(xmmF+"_"+rowArr[i]);
        var yjjeV = WfForm.getFieldValue(yjjeF+"_"+rowArr[i]);
        var yjwcsjV = WfForm.getFieldValue(yjwcsjF+"_"+rowArr[i]);
        var ddV = WfForm.getFieldValue(ddF+"_"+rowArr[i]);
        var ddName = WfForm.getBrowserShowName(ddF+"_"+rowArr[i]);
        WfForm.addDetailRow("detail_1",{[lxF]:{value:lxV}
                                        ,[xmmF]:{value:xmmV}
                                        ,[yjjeF]:{value:yjjeV}
                                        ,[yjwcsjF]:{value:yjwcsjV,specialobj:[{id:yjwcsjV,name:yjwcsjV}]}
                                        ,[ddF]:{value:ddV,specialobj:[{id:ddV,name:ddName}] }});
      }else{
        
      }
    }
  }
  
  debugger;
  jQuery(document).ready(function(){
    var html = "<input style='overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 200px;color:white' class='ant-btn ant-btn-primary' title='复制明细' value='复制明细' type='button' />";
    jQuery("#copyBtn").html(html); 
    
    $("#copyBtn").on("click", function () {
      WfForm.showConfirm("确认要复制明细吗?",function(){
        CopyRow();
      },function(){
        
      });
    });
    
    //添加明细行动作完成后触发
    WfForm.registerAction(WfForm.ACTION_ADDROW+"1", function(index){
      if(clickFn > 0){
        $(".detail_data_row:eq("+index+")").css("background","#ffff00");
        $(".detail_data_row:eq("+index+")").children().css("cssText","background-color:#ffff00!important"); 
      }
      if(clickFn == 1){
        clickFn = 0;
      }
    });      
  });
  
</script>

注意点 : 删除明细时的标黄标志会出现问题,待解决…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的小程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值