• 隐藏明细表的加号按钮,如果不想让用户手工添行,必须通过自动联动添明细行,可以将明细表的加号按钮隐藏.

document.getElementById('$addbutton0$').style.display="none";

  • 浏览按钮的禁用与启用:如果想禁用浏览按钮,比如限制用户必须先填某些内容才能选择浏览框,可以用如下代码
//禁用
$("#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);
  • 隐藏明细表的加号按钮,如果不想让用户手工添行,必须通过自动联动添明细行,可以将明细表的加号按钮隐藏
    1. //addbutton0即为第一个明细表的加号按钮,addbutton1即为第二个明细表的加号按钮,以此类推...
    2.  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">');
}
}
————————————————
版权声明:本文为CSDN博主「cap_jack_sp」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_19671783/article/details/104967644

/** *

  • 控制明细列隐藏/显示

* @param {cusclassname} 列自定义class属性

* @param {status} 1为显示,2为隐藏

*/

function cus_ControlDetailColumnByClass(cusclassname, status){

if(status === 1)

jQuery("td."+cusclassname).show().removeClass("edesign_hide");

else if(status === 2)

jQuery("td."+cusclassname).hide().addClass("edesign_hide");

}

  • 附件必填

fieldViewAttr("23871", "1");

function fieldViewAttr(fieldid, viewtype) {
jQuery("#field" + fieldid).attr("viewtype", viewtype);
var checkstr2 = jQuery("input[name='needcheck']").eq(0).val();
if(viewtype == "1") {
if(checkstr2.indexOf("field" + fieldid + ",") < 0) {
jQuery("input[name='needcheck']").eq(0).val(checkstr2 + "," + "field" + fieldid + ",");
}
var abv = jQuery("#field" + fieldid).val();
if(abv == "") {
jQuery("#field_" + fieldid + "span").html("<img/>");
jQuery("#field_" + fieldid + "span").find("img").eq(0).attr("src", "/images/BacoError_wev8.gif");

jQuery("#field" + fieldid + "span").html("<img/>");
jQuery("#field" + fieldid + "span").find("img").eq(0).attr("src", "/images/BacoError_wev8.gif");
}
} else {
jQuery("#field_" + fieldid + "span").html("");

jQuery("input[name='needcheck']").eq(0).val(checkstr2.replace("field" + fieldid + ",", ""));
if(jQuery("#field" + fieldid + "span").find("img").length > 0) {
jQuery("#field" + fieldid + "span").find("img").eq(0).remove();
}
}
}

泛微OA技巧随记的更多相关文章

  1. 帆软的报表系统与泛微OA结合起来,这两个软件麦枫提供了经典的服务。

    一.集成配景泛微OA对企业的代价 泛微协同办公计划能向你供给一个协同的.集成的办公情况,使所有的办公职员都在统一且个性化的信息流派中一路事情, 解脱光阴和地区的限定,实现协同事情与知识治理. Eoco ...

  2. 泛微oa几个常用的js

    泛微OA,常用JS 为满足一些简单需求,我从网上借鉴了大量的代码,其中几个是非常好用的. (1).取值判断 通过jQuery('#field1234').val()取字段的值,field1234对应字 ...

  3. FineReport和泛微OA(Ecology)的单点登录集成方案

    最近出现了很多关于帆软报表和泛微OA的集成问题,均出现在“单点登录”上.直接也有相关的文章介绍一些FineReport和泛微集成的背景.价值等,以及FineReport和OA的深度集成的方案,但是并没 ...

  4. 泛微OA系统多版本存在命令执行漏洞

    0x01漏洞描述 泛微OA办公系统是一款协调办公软件. 泛微协同商务软件系统存在命令执行漏洞,攻击者可利用该漏洞获取服务器权限. 0x02漏洞危害 攻击者可以通过精心构造的请求包在受影响版本的泛微OA ...

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

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

  6. 基于Python的Webservice开发(四)-泛微OA的SOAP接口

    一.功能需求 泛微e-cology可以在流程中调用Webservice接口实现与其他系统的联动等复杂功能.但是目前泛微文档中仅提供了调用的方法,但是没有关于接口的相关开发信息. 本次案例是用Pytho ...

  7. 泛微OA e-cology 数据库接口信息泄露学习

    泛微OA e-cology 数据库接口信息泄露 漏洞信息 攻击者可通过存在漏洞的页面直接获取到数据库配置信息.如果攻击者可直接访问数据库,则可直接获取用户数据,甚至可以直接控制数据库服务器:会将当前连 ...

  8. 泛微OA 多版本存在命令执行

    参考 https://blog.csdn.net/qq_41770175/article/details/102821349 https://www.linktrust.net/oday/471.ht ...

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

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

  10. 泛微oa系统com.eweaver.base.DataAction文件sql参数sql注入

    URL/ServiceAction/com.eweaver.base.DataAction?sql=select%201,2,3,4,5,6,7,8,9,233%20from%20DUAL%20

随机推荐

  1. java代码的基本组成

    我们可以通过上一篇博客写的内容来分析java代码的组成 java代码的组成我们可以大致分成4个部分 一.标识符 除了关键字(有颜色的,可以看到上方图片)以外,自己们写的单词(黑色部分的),如MyJav ...

  2. Spring项目中用了这种解耦模式,经理对我刮目相看

    前言 不知道大家在项目中有没有遇到过这样的场景,根据传入的类型,调用接口不同的实现类或者说服务,比如根据文件的类型使用 CSV解析器或者JSON解析器,在调用的客户端一般都是用if else去做判断, ...

  3. 前端 - JaveScrip

    今日内容 JS简介 全程JaveScript但是与Jave没有关系 知识为了蹭Jave热度 它是一门前端工程师的编程语言 但是它本身有很多逻辑错误 IT行业鄙视链:前端.运维.测试.产品 前端想一统天 ...

  4. Odoo View 常用技巧

    隐藏Field <field name="currency_id" invisible="True"/> <field name=" ...

  5. 关于VBA中,activesheet用法的一些思考

    前二天,给财务部做了个数据采集的工具,因为财务现在用的是excel2013 和2017的版本,所以我决定不用python,改用VBA来处理这个工具. 在 写过程的时候,我用了sheets(i)来定位表 ...

  6. 分布式协议与算法-Raft算法

    本文总结自:极客时间韩健老师的分布式协议与算法实战课程. 大家都知道,Raft算法属于Multi-Paxos算法,它是在Multi-Paxos思想的基础上,做了一些简化和限制.关于Paxos算法,博主 ...

  7. 通过this引用成员方法-类的构造器

    通过this引用成员方法 this代表当前对象,如果需要引用的方法就是当前类中的成员方法,那么可以使用"this成员方法"的格式来使用方法引用.首先是简单的函数式接口︰ 下面是一个 ...

  8. 默认方法:negate-集合信息筛选

    默认方法:negate "与"."或"已经了解了,剩下的"非"(取反)也会简单.默认方法negate的JDK源代码为︰ 集合信息筛选 数组当 ...

  9. IDEA必备插件、阿里巴巴规范插件(代码格式化,注释模板化)的安装及使用和快捷键设置

    背景:记录下idea的配置,换电脑方便直接配置这些信息 第一步:安装必备插件如下 英文直接翻译就是插件的作用,大部分不用额外配置,Adapter for Eclipse Code Formatter是 ...

  10. 大佬们的博客 && 友链

    博客 1.https://wiki.kimleo.net/ 查组合子查到的,活化石级别 2.https://tech.meituan.com/ 美团博客,查函数式查到的,我还看过一篇讲aop的非常经典 ...