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

2024-05-10 02:20

本文主要是介绍泛微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>

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

这篇关于泛微E9开发 通过点击按钮来复制选择的明细行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975160

相关文章

(超详细)YOLOV7改进-Soft-NMS(支持多种IoU变种选择)

1.在until/general.py文件最后加上下面代码 2.在general.py里面找到这代码,修改这两个地方 3.之后直接运行即可

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

VirtualBox中,虚拟系统文件VDI移动或者复制

在安装virtualbox以后有时需要复制,移动虚拟磁盘等操作,这些操作在vmware的虚拟机下面可以直接操作虚拟磁盘即可使用,但是在virtualbox环境 下每个VDI 文件都有一个唯一的uuid,而VirtualBox 不允许注册重复的uuid,所以直接复制的VDI文件是不能拿来使用的,我们就需要使用到virtualbox自带的管理命令来克隆一个VDI,这样通过命令克隆的VDI文件会重

WDF驱动开发-WDF总线枚举(一)

支持在总线驱动程序中进行 PnP 和电源管理 某些设备永久插入系统,而其他设备可以在系统运行时插入和拔出电源。 总线驱动 必须识别并报告连接到其总线的设备,并且他们必须发现并报告系统中设备的到达和离开情况。 总线驱动程序标识和报告的设备称为总线的 子设备。 标识和报告子设备的过程称为 总线枚举。 在总线枚举期间,总线驱动程序会为其子 设备创建设备对象 。  总线驱动程序本质上是同时处理总线枚

FastAdmin/bootstrapTable 表格中生成的按钮设置成文字

公司有个系统后台框架用的是FastAdmin,后台表格的操作栏按钮只有图标,想要设置成文字。 查资料后发现其实很简单,主需要新增“text”属性即可,如下 buttons: [{name: 'acceptcompany',title: '复核企业',text:'复核企业',classname: 'btn btn-xs btn-primary btn-dialog',icon: 'fa fa-pe

JavaWeb系列六: 动态WEB开发核心(Servlet) 上

韩老师学生 官网文档为什么会出现Servlet什么是ServletServlet在JavaWeb项目位置Servlet基本使用Servlet开发方式说明快速入门- 手动开发 servlet浏览器请求Servlet UML分析Servlet生命周期GET和POST请求分发处理通过继承HttpServlet开发ServletIDEA配置ServletServlet注意事项和细节 Servlet注

把Tiled中做出的地图弄到项目中~~就是懒,为了以后直接复制写过来

1.现在.h中声明private: cocos2d::CCSprite* ninja; cocos2d::CCTMXTiledMap*  tileMap; 然后.cpp中加入tileMap = CCTMXTiledMap::create("MyTileMap.tmx"); CCTMXLayer* backLayer = tileMap->layerNamed("Tile L

手把手教你入门vue+springboot开发(五)--docker部署

文章目录 前言一、前端打包二、后端打包三、docker运行总结 前言 前面我们重点介绍了vue+springboot前后端分离开发的过程,本篇我们结合docker容器来研究一下打包部署过程。 一、前端打包 在VSCode的命令行中输入npm run build可以打包前端代码,出现下图提示表示打包完成。 打包成功后会在前端工程目录生成dist目录,如下图所示: 把

Sapphire开发日志 (十) 关于页面

关于页面 任务介绍 关于页面用户对我组工作量的展示。 实现效果 代码解释 首先封装一个子组件用于展示用户头像和名称。 const UserGrid = ({src,name,size,link,}: {src: any;name: any;size?: any;link?: any;}) => (<Box sx={{ display: "flex", flexDirecti