/*确定保存时调用的方式*/ function saveAttribute(data) { try{ if(data.status!=1) { alert(data.msg);//失败时不关闭 attributeModal 所以用 alert }else { $("#attributeModal").modal("hide"); mAlert(data.msg); //刷新加载样式,体验不太好 万一未保存设计 //location.reload(); } }catch(e) { alert(data.msg); } } //-----条件设置--strat---------------- function _id(id) { return !id ? null : document.getElementById(id); } function trim(str) { return (str + '').replace(/(\s+)$/g, '').replace(/^\s+/g, ''); } function fnCheckExp(text){ //检查公式 if( text.indexOf("(")>=0 ){ var num1 = text.split("(").length; var num2 = text.split(")").length; if( num1!=num2 ) { return false; } } return true; } /** * 增加左括号表达式,会断行 */ function fnAddLeftParenthesis(id){ var oObj = _id('conList_' + id); var current = 0; if(oObj.options.length>0){ //检查是否有条件 for ( var i = 0;i < oObj.options.length;i++ ){ if( oObj.options[i].selected ) { current = oObj.selectedIndex; break; } } if(current==0){ current = oObj.options.length-1; } } else { //有条件才能添加左括号表达式 alert("请先添加条件,再选择括号"); return; } var sText = oObj.options[current].text,sValue = oObj.options[current].value; //已经有条件的话 if( (trim(sValue).substr(-3,3) == 'AND') || (trim(sValue).substr(-2,2) == 'OR') ){ alert("无法编辑已经存在关系的条件"); return; } var sRelation = _id('relation_'+id).value; if( sValue.indexOf('(')>=0 ){ if( !fnCheckExp(sValue) ){ alert("条件表达式书写错误,请检查括号匹配"); return; } else { sValue = sValue + " " + sRelation; sText = sText + " " + sRelation; } } else { sValue = sValue + " " + sRelation; sText = sText + " " + sRelation; } oObj.options[current].value = sValue; oObj.options[current].text = sText; // $('#conList_'+id+' option').eq(current).text(sText) $('#conList_'+id).append(''); /* var oMyop = document.createElement('option'); oMyop.text = "( "; var nPos = oObj.options.length; oObj.appendChild(oMyop,nPos);*/ } /** * 增加右括号表达式 */ function fnAddRightParenthesis(id){ var oObj = _id('conList_' + id); var current = 0; if( oObj.options.length>0 ){ for ( var i = 0;i < oObj.options.length;i++ ){ if( oObj.options[i].selected ) { current = oObj.selectedIndex; break; } } if( current == 0 ){ current = oObj.options.length-1; } } else { alert("请先添加条件,再选择括号"); return; } var sText = oObj.options[current].text,sValue = oObj.options[current].value; if( (trim(sValue).substr(-3,3)=='AND') || (trim(sValue).substr(-2,2)=='OR') ){ alert("无法编辑已经存在关系的条件"); return; } if( (trim(sValue).length==1) ){ alert("请添加条件"); return; } if( !fnCheckExp(sValue) ){ sValue = sValue + ")"; sText = sText + ")"; } oObj.options[current].value = sValue; oObj.options[current].text = sText; } function fnAddConditions(id){ var sField = $('#field_'+id).val(),sField_text = $('#field_'+id).find('option:selected').text(),sCon = $('#condition_'+id).val(),sValue = $('#item_value_'+id).val(); var bAdd = true; if( sField!=='' && sCon!=='' && sValue!=='' ){ var oObj = _id('conList_'+id); if( oObj.length>0 ){ var sLength = oObj.options.length; var sText = oObj.options[sLength-1].text; if(!fnCheckExp(sText)){ bAdd = false; } } if( sValue.indexOf("'")>=0 ){ alert("值中不能含有'号"); return; } var sNewText = "'" + sField + "' " + sCon + " '" + sValue + "'"; var sNewText_text = "'" + sField_text + "' " + sCon + " '" + sValue + "'"; for( var i=0;i=0 ){ alert("条件重复"); return; } } var sRelation = $('#relation_'+id).val(); if( bAdd ){ //var oMyop = document.createElement('option'); var nPos = oObj.options.length; //oMyop.text = sNewText_text; // oMyop.value = sNewText; //oObj.appendChild(oMyop,nPos); $('#conList_'+id).append(''); if( nPos>0 ){ oObj.options[nPos-1].text += " " + sRelation; oObj.options[nPos-1].value += " " + sRelation; } } else { if( trim(oObj.options[sLength-1].text).length==1 ){ oObj.options[sLength-1].text += sNewText_text; oObj.options[sLength-1].value += sNewText; } else { oObj.options[sLength-1].text += " " + sRelation + " " + sNewText_text; oObj.options[sLength-1].value += " " + sRelation + " " + sNewText; } } } else { alert("请补充完整条件"); return; } } function fnDelCon(id){ var oObj = _id('conList_'+id); var maxOpt = oObj.options.length; if(maxOpt<0) maxOpt = 0; for (var i = 0;i < oObj.options.length;i++ ){ if( oObj.options[i].selected ) { if((i+1)==maxOpt){ if(typeof oObj.options[i-1] !== 'undefined'){ oObj.options[i-1].text = oObj.options[i-1].text.replace(/(AND|OR)$/,''); oObj.options[i-1].value = oObj.options[i-1].value.replace(/(AND|OR)$/,''); } } oObj.removeChild(oObj.options[i]); i--; } } } function fnClearCon(id){ $('#conList_' + id).html(''); } //根据基本信息的下一步骤,设置《条件设置》tab的条件列表 function fnSetCondition(){ if($("#process_multiple option:selected").length<=0) { $('#tab_attrJudge').hide(); }else { var ids = ''; $('#ctbody').html(''); $('#tab_attrJudge').show(); $("#process_multiple option").each(function(){ if($(this).val()>0 && $(this).attr("selected")) { var id = $(this).val(), text=$(this).text(), node = $('#tpl').html(); var s = node.replace(/\@a/g,id); if(id!=0){ text = '' +id+'
' +text; } s = s.replace(/\@text/g,text); s = ""+s+""; $('#ctbody').append(s); ids += id +','; if(_out_condition_data) { $.each(_out_condition_data,function(i,n){ if(i==id && _id('conList_'+i )){ $('#conList_'+i).append(n.condition); $('#process_in_desc_'+i).val(n.condition_desc); } }); } } }); if(ids) { $("#process_condition").val(ids); } } } //-----条件设置--end---------------- $(function(){ //TAB $('#attributeTab a').click(function (e) { e.preventDefault(); $(this).tab('show'); if($(this).attr("href")=='#attrJudge') { //加载下一步数据 处理 决策项目 } }) //步骤类型 $('input[name="process_type"]').on('click',function(){ if($(this).val()=='is_child') { $('#current_flow').hide(); $('#child_flow').show(); }else { $('#current_flow').show(); $('#child_flow').hide(); } }); //返回步骤 $('input[name="child_after"]').on('click',function(){ if($(this).val()==2) { $("#child_back_id").show(); }else { $("#child_back_id").hide(); } }); //步骤select 2 $('#process_multiple').multiselect2side({ selectedPosition: 'left', moveOptions: true, labelTop: '最顶', labelBottom: '最底', labelUp: '上移', labelDown: '下移', labelSort: '排序', labelsx: ' 下一步步骤', labeldx: ' 备选步骤', autoSort: false, autoSortAvailable: true, minSize: 7 }); //选人方式 $("#auto_person_id").on('change',function(){ var apid = $(this).val(); if(apid>0) { $('#auto_unlock_id').show(); }else { $('#auto_unlock_id').hide(); } if(apid==4)//指定用户 { $("#auto_person_4").show(); }else { $("#auto_person_4").hide(); } if(apid==5)//指定角色 { $("#auto_person_5").show(); }else { $("#auto_person_5").hide(); } }); /*---------表单字段 start---------*/ //可写字段 function write_click(e){ var id = $(e).attr('key'); if(!$(e).attr('disabled')){ if($(e).attr('checked')){ $('#secret_'+id).attr({'disabled':true,'checked':false}); } else { $('#secret_'+id).removeAttr('disabled').attr('checked',false); } } } //保密字段 function secret_click(e){ var id = $(e).attr('key'); if(!$(e).attr('disabled')){ if($(e).attr('checked')){ $('#write_'+id).attr({'disabled':true,'checked':false}); } else { $('#write_'+id).removeAttr('disabled').attr('checked',false); } } } //checkbox全选及反选操作 function icheck(ac,op){ if(ac=='write'){ $("input[name='write_fields[]']").each(function(){ if(this.disabled !== true){ this.checked = op; } write_click(this); }) } else if(ac == 'secret') { $("input[name='secret_fields[]']").each(function(){ if(this.disabled !== true){ this.checked = op; } secret_click(this); }) } } $('#write').click(function(){ if($(this).attr('checked')){ icheck('write',true); $('#secret').attr({'disabled':true,'checked':false}); $('#check').attr('checked',false).removeAttr('disabled'); } else { icheck('write',false); $('#secret').attr('checked',false).removeAttr('disabled'); $('#check').attr({'disabled':true,'checked':false}); } }) $('#secret').click(function(){ if($(this).attr('checked')){ icheck('secret',true) $('#write').attr({'disabled':true,'checked':false}); } else { icheck('secret',false); $('#write').attr('checked',false).removeAttr('disabled'); } }) $("input[name='write_fields[]']").click(function(){ write_click(this); $('#write').removeAttr('disabled'); if($('#write').attr('checked')==true){ $('#write').attr('checked',false) } }) $("input[name='secret_fields[]']").click(function(){ secret_click(this); $('#secret').removeAttr('disabled'); if($('#secret').attr('checked')==true){ $('#secret').attr('checked',false) } }) /*---------表单字段 end---------*/ /*样式*/ $('.colors li').click(function() { var self = $(this); if (!self.hasClass('active')) { self.siblings().removeClass('active'); } var color = self.attr('org-data') ? self.attr('org-data') : ''; var parentDiv = self.parents(".colors"); var orgBind = parentDiv.attr("org-bind"); if(orgBind == 'style_icon') { /*$("#"+orgBind).css({ color:'#fff',background: color });*/ $("#"+orgBind).val(color); $("#style_icon_preview").attr("class",color + " icon-white"); }else//颜色 { $("#"+orgBind).css({ color:'#fff',background: color }); $("#"+orgBind).val(color); } self.addClass('active'); }); //表单提交前检测 $("#flow_attribute").submit(function(){ //条件检测 var cond_data = $("#process_condition").val(); if( cond_data !== ''){ var pcarr = cond_data.split(','); for( var i = 0;i < pcarr.length;i++ ){ if( pcarr[i]!=='' ){ var obj = _id('conList_'+pcarr[i]); if(obj.length>0){ var constr = ''; for( var j=0;j