目录

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">');}
}

泛微OA ecology8的一些开发经验汇总相关推荐

  1. 泛微OA e-cology8,9 数据库更改

    泛微OA e-cology8,9 数据库链接 重新安装e-cology,更改数据库路径

  2. 泛微OA ecology8.0 移动端开发(校验日期)

    难点 最近在工作中遇到了难题,由于我们现在的需求复杂,在流程上做了很多开发,导致这些开发的js在移动端审批的时候不能生效,问了泛微客服说是移动端需要配置移动模板重新开发. 由于掌握的移动端模板开发的知 ...

  3. 泛微 oa ecology8.0 配置LDAP集成

    需求:OA的修改密码功能,可以修改AD域密码 由于公司的E8是比较早的,当时并没有配置修改AD域密码的集成,所以目前登录是可以验证AD密码的,但是修改并不是修改的AD域密码,而是修改的OA数据库密码. ...

  4. 泛微OA e-cology8 数据库链接

    数据库恢复 数据库恢复的恢复请按照如下步骤进行: Ø 重新安装对应版本的数据库服务软件 Ø 通过数据库软件本身的还原工具还原备份数据库文件 Sqlserver可以通过企业管理器直接还原备份文件或者附加 ...

  5. php eteams,应用安全 - 软件漏洞 - 泛微OA漏洞汇总

    SQL注入 前台SQL注入 用户名:admin' or password like 'c4ca4238a0b923820dcc509a6f75849b' and 'a'='a 密码: 1 验证页面参数 ...

  6. 泛微OA在公立三甲医院:推动建立完善财务预算数字化管理体系

    苏州大学附属第二医院始建于1988年,又名核工业总医院.中法友好医院,是一所集医疗.教学.科研.预防.核应急等为一体的三级甲等医院,也是苏州大学医学部第二临床医学院. 医院十分重视数字化建设,2016 ...

  7. ajax 泛微oa表单js_泛微oa流程表单二次开发新人注意事项,

    泛微oa流程表单二次开发新人注意事项, 1.泛微的PC端和手机端使用的jQuery代码通用吗? 答:根据实际操作情况,泛微的PC端和手机端使用的jQuery代码并不是通用的,pc端的代码有些不能在手机 ...

  8. 南京先进激光技术研究院借力泛微OA,整合供应链,信息一体化

    (图片素材来自南京研究院官网) 南京先进激光技术研究院(以下简称"南京研究院")由中国科学院上海光学精密机械研究所与南京经济技术开发区管委会双方共建. 以"科技创新.产业 ...

  9. SAP ABAP 我的文章合集:SAP ERP 与泛微 OA 的系统集成

    SAP ABAP 我的文章合集:SAP ERP 与泛微 OA 的系统集成 简介: 本文章合集收录了我关于 SAP ERP 与泛微 OA 的系统集成相关文章,新的文章会被及时更新到本合集中.SAP ER ...

最新文章

  1. 《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程5
  2. CentOS 7.4 防火墙网卡设置
  3. SecureCRT 7 序列号
  4. redis desktop manager download
  5. git 基本命令记录
  6. Charles - 接口抓包分析工具
  7. machine learning for hacker记录(3) 贝叶斯分类器
  8. Ubuntu搭建nfs服务器
  9. BZOJ4458: GTY的OJ
  10. SharePoint 2010中增强的错误跟踪机制
  11. 生物信息专业都学些什么编程语言?
  12. html肤质测试,皮肤致敏试验
  13. GitHub上20多万张不可描述图片的数据集
  14. 简述oracle的日志缓冲区,2.4 重做日志缓冲区
  15. 数据可视化之matplotlib实战:plt.pie() 绘制分裂式饼图
  16. 分享以下内容到高校bbs或者科研论坛
  17. iOS7 Sprite Kit 学习
  18. CloudEvents 入门文档
  19. 动态规划之 0-1 背包问题
  20. 图解机器学习(部分)

热门文章

  1. vue 日期时间选择器_Vue日期时间选择器
  2. 高等数学课程学习网站设计应用
  3. SOP运营的六大好处
  4. 轮椅的两轮差速转向控制策略(智能轮椅)
  5. 注册表桌面显示计算机,电脑开机后不显示桌面图标怎么办?修改注册表解决开机后不显示桌面图标的3种方法...
  6. 存储前沿技术和发展趋势【1】
  7. 超详细git clone一个项目的方法
  8. 大连理工大学概率与统计上机作业
  9. 计算机基础和组成原理——学习资料
  10. APS软件有哪些排程规则?有何异常处理方案?