/**
* 下拉选项模版。
*/
var optiontemplate = '';
$(function(){
getDialogs();
$("select[name='methodName']").change(methodChange);
$('select[name="paraCt"]').live('change',function(){
var parentDiv = $(this).closest('div');
if($(this).val()==0){
$('#settingSpan',parentDiv).show();
}
else{
$('#settingSpan',parentDiv).hide();
}
});
});
//获取自定义对话框
function getDialogs(){
var url = __ctx + '/platform/form/bpmFormDialog/getAllDialogs.ht';
$.ajax({
type:"get",
async:false,
url:url,
success:function(data){
if (data) {
for(var i=0,c;c=data[i++];){
var opt = $('');
opt.attr("fields",c.resultfield);
$("select[name='dialog-type']",$("#settingSpan")).append(opt);
}
}
}
});
};
//选择不同的对话框
function dialogChange(obj){
var dia=$(obj).find("option:selected");
var v = dia.attr("fields");
if(v){
var paramSelector = $(obj).siblings("#dialog-param");
var opt = paramSelector.find("option:first-child");
paramSelector.text('');
//添加 请选择…… option
paramSelector.append(opt);
var fields = $.parseJSON(v);
for(var i=0,f;f=fields[i++];){
opt = $('');
paramSelector.append(opt);
}
}
}
//选择的方法事件
function methodChange(){
var option = $(this).find("option:selected");
if(!option)return;
var methodInfo = option.data('methodInfo');
if(!methodInfo)return;
$("input[name='returnType']").val(methodInfo.returnType);
$("input[name='returnType']").trigger('change');
var param = constructParamTable(methodInfo);
$("#paraInfo").empty().append(param);
if($('#typeName').val()=="text"){
$("input[name='paraName']").each(function(n){
$(this).blur(function(){
var me = $(this);
var paraValue = me.val();
$("input[name='paraName']").not(this).each(function(m){
var other = $(this);
var value = other.val();
if('undefined' != typeof (paraValue) && paraValue!=null && paraValue!='' && paraValue == value ){
alert('参数值不能为空!');
return false;
}
});
});
});
}
};
//获取该类的方法
function getMethods(url){
$.post(url,'',function(r){
var data = eval("("+r+")");
if(data.result){
var methods = data.methods,
methodSelect = $("select[name='methodName']").empty(),
methodName = $("#methodName").val();
for(var i=0,c;c=methods[i++];){
var newOpt = $('').val(c.methodName).text(c.methodName);
if(c.methodName == methodName){
var paraData = $("textarea[name='argument']").val();
if(paraData){
paraData = eval("("+paraData+")");
c.para = paraData;
}
$(newOpt).attr("selected",true);
}
$(newOpt).data('methodInfo',c);
methodSelect.append(newOpt);
}
methodSelect.trigger("change");
}
else{
$.ligerDialog.error(data.message,'出错了!');
}
});
}
//根据表单ID保存并提交
function save(formId){
//验证
var frm=$('#'+formId);
if(!frm.valid()) return ;
var isReturnFalse = false;
var settingSpan = $("[id='settingSpan']");
var setting;
for(var i=0;i