【泛微ecology】流程明细行复制的示例脚本

本文档提供了E-Mobile7在Windows和Linux平台上的安装步骤,包括20210409版本的基础安装以及20210526更新包的应用。链接指向了百度网盘,内含详细安装包和提取码,帮助用户顺利完成软件的部署和升级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

明细复制行脚本:

/**

 * 复制明细行

 * @param groupid

 * @return

 */

function copyRow(groupid){

	var flag = true;

	jQuery("input[name='check_node_"+groupid+"']").each(function(){

		if(jQuery(this).is(':checked')){

			flag = false;

			eval("addRow"+groupid+"("+groupid+")");

			var lineindex = jQuery(this).val();

			var lineindex_new = parseInt(jQuery("#indexnum"+groupid).val(),10) - 1;

			copydata(groupid,lineindex,lineindex_new);

		}

	})

	try{

		calSum(groupid);

	}catch(e){

		

	}

	if(flag){

		alert("请选择要复制的行!");

	}

}



function copydata(groupid,lineindex,lineindex_new){

	if(window.console) console.log("groupid : "+groupid+" from row idx :"+lineindex+"  to row idx :"+lineindex_new);

	var nodeid = jQuery('input[name^=nodeid]').val();

	var tableobj = jQuery("#oTable"+groupid +" tr:eq("+(lineindex)+") td");

	if(lineindex==0){

		tableobj = jQuery("#oTable"+groupid +" tr:eq(1) td");

	}

	tableobj.each(function(){

		var fieldid = jQuery(this).attr("_fieldid");

		if(window.console) console.log("nodeid= "+nodeid+" fieldid --> "+fieldid);

		jQuery.ajax({

		    url: "/workflow/request/js/getFieldViewAjax.jsp?nodeid="+nodeid+"&fieldid="+fieldid,

		    dataType: "text", 

		    type:"post",

			async:false,

		    contentType : "charset=gbk", 

		    error:function(ajaxrequest){}, 

		    success:function(data){

		    	result = jQuery.trim(data);

		    	if(result=='1'){

					var type = jQuery('#field'+fieldid+'_'+lineindex_new).attr("type");

					try{

						if(type == 'checkbox'){

							jQuery('[name=field'+fieldid+'_'+lineindex_new+']').attr('checked',jQuery('[name=field'+fieldid+'_'+lineindex+']').is(':checked'));

						}else

							jQuery('[name=field'+fieldid+'_'+lineindex_new+']').val(jQuery('[name=field'+fieldid+'_'+lineindex+']').val());

					}catch(e){}

					

					try{

						jQuery('#field'+fieldid+'_'+lineindex_new+'span').html(jQuery('#field'+fieldid+'_'+lineindex+'span').html());

					}catch(e){}

					

					try{

						jQuery('#field_lable'+fieldid+'_'+lineindex_new).val(jQuery('#field_lable'+fieldid+'_'+lineindex).val());

					}catch(e){

						

					}

		    	}

		    }

		});

	});

}



getFieldViewAjax.jsp:

<%@ page language="java" contentType="text/html; charset=GBK" %> 

<%@ page import="weaver.general.Util" %>

<%@ page import="java.util.*" %>

<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />

<%

	String nodeid = request.getParameter("nodeid");

	String fieldid = request.getParameter("fieldid");

	rs.execute("select nvl(isedit,0) isedit from workflow_nodeform where nodeid = "+nodeid+" and fieldid = " + Util.getIntValue(fieldid));

	String result = "0";

	if(rs.next()){

		result = Util.null2String(rs.getString(1));

	}

	System.out.println("nodeid="+nodeid+" fieldid="+fieldid+" result = "+result);

	out.print(result);

%>

E-Mobile 7 win+linux 安装包(版本20210409)
含 emp_patch_20210526 更新包
链接:https://pan.baidu.com/s/1gj_Cj8Zq6Igxuic8sIUNbg
提取码:csmb

<think>嗯,用户想知道OA系统中主表动态列操作明细的实现方式或配置方法。首先,我需要回忆一下系统的相关功能和文档。根据之前的引用,特别是引用[2]和引用[4],他们提到了建模引擎和流程明细表的配置,可能和动态列有关。 主表和明细表OA中通常用于处理一对多的数据关系,比如一个主订单对应多个明细项。动态列可能指的是根据某些条件动态显示或隐藏明细表的列。用户可能需要根据不同的业务需求调整明细表的列显示,比如不同设备类型显示不同的保养项目。 首先,需要确认动态列的具体需求是什么。比如,是否根据主表字段的值动态改变明细表的列,或者通过外部参数控制。然后,检查的建模引擎是否有相关配置选项。引用[2]提到在明细表中需要添加设备编号和隐藏标识字段,可能涉及到字段的显示控制。 接着,考虑如何实现动态列的显示。可能的步骤包括数据建模中的主表与明细表关系配置,字段的动态显示设置,以及使用Ecode代码进校验或逻辑控制。引用[4]中的Ecode代码用于检验重复列,可能需要类似的脚本来控制列的显示。 另外,移动端的兼容性也很重要,引用[3]提到移动端的应用,可能需要确保动态列在手机端正常显示。可能需要在建模时设置移动端表单属性,或者在代码中处理不同端的显示逻辑。 用户可能需要具体的配置教程,所以需要分步骤说明,比如创建主表和明细表,设置字段属性,使用脚本或公式控制动态显示,以及测试流程。同时,要注意引用中的注意点,比如隐藏字段用于流程回写或判断任务执,这可能和动态列的触发条件有关。 可能的问题包括权限设置是否正确,脚本是否有语法错误,以及测试是否充分。需要提醒用户参考相关文档,并在测试环境中验证。此外,用户可能需要知道如何获取技术支持或社区帮助,如果遇到问题的话。 总结来说,回答应该包括配置步骤、关键设置点、代码示例(如果有)、注意事项和相关问题。确保引用正确的引用来源,比如引用[2]和[4],以增加可信度。</think>### OA系统主表动态列操作明细实现方式 在Ecology9.0系统中,主表与明细表的动态列操作通常通过**建模引擎**和**Ecode代码**结合实现,以下是具体配置方法: --- #### **一、基础配置步骤** 1. **创建主表与明细表关系** - 在建模引擎中新建主表(如设备保养主表),并关联明细表(如保养任务清单)[^2]。 - 明细表中需包含动态列的基础字段(如设备编号、隐藏标识字段)用于逻辑判断。 2. **动态列字段定义** - 在明细表字段属性中启用“动态显示”选项,设置触发条件(例如:当主表的某个字段值为特定值时,显示对应列)。 - 示例:若设备类型为“精密仪器”,则显示“校准参数”列;若为“普通设备”,则隐藏该列。 3. **Ecode代码控制逻辑** - 使用Ecode脚本实现动态列的显示/隐藏逻辑。例如:在表单提交前校验字段值并动态调整列显示状态[^4]。 ```javascript // 示例:根据主表字段值动态控制明细列显示 if (主表.设备类型 == "精密仪器") { 明细表.校准参数.visible = true; } else { 明细表.校准参数.visible = false; } ``` --- #### **二、关键实现细节** 1. **隐藏字段的作用** - 在明细表中添加隐藏字段(如`标识字段`),用于流程回写数据或判断任务执状态。 - 例如:通过隐藏字段标记是否已完成动态列的数据填充。 2. **流程与数据联动** - 主表字段变更时,通过**流程事件触发器**自动刷新明细表动态列。 - 引用官方文档说明:“流程节点的字段变更事件可联动更新明细表显示逻辑”。 3. **移动端适配** - 在移动表单属性中启用“动态列适配”,确保手机端显示的列与PC端一致[^3]。 --- #### **三、配置注意事项** 1. **权限与字段绑定** - 确保操作员对主表和明细表字段有编辑权限。 - 动态列的字段需与主表字段绑定数据关系,避免数据丢失。 2. **测试与验证** - 在测试环境中验证动态列显示逻辑,尤其是复杂条件(如多级联动)。 - 参考建议:“所有配置需通过模拟流程提交验证数据完整性”。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值