目录

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. android 获取控件高度_安卓开发入门教程UI控件_ImageView
  2. cocos2d 屏幕適配_cocos2d-x 2.x屏幕适配基础
  3. 2021奢侈品营销启示录
  4. 用友php漏洞,用友CRM注入漏洞(无需登录通杀所有版本)
  5. 蓝牙4.0大数据分包处理
  6. Spring框架中IoC(控制反转)的原理
  7. html中鼠标左键自定义多级菜单,CSS多级菜单的实现代码
  8. 国庆前的最后3场直播活动!!
  9. 有戏!低于4000的iPhone SE2买不买?
  10. 基于Udp的Socket网络编程
  11. TensorFlow入门(2)矩阵基础
  12. vue前后分离session实现_springboot-vue前后端分离session过期重新登录的实现
  13. 非功能需求分析--web开发课内实例
  14. VASP+VTST编译安装
  15. 许三多和他的基金定投
  16. 大数据是什么意思?大数据有哪些应用?
  17. 全网惟一面向软件测试人员的Python基础教程-在Python中怎么干倒字符串?
  18. 分布式计算框架Hadoop原理及架构全解
  19. 将文件传递到Web服务
  20. 鼠标中间无法打开新标签_高性价比利器—赛睿RIVAL3 WIRELESS无线鼠标评测

热门文章

  1. 安居客上市,难挑58大梁?
  2. 米联客 ZYNQ/SOC 精品教程 S02-CH15 AXI_Lite 总线详解
  3. linux仿真电路指令,使用geda进行电路仿真举例
  4. git命令之git clone用法
  5. C# Winform 相册功能,图片缩放,拖拽,预览图分页
  6. matlab的且数组专职,如何将excel中数据导入matlab并存入数组中/matlab导入数据并绘图...
  7. 解读ICDE‘22论文:基于鲁棒和可解释自编码器的无监督时间序列离群点检测算法
  8. 头插法创建链表并输出所有元素
  9. 【阅读笔记】TypeScript菜鸟教程
  10. Java菜鸟教程系列 学习笔记总结 面向对象篇(1)