Merge branch 'develop' of http://10.0.6.99/gwall/gwall.git into develop

This commit is contained in:
zhanghongqing
2018-04-03 18:09:32 +08:00
33 changed files with 1504 additions and 208 deletions

View File

@@ -31,19 +31,13 @@
<c:when test="${_cfg.classify==null or _cfg.classify==''}">
<option value="${fl.serviceDictId}">${fl.itemValue}</option>
</c:when>
<c:when test="${fn:contains(_cfg.classify,',')}">
<c:otherwise>
<option value="${fl.serviceDictId}"
<c:forEach items="${fn:split(_cfg.classify,',')}" var="_classify">
<c:if test="${fl.isValid==0}">disabled="disabled"</c:if>
<c:if test="${fn:trim(fl.serviceDictId) eq _classify}">selected</c:if>
</c:forEach>
>${fl.itemValue}</option>
</c:when>
<c:otherwise>
<option value="${fl.serviceDictId}"
<c:if test="${fl.isValid==0}">disabled="disabled"</c:if>
<c:if test="${fn:trim(fl.serviceDictId) eq _classify}">selected</c:if>
>${fl.itemValue}</option>
</c:otherwise>
</c:choose>
</c:forEach>

View File

@@ -87,14 +87,18 @@
<label class="radio-inline">
<input type="radio" name="isAreaEffective" value="1"
<c:if test="${_cfg.isAreaEffective==1}">checked</c:if>
<c:if test="${action==2}">disabled</c:if>
><spring:message code="yes"/>
</label>
<label class="radio-inline">
<input type="radio" name="isAreaEffective" value="0"
<c:if test="${_cfg.isAreaEffective==0}">checked</c:if>
<c:if test="${action==2}">disabled</c:if>
><spring:message code="no"/>
</label>
<%-- <input class="form-control" type="text" name="isAreaEffective" value="${_cfg.isAreaEffective}"> --%>
<c:if test="${action==2}">
<input class="form-control" type="hidden" name="isAreaEffective" value="${_cfg.isAreaEffective}">
</c:if>
</div>
<div for="isAreaEffective"></div>
</div>

View File

@@ -53,25 +53,18 @@
<label class="control-label col-md-3"><spring:message code="type"/></label>
<div class="col-md-6">
<select name="classify" multiple class="selectpicker form-control" title=<spring:message code="select"/>>
<c:forEach items="${fls}" var="fl">
<c:choose>
<c:when test="${_cfg.classify==null or _cfg.classify==''}">
<option value="${fl.serviceDictId}">${fl.itemValue}</option>
</c:when>
<c:when test="${fn:contains(_cfg.classify,',')}">
<c:otherwise>
<option value="${fl.serviceDictId}"
<c:forEach items="${fn:split(_cfg.classify,',')}" var="_classify">
<c:if test="${fl.isValid==0}">disabled="disabled"</c:if>
<c:if test="${fn:trim(fl.serviceDictId) eq _classify}">selected</c:if>
</c:forEach>
>${fl.itemValue}</option>
</c:when>
<c:otherwise>
<option value="${fl.serviceDictId}"
<c:if test="${fl.isValid==0}">disabled="disabled"</c:if>
<c:if test="${fn:trim(fl.serviceDictId) eq _classify}">selected</c:if>
>${fl.itemValue}</option>
</c:otherwise>
</c:choose>
</c:forEach>

View File

@@ -1,7 +1,30 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<h3 class="form-section">增强字符串<spring:message code="block_config"/><small><span class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target=".complexCfg" title="add"></span></small></h3>
<div class="row complexCfg collapse">
<script type="text/javascript">
$(function(){
if(!$(".district").val()&&$(".otherValue").val()){
$(".district").find("option").each(function(){
var text=$(this).text().toLowerCase();
if("others"==text){
$(this).attr("selected","selected");
$(this).parent().siblings(".otherValue").prop("type","text");
}
});
}
})
</script>
<h3 class="form-section">
<c:choose>
<c:when test="${mainTableType eq '4' and otherTable==null}">
<spring:message code="${mainTableDesc}"/>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '4'}">
<spring:message code="${otherTable.tableDesc}"/>
</c:when>
<c:otherwise>增强字符串<spring:message code="block_config"/></c:otherwise>
</c:choose>
<!-- <small><span class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target=".complexCfg" title="add"></span></small> --></h3>
<div class="row complexCfg">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="config_describe"/></label>
@@ -15,7 +38,6 @@
</c:when>
</c:choose>
</div>
<div for="cfgDesc"></div>
</div>
</div>
<div class="col-md-6">
@@ -26,27 +48,38 @@
<c:when test="${mainTableType eq '4' and otherTable==null}">
<select name="complexCfg[${mainTable}].district" class="district selectpicker select2 form-control">
<option value=""><spring:message code='select'/></option>
<c:forEach items="${districts}" var="district">
<option value="${district.itemValue}">${district.itemValue}</option>
<c:forEach items="${fns:getFeaturesDictData(mainTable)}" var="district">
<option value="${district.itemValue}"
<c:if test="${_cfg.complexCfg[mainTable].district eq district.itemValue}">selected</c:if>
>${district.itemValue}</option>
</c:forEach>
</select>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '4'}">
<select name="complexCfg[${otherTable.tableName}].district" class="district selectpicker select2 form-control">
<option value=""><spring:message code='select'/></option>
<c:forEach items="${districts}" var="district">
<option value="${district.itemValue}">${district.itemValue}</option>
<c:forEach items="${fns:getFeaturesDictData(otherTable.tableName)}" var="district">
<option value="${district.itemValue}"
<c:if test="${_cfg.complexCfg[otherTable.tableName].district eq district.itemValue}">selected</c:if>
>${district.itemValue}</option>
</c:forEach>
</select>
</c:when>
</c:choose>
<input type="hidden" name="" placeholder="请输入自定义域" class="otherValue form-control" value="${_cfg.complexCfg[mainTable].district}"/>
</div>
<div for="district"></div>
<c:choose>
<c:when test="${mainTableType eq '4' and otherTable==null}">
<div for="complexCfg[${mainTable}].district"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '4'}">
<div for="complexCfg[${otherTable.tableName}].district"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
<div class="row complexCfg collapse">
<div class="row complexCfg">
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="key_word"/></label>
@@ -60,7 +93,14 @@
</c:when>
</c:choose>
</div>
<div for="keywords"></div>
<c:choose>
<c:when test="${mainTableType eq '4' and otherTable==null}">
<div for="complexCfg[${mainTable}].keywords"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '4'}">
<div for="complexCfg[${otherTable.tableName}].keywords"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -94,11 +134,18 @@
</c:when>
</c:choose>
</div>
<div for="isAreaEffective"></div>
<c:choose>
<c:when test="${mainTableType eq '4' and otherTable==null}">
<div for="complexCfg[${mainTable}].exprType"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '4'}">
<div for="complexCfg[${otherTable.tableName}].exprType"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
<div class="row complexCfg collapse">
<div class="row complexCfg">
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="match_method"/></label>
@@ -124,7 +171,14 @@
</c:when>
</c:choose>
</div>
<div for="matchMethod"></div>
<c:choose>
<c:when test="${mainTableType eq '4' and otherTable==null}">
<div for="complexCfg[${mainTable}].matchMethod"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '4'}">
<div for="complexCfg[${otherTable.tableName}].matchMethod"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -150,6 +204,14 @@
</c:when>
</c:choose>
</div>
<c:choose>
<c:when test="${mainTableType eq '4' and otherTable==null}">
<div for="complexCfg[${mainTable}].isHexbin"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '4'}">
<div for="complexCfg[${otherTable.tableName}].isHexbin"></div>
</c:when>
</c:choose>
</div>
</div>
<c:choose>

View File

@@ -1,11 +1,19 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<style>
.ipCfg-hide{
display:none;
}
</style>
<h3 class="form-section">IP<spring:message code="block_config"/><small><span class="glyphicon glyphicon-plus" data-toggle="collapse" data-target=".ipCfg" title="add"></span></small></h3>
<h3 class="form-section">
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<spring:message code="${mainTableDesc}"/>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<spring:message code="${otherTable.tableDesc}"/>
</c:when>
<c:otherwise>IP<spring:message code="block_config"/></c:otherwise>
</c:choose>
<small><span style="margin-left:10px"><input type="checkbox" id="ipSelect"/> 可选</span><!-- <span class="glyphicon glyphicon-plus" data-toggle="collapse" data-target=".ipCfg" title="add"></span> --></small></h3>
<div class="row ipCfg collapse">
<div class="col-md-6">
<div class="form-group">
@@ -20,7 +28,6 @@
</c:when>
</c:choose>
</div>
<div for="cfgDesc"></div>
</div>
</div>
<div class="col-md-6">
@@ -44,7 +51,14 @@
</c:when>
</c:choose>
</div>
<div for="ipType"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].ipType"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].ipType"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
@@ -62,7 +76,14 @@
</c:when>
</c:choose>
</div>
<div for="srcIp"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].srcIp"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].srcIp"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -78,6 +99,14 @@
</c:when>
</c:choose>
</div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].srcIpMask"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].srcIpMask"></div>
</c:when>
</c:choose>
<div for="srcIpMask"></div>
</div>
</div>
@@ -96,7 +125,14 @@
</c:when>
</c:choose>
</div>
<div for="srcPort"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].srcPort"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].srcPort"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -112,7 +148,14 @@
</c:when>
</c:choose>
</div>
<div for="srcPortMask"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].srcPortMask"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].srcPortMask"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
@@ -130,7 +173,14 @@
</c:when>
</c:choose>
</div>
<div for="dstIp"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].dstIp"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].dstIp"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -146,7 +196,14 @@
</c:when>
</c:choose>
</div>
<div for="dstIpMask"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].dstIpMask"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].dstIpMask"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
@@ -164,7 +221,14 @@
</c:when>
</c:choose>
</div>
<div for="dstPort"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].dstPort"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].dstPort"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -180,7 +244,14 @@
</c:when>
</c:choose>
</div>
<div for="dstPortMask"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].dstPortMask"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].dstPortMask"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
@@ -207,7 +278,14 @@
</c:choose>
<%-- <input class="form-control" type="text" name="direction" value="${_cfg.ipCfg.direction}"> --%>
</div>
<div for="direction"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].direction"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].direction"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -233,7 +311,14 @@
</c:when>
</c:choose>
</div>
<div for="protocol"></div>
<c:choose>
<c:when test="${mainTableType eq '1' and otherTable==null}">
<div for="ipCfg[${mainTable}].protocol"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '1'}">
<div for="ipCfg[${otherTable.tableName}].protocol"></div>
</c:when>
</c:choose>
</div>
</div>
<c:choose>

View File

@@ -1,6 +1,16 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<h3 class="form-section">数值<spring:message code="block_config"/><small><span class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target=".numCfg" title="add"></span></small></h3>
<h3 class="form-section">
<c:choose>
<c:when test="${mainTableType eq '3' and otherTable==null}">
<spring:message code="${mainTableDesc}"/>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '3'}">
<spring:message code="${otherTable.tableDesc}"/>
</c:when>
<c:otherwise>数值<spring:message code="block_config"/></c:otherwise>
</c:choose>
<small><span class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target=".numCfg" title="add"></span></small></h3>
<div class="row numCfg collapse">
<div class="col-md-6">
<div class="form-group">

View File

@@ -1,7 +1,17 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<h3 class="form-section">字符串<spring:message code="block_config"/><small><span class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target=".stringCfg" title="add"></span></small></h3>
<div class="row stringCfg collapse">
<h3 class="form-section">
<c:choose>
<c:when test="${mainTableType eq '2' and otherTable==null}">
<spring:message code="${mainTableDesc}"/>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '2'}">
<spring:message code="${otherTable.tableDesc}"/>
</c:when>
<c:otherwise>字符串<spring:message code="block_config"/></c:otherwise>
</c:choose>
<!-- <small><span class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target=".stringCfg" title="add"></span></small> --></h3>
<div class="row stringCfg">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="config_describe"/></label>
@@ -15,7 +25,6 @@
</c:when>
</c:choose>
</div>
<div for="cfgDesc"></div>
</div>
</div>
<div class="col-md-6">
@@ -31,11 +40,18 @@
</c:when>
</c:choose>
</div>
<div for="cfgKeywords"></div>
<c:choose>
<c:when test="${mainTableType eq '2' and otherTable==null}">
<div for="stringCfg[${mainTable}].cfgKeywords"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '2'}">
<div for="stringCfg[${otherTable.tableName}].cfgKeywords"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
<div class="row stringCfg collapse">
<div class="row stringCfg">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="expression_type"/></label>
@@ -66,9 +82,15 @@
</label>
</c:when>
</c:choose>
</div>
<div for="exprType"></div>
<c:choose>
<c:when test="${mainTableType eq '2' and otherTable==null}">
<div for="stringCfg[${mainTable}].exprType"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '2'}">
<div for="stringCfg[${otherTable.tableName}].exprType"></div>
</c:when>
</c:choose>
</div>
</div>
<div class="col-md-6">
@@ -96,11 +118,18 @@
</c:when>
</c:choose>
</div>
<div for="matchMethod"></div>
<c:choose>
<c:when test="${mainTableType eq '2' and otherTable==null}">
<div for="stringCfg[${mainTable}].matchMethod"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '2'}">
<div for="stringCfg[${otherTable.tableName}].matchMethod"></div>
</c:when>
</c:choose>
</div>
</div>
</div>
<div class="row stringCfg collapse">
<div class="row stringCfg">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="whether_hexbinary"/></label>
@@ -124,7 +153,14 @@
</c:when>
</c:choose>
</div>
<div for="isHexbin"></div>
<c:choose>
<c:when test="${mainTableType eq '2' and otherTable==null}">
<div for="stringCfg[${mainTable}].isHexbin"></div>
</c:when>
<c:when test="${otherTable!=null and otherTable.tableType eq '2'}">
<div for="stringCfg[${otherTable.tableName}].isHexbin"></div>
</c:when>
</c:choose>
</div>
</div>
<c:choose>

View File

@@ -6,6 +6,45 @@
<script type="text/javascript">
$(function(){
if(!$(".district").val()&&$(".otherValue").val()){
$(".district").find("option").each(function(){
var text=$(this).text().toLowerCase();
if("others"==text){
$(this).attr("selected","selected");
$(this).parent().siblings(".otherValue").prop("type","text");
}
});
}
$(".district").on("change",function(){
var text=$(this).find("option:selected").text().toLowerCase();
var other=$(this).parent("div").siblings(".otherValue");
if("others"==text){
other.prop("type","text");
$(this).find("option").each(function(){
if(other.val()==$(this).text()){
other.val("");
return false;
}
});
}else{
other.prop("type","hidden");
}
});
$(".otherValue").on("change",function(){
var val=$(this).val();
if($(this).is(":visible")){
$(this).prev("div").find("option").each(function(){
if("others"==$(this).text().toLowerCase()){
$(this).prop("value",val);
if($(this).prop("selected")){
$(this).parent("select.selectpicker").selectpicker('val',val);
}
}
});
}
});
$("#save").on("click",function(){
$("#cfgFrom").attr("action","${ctx}/cfg/app/saveOrUpdateCfg");
$("#save").submit();
@@ -83,33 +122,38 @@ $(function(){
<div for="cfgDesc"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="whether_area_block"/></label>
<div class="col-md-6">
<label class="radio-inline">
<input type="radio" class="required" name="isAreaEffective" value="1"
<c:if test="${_cfg.isAreaEffective==1}">checked</c:if>
><spring:message code="yes"/>
</label>
<label class="radio-inline">
<input type="radio" class="required" name="isAreaEffective" value="0"
<c:if test="${_cfg.isAreaEffective==0}">checked</c:if>
><spring:message code="no"/>
</label>
<%-- <input class="form-control" type="text" name="isAreaEffective" value="${_cfg.isAreaEffective}"> --%>
</div>
<div for="isAreaEffective"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><spring:message code="area_effect_id"></spring:message></label>
<div class="col-md-6">
<input class="form-control" type="text" name="areaEffectiveIds" value="${_cfg.areaEffectiveIds}">
</div>
</div>
</div>
<c:if test="${isContainFeaturesCfg}">
<input type="hidden" name="isAreaEffective" value="0"/>
</c:if>
<c:if test="${!isContainFeaturesCfg}">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="whether_area_block"/></label>
<div class="col-md-6">
<label class="radio-inline">
<input type="radio" class="required" name="isAreaEffective" value="1"
<c:if test="${_cfg.isAreaEffective==1}">checked</c:if>
><spring:message code="yes"/>
</label>
<label class="radio-inline">
<input type="radio" class="required" name="isAreaEffective" value="0"
<c:if test="${_cfg.isAreaEffective==0}">checked</c:if>
><spring:message code="no"/>
</label>
<%-- <input class="form-control" type="text" name="isAreaEffective" value="${_cfg.isAreaEffective}"> --%>
</div>
<div for="isAreaEffective"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group ">
<label class="control-label col-md-3"><spring:message code="area_effect_id"></spring:message></label>
<div class="col-md-6">
<input class="form-control" type="text" name="areaEffectiveIds" value="${_cfg.areaEffectiveIds}">
</div>
</div>
</div>
</c:if>
<c:if test="${fn:length(featuresList)>0}">
<c:set var="index1" value="0"/>
<c:set var="index2" value="0"/>
@@ -191,11 +235,21 @@ $(function(){
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="match_area"/></label>
<div class="col-md-6">
<select name="complexFeaturesList[${index2}].district" class="required selectpicker select2 form-control" title="<spring:message code="select"/>" >
<c:set var="districtValue" value="noSelect"></c:set>
<select name="complexFeaturesList[${index2}].district" class="district required selectpicker select2 form-control" title="<spring:message code="select"/>" >
<c:forEach items="${fns:getFeaturesDictData(features.tableName) }" var="item">
<option value="${item.itemValue }" <c:if test="${_cfg.complexFeaturesList[index2].district==item.itemValue }">selected</c:if>><spring:message code="${item.itemValue}"></spring:message></option>
<c:if test="${_cfg.complexFeaturesList[index2].district==item.itemValue }">
<c:set var="districtValue" value="${item.itemValue }"></c:set>
</c:if>
</c:forEach>
<c:if test="${districtValue eq 'noSelect' and not empty _cfg.cfgId}">
<option value="${_cfg.complexFeaturesList[index2].district}" selected>
${_cfg.complexFeaturesList[index2].district}
</option>
</c:if>
</select>
<input type="hidden" name="" placeholder="请输入自定义域" class="otherValue form-control" value="${_cfg.complexFeaturesList[index2].district}"/>
<%-- <input class="required form-control" type="text" name="complexFeaturesList[${index2}].district" value="${_cfg.complexFeaturesList[index2].district }"> --%>
</div>
<div for="cfgDesc"></div>

View File

@@ -285,7 +285,7 @@
<c:if test="${isContainFeaturesCfg}">
<td>
<a href="${ctx}/cfg/app/showFeaturesCfg?serviceId=${cfg.serviceId}&compileId=${cfg.compileId }&action=${cfg.action}&cfgId=${cfg.cfgId}&cfgName=${cfgName}">
<spring:message code="show"></spring:message>
<spring:message code="detail"></spring:message>
</a>
</td>
</c:if>
@@ -361,10 +361,10 @@
</c:when>
<c:when test="${cfg.isAudit eq '0'}">
<shiro:hasPermission name="cfg:edit">
<li><a href="${ctx}/cfg/app/updateForm?serviceId=${cfg.serviceId}&action=${cfg.action}&cfgId=${cfg.cfgId}&cfgName=${cfgName}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
<li><a href="${ctx}/cfg/app/updateForm?serviceId=${cfg.serviceId}&action=${cfg.action}&compileId=${cfg.compileId}&cfgId=${cfg.cfgId}&cfgName=${cfgName}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
</shiro:hasPermission>
<shiro:hasPermission name="cfg:delete">
<li><a href="${ctx}/cfg/app/deleteCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&cfgId=${cfg.cfgId}&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
<li><a href="${ctx}/cfg/app/deleteCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&compileId=${cfg.compileId}&cfgId=${cfg.cfgId}&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
</shiro:hasPermission>
</c:when>
</c:choose>
@@ -373,15 +373,15 @@
<c:choose>
<c:when test="${cfg.isAudit eq '1'}">
<shiro:hasPermission name="cfg:audit:cancel">
<li><a href="${ctx}/cfg/app/auditCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&cfgId=${cfg.cfgId}&isAudit=3&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="cancel"></spring:message></a></li>
<li><a href="${ctx}/cfg/app/auditCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&compileId=${cfg.compileId}&cfgId=${cfg.cfgId}&isAudit=3&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="cancel"></spring:message></a></li>
</shiro:hasPermission>
</c:when>
<c:when test="${cfg.isAudit eq '0'}">
<shiro:hasPermission name="cfg:audit:valid">
<li><a href="${ctx}/cfg/app/auditCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&cfgId=${cfg.cfgId}&isAudit=1&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li>
<li><a href="${ctx}/cfg/app/auditCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&compileId=${cfg.compileId}&cfgId=${cfg.cfgId}&isAudit=1&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li>
</shiro:hasPermission>
<shiro:hasPermission name="cfg:audit:invalid">
<li><a href="${ctx}/cfg/app/auditCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&cfgId=${cfg.cfgId}&isAudit=2&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="unapproved"></spring:message></a></li>
<li><a href="${ctx}/cfg/app/auditCfg?serviceId=${cfg.serviceId}&action=${cfg.action}&compileId=${cfg.compileId}&cfgId=${cfg.cfgId}&isAudit=2&cfgName=${cfgName}" onclick="return confirm('sure', this.href)"><spring:message code="unapproved"></spring:message></a></li>
</shiro:hasPermission>
</c:when>
</c:choose>

View File

@@ -120,11 +120,21 @@ $(function(){
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="match_area"/></label>
<div class="col-md-6">
<c:set var="districtValue" value="noSelect"></c:set>
<select name="complexFeaturesList[${index2}].district" class="required selectpicker select2 form-control" title="<spring:message code="select"/>" >
<c:forEach items="${fns:getFeaturesDictData(features.tableName) }" var="item">
<option value="${item.itemValue }" <c:if test="${_cfg.complexFeaturesList[index2].district==item.itemValue }">selected</c:if>><spring:message code="${item.itemValue}"></spring:message></option>
<c:if test="${_cfg.complexFeaturesList[index2].district==item.itemValue }">
<c:set var="districtValue" value="${item.itemValue }"></c:set>
</c:if>
</c:forEach>
<c:if test="${districtValue eq 'noSelect' and not empty _cfg.cfgId}">
<option value="${_cfg.complexFeaturesList[index2].district}" selected>
${_cfg.complexFeaturesList[index2].district}
</option>
</c:if>
</select>
<%-- <input class="required form-control" type="text" name="complexFeaturesList[${index2}].district" value="${_cfg.complexFeaturesList[index2].district }"> --%>
</div>
<div for="cfgDesc"></div>

View File

@@ -9,7 +9,7 @@ $(function(){
//$("[name^='stringCfg']").attr("disabled",true);
//$("[name^='complexCfg']").attr("disabled",true);
//$("[name^='numCfg']").attr("disabled",true);
$(".glyphicon").on("click",function(){
/* $(".glyphicon").on("click",function(){
var className=$(this).attr("data-target");
if($(this).hasClass("glyphicon-chevron-down")){
$(this).removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up");
@@ -29,13 +29,142 @@ $(function(){
$(this).removeClass("glyphicon-remove").addClass("glyphicon-plus");
$("[name^='"+targetName+"']").attr("disabled",true);
}
}); */
$("#cfgFrom").validate({
rules: {
//基本配置校验开始
'isAreaEffective':{
required:true
},
'requestId': {
required: true
}
//基本配置校验结束
//maintable校验开始
,
'complexCfg[${mainTable}].district': {
required: true
}
,
'complexCfg[${mainTable}].keywords': {
required: true
}
,
'complexCfg[${mainTable}].exprType': {
required: true
}
,
'complexCfg[${mainTable}].matchMethod': {
required: true
}
,
'complexCfg[${mainTable}].isHexbin': {
required: true
}
,
'stringCfg[${mainTable}].cfgKeywords': {
required: true
}
,
'stringCfg[${mainTable}].exprType': {
required: true
}
,
'stringCfg[${mainTable}].matchMethod': {
required: true
}
,
'stringCfg[${mainTable}].isHexbin': {
required: true
}
//maintable校验结束
//othertable校验开始
<c:forEach items="${_cfg.otherTables}" var="otherTable">
,
'complexCfg[${otherTable.tableName}].district': {
required: true
}
,
'complexCfg[${otherTable.tableName}].keywords': {
required: true
}
,
'complexCfg[${otherTable.tableName}].exprType': {
required: true
}
,
'complexCfg[${otherTable.tableName}].matchMethod': {
required: true
}
,
'complexCfg[${otherTable.tableName}].isHexbin': {
required: true
}
,
'stringCfg[${otherTable.tableName}].cfgKeywords': {
required: true
}
,
'stringCfg[${otherTable.tableName}].exprType': {
required: true
}
,
'stringCfg[${otherTable.tableName}].matchMethod': {
required: true
}
,
'stringCfg[${otherTable.tableName}].isHexbin': {
required: true
}
</c:forEach>
//othertable校验结束
},
messages: {
'isAreaEffective':{
required:'<spring:message code="required"/>'
},
'requestId': {
required:'<spring:message code="required"/>'
}
},
errorPlacement: function(error,element){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
form.submit();
},
errorContainer: "#messageBox"
});
$("#ipSelect").change(function(){
if($(this).prop("checked")){
$("[name^='ipCfg']").removeProp("disabled");
//解决select插件disbale后无法恢复
$(".bootstrap-select").removeClass("disabled");
$(".bootstrap-select button").removeClass("disabled");
$(".collapse").addClass("in");
myValidate(true);//开启ip校验
}else{
myValidate(false);//关闭ip校验
$(".collapse").removeClass("in");
$("[name^='ipCfg']").attr("disabled",true);
}
});
$(".district").on("change",function(){
var val=$(this).val().toLowerCase();
if("others"==val){
$(this).parent("div").siblings(".otherValue").prop("type","text");
var text=$(this).find("option:selected").text().toLowerCase();
var other=$(this).parent("div").siblings(".otherValue");
if("others"==text){
other.prop("type","text");
$(this).find("option").each(function(){
if(other.val()==$(this).text()){
other.val("");
return false;
}
});
}else{
$(this).parent("div").siblings(".otherValue").prop("type","hidden").attr("value","");
other.prop("type","hidden");
}
});
$(".otherValue").on("change",function(){
@@ -105,33 +234,149 @@ $(function(){
$("#cancel").on("click",function(){
window.history.back();
});
$("#cfgFrom").validate({
rules: {
'isAreaEffective':{
required:true
},
'requestId': {
required: true
}
},
messages: {
'isAreaEffective':{
required:'<spring:message code="required"/>'
},
'requestId': {
required: '<spring:message code="required"/>'
}
},
errorPlacement: function(error,element){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
form.submit();
},
errorContainer: "#messageBox"
});
myValidate();
});
function myValidate(flag) {
if (flag) {
myValidate(false);
$("#cfgFrom").validate();
$("[name=ipCfg\\[http_ip_cfg\\]\\.ipType]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcIp]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcIpMask]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcPort]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcPortMask]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstIp]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstIpMask]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstPort]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstPortMask]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.direction]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.protocol]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.isAreaEffective]").each(function(){
$(this).rules("add", {
required: true,
messages: {
required:'<spring:message code="required"/>'
}
});
});
} else {
$("[name=ipCfg\\[http_ip_cfg\\]\\.ipType]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcIp]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcIpMask]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcPort]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.srcPortMask]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstIp]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstIpMask]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstPort]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.dstPortMask]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.direction]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.protocol]").each(function(){
$(this).rules("remove");
});
$("[name=ipCfg\\[http_ip_cfg\\]\\.isAreaEffective]").each(function(){
$(this).rules("remove");
});
}
}
</script>
</head>
<body>
@@ -189,6 +434,10 @@ $(function(){
<c:when test="${otherTable.tableType eq '2'}">
<%@include file="/WEB-INF/include/form/multiple/stringInfo.jsp" %>
</c:when>
</c:choose>
</c:forEach>
<c:forEach items="${_cfg.otherTables}" var="otherTable">
<c:choose>
<c:when test="${otherTable.tableType eq '1'}">
<%@include file="/WEB-INF/include/form/multiple/ipInfo.jsp" %>
</c:when>

View File

@@ -72,6 +72,7 @@
<form:form id="searchForm" modelAttribute="cfg" action="${ctx}/cfg/multiple/list" method="post" class="form-search">
<input id="mainTable" name="mainTable" type="hidden" value="${mainTable}"/>
<input id="mainTableType" name="mainTableType" type="hidden" value="${mainTableType}"/>
<input id="mainTableDesc" name="mainTableDesc" type="hidden" value="${mainTableDesc}"/>
<input id="cfgType" name="cfgType" type="hidden" value="${cfgType}"/>
<input id="cfgName" name="cfgName" type="hidden" value="${cfgName}"/>
<input id="action" name="action" type="hidden" value="${action}"/>
@@ -269,24 +270,24 @@
<c:choose>
<%--增强字符串 --%>
<c:when test="${mainTableType eq '4'}">
<th>增强字符串<spring:message code="config_describe"/></th>
<th><spring:message code="${mainTableDesc}"/><spring:message code="config_describe"/></th>
<th><spring:message code="match_area"/></th>
<th><spring:message code="key_word"/></th>
</c:when>
<%--数值 --%>
<c:when test="${mainTableType eq '3'}">
<th><spring:message code="${mainTable}"/><spring:message code="config_describe"/></th>
<th><spring:message code="${mainTableDesc}"/><spring:message code="config_describe"/></th>
<th><spring:message code="数值下界"/></th>
<th><spring:message code="数值上界"/></th>
</c:when>
<%--字符串 --%>
<c:when test="${mainTableType eq '2'}">
<th>字符串<spring:message code="config_describe"/></th>
<th><spring:message code="${mainTableDesc}"/><spring:message code="config_describe"/></th>
<th><spring:message code="key_word"/></th>
</c:when>
<%--IP --%>
<c:when test="${mainTableType eq '1'}">
<th>ip<spring:message code="config_describe"/></th>
<th><spring:message code="${mainTableDesc}"/><spring:message code="config_describe"/></th>
<th>ip<spring:message code="type"/></th>
<th><spring:message code="client_ip"/></th>
<th><spring:message code="client_address_mask"/></th>
@@ -304,21 +305,21 @@
<%--遍历子表属性 --%>
<c:forEach items="${cfg.otherTables}" var="other" varStatus="status">
<c:if test="${other.tableType eq '4'}">
<th>增强字符串<spring:message code="config_describe"/></th>
<th><spring:message code="${other.tableDesc}"/><spring:message code="config_describe"/></th>
<th><spring:message code="match_area"/></th>
<th><spring:message code="key_word"/></th>
</c:if>
<c:if test="${other.tableType eq '3'}">
<th><spring:message code="${other.tableName}"/><spring:message code="config_describe"/></th>
<th><spring:message code="${other.tableDesc}"/><spring:message code="config_describe"/></th>
<th><spring:message code="数值下界"/></th>
<th><spring:message code="数值上界"/></th>
</c:if>
<c:if test="${other.tableType eq'2'}">
<th>字符串<spring:message code="config_describe"/></th>
<th><spring:message code="${other.tableDesc}"/><spring:message code="config_describe"/></th>
<th><spring:message code="key_word"/></th>
</c:if>
<c:if test="${other.tableType eq '1'}">
<th>ip<spring:message code="config_describe"/></th>
<th><spring:message code="${other.tableDesc}"/><spring:message code="config_describe"/></th>
<th>ip<spring:message code="type"/></th>
<th><spring:message code="client_ip"/></th>
<th><spring:message code="client_address_mask"/></th>
@@ -524,22 +525,22 @@
<c:if test="${audit==0}">
<c:choose>
<c:when test="${bean.isAudit eq '2'}">
<li><a href="${ctx}/cfg/multiple/updateForm?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/updateForm?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}&mainTableDesc=${mainTableDesc}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
</c:when>
<c:when test="${bean.isAudit eq '0'}">
<li><a href="${ctx}/cfg/multiple/updateForm?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/deleteCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/updateForm?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}&mainTableDesc=${mainTableDesc}" onclick="javascript:return confirm('sure', this.href)"><spring:message code="edit"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/deleteCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}&mainTableDesc=${mainTableDesc}" onclick="return confirm('sure', this.href)"><spring:message code="delete"></spring:message></a></li>
</c:when>
</c:choose>
</c:if>
<c:if test="${audit==1}">
<c:choose>
<c:when test="${bean.isAudit eq '1'}">
<li><a href="${ctx}/cfg/multiple/auditCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&isAudit=3&cfgName=${cfgName}&mainTable=${mainTable}" onclick="return confirm('sure', this.href)"><spring:message code="cancel"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/auditCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&isAudit=3&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}&mainTableDesc=${mainTableDesc}" onclick="return confirm('sure', this.href)"><spring:message code="cancel"></spring:message></a></li>
</c:when>
<c:when test="${bean.isAudit eq '0'}">
<li><a href="${ctx}/cfg/multiple/auditCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&isAudit=1&cfgName=${cfgName}&mainTable=${mainTable}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/auditCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&isAudit=2&cfgName=${cfgName}&mainTable=${mainTable}" onclick="return confirm('sure', this.href)"><spring:message code="unapproved"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/auditCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&isAudit=1&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}&mainTableDesc=${mainTableDesc}" onclick="return confirm('sure', this.href)"><spring:message code="approved"></spring:message></a></li>
<li><a href="${ctx}/cfg/multiple/auditCfg?serviceId=${bean.serviceId}&action=${bean.action}&compileId=${bean.compileId}&isAudit=2&cfgName=${cfgName}&mainTable=${mainTable}&mainTableType=${mainTableType}&mainTableDesc=${mainTableDesc}" onclick="return confirm('sure', this.href)"><spring:message code="unapproved"></spring:message></a></li>
</c:when>
</c:choose>
</c:if>

View File

@@ -159,10 +159,10 @@
$("#addBtn").attr("disabled", false);
} else if ($(obj).val() == '3') {
if ($(".table-list").length > 1) {
alert('<spring:message code="special_service_message"/>');
$(obj).val(v);
//alert('<spring:message code="special_service_message"/>');
//$(obj).val(v);
} else if ($(".table-list").length == 1) {
$("#addBtn").attr("disabled", true);
//$("#addBtn").attr("disabled", true);
} else if ($(".table-list").length == 0) {
$("#addBtn").attr("disabled", false);
}
@@ -241,7 +241,7 @@
'</div>'
);
$("[name=tableType]").selectpicker('refresh');
if ($("#serviceType").val() == '1' || $("#serviceType").val() == '3') {
if ($("#serviceType").val() == '1') {
$("#addBtn").attr("disabled", true);
}

File diff suppressed because one or more lines are too long