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

<%@ 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"));
%>

 

你可能感兴趣的:(泛微)