E8 里面有不少jquery框架内容,当前最新版本为 E9,据说 E10 也即将出现在大家视线。。。。
Ecology 中 需要使用 js 脚本的大部分在流程中,流程模块使用 js 通过流程表单编辑器的 "插入代码块实现" 实现的方式有两种:
1. 直接写在代码块编辑框中输入 js 代码
2. 单独写一个 js 文件,在代码块编辑器中引用该文件 [ 将 js 文件放在OA 服务器 ecology的文件夹下面 ]
编辑器的引用格式 :< script type = "text/javascript" src="/JUNTEST/demo.js">
JUNTEST 为 ecology 下面的文件夹
下面是 E8 流程表单常用 JS,仅供参考 。
注意:
1. 在 Ecology 8 中所有的文件 ( js、jsp、java、css ) 的编码格式必须为 UTF-8
2. 尽量使用 jQuery ( jQuery 兼容性好,涉及到 js 代码统一使用 jQuery,尽量不动原生的 js,原生 js 代码会出现浏览器不兼容的问题 )
// 流程表单的字段 id 以 "field" 开头 var str1 = "#field10950"; // 主表字段 var str2 = "#field10959_0"; // 明细表字段 0-代表明细表行标 明细行标从0开始 // addbutton0-明细表1[新增按钮] delbutton0-明细表1[删除按钮] // 隐藏明细表1相关按钮 0 -> 明细表1 | 1 -> 明细表2 以此类推...... document.getElementById('$addbutton1$').style.display = "none"; document.getElementById('$delbutton1$').style.display = "none"; // 获取明细表1元素对象_控制勾选 var boxes1 = document.getElementsByName("check_node_0"); // 勾选下标t boxes1[t].checked = true; deleteRow0(0, true); // 删除明细表1勾选的明细行 addRow1(1); // 增加明细表2明细行 // 明细行遍历 jQuery("#oTable0").find("tr[_target=datarow]").each(function (index13, obj13) { var p = $(obj13).attr("_rowindex"); // 下标 // 关键主键的取值 var r1 = jQuery(zlgjid + (p)).val(); // 关键主键 if (boxes3[t].checked) { // 方法调用 isdel12(r1); } t++; }); return true; } // 法2 function isdel12(r1) { var boxes4 = document.getElementsByName("check_node_1"); // 明细表_boxes4 var num6 = jQuery("#indexnum1").val(); // 明细行数 var g = 0; jQuery("#oTable1").find("tr[_target=datarow]").each(function (index14, obj14) { var z = $(obj14).attr("_rowindex"); // 下标 var z1 = jQuery(mxgjid + (z)).val(); // 关键主键_明细 if (z1 == r1) { boxes4[g].checked = true; } // deleteRow1(1, true); // 删除明细行 g++ }); } // 法3 function isdel13() { // 明细表1发生改变,如增减行之后进行的操作,不影响正常增减功能。 jQuery("#nodesnum0").bindPropertyChange(function () { // 标识判断是否执行删除代码 var boxch = document.getElementsByName("check_node_1"); // 明细表_boxes4 var numch = jQuery("#indexnum1").val(); // 总览行数 for (var w = 0; w < numch; w++) { if (boxch[w].checked) { deleteRow1(1, true); // 当明细表2有选择需要删除的数据时。 } } }) } // 提交前的校验 jQuery(document).ready(function () { checkCustomize = function () { var hjzje = jQuery(check1).val(); // 获奖总金额值 var jdjjxe = jQuery(check2).val(); // 季度奖金限额值 var pxjd = jQuery(check3).val(); // 评选季度 var num = jQuery("#indexnum0").val(); // 评选结果总览行数 var num1 = jQuery("#indexnum1").val(); // 员工获奖明细行数 var flag = 0; jQuery("#oTable0").find("tr[_target=datarow]").each(function (index16, obj16) { var s1 = $(obj16).attr("_rowindex"); // 总览下标 var str0 = jQuery(zlgjid + (s1)).val(); // 遍历总览关键主键 var str1 = jQuery(zlhjje + (s1)).val(); // 总览获奖总金额 var str4 = jQuery(zljxmc + (s1)).val(); // 总览奖项名称 var str41 = jQuery(zljxmc + (s1) + "span").text(); var str411 = str41.split("x"); var nums = 0; // 明细获奖金额求和 jQuery("#oTable1").find("tr[_target=datarow]").each(function (index17, obj17) { var s2 = $(obj17).attr("_rowindex"); // 明细下标 var str2 = jQuery(mxhjzje + (s2)).val(); // 遍历明细获奖金额 var str3 = jQuery(mxgjid + (s2)).val(); // 遍历明细关键主键 if (str2 != "undefined" && str3 == str0) { nums = parseInt(str2) + parseInt(nums); } }); if (nums != str1) { alert("【奖项名称】" + str411[0] + "的员工获奖金额合计与其获奖总金额不符,请再次核对各员工获奖明细。"); flag = 1; } }); if (flag == 1) { return false; } if (hjzje != "" && jdjjxe != "") { if (parseFloat(hjzje) > parseFloat(jdjjxe)) { alert("每季度获奖总金额不可超过【每季度奖金限额】" + jdjjxe + ",请再次核对各奖项获奖总金额。"); return false; } } else { alert("获奖总金额合计值或季度奖金限额值为空!"); return false; } return true; } }); // 需求一_保存 jQuery(document).ready(function () { isdel13(); index1(); // 字段变化 var filed1 = "#field10955_"; // 获奖员工 var filed2 = "#field10954_"; // 奖项名称 var filed3 = "#field10969_"; // 执行标识 var filed4 = "#field10968_"; // 关键主键 jQuery("#oTable0").find("tr[_target=datarow]").each(function (index, obj) { var i = $(obj).attr("_rowindex"); // 明细字段下标 var str5 = jQuery(filed1 + (i)).val(); // 获奖员工 var str6 = jQuery(filed2 + (i)).val(); // 奖项名称 var str7 = jQuery(filed3 + (i)).val(); // 执行标识 jQuery(filed1 + (i)).bindPropertyChange(function () { // 获奖员工 var str8 = jQuery(filed4 + (i)).val(); //关键主键 jQuery(filed3 + (i)).val("1"); if (str8 == "") { jQuery(filed4 + (i)).val(Math.random()); } }); jQuery(filed2 + (i)).bindPropertyChange(function () { // 奖项名称 var str8 = jQuery(filed4 + (i)).val(); //关键主键 jQuery(filed3 + (i)).val("1"); if (str8 == "") { jQuery(filed4 + (i)).val(Math.random()); } }); }); }) // 需求一_提交_备用 function index1() { jQuery("#indexnum0").bindPropertyChange(function () { // 字段变化 var filed1 = "#field10955_"; // 获奖员工 var filed2 = "#field10954_"; // 奖项名称 var filed3 = "#field10969_"; // 执行标识 var filed4 = "#field10968_"; // 关键主键 jQuery("#oTable0").find("tr[_target=datarow]").each(function (index, obj) { var i = $(obj).attr("_rowindex"); // 明细字段下标 var str5 = jQuery(filed1 + (i)).val(); // 获奖员工 var str6 = jQuery(filed2 + (i)).val(); // 奖项名称 var str7 = jQuery(filed3 + (i)).val(); // 执行标识 jQuery(filed1 + (i)).bindPropertyChange(function () { // 获奖员工 var str8 = jQuery(filed4 + (i)).val(); //关键主键 jQuery(filed3 + (i)).val("1"); if (str8 == "") { jQuery(filed4 + (i)).val(Math.random()); } }); jQuery(filed2 + (i)).bindPropertyChange(function () { // 奖项名称 var str8 = jQuery(filed4 + (i)).val(); //关键主键 jQuery(filed3 + (i)).val("1"); if (str8 == "") { jQuery(filed4 + (i)).val(Math.random()); } }); }); }) } //新按钮 $("#detail_250").before(' <input title="生成员工获奖明细" class="e8_btn_top" style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 300px; padding-right: 10px;margin-left:80px; ?width:100px;height:23px;color: #fff;background-color: #30b5ff;" type="button" value="生成员工获奖明细" onclick="doSearch();" />'); function doSearch() { var zl_zxbs = "#field10969_"; // 执行标识 var boxes = document.getElementsByName("check_node_0"); var boxes1 = document.getElementsByName("check_node_1"); jQuery("#oTable0").find("tr[_target=datarow]").each(function (index, obj) { var i = $(obj).attr("_rowindex"); // 总览下标 var zl1 = jQuery(zlhjyg + (i)).val(); // 获奖员工 var zl11 = jQuery(zlhjyg + (i) + "span").text(); //获奖员工_标签 var zl4 = jQuery(zl_zxbs + (i)).val(); // 唯一标识 var zlh = jQuery("#indexnum0").val(); // 总览行数 if (zl4 == "1") { var zl7 = jQuery(zlgjid + (i)).val(); // 关键主键_总览 var q = 0; jQuery("#oTable1").find("tr[_target=datarow]").each(function (index1, obj1) { var j = $(obj1).attr("_rowindex"); // 明细下标 var mx1 = jQuery(mxgjid + (j)).val(); // 关键主键_明细 if (mx1 == zl7) { boxes1[q].checked = true; } q++; }); if (zl1 != "") { var spl = zl1.split(","); var spl1 = zl11.split("x"); for (var m = 0; m < spl.length; m++) { addRow1(1); var zl5 = spl[m]; //获奖员工 var zl6 = spl1[m]; // 获奖员工_标签 var zl2 = jQuery(zljxmc + (i)).val(); // 奖项名称 var zl21 = jQuery(zljxmc + (i) + "span").text(); //获奖名称_标签 var zlx211 = zl21.split("x"); var zl3 = jQuery(zlgjid + (i)).val(); // 关键主键 // 总览表赋值 jQuery("#oTable1").find("tr[_target=datarow]").each(function (index2, obj2) { var e = $(obj2).attr("_rowindex"); // 明细下标 var mx3 = jQuery(mxgjid + (e)).val(); // 关键主键 if (mx3 == "undefined" || mx3 == "") { jQuery(mxgjid + (e)).val(zl3); // 赋值_关键主键 jQuery(mxjxmc + (e)).val(zl2); // 赋值_所获奖项 jQuery(mxjxmc + (e) + "span").html(zlx211[0]); // 赋值_所获奖项_标签 jQuery(mxhjyg + (e)).val(zl5); // 赋值_获奖员工 jQuery(mxhjyg + (e) + "span").html(zl6); // 赋值_获奖员工_标签 jQuery(zl_zxbs + (i)).val("2"); // 执行标识置为2 } }); } } } }); deleteRow1(1, true); //删除明细行 } < / script >
复制