泛微OA主表与明细表的js操作
毕业后工作的第一个项目就是做一个泛微OA的流程。实际上不难但是还是在网上挺少记录这种的。记录一下给以后的自己和刚接触有需要的人吧,第一次写博客,有问题请指出。
实现的功能
1.多个check组成复选框必选至少一个
2.获取明细表的值传给主表
3.根据选择框显示和隐藏元素
4.对明细表的元素添加触发事件(不完善,这个页面响应太慢了导致没及时监听到,只能提交时做判断了,有看到的大佬指导一下)
5.按钮按了之后1s后才能继续点击
特殊的元素
页面按f12或者右键检查之后会发现页面有一堆隐藏的元素,第一次接触完全不知道0.0。
目前只用到了以下的:
#indexnum0:明细表索引,只有添加时才加,删除时值并不变。
#nodesnum0:明细表行数,添加删除都会变化。
#submitdtlid0: 存在的条目由num+“,”组成的字符串,例如value=“8,11,12”,由0开始记录
ps : 后面的0好像是第一张明细表,第二张应该就是1了
明细表的元素
第一个元素的id是_0,第二个是_1,以此类推,然后可以通过上面的隐藏元素来写js事件
下面就直接贴代码出来看吧。。。
<!-- script代码,如果需要引用js文件,请使用与HTML中相同的方式。 -->
<script type = "text/javascript" >var selectStr = $("#field27826").find("option:selected").val();//获取被选中的选项的值if(selectStr = "个人申请"){jQuery("#div0button").hide();}jQuery(document).ready(function() {checkCustomize = function() {//提交前执行的函数 var nodesnum0 = jQuery("#nodesnum0").val();//行数jQuery("#field28444").val(nodesnum0);//主表的值//判断复选框是否有勾选if ((jQuery("#field27782").attr("checked") == false) && (jQuery("#field27783").attr("checked") == false) && (jQuery("#field27784").attr("checked") == false) &&(jQuery("#field27785").attr("checked") == false) && (jQuery("#field27786").attr("checked") == false)) {alert("请勾选参加理由至少一个复选框!");return false;} else {if ((jQuery("#field27786").attr("checked") == true) && ($("#field27775").val() == null || $("#field27775").val() =="")) {alert("请填写其他复选框文本内容");return false;}if(parseInt(jQuery("#nodesnum0").val()) > 1){var maxEatFee = jQuery("#field28385").val();//膳食费最大值var maxHouseFee = jQuery("#field28383").val();//住宿费最大值var submitStr = jQuery("#submitdtlid0").val();//submitdtlid0 value="8,11,12"var strs = new Array(); //定义一数组strs = submitStr.split(","); //字符分割for (i = 1; i < strs.length - 1; i++) // 0 1 2{ var strEatFee = jQuery("#field27798" + "_" + strs[i]).val();var strHouseFee = jQuery("#field27799" + "_" + strs[i]).val();if(parseFloat(strEatFee) > parseFloat(maxEatFee)) {alert("根据公司差旅报销费用规定,膳杂费不可超过" + maxEatFee + "元,请更正数据");return false;}if(parseFloat(strHouseFee) > parseFloat(maxHouseFee)) {alert("根据公司差旅报销费用规定,住宿费不可超过" + maxHouseFee + "元,请更正数据");return false;}}}return true;}};//获取明细表数据传给主表jQuery("#indexnum0").bindPropertyChange(function() {//获取申请人中最高的等级值var index = jQuery("#indexnum0").val() - 1;jQuery("#field27851" + "_" + index).bindPropertyChange(function() {var userid = 0;if ((jQuery("#field27851" + "_" + index).val()) > userid) {userid = jQuery("#field27851" + "_" + index).val();}jQuery("#field27966").attr("value", userid);})});//根据选择框显示和隐藏divjQuery("#field27826").bindPropertyChange(function() {var myselect = jQuery("#field27826").val();if (myselect == 1) {jQuery("#div0button").show();} else {jQuery("#div0button").hide();}});//实际上点的快事件并来不及触发,太卡了,所以又写了提交时的判断(上面)jQuery("#indexnum0").bindPropertyChange(function() {//行变化时就触发时间(貌似只有增加时,删除也要用#nodesnum0)var index = jQuery("#indexnum0").val() - 1;jQuery("#field27798" + "_" + index).bindPropertyChange(function() {var maxFee = jQuery("#field28385").val();var nowFee = jQuery("#field27798" + "_" + index).val(); if(parseInt(nowFee) == 0){alert("请先填写前面的资料!");}if (parseFloat(nowFee) > parseFloat(maxFee)) {alert("根据公司差旅报销费用规定,膳杂费不可超过" + maxFee + "元");jQuery("#field27798" + "_" + index).val(parseInt(maxFee));}});jQuery("#field27799" + "_" + index).bindPropertyChange(function() {var maxFee = jQuery("#field28383").val();var nowFee = jQuery("#field27799" + "_" + index).val(); if(parseInt(nowFee) == 0){alert("请先填写前面的资料!");}if (parseFloat(nowFee) > parseFloat(maxFee)) {alert("根据公司差旅报销费用规定,住宿费不可超过" + maxFee + "元");jQuery("#field27799" + "_" + index).val(parseInt(maxFee));}});});//点击添加按钮后停止1s点击,然而在这里并没有卵用,就学习记录一下 jQuery("#nodesnum0").bindPropertyChange(function() {$(".addbtn_p").attr("disabled", "disabled");//$addbutton0$这个id实测不能使用原因未知setTimeout(function() {$(".addbtn_p").removeAttr("disabled");}, 1000);//1秒后才能点击}); }); </script>
jQuery("#field27782").attr(“checked”) == false;这一块其实更推荐使用prop代替attr,因为后面另一个表单我用attr就不是true和false了,会出现undefined,百度找说是jquery版本问题,但是有两个版本jquery也太奇怪了。。
OA好像只是我们新人进来的第一个新手村任务,接下来就要做别的了,希望人没事。
泛微OA主表与明细表的js操作相关推荐
- 泛微oa主表赋值明细表_OA系统学习--三
学习主题:OA系统 报销管理-添加报销单-业务层 在报销主表和明细表中都有一个字段叫expid,这个字段在数据库中是利用序列获取的,但是在业务层中,我们要控制主表和明细表的expid一致,所以要先获取 ...
- 泛微oa主表赋值明细表_Java学习第89天--OA系统
学习主题:OA系统 学习目标: 1 掌握web开发项目实战,熟练使用web开发基础技术 对应作业 1. 报销管理-添加报销单-业务层 (1) 在报销主表和明细表中都有一个字段叫expid,这个字段在数 ...
- 泛微 消息服务器,第三方系统向泛微OA系统推送消息
向泛微OA系统推送消息 以下操作案例中关于第三方系统向泛微OA系统的移动端和电脑端版本推送消息说明: • 移动端使用的是泛微系统登录账号(工号)来最终实现消息的推送 • 电脑端使用的是泛微系统用户 ...
- 泛微oa明细表添加按钮_泛微OA 新增功能:表格单建模详解.doc
泛微OA 新增功能:表格单建模详解 Weaver Software中国上海耀华支路39弄9号(通耀路济明路路口) Weaver Software 中国上海耀华支路39弄9号(通耀路济明路路口) 邮政编 ...
- 泛微oa明细表添加按钮_泛微OA 新增能:表单建模详解.doc
泛微OA 新增能:表单建模详解 Weaver Software中国上海耀华支路39弄9号(通耀路济明路路口) Weaver Software 中国上海耀华支路39弄9号(通耀路济明路路口) 邮政编码: ...
- ajax 泛微oa表单js_泛微oa流程表单二次开发新人注意事项,
泛微oa流程表单二次开发新人注意事项, 1.泛微的PC端和手机端使用的jQuery代码通用吗? 答:根据实际操作情况,泛微的PC端和手机端使用的jQuery代码并不是通用的,pc端的代码有些不能在手机 ...
- 泛微OA ecology8的一些开发经验汇总
目录 JS开发 引入js文件 表单提交校验 一些常用函数 最近一年都在接触泛微OA的一些开发工作,这篇文章将总结这一年以来的二次开发经验. JS开发 引入js文件 泛微表单建模中可以直接插入JS代码块 ...
- webservice python开发接口_基于Python的Webservice开发(四)-泛微OA的SOAP接口
一.功能需求 泛微e-cology可以在流程中调用Webservice接口实现与其他系统的联动等复杂功能.但是目前泛微文档中仅提供了调用的方法,但是没有关于接口的相关开发信息. 本次案例是用Pytho ...
- 泛微OA节点执行接口实现
泛微OA节点执行接口实现 该接口主要实现在流程的流转当中,实时通过自定义的动作去操作异构系统的数据或者处理其他一些特定的业务,在流程的节点后.出口和节点前都可以定义这样的自定义动作. 1. 接口实现方 ...
- 泛微OA二次开发E8之UE富文本编辑器增加按钮操作
泛微OA协同办公系统在这里就不多作描述,有需要的可自行了解. 现在说说我遇到的问题以及解决方案. 遇到的需求问题 公司有自己的文件存储服务器,所以想把图片上传和文件上传都传输到自己的服务器上,所以需要 ...
最新文章
- 中奖名单,老读者请看过来!
- 理解 Lua 的那些坑爹特性
- 对比SQL,学习Pandas操作:group_concat如何实现?
- 「第五篇」全国电子设计竞赛-电源题设计方案总结
- 来领.NET Core学习资料,7天整理了30多个G(适合各阶段.Net开发者)
- 【目标检测】单阶段算法--YOLOv2详解
- pythonopencv目标检测_Python 使用Opencv实现目标检测与识别的示例代码
- windows 版本 Appium 环境搭建
- 网页动态背景:随鼠标线条变动
- Java之颜色工具-yellowcong
- 科略教育—太极拳理与企业家管理理念
- Unity 使用贝塞尔曲线实现抛物线运动
- 微信气泡主题设置_微信气泡主题设置方法
- 2022年最新android studio连接雷电模拟器 真机调试教程
- 剑指 Offer 58 - II. 左旋转字符串
- 从搞科研到商业运作:Alberto Broggi 研究计算机视觉的二十年...
- 网络爬虫二十二-爬虫socket处理
- matlab xn,matlab定义变量x1到xn
- background系列属性(background-color背景颜色、background-image背景图片、background-repeat重复方式以及background-position)
- Python深度学习篇一《什么是深度学习》