泛微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>

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图像ISP——AGC参数解析

前言 AWB和AGC是两种常见的自动调整功能。AWB用于自动调整图像的白平衡&#xff0c;以确保颜色在不同光照条件下仍然看起来自然。而AGC则用于自动调整图像的增益&#xff0c;以在不同的亮度条件下保持适当的曝光。 代码例程 static AWB_AGC_TABLE_S g_stAwbAgcTable {/* bvali…

关于位操作符的实际应用<C语言>

前言 位操作符在C语言初学阶段相对其他操作符来说&#xff0c;是一种难度比较大的操作符&#xff0c;且运用较少的一类操作符&#xff0c;但是位操作符并不是“一无是处”&#xff0c;合理运用的位操作符&#xff0c;在某些场景下可以优化算法&#xff0c;提高代码的执行效率&a…

介绍适用于 Node.js 的 Elastic OpenTelemetry 发行版

作者&#xff1a;来自 Elastic Trent Mick 我们很高兴地宣布推出 Elastic OpenTelemetry Distribution for Node.js 的 alpha 版本。 该发行版是 OpenTelemetry Node.js SDK 的轻量级包装&#xff0c;可以让你更轻松地开始使用 OpenTelemetry 来观察 Node.js 应用程序。 背景 …

recycleview和banner新闻列表轮播图

说明&#xff1a;最近碰到一个需求&#xff0c;弄一个新闻列表和轮播图&#xff0c;在首页显示&#xff0c;并且需要json解析&#xff0c;图片下载&#xff0c;轮播图和新闻列表一起滑动 ui效果图&#xff1a; 文件说明&#xff1a; step1:引用依赖包 图片下载 json解析 轮播…

idea无法识别加载pom.xml文件

有时idea无法识别加载pom.xml文件&#xff0c;直接打开pom.xml文件&#xff0c;然后添加到maven就行

官方文档k8s1.30安装部署高可用集群,kubeadm安装Kubernetes1.30最新版本

文章目录 节点架构一、准备开始(每一台机器都执行)1️⃣ 检查所需端口(可以直接关闭防火墙放开所有端口)端口和协议控制面工作节点 关闭防火墙关闭 SELinux 2️⃣ 安装containerd容器containerd部署containerd切换为国内源 3️⃣ 设置/etc/hosts 二、安装 kubeadm、kubelet 和 …

C++青少年简明教程:C++程序结构

C青少年简明教程&#xff1a;C程序结构 一个简单的C程序源码如下&#xff1a; #include <iostream> using namespace std;int main() {cout << "Hello World" << endl;return 0; }下面解析一下。 1. #include <iostream> 这是一条预处理…

SSH隧道可以做什么?

SSH隧道是SSH协议服务端提供的一种扩展功能&#xff0c;一般仅在linux服务器的SSH服务端中提供&#xff0c;其它的如交换机、防火墙等网络设备中&#xff0c;虽然支持SSH协议&#xff0c;但多数并不提供SSH隧道功能。 所以&#xff0c;在通过SSH协议连接远程设备时&#xff0c…

Python远程连接Linux执行操作

一、任务要求 要使用Python编写代码来远程给Linux主机上传一个文件&#xff0c;可以使用paramiko库&#xff0c;这是一个实现了SSHv2协议的Python库&#xff0c;它支持SSH连接&#xff08;包括客户端和服务端&#xff09;&#xff0c;并且提供SFTP&#xff08;SSH File Transf…

VScode查看以十六进制查看文件的插件说明

找到插件并下载 打开指定的文件 选择打开方式即可 结果如下

STM32——GPIO输出(点亮第一个LED灯)

代码示例&#xff1a; #include "stm32f10x.h" // Device headerint main() {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启时钟GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP;GPIO_InitSt…

成为计算机视觉(CV)需要掌握哪些技术知识(综述)

在CV领域&#xff0c;深度学习和机器学习技术发挥着至关重要的作用&#xff0c;它们为图像识别、目标检测、图像分割等任务提供了强大的工具和方法。本文将综述CV中需要学习的深度学习和机器学习技术。 一、深度学习技术 卷积神经网络&#xff08;Convolutional Neural Netwo…

【吊打面试官系列】Java高并发篇 - 为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里?

大家好&#xff0c;我是锋哥。今天分享关于 【为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里&#xff1…

被严重低估的后端技术面经,强到离谱!

前天加完班&#xff0c;回家路上翻了下粉丝群。发现群里最近在疯传一份叫《后端 offer 收割机养成指南》的资料。 本来感觉这个 title 看起来有点离谱&#xff0c;结果没想到仔细一看&#xff0c;这份资料竟然真的有点东西。内容收纳的很全&#xff0c;而且融合了很多今年的新…

软件测试从业人员怎么看待测试工作的前途?

调查背景   工信部发布的2023年软件业经济运行情况显示&#xff0c;全年累计完成软件业务收入123258亿元&#xff0c;同比增长13.4%&#xff0c;增速较上年同期提高2.2个百分点。值得注意的是&#xff0c;亚太地区软件测试市场正在迅速崛起&#xff0c;预计到2026年复合年增长…

Django开发实战之单元测试和集成测试之编写测试用例以及代码覆盖率统计分析

这里分为了两种情况&#xff1a; E2E&#xff1a;接近真实使用情况&#xff0c;用例数量少 UT&#xff1a;执行速度快&#xff0c;用例数量多 1、整理测试点 1、注册功能 允许匿名访问URL&#xff1a;http://127.0.0.1:8000/accounts/register/get请求&#xff1a;返回htmlp…

Linux 用户进程启动与Systemd

Linux用户空间的启动 我们都知道&#xff0c;Linux在内核的初始化自身的流程结束后&#xff0c;就会将程序流的运行转到用户态&#xff0c;也就是进入init进程流之后&#xff0c;他会按照这个流程进行初始化&#xff1a; init进程初始化 基础的底层服务&#xff1a;比如说ude…

JavaScript 事件

在 Web 开发中&#xff0c;JavaScript 事件是至关重要的概念之一。通过事件&#xff0c;我们可以实现交互性和动态性&#xff0c;使用户与网页进行互动。本篇博客将介绍 JavaScript 事件的基础知识&#xff0c;并深入探讨一些高级技术。 1. 什么是事件&#xff1f; 事件是指用…

振弦采集仪在岩土工程监测中的性能评价及标准选择

振弦采集仪在岩土工程监测中的性能评价及标准选择 河北稳控科技振弦采集仪是一种重要的岩土工程监测仪器&#xff0c;用于测量振动场的频率、振幅和相位等参数。它在岩土工程施工和地震监测中具有重要的应用价值。本文将对振弦采集仪的性能评价及标准选择进行详细介绍。 首先&…