$(function(){ //全选及取消 $("#checkAll").change(function(){ if($("#checkAll").prop("checked")){ $("input.i-checks").prop("checked",true); }else{ $("input.i-checks").prop("checked",false); } }); $("select[name$='ipType']").each(function(){ switchIpInfo(this); }) $("select[name$='ipType']").on("change",function(){ switchIpInfo(this); }); $("select[name$='ipPattern']").on("change",function(){ switchIpInfo(this); }); $("select[name$='portPattern']").on("change",function(){ switchIpInfo(this); }); $(".glyphicon-plus").on("click",function(){ var obj=$(this).parents(".form-section").next(".container-fluid").clone(); var len=$(this).parents("div").find(".container-fluid:visible").size(); if($(this).parent().parent().parent().attr("id")=="areaIp"){ obj.find("[id^='_areaCfg']").each(function(){ var name=$(this).attr("id").replace("_areaCfg.",""); $(this).removeAttr("id"); $(this).attr("name","areaCfg["+len+"]."+name); $(this).parents(".form-group").find("div[for^='_areaCfg']").attr("for","areaCfg["+len+"]."+name); $(this).selectpicker("refresh"); }); obj.removeClass("hidden"); switchIpInfo(obj.find("select[name$='ipType']")); obj.find("select[name$='ipType']").on("change",function(){ switchIpInfo($(this)); }); obj.find("select[name$='ipPattern']").on("change",function(){ switchIpInfo($(this)); }); obj.appendTo("#areaIp"); $("#areaIsp").find(".container-fluid").each(function(){ if(!$(this).hasClass("hidden")) $(this).remove(); }); if(len==0){ $("#areaIp").find(".container-fluid:visible").eq(0).find("span[title=remove]").addClass("hidden"); } }else if($(this).parent().parent().parent().attr("id")=="areaIsp"){ obj.find("[name^='areaCode']").each(function(){ $(this).attr("name","areaIsp["+len+"].area"); $(this).parents(".form-group").find("div[for^='areaCode']").attr("for","areaIsp["+len+"].area"); $(this).selectpicker("refresh"); }); obj.find("[name^='ispCode']").each(function(){ $(this).attr("name","areaIsp["+len+"].isp"); $(this).selectpicker("refresh"); }); obj.removeClass("hidden"); obj.appendTo("#areaIsp"); $("#areaIp").find(".container-fluid").each(function(){ if(!$(this).hasClass("hidden")) $(this).remove(); }); if(len==0){ $("#areaIsp").find(".container-fluid:visible").eq(0).find("span[title=remove]").addClass("hidden"); } } }); $("input[name='areaType']").on('change',function(){ var val=$(this).val(); if($(this).is(":visible")){ if(val==0){ $("#areaIp").removeClass("hidden"); $("#areaIsp").addClass("hidden"); if($("#areaIp").find(".container-fluid:visible").size() <1){ $("#areaIp").find(".glyphicon-plus").click(); } $("#areaIp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).removeAttr("disabled"); $(this).removeClass("disabled"); }) }); $("#areaIsp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); }else{ $("#areaIsp").removeClass("hidden"); $("#areaIp").addClass("hidden"); if($("#areaIsp").find(".container-fluid:visible").size() <1){ $("#areaIsp").find(".glyphicon-plus").click(); } $("#areaIsp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).removeAttr("disabled"); $(this).removeClass("disabled"); }) }); $("#areaIp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); } }else{ $("#areaIsp").addClass("hidden"); $("#areaIp").addClass("hidden"); $("#areaIsp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); $("#areaIp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); } }); $("input[name='isAreaEffective']").on('change',function(){ var val=$(this).val(); if(val==1){ $(".areaType").find("input,select,div,button").each(function(){ $(this).removeAttr("disabled"); $(this).removeClass("disabled"); }); $(".areaType").removeClass("hidden"); if($("input[name='areaType']:checked").val()==1){//areaISP $("#areaIsp").removeClass("hidden"); if($("#areaIsp").find(".container-fluid:visible").size() <1){ $("#areaIsp").find(".glyphicon-plus").click(); } $("#areaIsp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).removeAttr("disabled"); $(this).removeClass("disabled"); }) }); $("#areaIp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); }else if($("input[name='areaType']:checked").val()==0){//areaIp $("#areaIp").removeClass("hidden"); if($("#areaIp").find(".container-fluid:visible").size() <1){ $("#areaIp").find(".glyphicon-plus").click(); } $("#areaIp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).removeAttr("disabled"); $(this).removeClass("disabled"); }) }); $("#areaIsp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); }else{ $(".areaType").find("[value='1']").prop("checked",true); $("#areaIsp").removeClass("hidden"); if($("#areaIsp").find(".container-fluid:visible").size() <1){ $("#areaIsp").find(".glyphicon-plus").click(); } $("#areaIsp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).removeAttr("disabled"); $(this).removeClass("disabled"); }) }); $("#areaIp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); } }else{ $(".areaType").addClass("hidden"); $("#areaIp").addClass("hidden"); $("#areaIsp").addClass("hidden"); $(".areaType").find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }); $("#areaIsp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); $("#areaIp").find(".container-fluid").each(function(){ $(this).find("input,select,div,button").each(function(){ $(this).attr("disabled","disabled"); }) }); } }); areaControlInit(); /*=====关键字与表达式处理 开始=====*/ var tagsInputSettings="#tags"; $("input[name$='cfgKeywords']").each(function(){ var tagsId = $(this).attr("id"); var objNamePrefix = $(this).attr("name").split("cfgKeywords")[0]; var isTags = $(this).hasClass("tags");//有tags样式的关键字输入框才需处理 if(typeof(tagsId)!=='undefined' && tagsId.indexOf("tags_")!=-1 && isTags){ //表单中如果有关键字内容可能输入多个关键字的情况,根据输入关键字个数确定表达式选中情况,不允许手动选中 $("input:radio[name='"+objNamePrefix+"exprType']").attr("disabled",true); tagsInputSettings = tagsInputSettings+",#"+tagsId; } }); $(tagsInputSettings).tagsInput({ width:$(".form-control").width(), defaultText:'please input keywords', 'delimiter':'***and***',//特殊字符串分隔与表达式的多关键词 onAddTag:function(tag,size){ //var keywordValue = ""; var objNamePrefix = $(this).attr("name").split("cfgKeywords")[0]; /*$("span[class='tag']").each(function(){ keywordValue = keywordValue+"***iie***"+$(this).find("span").text().trim(); }); $(this).prev("input[name$='cfgKeywords']").val(keywordValue);*/ exprTypeChecked(objNamePrefix,size); }, onRemoveTag:function(tag,size){ //var keywordValue = ""; var objNamePrefix = $(this).attr("name").split("cfgKeywords")[0]; /*$("span[class='tag']").each(function(){ keywordValue = keywordValue+"***iie***"+$(this).find("span").text().trim(); }); $(this).prev("input[name$='cfgKeywords']").val(keywordValue);*/ exprTypeChecked(objNamePrefix,size); } }); $(".tagsinput").popover({ animation:true, container:'body', placement:'right', html:true, trigger:"hover", title:"", content:function(){ var content = $("#tagsinputTip").text(); return content; } }); /*=====关键字与表达式处理 结束=====*/ /*$("input[name$='cfgKeywords']").each(function(){ if($(this).hasClass("tags")){ if($(this).val()==''){ $(this).parents(".form-group").find( "div[for='" + $(this).attr("name") + "']").html(""); flag = false; return; } } })*/ //处理增强字符串配置的匹配区域 $(".district").each(function(){ if($(this).siblings(".otherValue").val()!=''){ if($(this).val()!=$(this).siblings(".otherValue").val()){ $(this).find("option[value=others]").attr("selected","selected"); $(this).siblings(".otherValue").prop("type","text"); } } }); }); var switchIpType=function(obj){ var type=$(obj).val(); var row=$(obj).parents('.row'); var ipPattern=row.siblings().find("input[name$='ipPattern']"); var portPattern=row.siblings().find("input[name$='portPattern']"); var srcIp=row.siblings().find("input[name$='srcIpAddress']"); var dstIp=row.siblings().find("input[name$='destIpAddress']"); var srcPort=row.siblings().find("input[name$='srcPort']"); var dstPort=row.siblings().find("input[name$='destPort']"); if(4==type){ if(!$(srcIp).val()){ $(srcIp).val("0.0.0.0"); }else if($(srcIp).val()=="::"){ $(srcIp).val("0.0.0.0"); } if(!$(dstIp).val()){ $(dstIp).val("0.0.0.0"); }else if($(dstIp).val()=="::"){ $(dstIp).val("0.0.0.0"); } if(!$(srcPort).val()){ $(srcPort).val("0"); } if(!$(dstPort).val()){ $(dstPort).val("0"); } } if(6==type){ if(!$(srcIp).val()){ $(srcIp).val("::"); }else if($(srcIp).val()=="0.0.0.0"){ $(srcIp).val("::"); } if(!$(dstIp).val()){ $(dstIp).val("::"); }else if($(dstIp).val()=="0.0.0.0"){ $(dstIp).val("::"); } if(!$(srcPort).val()){ $(srcPort).val("0"); } if(!$(dstPort).val()){ $(dstPort).val("0"); } } } //ipType、ipPattern、portPattern选项变化时调用此方法,添加默认值 var switchIpInfo=function(obj){ var ipType=""; var ipPattern=""; var portPattern=""; var row=$(obj).parents('.row').parent('.row'); ipType=row.find("select[name$='ipType']").val(); ipPattern=row.find("select[name$='ipPattern']").val(); portPattern=row.find("select[name$='portPattern']").val(); var srcIp=row.find("input[name$='srcIpAddress']"); var destIp=row.find("input[name$='destIpAddress']"); var srcPort=row.find("input[name$='srcPort']"); var destPort=row.find("input[name$='destPort']"); var ipV4Default=new Array(); ipV4Default[0]="0.0.0.0/8"; //subnet ipV4Default[1]="0.0.0.0-1.1.1.1";//ip_range ipV4Default[2]="0.0.0.0"; //ip var ipV6Default=new Array(); ipV6Default[0]="::/64"; //subnet ipV6Default[1]="::-::";//ip_range ipV6Default[2]="::"; //ip var portDefault=new Array(); portDefault[0]="0";//port portDefault[1]="0/0";//port_mask //IPv4设置默认值 if(4==ipType){ if(!$(srcIp).val()){ if(ipPattern==1){ $(srcIp).val(ipV4Default[0]); }else if(ipPattern==2){ $(srcIp).val(ipV4Default[1]); }else if(ipPattern==3){ $(srcIp).val(ipV4Default[2]); } }else{ if($.inArray($(srcIp).val(),ipV4Default) > -1 || $.inArray($(srcIp).val(),ipV6Default) > -1){ //是ipV4的默认值其中一个 if(ipPattern==1){ $(srcIp).val(ipV4Default[0]); }else if(ipPattern==2){ $(srcIp).val(ipV4Default[1]); }else if(ipPattern==3){ $(srcIp).val(ipV4Default[2]); } } } if(!$(destIp).val()){ if(ipPattern==1){ $(destIp).val(ipV4Default[0]); }else if(ipPattern==2){ $(destIp).val(ipV4Default[1]); }else if(ipPattern==3){ $(destIp).val(ipV4Default[2]); } }else{ if($.inArray($(destIp).val(),ipV4Default) > -1 || $.inArray($(destIp).val(),ipV6Default) > -1){ //是ipV4的默认值其中一个 if(ipPattern==1){ $(destIp).val(ipV4Default[0]); }else if(ipPattern==2){ $(destIp).val(ipV4Default[1]); }else if(ipPattern==3){ $(destIp).val(ipV4Default[2]); } } } } if(6==ipType){ if(!$(srcIp).val()){ if(ipPattern==1){ $(srcIp).val(ipV6Default[0]); }else if(ipPattern==2){ $(srcIp).val(ipV6Default[1]); }else if(ipPattern==3){ $(srcIp).val(ipV6Default[2]); } }else{ if($.inArray($(srcIp).val(),ipV4Default) > -1 || $.inArray($(srcIp).val(),ipV6Default) > -1){ //是ipV6的默认值其中一个 if(ipPattern==1){ $(srcIp).val(ipV6Default[0]); }else if(ipPattern==2){ $(srcIp).val(ipV6Default[1]); }else if(ipPattern==3){ $(srcIp).val(ipV6Default[2]); } } } if(!$(destIp).val()){ if(ipPattern==1){ $(destIp).val(ipV6Default[0]); }else if(ipPattern==2){ $(destIp).val(ipV6Default[1]); }else if(ipPattern==3){ $(destIp).val(ipV6Default[2]); } }else{ if($.inArray($(destIp).val(),ipV4Default) > -1 || $.inArray($(destIp).val(),ipV6Default) > -1){ //是ipV6的默认值其中一个 if(ipPattern==1){ $(destIp).val(ipV6Default[0]); }else if(ipPattern==2){ $(destIp).val(ipV6Default[1]); }else if(ipPattern==3){ $(destIp).val(ipV6Default[2]); } } } } //设置源端口默认值 if(!$(srcPort).val()){ if(portPattern==1){ $(srcPort).val(portDefault[0]); }else if(portPattern==2){ $(srcPort).val(portDefault[1]); } }else{ if($.inArray($(srcPort).val(),portDefault) > -1){ //是ipV4的默认值其中一个 if(portPattern==1){ $(srcPort).val(portDefault[0]); }else if(portPattern==2){ $(srcPort).val(portDefault[1]); } } } //设置目的端口默认值 if(!$(destPort).val()){ if(portPattern==1){ $(destPort).val(portDefault[0]); }else if(portPattern==2){ $(destPort).val(portDefault[1]); } }else{ if($.inArray($(destPort).val(),portDefault) > -1){ //是port的默认值其中一个 if(portPattern==1){ $(destPort).val(portDefault[0]); }else if(portPattern==2){ $(destPort).val(portDefault[1]); } } } } var areaControlInit=function(){ if($("input[name='isAreaEffective']:checked").val()==1){ $(".areaType").removeClass("hidden"); if($("input[name='areaEffectiveIds']").val()){ $(".areaType").find("[value='1']").prop("checked",true); $("#areaIsp").removeClass("hidden"); $("#areaIp").addClass("hidden"); }else{ $(".areaType").find("[value='0']").prop("checked",true); $("#areaIp").removeClass("hidden"); $("#areaIsp").addClass("hidden"); } }else{ $("input[name='areaEffectiveIds']").val(""); $("input[name='isAreaEffective']").eq(1).prop("checked",true); } } //查询 var page=function(n,s){ $("#intype").attr("name",$("#seltype").val()); $("#pageNo").val(n); $("#pageSize").val(s); $("#searchForm").submit(); return false; } //show more 添加更多属性 var more=function(obj){ var clickTimes=$(obj).data("click-times"); if(clickTimes==0){ $(".port").removeClass("hidden").removeClass("disabled"); $(obj).data("click-times",clickTimes+1); } if(clickTimes==1){ $(".destPort").removeClass("hidden").removeClass("disabled"); $(obj).data("click-times",clickTimes+1); } if(clickTimes==2){ $(".protocol").removeClass("hidden").removeClass("disabled"); $(obj).data("click-times",clickTimes+1); } var rows=$(obj).parent(".row").siblings(".row:hidden"); if(rows.size()==0){ $(obj).addClass("hidden"); } } var viewAreaInfo=function(path,areaEffectiveIds,compileId){ $.ajax({ type:'post', url:path+'/ntc/av/area/ajaxAreaEffictiveInfo', data:{"areaEffectiveIds":areaEffectiveIds,"compileId":compileId}, dataType:'json', async:false, success:function(data,textStatus){ if(textStatus=="success"){ var html = ""; var title=""; if(data.areaIsps.length > 0){ title=$.validator.messages.area+" "+$.validator.messages.isp; html+=""; html+=""; html+="" + ""; html+=""; html+=""; for(i=0;i 0){ title=$.validator.messages.area+" ip"; html+="
"+$.validator.messages.area+""+$.validator.messages.isp+"
"; html+=""; html+="" + "" + ""; html+=""; html+=""; for(i=0;i0){ len--; $("#areaIp").find(".container-fluid:visible").each(function(){ $(this).find("[name^='areaCfg']").each(function(){ var name=$(this).attr("name"); name=name.substring(name.lastIndexOf(".")+1,name.length); $(this).attr("name","areaCfg["+len+"]."+name); $(this).parents(".form-group").find("div[for^='areaCfg']").attr("for","areaCfg["+len+"]."+name); }); len--; }); } } //删除区域ISP function delAreaIsp(obj){ var thisObj=$(obj); thisObj.parents(".container-fluid").remove(); var len=$("#areaIsp").find(".container-fluid:visible").size(); if(len>0){ len--; $("#areaIsp").find(".container-fluid:visible").each(function(){ $(this).find("[name^='areaIsp']").each(function(){ var name=$(this).attr("name"); name=name.substring(name.lastIndexOf(".")+1,name.length); $(this).attr("name","areaIsp["+len+"]."+name); $(this).parents(".form-group").find("div[for^='areaIsp']").attr("for","areaIsp["+len+"]."+name); }); len--; }); } } //切换配置列表中显示子配置的选项卡样式 function switchSubCfgTabInfo(flag,index){ $("div[name='subCfg"+index+"']").hide(); $("div[id='"+flag+"Info"+index+"']").show(); $("div[name='tabTitle"+index+"']").removeClass("badge-info"); $("div[id='"+flag+"Title"+index+"']").addClass("badge-info"); $("i[name='tabFlag"+index+"']").addClass("fa-angle-double-up"); $("i[name='tabFlag"+index+"']").removeClass("fa-angle-double-down"); $("i[id='"+flag+index+"']").addClass("fa-angle-double-down"); $("i[id='"+flag+index+"']").removeClass("fa-angle-double-up"); } function isLicit(str,regStr) {//判断是否为合格字符 //s 包括空格回车等特殊字符 regStr = App.isEmpty(regStr)?"^[_0-9a-zA-Z\u4e00-\u9fa5\.@&]*$":regStr; var re = new RegExp(regStr); //var re = "^[_0-9a-zA-Z\.@]*$"; return re.test(str); } function exprTypeChecked(objNamePrefix,size){ if(size>1) { $("input:radio[name='"+objNamePrefix+"exprType'][value=1]").prop("checked",true); //选中是 }else { $("input:radio[name='"+objNamePrefix+"exprType'][value=0]").prop("checked",true); //选中否 } } function validateDataIsLicit(){ var fdfz = $.trim($("#tags_1").val()).replace(/,/g,""); return isLicit(fdfz); }
"+$.validator.messages.ip_type+""+$.validator.messages.ip_pattern+""+$.validator.messages.client_ip+"