1.泛微的PC端和手机端使用的jQuery代码通用吗?javascript
答:根据实际操做状况,泛微的PC端和手机端使用的jQuery代码并非通用的,pc端的代码有些不能在手机模板流程表单中使用。html
极可能在开发手机模板的时候,手机的要单独写一套js代码。java
2.泛微的流程表单里有给开发人员二次开发的提交校验方法,checkCustomize()方法,同一个流程表单里只能写一个提交校验方法,注意:一个流程里若是有多个地方须要判断,那么须要都在checkCustomize()方法下进行判断,在方法中返回true,则进入到下一节点,返回Flase ,不能提交成功。使用代码以下:ide
<!-- script代码,若是须要引用js文件,请使用与HTML中相同的方式。 --> <script type="text/javascript"> jQuery(document).ready(function() { checkCustomize = function() { //提交验证 var returnval = true; var beginDateTime = jQuery("#field5973").val(); var endDateTime = jQuery("#field5974").val(); if(beginDateTime.valueOf() > endDateTime.valueOf()) { Dialog.alert("开始日期不能大于结束日期"); jQuery("#field5973").val(""); jQuery("#field5974").val(""); jQuery("#field5973span").html(""); jQuery("#field5974span").html(""); returnval = false; } return returnval; } }); </script>
3.泛微系统有本身定义的alert警告框,以下:函数
Dialog.alert("开始日期不能大于结束日期");
4.在进行流程表单开发过程当中,会遇到隐藏字段且移除必填校验的字段或者给某个字段增长必填校验,这个地方用泛微提供的显示属性联动操做的话是很是方便的,字段隐藏后,就不会校验字段必填了js实现就得考虑隐藏后,字段仍是会提示必填验证,关于这一点,我在百度上借鉴了网友的代码,pc端很是好用,手机端不适用,会引发其余代码失效,代码引用以下:this
//Ecology8二次开发:HTML表单字段必填验证的添加与移除 /** * 给字段添加必填验证。 */ var addInputCheckField = function(fieldId, spanImgId) { $('#' + fieldId).attr('viewtype', '1'); var fieldStr = $('input[name=needcheck]').val(); if (fieldStr.charAt(fieldStr.length - 1) != ',') { fieldStr += ','; } $('input[name=needcheck]').val(fieldStr + fieldId + ','); $('#' + spanImgId).html('<img src="/images/BacoError_wev8.gif" align="absMiddle">'); }; /** * 移除字段必填验证。 */ var removeInputCheckField = function(fieldId, spanImgId) { $('#' + fieldId).attr('viewtype', '0'); var fieldStr = $('input[name=needcheck]').val(); $('input[name=needcheck]').val(fieldStr.replace(fieldId + ',', '')); $('#' + spanImgId).html(''); }; // 调用移除必填验证函数 removeInputCheckField('field10391', 'field10391span'); // 移除必填验证,主表文本框、选择框 removeInputCheckField('field10849', 'field10849spanimg'); // 移除必填验证,主表浏览框 removeInputCheckField('field10859_0', 'field10859_0span'); // 移除必填验证,明细表文本框、选择框 removeInputCheckField('field10859_0', 'field10859_0spanimg'); // 移除必填验证,明细表浏览框 // 调用添加必填验证函数 addInputCheckField('field10391', 'field10391span'); // 添加必填验证,主表文本框、选择框 addInputCheckField('field10849', 'field10849spanimg'); // 添加必填验证,主表浏览框 addInputCheckField('field10859_0', 'field10859_0span'); // 添加必填验证,明细表文本框、选择框 addInputCheckField('field10859_0', 'field10859_0spanimg'); // 添加必填验证,明细表浏览框 ———————————————— 版权声明:本文为CSDN博主「九方科技」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。 原文连接:https://blog.csdn.net/lcwell1990/article/details/77042693
5.代码应先开发发起申请的这个流程,若是流程全用js代码实现,在开发的时候需注意:spa
5.1.页面的初始化加载.net
页面刚进来时会有初始化的页面效果,这个须要用jQuery加载方法作一下,须要把什么字段隐藏,什么字段显示都在这个代码中写,代码以下:code
$(document).ready(function() { var type = $('#field24579').val(); if(type == "1") { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $("#field24575span").html(""); $("#field24575").val("0"); $('#field24575_format').hide(); } else if(type == "0") { $('.col3').show(); $('.ht01').show(); $("#field24575").show(); $('#field24575_format').hide(); } else { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $('#field24575_format').hide(); $("#field24575span").html(""); $("#field24575").val("0"); } });
5.2加载完页面后,用户这时会操做里面的内容,好比说,根据某个字段,判断另一个字段是否必填显示或者隐藏,这个改变是用change事件或者点击事件等事件来控制的orm
例如:
//去掉input框中填写字段两头的空格 $(document).ready(function() { $('#field24570').change(function() { $(this).val($.trim($(this).val())); }); });
5.3.用户一顿操做猛如虎以后,页面发生了天翻地覆的变化,若是用户点击保存后,用户的页面操做后的页面怎么展现出来,还须要jQuery加载事件来完成,这个加载事件分为2部分,第一部分是初始化加载页面,第二部分是保存后的初始化加载页面,在发起申请流程里,保存后的加载方法和一开始进入页面的加载方法是同一块代码块,是相同的代码每有一个事件发生,页面初始化加载里面,就得写对应的页面显示效果,不能你操做了页面以后保存,页面的效果没有展现出来
示范代码以下:
<!-- script代码,若是须要引用js文件,请使用与HTML中相同的方式。 --> <script type="text/javascript"> $(document).ready(function() { $('#field24579').change(function() {//input改变事件 var type = $('#field24579').val(); if(type == "1") { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $("#field24575span").html(""); $("#field24575").val("0"); $('#field24575_format').hide(); } else if(type == "0") { $('.col3').show(); $('.ht01').show(); $("#field24575").show(); $("#field24575").val(""); $("#field24575span").html(""); $('#field24575_format').hide(); $("#field24575span").html("<img src='/images/BacoError_wev8.gif' align='absmiddle'>"); } else { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $('#field24575_format').hide(); $("#field24575span").html(""); $("#field24575").val("0"); } }) }); $(document).ready(function() { $('#field24570').change(function() { $(this).val($.trim($(this).val())); }); }); $(document).ready(function() { //页面加载方法和事件方法相对应,能够选择多个加载代码块里写 var type = $('#field24579').val(); if(type == "1") { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $("#field24575span").html(""); $("#field24575").val("0"); $('#field24575_format').hide(); } else if(type == "0") { $('.col3').show(); $('.ht01').show(); $("#field24575").show(); $('#field24575_format').hide(); } else { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $('#field24575_format').hide(); $("#field24575span").html(""); $("#field24575").val("0"); } }); </script>
5.4上面发起申请流程代码写完后,须要提交,提交后的页面是审核模板了,这时须要在审核模板里把你在发起申请流程模板里的加载页面初始化的全部代码拷贝到每个审核节点,若是不加,用户操做后在发起申请页面已经把须要隐藏的字段隐藏了,在提交页面后的审核页面就会再次出现隐藏的字段,由于这个时候审批人员只能填写审批意见,因此,页面的改变事件代码就不起做用了,只是只读,因此在全部的审核流程上,只须要初始化加载代码
例如 审核流程代码块:
<!-- script代码,若是须要引用js文件,请使用与HTML中相同的方式。 --> <script type="text/javascript"> $(document).ready(function() { var type = $('#field24579').val(); if(type == "1") { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $("#field24575span").html(""); $("#field24575").val("0"); $('#field24575_format').hide(); } else if(type == "0") { $('.col3').show(); $('.ht01').show(); $("#field24575").show(); $('#field24575_format').hide(); } else { $('.col3').hide(); $('.ht01').hide(); $("#field24575").hide(); $('#field24575_format').hide(); $("#field24575span").html(""); $("#field24575").val("0"); } }); </script>
5.5.发起申请代码开发完成后,应先同步到归档节点,由于发起申请的模板里的字段是可编辑的,同步到归档后,全部的字段就不可编辑了,成为只读字段,注意:归档里面的代码只是发起申请页面加载初始化方法,而后从归档同步至全部的审核节点,发起申请不能同步,不然发起申请字段会变成只读,发起流程的人员不能操做页面,填写数据,到此,流程开发结束!
6.若有不严谨的地方,能够指出评论,共同进步,以便完善!