泛微OA ecology8的一些开发经验汇总

目录

JS开发

引入js文件

表单提交校验

一些常用函数


最近一年都在接触泛微OA的一些开发工作,这篇文章将总结这一年以来的二次开发经验。


JS开发

引入js文件

泛微表单建模中可以直接插入JS代码块,但是在这个里面写代码非常反人类,因为它不支持tab缩进,一些语法的标亮提示也没有,所以我习惯把JS写在js文件中,在代码块中引入该js文件即可:

$(document).ready(function(){
    jQuery.post("/workflow/js/demo.js?"+Math.random(),function(data){});
});

写好的js只要放在ecology根目录下的/workflow/js/里即可,js路径后面加上随机函数Math.random()是为了刷新页面后及时载入最新的js文件内容。

表单提交校验

在js中新增函数checkCustomize,该函数中判断后返回true则允许提交,返回false则禁止提交。

一些常用函数

  • 浏览按钮的禁用与启用:如果想禁用浏览按钮,比如限制用户必须先填某些内容才能选择浏览框,可以用如下代码
//禁用
$("#field13769__").attr("disabled",true);
$("#field13769_browserbtn").attr("disabled",true);
$("#innerContentfield13769div").css("cursor",'not-allowed');
$("#field13769_browserbtn").css("cursor",'not-allowed');
$("#field13769span .e8_showNameClass .e8_delClass").html("");

//启用
$("#field13769__").attr("disabled",false);
$("#field13769_browserbtn").attr("disabled",false);
$("#innerContentfield13769div").css("cursor",'');
$("#field13769_browserbtn").css("cursor",'');
$("#field13769span .e8_showNameClass .e8_delClass").html(" x ");
  • 明细表遍历:如果想遍历明细表可以用如下代码
//第一个明细表即oTable0,第二个即oTable1,以此类推...
jQuery("#oTable0").find("tr[_target=datarow]").each(function(index,obj){
	var i = $(obj).attr("_rowindex");//明细字段的序号
});
  • 添加或删除明细:如果想实现程序自动新增明细行或删除明细行,可以用如下代码
//删除明细行,下面这个是删除所有明细行,如果想删除特定明细行只需选中特定明细行的check框即可
jQuery("input[type='checkbox'][name='check_node_0']").each(function(){
	jQuery(this).attr({'checked':'checked'});
});
//deleteRow0即为删除第一个明细表被勾选的明细行,deleteRow1即为删除第二个明细表被勾选的明细行,以此类推...
deleteRow0(0,true);

//添加明细行,addRow0即为给第一个明细表新增一行,addRow1即为给第二个明细表新增一行,以此类推...
addRow0(0);
  • 原生提示框:提示框与泛微自带提示框样式统一
window.top.Dialog.alert("这里写提示信息");
  • 隐藏明细表的加号按钮,如果不想让用户手工添行,必须通过自动联动添明细行,可以将明细表的加号按钮隐藏
//addbutton0即为第一个明细表的加号按钮,addbutton1即为第二个明细表的加号按钮,以此类推...
document.getElementById('$addbutton0$').style.display="none";
  • 流程中引入JSP,可以做一些复杂的开发
--只需在表中修改对应的字段即可
workflow_base,该表中id即对应流程的workflowID,custompage中为引入的JSP文件如今
  • 在页面上获取requestid、workflowid等
<!--在引入的JSP中添加如下代码-->
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.general.*" %>
<%
	int workflowid = Util.getIntValue(request.getParameter("workflowid"));
	int requestid = Util.getIntValue(request.getParameter("requestid"));
%>
<script type="text/javascript">
    //在js中即可使用
    var workflowid = '<%=workflowid %>';
    var requestid = '<%=requestid %>';
</script>
  • 增加或移除必填验证,应用场景,在明细表中想根据某个字段的值确认另一个字段是否必填,因为泛微自带的编辑属性只能配置主表的且还是下拉选的才能配置
//移除必填验证
function removeInputCheckField1(fieldId) {
	$('#' + fieldId).attr('viewtype', '0');
	var fieldStr = $('input[name=needcheck]').val();
	$('input[name=needcheck]').val(fieldStr.replace(fieldId + ',', ''));
	$("#"+fieldId).val('');
	$("#"+fieldId).css("cursor",'not-allowed');
	$("#"+fieldId).attr("disabled",true);
	$("#"+fieldId+"_browserbtn").attr("disabled",false);
	$('#' + fieldId + "span").html("");
}
//增加必填控制
function addInputCheckField1(fieldId) {
	$('#' + fieldId).attr('viewtype', '1');
	var fieldStr = $('input[name=needcheck]').val();
	if(fieldStr.indexOf(fieldId) == -1){
		if (fieldId.charAt(fieldStr.length - 1) != ',') {
			fieldStr += ',';
		}
		$('input[name=needcheck]').val(fieldStr + fieldId + ',');
	}
	$("#"+fieldId).css("cursor",'');
	$("#"+fieldId).attr("disabled",false);
	if($("#"+fieldId).val() == '' || $("#"+fieldId).val() == null || $("#"+fieldId).val() == undefined){
		$('#' + fieldId + "span").html('<img src="/images/BacoError_wev8.gif" align="absMiddle">');
	}
}

 

  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 泛微OA ecology是一种基于流程管理的企业级框架,它拥有非常健全的表结构,确保系统的高效性和稳定性。其中包括以下几个主要的表。 1. t_sys_object:该表是系统内置对象的据库表,主要存储各种组件的信息,方便系统调用和组装。 2. t_sys_field:该表主要存储系统内各种对象(如表单、流程等)的字段信息。这些字段信息可与业务数据相关联,形成一个完整的业务数据模型。 3. t_sys_tab:该表主要存储系统内对象的维护页签信息,包括页签名称、URL地址等,方便用户进行对象的配置与管理。 4. t_sys_menu:该表主要存储菜单的信息,可对菜单进行配置、组装、授权等操作,方便用户访问系统内各种对象。 5. t_sys_process:该表主要存储流程定义信息,包括流程节点、变量、路由等信息。用户通过流程定义实现业务流程建模、自动化和优化。 总之,泛微OA ecology的表结构非常完备,为用户提供了高效、稳定的企业级管理框架,有助于提高企业的管理效益与创新能力。 ### 回答2: 泛微OA是一款国内知名的企业管理软件,其ecology表结构是整个系统的核心。ecology表结构包含了系统中所有的数据表,每个数据表都有自己的字段和关联关系,可以实现用户对企业信息的管理、查询和统计等功能。 在泛微OAecology表结构中,有许多重要的数据表,如人员信息表、组织结构表、角色表、权限表、流程表、文档库表等。这些数据表之间都存在着复杂的关联关系,通过这些关系可以实现不同维度的数据查询和统计,从而帮助企业更好地管理其业务。 值得一提的是,泛微OAecology表结构还提供了扩展性的设计,通过定义自定义数据表和自定义字段,可以快速适应企业的业务需求,为企业提供更加精准的数据支持。 总之,泛微OAecology表结构是该软件能够成为优秀的企业管理软件的关键所在,其强大的数据管理能力和扩展性的设计,为企业提供了全面的数据支持和灵活的业务适应能力。 ### 回答3: 泛微OA是一款领先的企业信息化系统,其包含了多个模块,例如:人力资源管理、客户关系管理、财务管理等。其中最重要的便是其流程审批模块,因此其表结构设计也相对复杂。以下是泛微OA Ecology表结构的简介。 主要表结构: 1.表单模板表:表单模板表用于存储所有流程模板相关的数据,例如表单名称、表单编号、审批流程等。每一个流程表单都对应一个唯一的表单模板。 2.表单主数据表:表单主数据表存储所有表单实例数据。每一个流程实例都对应一个唯一的表单主数据表记录,并包含具体填写的信息(例如:申请表单、批准人、批准意见等)。 3.流程模板节点表:流程模板节点表用于存储所有节点数据,例如节点名称、节点类型,以及节点属性等。 4.流程实例节点表:流程实例节点表用于存储所有流程实例的节点数据,包括节点处理人、处理时间、处理结果、备注等。 5.审批流程日志表:审批流程日志表用于记录与流程审批相关的日志信息,例如审批意见、审批历史等。 6.权限控制表:权限控制表用于管理用户权限。它记录了每个用户对于每个流程的权限,以及每个角色对于每个流程的权限。 综上所述,泛微OA Ecology表结构设计相对复杂,但也是十分完备和精细的。这些表的信息交互组成了泛微OA流程审批模块的强大功能,使得企业内部信息处理更加高效、协作更加方便。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值