This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/webapp/static/global/scripts/common.js

472 lines
15 KiB
JavaScript
Raw Normal View History

$(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");
})
});
$("#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("input,select,div,button").each(function(){
$(this).attr("disabled","disabled");
});
$("#areaIp").find("input,select,div,button").each(function(){
$(this).attr("disabled","disabled");
});
}
});
areaControlInit();
});
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");
}
}
//删除区域IP
function delAreaIp(obj){
var thisObj=$(obj);
thisObj.parents(".container-fluid").remove();
var len=$("#areaIp").find(".container-fluid:visible").size();
//调整角标
if(len>0){
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--;
});
}
}