泛微⽤的是java流程引擎吗_泛微oa流程表单⼆次开发新⼈注
意事项
1.泛微的PC端和⼿机端使⽤的jQuery代码通⽤吗?
答:根据实际操作情况,泛微的PC端和⼿机端使⽤的jQuery代码并不是通⽤的,pc端的代码有些不能在⼿机模板流程表单中使⽤。
很可能在开发⼿机模板的时候,⼿机的要单独写⼀套js代码。
2.泛微的流程表单⾥有给开发⼈员⼆次开发的提交校验⽅法,checkCustomize()⽅法,同⼀个流程表单⾥只能写⼀个提交校验⽅法,注意:⼀个流程⾥如果有多个地⽅需要判断,那么需要都在checkCustomize()⽅法下进⾏判断,在⽅法中返回true,则进⼊到下⼀节点,返回Flase ,不能提交成功。使⽤代码如下:
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;
}returnreturnval;
}
});
3.泛微系统有⾃⼰定义的alert警告框,如下:
Dialog.alert("开始⽇期不能⼤于结束⽇期");
4.在进⾏流程表单开发过程中,会遇到隐藏字段且移除必填校验的字段或者给某个字段增加必填校验,这个地⽅⽤泛微提供的显⽰属性联动操作的话是⾮常⽅便的,字段隐藏后,就不会校验字段必填了js实现就得考虑隐藏后,字段还是会提⽰必填验证,关于这⼀点,我在百度上借鉴了⽹友的代码,pc端⾮常好⽤,⼿机端不适⽤,会引起其他代码失效,代码引⽤如下:
//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('');
};/**
* 移除字段必填验证。*/
var removeInputCheckField = function(fieldId, spanImgId) {
$('#' + fieldId).attr('viewtype', '0');var fieldStr = $('input[name=needcheck]').val();
$('input[name=needcheck]').place(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博主「九⽅科技」的原创⽂章,遵循 CC4.0 BY-SA 版权协议,转载请附上原⽂出处链接及本声明。
5.代码应先开发发起申请的这个流程,如果流程全⽤js代码实现,在开发的时候需注意:
5.1.页⾯的初始化加载
页⾯刚进来时会有初始化的页⾯效果,这个需要⽤jQuery加载⽅法做⼀下,需要把什么字段隐藏,什么字段显⽰都在这个代码中写,代码如下:
$(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 事件或者点击事件等事件来控制的
例如:
//去掉input框中填写字段两头的空格
$(document).ready(function() {
$('#field24570').change(function() {
$(this).val($.trim($(this).val()));
});
});
5.3.⽤户⼀顿操作猛如虎之后,页⾯发⽣了天翻地覆的变化,如果⽤户点击保存后,⽤户的页⾯操作后的页⾯怎么展⽰出来,还需要jQuery 加载事件来完成,这个加载事件分为2部分,第⼀部分是初始化加载页⾯,第⼆部分是保存后的初始化加载页⾯,在发起申请流程⾥,保存后的加载⽅法和⼀开始进⼊页⾯的加载⽅法是同⼀块代码块,是相同的代码每有⼀个事件发⽣,页⾯初始化加载⾥⾯,就得写对应的页⾯显⽰效果,不能你操作了页⾯之后保存,页⾯的效果没有展⽰出来
⽰范代码如下:
$('#field24579').change(function() {//input改变事件var type = $('#field24579').val();if(type == "1") {
jquery是什么有什么作用
$('.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("");
}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");
}
});
5.4上⾯发起申请流程代码写完后,需要提交,提交后的页⾯是审核模板了,这时需要在审核模板⾥把你在发起申请流程模板⾥的加载页⾯初始化的所有代码拷贝到每⼀个审核节点,如果不加,⽤户操作后在发起申请页⾯已经把需要隐藏的字段隐藏了,在提交页⾯后的审核页⾯就会再次出现隐藏的字段,因为这个时候审批⼈员只能填写审批意见,所以,页⾯的改变事件代码就不起作⽤了,只是只读,所以在所有的审核流程上,只需要初始化加载代码
例如 审核流程代码块:
$('.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.5.发起申请代码开发完成后,应先同步到归档节点,因为发起申请的模板⾥的字段是可编辑的,同步到归档后,所有的字段就不可编辑了,成为只读字段,注意:归档⾥⾯的代码只是发起申请页⾯加载初始化⽅法,然后从归档同步⾄所有的审核节点,发起申请不能同步,否则发起申请字段会变成只读,
发起流程的⼈员不能操作页⾯,填写数据,到此,流程开发结束!
6.如有不严谨的地⽅,可以指出评论,共同进步,以便完善!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。