Merge branch 'develop' of https://git.mesalab.cn/K18_NTCS_WEB/NTC.git
into develop Conflicts: src/main/java/com/nis/domain/configuration/CfgIndexInfo.java src/main/resources/nis.properties src/main/webapp/WEB-INF/tags/sys/delRow.tag asn相关功能更改: IP ADDR:增加asn域 1、新增IP ADDR可选asn,如果asn未下发过(is_used=0),下发时asn的group需要标记为commonGroup(groupId为asn组织的groupId,regionId为asn的regionId)。 2、如果所选的asn组(asn组织的groupId)已经下发过(is_used=1),则下发maat时,asn域不需要下发。 3、策略取消时,如果有需要保留的公共组(commongRroupIds),需要将公共组的组号下发。 ASN GROUP: 1、新增asn,如果此asn的组织groupId已下发过(is_used=1),且此组织的groupId已被策略标记过全选(is_audit_all=1),则需要调用公共组域新增的接口,将新增的asn关键字下发。 2、修改asn,如果此asn的组织groupId已下发过(is_used=1),则需要调用公共组域修改的接口,修改已经下发的asn关键字域。 3、删除asn,如果此asn的组织groupId已下发过(is_used=1),则需要调用公共组域删除的接口,删除已经下发的asn关键字域。 ASN IP CFG: 1、新增asn ip,所选asn no的组首次下发(is_valid=0),需要将asn no的groupId标记为公共组;如果asn no非首次下发(is_valid=1),直接调用公共组新增域的接口。 2、修改 生效状态asn ip修改,调用公共组修改域接口直接修改 3、失效 直接调用公共组删除域接口,失效asn ip域
This commit is contained in:
@@ -47,7 +47,20 @@
|
||||
<c:if test="${serviceIndex eq 0}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq service.action }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
<c:if test="${service.functionId eq 200 }">
|
||||
<c:if test="${service.action eq 1 }">
|
||||
<spring:message code="intercept"/>
|
||||
</c:if>
|
||||
<c:if test="${service.action eq 128 }">
|
||||
<spring:message code="bypass"/>
|
||||
</c:if>
|
||||
<c:if test="${service.action ne 1 && service.action ne 128}">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<c:if test="${service.functionId ne 200 }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</label>
|
||||
|
||||
@@ -119,7 +119,7 @@ function update(url){
|
||||
}/* else if(cked.val()==3){
|
||||
top.$.jBox.tip("<spring:message code='cancel_approved'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
} */
|
||||
} */
|
||||
//处理asnIp,asn组下发过的ip配置不允许修改
|
||||
if(cked.attr("asnGroup")&&cked.attr("isValid")){
|
||||
var asnGroup=cked.attr("asnGroup");
|
||||
@@ -373,6 +373,7 @@ function cancelPassOpt(url){
|
||||
function validateAllNoAudit(checkboxes){
|
||||
var flag = false;
|
||||
$(checkboxes).filter(":checked").each(function(){
|
||||
//alert($(this).val());
|
||||
if($(this).val()!=0){
|
||||
flag = true;
|
||||
return;
|
||||
@@ -392,6 +393,18 @@ function cancelPassOpt(url){
|
||||
});
|
||||
return flag;
|
||||
}
|
||||
//验证是否可删除
|
||||
function validateIsDelete(checkboxes){
|
||||
var flag = false;
|
||||
$(checkboxes).filter(":checked").each(function(){
|
||||
//alert($(this).val());
|
||||
if($(this).val()!=0 && $(this).val()!=3){//状态为3的配置为取消审核的配置,可删除
|
||||
flag = true;
|
||||
return;
|
||||
}
|
||||
});
|
||||
return flag;
|
||||
}
|
||||
//验证选择的配置,是否有审核通过的
|
||||
function validatePass(checkboxes){
|
||||
var flag = false;
|
||||
|
||||
@@ -95,8 +95,11 @@ $(function(){
|
||||
<!-- BEGIN FORM-->
|
||||
<form id="cfgFrom" action="${ctx}/basics/asn/update" method="post" class="form-horizontal">
|
||||
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
||||
<input type="hidden" name="regionId" value="${_cfg.regionId}">
|
||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||
<input type="hidden" name="functionId" value="${_cfg.functionId}">
|
||||
<input type="hidden" name="isValid" value="${_cfg.isValid}">
|
||||
<input type="hidden" name="isAudit" value="${_cfg.isAudit}">
|
||||
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
|
||||
<input type="hidden" id="isAreaEffective" name="isAreaEffective" value="0">
|
||||
<input type="hidden" id="requestId" name="requestId" value="${_cfg.requestId}">
|
||||
@@ -135,7 +138,7 @@ $(function(){
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ASN"/></label>
|
||||
<div class="col-md-6">
|
||||
<!-- <select name="userRegion1" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search"></select> -->
|
||||
<input class="form-control required digits asnMustExists" type="text" name="userRegion1" value="${_cfg.userRegion1}" ctx="${ctx}">
|
||||
<input class="form-control required digits asnMustExists" type="text" name="userRegion1" value="${_cfg.userRegion1}" ctx="${ctx}" <c:if test="${_cfg.isAudit eq 1}">readonly="readonly"</c:if>/>
|
||||
</div>
|
||||
<div for="userRegion1"></div>
|
||||
</div>
|
||||
|
||||
490
src/main/webapp/WEB-INF/views/cfg/app/appCommonFeature.jsp
Normal file
490
src/main/webapp/WEB-INF/views/cfg/app/appCommonFeature.jsp
Normal file
@@ -0,0 +1,490 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
|
||||
</head>
|
||||
<%-- <c:forEach items="${regionList}" var="regionDistrict">
|
||||
<c:if
|
||||
test="${cfg.functionId eq regionDistrict.functionId
|
||||
and regionDistrict.regionType eq 3
|
||||
and regionValue eq regionDistrict.configRegionValue}"> --%>
|
||||
<!-- regionDistrict.regionType==3表示增强字符串类配置 -->
|
||||
<input type="hidden" name="${cfgName}.cfgType" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="${cfgName}.cfgRegionCode" serviceType="${region.configServiceType }" value="${region.configRegionCode }">
|
||||
<input type="hidden" name="${cfgName}.configMultiKeywords" value="${region.configMultiKeywords }">
|
||||
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType }">
|
||||
<input type="hidden" name="${cfgName}.configHex" value="${region.configHex }">
|
||||
<%-- </c:if>
|
||||
</c:forEach> --%>
|
||||
|
||||
<div class="row">
|
||||
<div class="pull-right">
|
||||
<span class="glyphicon glyphicon-remove pull-right" title="remove"
|
||||
onClick="delContent('${tabName}${status.index}','${tabName}Add');" />
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<c:if test="${!empty region.configDistrict }">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<spring:message code="district" /></label>
|
||||
<div class="col-md-6">
|
||||
<select name="${cfgName}.district"
|
||||
class="selectpicker show-tick form-control required district" onchange="changeDistrict($(this))">
|
||||
<c:forEach items="${fn:split(region.configDistrict,',')}"
|
||||
var="_district">
|
||||
<option value="${_district }"
|
||||
<c:if test="${cfg.district==_district}">selected</c:if>>${_district }</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<input type="hidden" name="${cfgName}.districtShowName" maxlength="64" placeholder="<spring:message code='please_input'/> <spring:message code='custom_region'/>" class="otherValue form-control invisibleChar" value="${cfg.district}"/>
|
||||
</div>
|
||||
<div for="${cfgName}.districtShowName"></div>
|
||||
<div for="${cfgName}.district"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="row keywords">
|
||||
<c:if test="${isP2pHashCfg}">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="p2p_hash_type"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="userRegion1" class="selectpicker show-tick form-control">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${fns:getDictList('P2P_HASH_TYPE')}" var="hashType">
|
||||
<option value="${hashType.itemCode}" <c:if test="${_cfg.userRegion1==hashType.itemCode}">selected</c:if> ><spring:message code="${hashType.itemValue}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div for="userRegion1"></div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<c:choose>
|
||||
<c:when test="${fn:containsIgnoreCase(region.configServiceType,'domain') }">
|
||||
<spring:message code="domain" />
|
||||
</c:when>
|
||||
<c:when test="${fn:containsIgnoreCase(region.configServiceType,'url') }">
|
||||
<spring:message code="URL" />
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="keywords" />
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</label>
|
||||
|
||||
<!-- 此配置的关键词可以输入多个关键词 -->
|
||||
<c:if test="${region.configMultiKeywords eq 1}">
|
||||
<div class="col-md-6">
|
||||
<input class="form-control required tags" type="text" id="tags_${tabName}${status.index}"
|
||||
name="${cfgName}.cfgKeywords"
|
||||
value="${cfg.cfgKeywords}">
|
||||
</div>
|
||||
</c:if>
|
||||
<!-- 此配置的关键词不允许输入多个关键词 -->
|
||||
<c:if test="${(region.configMultiKeywords eq 0) or (empty region.configMultiKeywords)}">
|
||||
<div class="col-md-6">
|
||||
|
||||
<input class="form-control required invisibleChar
|
||||
<c:if test="${fn:containsIgnoreCase(region.configServiceType,'domain') }"> domainCheck </c:if>
|
||||
"
|
||||
type="text"
|
||||
name="${cfgName}.cfgKeywords"
|
||||
value="${cfg.cfgKeywords}">
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<div for="${cfgName}.cfgKeywords"></div>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${serviceId eq 1025}">
|
||||
<div class="col-md-6 offsetFeature hidden">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<spring:message code="offset" /></label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control required digest" type="text" max="1460"
|
||||
name="${cfgName}.payloadOffset"
|
||||
value="${cfg.payloadOffset}">
|
||||
</div>
|
||||
<div for="${cfgName}.payloadOffset"></div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<!-- 域名拦截增加拦截强度 -->
|
||||
<c:if test="${_cfg.functionId eq 200}">
|
||||
<div class="col-md-6 hidden intensity">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<spring:message code="intercept_intensity" />
|
||||
</label>
|
||||
<div class="col-md-6">
|
||||
<select name="userRegion5"
|
||||
class="selectpicker show-tick form-control required">
|
||||
<c:forEach items="${fns:getDictList('INTERCEPT_DOMAIN_INTENSITY')}" var="intensityC">
|
||||
<option value="${intensityC.itemCode}" <c:if test="${_cfg.userRegion5==intensityC.itemCode || (empty _cfg.userRegion5 && intensityC.itemCode eq 1)}">selected</c:if>><spring:message code="${intensityC.itemValue}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div for="userRegion5"></div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<c:if test="${serviceId eq 1025}">
|
||||
<%-- <div class="row col-md-6 offsetFeature hidden">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<spring:message code="offset" /></label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control required digest" type="text" max="1460"
|
||||
name="${cfgName}.payloadOffset"
|
||||
value="${cfg.payloadOffset}">
|
||||
</div>
|
||||
<div for="${cfgName}.payloadOffset"></div>
|
||||
</div>
|
||||
</div> --%>
|
||||
<%-- <div class="row offsetFeature hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<spring:message code="keywords" /></label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control required" type="text"
|
||||
name="${cfgName}.cfgKeywords"
|
||||
value="${cfg.cfgKeywords}">
|
||||
</div>
|
||||
<div for="${cfgName}.cfgKeywords"></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="offset" /></label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control required digest" type="text" maxlength="1460"
|
||||
name="${cfgName}.payloadOffset"
|
||||
value="${cfg.payloadOffset}">
|
||||
</div>
|
||||
<div for="${cfgName}.payloadOffset"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
|
||||
<div class="l3_header_tips"></div>
|
||||
<div class="row L3_header">
|
||||
<input class="form-control headerType" type="hidden" name="${cfgName}.headerType" value="${cfg.headerType}">
|
||||
</div>
|
||||
|
||||
<%-- <div class="row IP_header hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="VER" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="4" maxlength="4" type="text" name="${cfgName}.ver" value="${cfg.ver}">
|
||||
</div>
|
||||
<div for="${cfgName}.ver"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="IHL" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="4" maxlength="4" type="text" name="${cfgName}.ihl" value="${cfg.ihl}">
|
||||
</div>
|
||||
<div for="${cfgName}.ihl"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="row IP_header hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="TOS" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="2" maxlength="2" type="text" name="${cfgName}.tos" value="${cfg.tos}">
|
||||
</div>
|
||||
<div for="${cfgName}.tos"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="Total Length" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="4" maxlength="4" type="text" name="${cfgName}.totalLength" value="${cfg.totalLength}">
|
||||
</div>
|
||||
<div for="${cfgName}.totalLength"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row IP_header hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="Protocol" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="2" maxlength="2" type="text" name="${cfgName}.protocol" value="${cfg.protocol}">
|
||||
</div>
|
||||
<div for="${cfgName}.protocol"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="client_ip" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="8" maxlength="8" type="text" name="${cfgName}.fragmentOffset" value="${cfg.fragmentOffset}">
|
||||
</div>
|
||||
<div for="${cfgName}.fragmentOffset"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row IP_header hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="server_ip" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="8" maxlength="8" type="text" name="${cfgName}.flags" value="${cfg.flags}">
|
||||
</div>
|
||||
<div for="${cfgName}.flags"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row ICMP_header hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="ICMP type" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="2" maxlength="2" type="text" name="${cfgName}.icmpType" value="${cfg.icmpType}">
|
||||
</div>
|
||||
<div for="${cfgName}.icmpType"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="ICMP code" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="2" maxlength="2" type="text" name="${cfgName}.icmpCode" value="${cfg.icmpCode}">
|
||||
</div>
|
||||
<div for="${cfgName}.icmpCode"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row ICMP_header hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="ICMP identifier" /> </label>
|
||||
<div class="col-md-6">
|
||||
<input class="form-control l3_header_prop hexCheck" minlength="4" maxlength="32" type="text" name="${cfgName}.icmpIdentifier" value="${cfg.icmpIdentifier}">
|
||||
</div>
|
||||
<div for="${cfgName}.icmpIdentifier"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="row">
|
||||
<div class="col-md-6 exprType">
|
||||
<div class="form-group">
|
||||
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<spring:message code="expression_type" /></label>
|
||||
<div class="col-md-6">
|
||||
<c:if test="${!empty region.configExprType}">
|
||||
<c:forEach var="exprType" items="${fn:split(region.configExprType,',')}" varStatus="stat" >
|
||||
<c:forEach items="${fns:getDictList('EXPRESSION_TYPE')}" var="exprTypeC" >
|
||||
<c:if test="${exprTypeC.itemCode eq exprType}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio"
|
||||
name="${cfgName}.exprType" value="${exprType }"
|
||||
class="required"
|
||||
<%-- <c:if test="${stat.index == 0 }"> checked </c:if> --%>
|
||||
<c:if test="${cfg.exprType eq exprType || (empty cfg.exprType && exprType eq 0)}">
|
||||
checked
|
||||
</c:if>
|
||||
>
|
||||
<spring:message code="${exprTypeC.itemValue }" />
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<c:if test="${empty region.configExprType}">
|
||||
<c:forEach items="${fns:getDictList('EXPRESSION_TYPE')}" var="exprTypeC">
|
||||
<c:if test="${exprTypeC.itemCode eq 0}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio"
|
||||
name="${cfgName}.exprType" value="${exprTypeC.itemCode }"
|
||||
class="required" checked >
|
||||
<spring:message code="${exprTypeC.itemValue }" />
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</div>
|
||||
<div for="${cfgName}.exprType"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 matchMethod">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><font color="red">*</font>
|
||||
<spring:message code="match_method" /></label>
|
||||
<div class="col-md-6">
|
||||
<select name="${cfgName}.matchMethod"
|
||||
class="selectpicker select2 form-control required ">
|
||||
<c:if test="${!empty region.configMatchMethod}">
|
||||
<c:forEach var="matchMethod" items="${fn:split(region.configMatchMethod,',')}">
|
||||
<c:forEach items="${fns:getDictList('MATCH_METHOD')}" var="matchMethodC">
|
||||
<c:if test="${matchMethodC.itemCode eq matchMethod}">
|
||||
<option value="${matchMethodC.itemCode}"
|
||||
<c:if test="${cfg.matchMethod eq matchMethod || (empty cfg.matchMethod && matchMethod eq 0)}">
|
||||
selected
|
||||
</c:if>
|
||||
>
|
||||
<spring:message code="${matchMethodC.itemValue}"/>
|
||||
</option>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<c:if test="${empty region.configMatchMethod}">
|
||||
<c:forEach items="${fns:getDictList('MATCH_METHOD')}" var="matchMethodC">
|
||||
<c:if test="${matchMethodC.itemCode eq 0}">
|
||||
<option value="${matchMethodC.itemCode}"
|
||||
selected
|
||||
>
|
||||
<spring:message code="${matchMethodC.itemValue}"/>
|
||||
</option>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</select>
|
||||
</div>
|
||||
<div for="${cfgName}.matchMethod"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row <c:if test="${fn:length(fn:split(region.configHex,',')) ==1}">hidden</c:if>">
|
||||
<c:if test="${!empty region.configHex}">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="is_hex"/></label>
|
||||
<div class="col-md-6">
|
||||
<!-- isP2pHashCfg: P2PHash配置只能是十六进制字符 -->
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="${cfgName}.isHex" value="1" class="required"
|
||||
><spring:message code="hex"/>
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="${cfgName}.isHex" value="0" class="required"
|
||||
><spring:message code="not_hex"/>
|
||||
</label>
|
||||
</div>
|
||||
<div for="${cfgName}.isHex"></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="is_case_insenstive"/></label>
|
||||
<div class="col-md-6">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="${cfgName}.isCaseSenstive" value="1" class="required"
|
||||
><spring:message code="case_senstive"/>
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="${cfgName}.isCaseSenstive" value="0" class="required"
|
||||
><spring:message code="case_insenstive"/>
|
||||
</label>
|
||||
</div>
|
||||
<div for="${cfgName}.isCaseInsenstive"></div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${empty region.configHex}">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="is_hex"/></label>
|
||||
<div class="col-md-6">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="${cfgName}.isHex" value="0" class="required" checked
|
||||
><spring:message code="not_hex"/>
|
||||
</label>
|
||||
</div>
|
||||
<div for="${cfgName}.isHex"></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="is_case_insenstive"/></label>
|
||||
<div class="col-md-6">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="${cfgName}.isCaseSenstive" value="0" class="required"
|
||||
checked
|
||||
><spring:message code="case_insenstive"/>
|
||||
</label>
|
||||
</div>
|
||||
<div for="${cfgName}.isCaseInsenstive"></div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="row hidden">
|
||||
<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>
|
||||
<div class="col-md-6">
|
||||
<select name="${cfgName}.isHexbin"
|
||||
class="selectpicker select2 form-control required">
|
||||
<c:if test="${!empty region.configHex}">
|
||||
<c:forEach var="isHexbin" items="${fn:split(region.configHex,',')}">
|
||||
<c:forEach items="${fns:getDictList('WHETHER_HEXBINARY')}" var="isHexbinC">
|
||||
<c:if test="${isHexbinC.itemCode eq isHexbin}">
|
||||
<option value="${isHexbinC.itemCode}"
|
||||
<c:if test="${cfg.isHexbin eq isHexbin || (empty isHexbin && isHexbin eq 0)}">
|
||||
selected
|
||||
</c:if>
|
||||
>
|
||||
<spring:message code="${isHexbinC.itemValue}"/>
|
||||
</option>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<c:if test="${empty region.configHex}">
|
||||
|
||||
<c:forEach items="${fns:getDictList('WHETHER_HEXBINARY')}" var="isHexbinC">
|
||||
<c:if test="${isHexbinC.itemCode eq 0}">
|
||||
<option value="${isHexbinC.itemCode}" selected >
|
||||
<spring:message code="${isHexbinC.itemValue}"/>
|
||||
</option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
</c:if>
|
||||
</select>
|
||||
</div>
|
||||
<div for="${cfgName}.isHexbin"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
<script type="text/javascript">
|
||||
function changeDistrict(obj){
|
||||
if("others"==obj.val()){
|
||||
obj.parent().siblings(".otherValue").prop("type","text");
|
||||
}else{
|
||||
obj.parent().siblings(".otherValue").prop("type","hidden");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -228,6 +228,7 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row hidden">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
@@ -237,10 +238,11 @@ $(function(){
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
regionCode="${service.regionCode}"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
|
||||
@@ -9,9 +9,9 @@ $(function(){
|
||||
$("#serviceId").val($(this).attr("serviceId"));
|
||||
});
|
||||
$(".district").on("change", function() {
|
||||
if($(this).val()=='L3_header'){
|
||||
if($(this).val()=='L3_header_IP'||$(this).val()=='L3_header_ICMP'){
|
||||
$(this).parents(".boxSolid").find(".keywords").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").find("input[name$='headerType']").val($(this).val());
|
||||
$(this).parents(".boxSolid").find(".matchMethod").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".exprType").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find("input:radio[name$='isHex'][value=1]").prop("checked",true);
|
||||
@@ -21,7 +21,7 @@ $(function(){
|
||||
$(this).parents(".boxSolid").find(".headerType").change();
|
||||
}else{
|
||||
$(this).parents(".boxSolid").find(".keywords").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".L3_header").find("input[name$='headerType']").val("");
|
||||
$(this).parents(".boxSolid").find(".matchMethod").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".exprType").removeClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".IP_header").addClass("hidden");
|
||||
@@ -32,7 +32,7 @@ $(function(){
|
||||
});
|
||||
|
||||
$(".headerType").on("change", function() {
|
||||
if($(this).val()=='IP_header'){
|
||||
if($(this).val()=='L3_header_IP'){
|
||||
$(this).parents(".boxSolid").find(".ICMP_header").addClass("hidden");
|
||||
$(this).parents(".boxSolid").find(".IP_header").removeClass("hidden");
|
||||
}else{
|
||||
@@ -40,10 +40,24 @@ $(function(){
|
||||
$(this).parents(".boxSolid").find(".ICMP_header").removeClass("hidden");
|
||||
}
|
||||
});
|
||||
$("input:radio[name$='exprType']").on("change",function(){
|
||||
var exprType = $(this).val();
|
||||
changeKeywordFormate(exprType,$(this));
|
||||
});
|
||||
|
||||
$(".boxSolid:visible").find(".district").each(function(){
|
||||
$(this).change();
|
||||
});
|
||||
$("#serviceId").val($(".action:checked").attr("serviceId"));
|
||||
|
||||
if($("#serviceId").val()==1025 && $("#cfgId").val()!=null){
|
||||
$("input:radio[name$='exprType']").each(function(){
|
||||
if($(this).attr("checked") && $(this).val()==3){
|
||||
changeKeywordFormate($(this).val(),$(this));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("#cfgFrom").validate({
|
||||
errorPlacement: function(error,element){
|
||||
if($(element).parents().hasClass("tagsinput")){
|
||||
@@ -60,10 +74,9 @@ $(function(){
|
||||
return;
|
||||
}
|
||||
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){
|
||||
|
||||
if($(this).val()==''){
|
||||
var length = 0;
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop").each(function(){
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop:visible").each(function(){
|
||||
if($(this).val()!=''){
|
||||
length += 1;
|
||||
}
|
||||
@@ -82,7 +95,7 @@ $(function(){
|
||||
|
||||
}else{
|
||||
var length = 0;
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop").each(function(){
|
||||
$(this).parents(".boxSolid").find(".l3_header_prop:visible").each(function(){
|
||||
if($(this).val()!=''){
|
||||
length += 1;
|
||||
}
|
||||
@@ -139,7 +152,13 @@ $(function(){
|
||||
$(".disabled").each(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
$("input[name$='exprType']").attr("disabled",false);
|
||||
|
||||
if($("input[name$='exprType']").attr("disabled")){
|
||||
$("input[name$='exprType']").attr("disabled",false);
|
||||
}
|
||||
/* $(".boxSolid:visible").each(function(){
|
||||
alert($(this).find("select[name$='matchMethod'] option[selected]").val());
|
||||
}) */
|
||||
$("#appCode").val($("#specServiceIdId").val());
|
||||
loading('onloading...');
|
||||
form.submit();
|
||||
@@ -172,6 +191,36 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
}); */
|
||||
$("." + addBtnClassName).removeClass("hidden");
|
||||
}
|
||||
function changeKeywordFormate(exprType,obj){
|
||||
if(exprType==3){
|
||||
var keywordObj = $(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']");
|
||||
if($(keywordObj).val().indexOf("***and***")>0){
|
||||
$(keywordObj).val($(keywordObj).val().split('***and***').join(''));
|
||||
}
|
||||
if($(keywordObj).val().indexOf(":")>0){
|
||||
$(keywordObj).val($(keywordObj).val().substr($(keywordObj).val().indexOf(":")+1));
|
||||
}
|
||||
|
||||
//$(this).parents(".boxSolid").find(".keywords").addClass("hidden");
|
||||
//$(this).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").attr("id").replace("tags","multipKeywords");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").css("display","block");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").addClass("hexCheck");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").next("div").addClass("hidden");
|
||||
$(obj).parents(".boxSolid").find(".offsetFeature").removeClass("hidden");
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isHex'][value=1]").prop("checked",true);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isCaseSenstive'][value=0]").prop("checked",true);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isHex']").attr("disabled",true);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isCaseSenstive']").attr("disabled",true);
|
||||
}else{
|
||||
//$(this).parents(".boxSolid").find(".keywords").removeClass("hidden");
|
||||
//$(this).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").attr("id").replace("multipKeywords","tags");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").css("display","none");
|
||||
$(obj).parents(".boxSolid").find(".keywords").find("input[name$='cfgKeywords']").next("div").removeClass("hidden");
|
||||
$(obj).parents(".boxSolid").find(".offsetFeature").addClass("hidden");
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isHex']").attr("disabled",false);
|
||||
$(obj).parents(".boxSolid").find("input:radio[name$='isCaseSenstive']").attr("disabled",false);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -208,7 +257,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<!-- BEGIN FORM-->
|
||||
<form id="cfgFrom" action="${ctx}/app/feature/saveAppMultiFeatureCfg"
|
||||
method="post" class="form-horizontal">
|
||||
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
||||
<input type="hidden" name="cfgId" id="cfgId" value="${_cfg.cfgId}">
|
||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||
<input type="hidden" name="functionId" value="${_cfg.functionId}">
|
||||
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
|
||||
@@ -355,7 +404,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="isBreak" value="true"></c:set>
|
||||
<c:set var="complexCfgIndex"
|
||||
@@ -368,7 +417,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="complexCfgIndex" value="${complexCfgIndex+1 }"></c:set>
|
||||
</c:if>
|
||||
@@ -380,7 +429,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="complexCfgIndex" value="${complexCfgIndex+1 }"></c:set>
|
||||
</c:otherwise>
|
||||
@@ -407,7 +456,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
|
||||
<div
|
||||
class="row boxSolid ${tabName}${status.index}">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
@@ -421,7 +470,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<c:if test="${!isBreak}">
|
||||
<div
|
||||
class="row boxSolid ${tabName}${status.index} hidden disabled">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="strCfgIndex"
|
||||
value="${strCfgIndex+1 }"></c:set>
|
||||
@@ -434,7 +483,7 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
|
||||
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
<%@include file="/WEB-INF/views/cfg/app/appCommonFeature.jsp"%>
|
||||
</div>
|
||||
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>
|
||||
</c:otherwise>
|
||||
|
||||
@@ -296,7 +296,14 @@ var delContent = function(contentClassName, addBtnClassName) {
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq service.action }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
<c:choose>
|
||||
<c:when test="${service.action eq 16}">
|
||||
<spring:message code="block_drop"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
@@ -423,7 +423,14 @@
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq cfg.action }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
<c:choose>
|
||||
<c:when test="${cfg.action eq 16}">
|
||||
<spring:message code="block_drop"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
|
||||
@@ -257,9 +257,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${cfg.serviceId eq 1025 }">
|
||||
<c:if test="${cfg.headerType eq 'IP_header' }">
|
||||
<c:if test="${cfg.district eq 'L3_header_IP' }">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<%-- <div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='VER' />: ${cfg.ver}</label>
|
||||
</div>
|
||||
@@ -268,7 +268,7 @@
|
||||
<div class="form-group">
|
||||
<label><spring:message code='IHL' />: ${cfg.ihl}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='TOS' />: ${cfg.tos}</label>
|
||||
@@ -283,24 +283,24 @@
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='Flags' />: ${cfg.flags}</label>
|
||||
<label><spring:message code='Protocol' />: ${cfg.protocol}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='fragment offset' />: ${cfg.fragmentOffset}</label>
|
||||
<label><spring:message code='client_ip' />: ${cfg.fragmentOffset}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='Protocol' />: ${cfg.protocol}</label>
|
||||
<label><spring:message code='server_ip' />: ${cfg.flags}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${cfg.headerType eq 'ICMP_header' }">
|
||||
<c:if test="${cfg.district eq 'L3_header_ICMP' }">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
@@ -319,11 +319,20 @@
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${empty cfg.headerType}">
|
||||
<c:if test="${cfg.district ne 'L3_header_ICMP' and cfg.district ne 'L3_header_IP'}">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />: ${fn:replace(cfg.cfgKeywords, "***and***", " ")}</label>
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />:
|
||||
<c:choose>
|
||||
<c:when test="${cfg.exprType eq 3 }">
|
||||
${fn:substringAfter(cfg.cfgKeywords,":") }
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
${fn:replace(cfg.cfgKeywords, "***and***", " ")}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -333,26 +342,38 @@
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />: ${fn:replace(cfg.cfgKeywords, "***and***", " ")}</label>
|
||||
<label class="keyword-disinline"><spring:message code='keywords' />:
|
||||
${fn:replace(cfg.cfgKeywords, "***and***", " ")}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='expression_type' />:</label>
|
||||
<label>
|
||||
<c:choose>
|
||||
<c:when test="${cfg.exprType eq 1}"><spring:message code='and_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 0}"><spring:message code='null_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 3}"><spring:message code='offset_expression'/></c:when>
|
||||
</c:choose>
|
||||
</label>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='expression_type' />:</label>
|
||||
<label>
|
||||
<c:choose>
|
||||
<c:when test="${cfg.exprType eq 1}"><spring:message code='and_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 0}"><spring:message code='null_expression'/></c:when>
|
||||
<c:when test="${cfg.exprType eq 3}"><spring:message code='offset_expression'/></c:when>
|
||||
</c:choose>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${cfg.exprType eq 3 and cfg.district eq 'Payload' }">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='offset' />:</label>
|
||||
${cfg.payloadOffset }
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
|
||||
@@ -216,9 +216,10 @@ $(function(){
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
|
||||
55
src/main/webapp/WEB-INF/views/cfg/asnForm.jsp
Normal file
55
src/main/webapp/WEB-INF/views/cfg/asnForm.jsp
Normal file
@@ -0,0 +1,55 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
</head>
|
||||
<div class="row">
|
||||
<div class="pull-right">
|
||||
<span class="glyphicon glyphicon-remove pull-right" title="remove"
|
||||
onClick="delContent('${tabName}${status.index}','${tabName}Add');" />
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<input type="hidden" name="${cfgName}.cfgType" value="${region.configRegionValue }">
|
||||
<input type="hidden" name="${cfgName}.cfgRegionCode" serviceType="${region.configServiceType }" value="${region.configRegionCode }">
|
||||
<input type="hidden" name="${cfgName}.configMultiKeywords" value="${region.configMultiKeywords }">
|
||||
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType }">
|
||||
<input type="hidden" name="${cfgName}.configHex" value="${region.configHex }">
|
||||
<input type="hidden" name="${cfgName}.exprType" value="0">
|
||||
<input type="hidden" name="${cfgName}.machMethod" value="3">
|
||||
<input type="hidden" name="${cfgName}.isHexbin" value="0">
|
||||
<input type="hidden" name="${cfgName}.cfgId" value="${cfg.cfgId}">
|
||||
<!-- 是否自动更新ASN NO -->
|
||||
<input type="hidden" name="${cfgName}.userRegion2" value="${cfg.userRegion2}">
|
||||
<div class="hidden" id="selectAll"><spring:message code="select_All_Text"/></div>
|
||||
<div class="hidden" id="deselectAll"><spring:message code="deselect_All_Text"/></div>
|
||||
<input type="hidden" name="${cfgName}.organizationGroupId" value="${cfg.userRegion1}">
|
||||
<input type="hidden" name="${cfgName}.asnNo" value="${cfg.cfgKeywords}" used="false">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="organization"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="${cfgName}.userRegion1" class="selectpicker show-tick form-control required organization" data-live-search="true" data-live-search-placeholder="search">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
</select>
|
||||
</div>
|
||||
<div for="${cfgName}.userRegion1"></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="asn_no"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="${cfgName}.cfgKeywords" class="selectpicker show-tick form-control asnNo required" multiple data-live-search="true" data-actions-box="true" data-live-search-placeholder="search" >
|
||||
</select>
|
||||
</div>
|
||||
<div for="${cfgName}.cfgKeywords"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</html>
|
||||
<script src="${pageContext.request.contextPath}/static/global/scripts/asnRegion.js" type="text/javascript"></script>
|
||||
@@ -13,9 +13,9 @@
|
||||
$(document)
|
||||
.ready(
|
||||
function() {
|
||||
if($("input[name='compileId']").val()==null||$("input[name='compileId']").val()==''){
|
||||
/* if($("input[name='compileId']").val()==null||$("input[name='compileId']").val()==''){
|
||||
$("input[name=doLog][value=1]").prop("checked",true);
|
||||
}
|
||||
} */
|
||||
/* $(".glyphicon-plus").first().click(); */
|
||||
/* $("#cancel").on("click", function() {
|
||||
window.history.back();
|
||||
@@ -217,8 +217,8 @@
|
||||
|
||||
</div>
|
||||
<!-- dolog begin-->
|
||||
<div class="row doLog">
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-6 doLog">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
|
||||
@@ -363,9 +363,10 @@ function sampleFileValidate(fileType,fileName){
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
@@ -382,6 +383,7 @@ function sampleFileValidate(fileType,fileName){
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
@@ -453,11 +455,6 @@ function sampleFileValidate(fileType,fileName){
|
||||
<div id="fileErrorNote"></div>
|
||||
|
||||
</div>
|
||||
<c:if test="${_cfg.functionId eq 28 or _cfg.functionId eq 29 }">
|
||||
<div style="margin-bottom:5px">
|
||||
<span style="color: red;font-size: 16px;letter-spacing: 0px;"> <spring:message code="av_tips"></spring:message></span>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<%-- <div class="col-md-6">
|
||||
<div class="form-group">
|
||||
@@ -496,7 +493,38 @@ function sampleFileValidate(fileType,fileName){
|
||||
<div for="level"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row doLog">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<c:if test="${_cfg.functionId eq 28 or _cfg.functionId eq 29 }">
|
||||
<div style="margin-bottom:5px">
|
||||
<span style="color: red;font-size: 16px;letter-spacing: 0px;"> <spring:message code="av_tips"></spring:message></span>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<%-- <div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
@@ -521,6 +549,10 @@ function sampleFileValidate(fileType,fileName){
|
||||
</div>
|
||||
</div> --%>
|
||||
<%-- <%@include file="/WEB-INF/include/form/areaInfo.jsp" %> --%>
|
||||
<!-- dolog begin-->
|
||||
|
||||
|
||||
<!-- dolog end-->
|
||||
<input type="hidden" name="isAreaEffective" value="0">
|
||||
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
|
||||
</div>
|
||||
|
||||
@@ -168,6 +168,7 @@ $(function(){
|
||||
<input type="radio" name="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDoLog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
@@ -183,6 +184,31 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- dolog begin-->
|
||||
<div class="row doLog">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- dolog end-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group ">
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
$(document)
|
||||
.ready(
|
||||
function() {
|
||||
if($("input[name='compileId']").val()==null||$("input[name='compileId']").val()==''){
|
||||
/* if($("input[name='compileId']").val()==null||$("input[name='compileId']").val()==''){
|
||||
$("input[name=doLog][value=1]").prop("checked",true);
|
||||
}
|
||||
} */
|
||||
$(".glyphicon-plus").first().click();
|
||||
/* $("#cancel").on("click", function() {
|
||||
window.history.back();
|
||||
@@ -217,8 +217,8 @@
|
||||
|
||||
</div>
|
||||
<!-- dolog begin-->
|
||||
<div class="row doLog">
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-6 doLog">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
|
||||
@@ -250,7 +250,14 @@ var switchRateLimitType=function(){
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq service.action }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
<c:choose>
|
||||
<c:when test="${service.action eq 16}">
|
||||
<spring:message code="block_drop"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
@@ -425,7 +425,14 @@
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq cfg.action }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
<c:choose>
|
||||
<c:when test="${cfg.action eq 16}">
|
||||
<spring:message code="block_drop"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
|
||||
@@ -148,6 +148,7 @@ $(function(){
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
regionCode="${service.regionCode }"
|
||||
configDoLog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.serviceId==service.serviceId || (_cfg.serviceId==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
|
||||
@@ -390,7 +390,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq cfg.doLog }">
|
||||
<c:if test="${dict.itemCode eq cfg.doLog and cfg.action!=64 }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
@@ -104,10 +104,11 @@ $(function(){
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
regionCode="${service.regionCode }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
@@ -124,6 +125,29 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
<!-- desc and action -->
|
||||
<!-- dolog begin-->
|
||||
<!-- <div class="row doLog"> -->
|
||||
<div class="col-md-6 hidden">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
<!-- dolog end-->
|
||||
<%-- <%@include file="/WEB-INF/include/form/complexIpInfo.jsp" %> --%>
|
||||
<div class="row ipInfo">
|
||||
<div class="row">
|
||||
|
||||
@@ -278,7 +278,14 @@ var switchRateLimitType=function(){
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq service.action }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
<c:choose>
|
||||
<c:when test="${service.action eq 16}">
|
||||
<spring:message code="block_drop"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
@@ -423,7 +423,14 @@
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq cfg.action }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
<c:choose>
|
||||
<c:when test="${cfg.action eq 16}">
|
||||
<spring:message code="block_drop"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
|
||||
@@ -209,9 +209,10 @@
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }"
|
||||
@@ -274,27 +275,31 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<%-- <div class="row">
|
||||
<div class="col-md-6" hidden="true" >
|
||||
<!-- dolog begin-->
|
||||
|
||||
<div class="row doLog">
|
||||
<div class="col-md-6 " hidden="true" >
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="0" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="0" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
</div>
|
||||
|
||||
<!-- dolog end-->
|
||||
<!-- subscribeId配置 -->
|
||||
<c:set var="subscribeIdCfgIndex" value="0"></c:set>
|
||||
<c:forEach items="${regionList}" var="region" varStatus="status">
|
||||
|
||||
@@ -507,7 +507,7 @@
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDoLog="${service.configDoLog }"
|
||||
|
||||
@@ -626,7 +626,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog }">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog and indexCfg.action!=64 }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
@@ -210,9 +210,10 @@ function privateFileValidate(){
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
@@ -228,6 +229,29 @@ function privateFileValidate(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- dolog begin-->
|
||||
<!-- <div class="row doLog"> -->
|
||||
<div class="col-md-6 hidden">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
<!-- dolog end-->
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
|
||||
@@ -118,9 +118,10 @@ function certFileValidate(){
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
@@ -136,6 +137,30 @@ function certFileValidate(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- dolog begin-->
|
||||
<!-- <div class="row doLog"> -->
|
||||
<div class="col-md-6 hidden">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
<!-- dolog end-->
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
|
||||
410
src/main/webapp/WEB-INF/views/cfg/logCfgTrendList.jsp
Normal file
410
src/main/webapp/WEB-INF/views/cfg/logCfgTrendList.jsp
Normal file
@@ -0,0 +1,410 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
<spring:message code="log"/><spring:message code="trend"/>
|
||||
</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<%-- <div class="theme-panel hidden-xs hidden-sm">
|
||||
<button type="button" class="btn btn-default" onClick="javascript:window.location.reload()"><i class="fa fa-refresh"></i></button>
|
||||
<button type="button" class="btn btn-default" onClick="javascript:window.location='${ctx}/dashboard/logChart'"><i class="fa fa-history"></i></button>
|
||||
</div> --%>
|
||||
<!-- <h5 class="page-header"></h5> -->
|
||||
<br>
|
||||
<div class="row" style="margin-left: 12px;">
|
||||
<form:form id="searchForm" method="get" class="form-search">
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<input name="beginDate" id="beginDate" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#beginDate','#endDate',7,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<input name="endDate" id="endDate" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#beginDate','#endDate',7,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onClick="return searchList()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn btn-default" id="resetBtn" > <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
</form:form>
|
||||
</div>
|
||||
|
||||
<div id="chart" style="width:97%;height:90%;margin-top: 35px;"></div>
|
||||
|
||||
<%-- <input id="searchAction" name="searchAction" type="hidden" value="${searchAction}"/> --%>
|
||||
<input id="beginDateh" type="hidden" value="${beginDate}"/>
|
||||
<input id="endDateh" type="hidden" value="${endDate}"/>
|
||||
<input id="cfgId" type="hidden" value="${cfgId}"/>
|
||||
<input id="serviceId" type="hidden" value="${serviceId}"/>
|
||||
<input id="total" type="hidden"/>
|
||||
</div>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/highcharts.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting.js"></script>
|
||||
<%-- <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/series-label.js"></script>--%>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/offline-exporting.js"></script>
|
||||
<%-- <script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/themes/grid.js"></script> --%>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/exporting-data.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/standalone.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/static/global/plugins/highcharts/js/no-data-to-display.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var lineColors=['#a9d4cf','#eecf8d','#f1aa76','#88b876','#E2875C','#EDC86B','#DF8F7E','#F0AEC9','#59BACE','#8E97EE'];
|
||||
var logTltle=$.validator.messages.log_trend;
|
||||
var excfgid=null;
|
||||
$(document).ready(function(){
|
||||
var starth=$("#beginDateh").val();
|
||||
var endh=$("#endDateh").val();
|
||||
var cfgId=$("#cfgId").val();
|
||||
var serviceId=$("#serviceId").val();
|
||||
excfgid=cfgId;
|
||||
$("#beginDate").val(starth);
|
||||
$("#endDate").val(endh);
|
||||
actionTransAjax(logTltle,starth,endh,cfgId,serviceId);
|
||||
//筛选功能初始化
|
||||
$("#resetBtn").on("click",function(){
|
||||
$("select.selectpicker").each(function(){
|
||||
$(this).selectpicker('val',$(this).find('option:first').val());
|
||||
$(this).find("option").attr("selected",false);
|
||||
$(this).find("option:first").attr("selected",true);
|
||||
});
|
||||
$(".Wdate").attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
|
||||
// setInterval(function(){
|
||||
// actionTransAjax($("#searchAction").val(),starth,new Date().Format("yyyy-MM-dd HH:mm:00"));
|
||||
// },500000);// 五分钟调用一次
|
||||
});
|
||||
function searchList(){
|
||||
loading();
|
||||
var start=$("#beginDate").val();
|
||||
var end=$("#endDate").val();
|
||||
var cfgId=$("#cfgId").val();
|
||||
var serviceId=$("#serviceId").val();
|
||||
$("#beginDateh").val(start);
|
||||
$("#endDateh").val(end);
|
||||
if(start==''||end==''||end==null||start==null){
|
||||
window.location.reload();
|
||||
}else{
|
||||
actionTransAjax(logTltle,start,end,cfgId,serviceId);
|
||||
}
|
||||
}
|
||||
// 局点信息
|
||||
function showActionTransChart(xData,series){
|
||||
var nowDate=new Date();
|
||||
Highcharts.setOptions({ global: { useUTC: false } });
|
||||
var chart = Highcharts.chart('chart', {
|
||||
chart:{
|
||||
type: 'area',
|
||||
zoomType: 'x'
|
||||
},
|
||||
exporting: {
|
||||
filename:logTltle+"_"+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds(),
|
||||
scale:1,
|
||||
sourceWidth: 1280,
|
||||
sourceHeight: 600,
|
||||
buttons: {
|
||||
contextButton: {
|
||||
menuItems: [
|
||||
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[0],// 打印
|
||||
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[1],// jpeg
|
||||
'downloadPNG','downloadPDF',
|
||||
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[4],// excel
|
||||
Highcharts.getOptions().exporting.buttons.contextButton.menuItems[3],// cvs
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
noData:{
|
||||
style: {//设置字体颜色
|
||||
color: '#413333',
|
||||
fontFamily:'Microsoft YaHei',
|
||||
fontWeight:"unset",
|
||||
},
|
||||
},
|
||||
title: {
|
||||
text: null
|
||||
},
|
||||
colors:['#e5e3cd','#f1e5cd','#f3ebdf','#f3f7f1','#F6DDD0','#FAF0D5','#F1CFC7','#F8DCE8','#CEEBF1','#CED3F8'],
|
||||
xAxis: {
|
||||
type:'datetime',
|
||||
dateTimeLabelFormats: {
|
||||
second: '%H:%M:%S',
|
||||
minute: '%H:%M',
|
||||
hour: '%H:%M',
|
||||
day: '%m-%d',
|
||||
week: '%m-%d',
|
||||
month: '%Y-%m',
|
||||
year: '%Y'
|
||||
},
|
||||
title: {
|
||||
text: 'time',
|
||||
align:'high',
|
||||
},
|
||||
labels: {
|
||||
rotation: -45, //倾斜的角度
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
title: {
|
||||
text: null
|
||||
},
|
||||
min:0
|
||||
},
|
||||
tooltip: {
|
||||
dateTimeLabelFormats: {
|
||||
millisecond: '%Y-%m-%d %H:%M:%S',
|
||||
second: '%Y-%m-%d %H:%M:%S',
|
||||
minute: '%Y-%m-%d %H:%M:%S',
|
||||
hour: '%Y-%m-%d %H:%M:%S',
|
||||
day: '%Y-%m-%d %H:%M:%S',
|
||||
week: '%Y-%m-%d %H:%M:%S',
|
||||
month: '%Y-%m-%d %H:%M:%S',
|
||||
year: '%Y-%m-%d %H:%M:%S'
|
||||
}
|
||||
},
|
||||
credits:{//是否有highcharts水印
|
||||
enabled:false
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
marker: {
|
||||
radius: 2,
|
||||
hover: {
|
||||
enabled: true,
|
||||
radius: 7,
|
||||
radiusPlus: 5
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
// legend: {
|
||||
// layout: 'vertical',
|
||||
// align: 'right',
|
||||
// verticalAlign: 'middle'
|
||||
// },
|
||||
series: series,
|
||||
});
|
||||
}
|
||||
// 动作一小时,间隔五分钟统计数据
|
||||
function actionTransAjax(searchAction,beginDate,endDate,cfgId,serviceId){
|
||||
loading();
|
||||
$.ajax({
|
||||
url: "${ctx}/toLogSearch/actionLogTrend?cfgId="+cfgId+"&searchAction="+searchAction+"&beginDate="+beginDate+"&endDate="+endDate+"&serviceId="+serviceId,
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
async:true,
|
||||
success:function (rs) {
|
||||
var xData=new Array();
|
||||
var series=new Array();
|
||||
var total=[];
|
||||
if(rs!=null&&rs.length>0){
|
||||
$(rs).each(function(i, d) {
|
||||
total.push(
|
||||
d.sum
|
||||
)
|
||||
var entrance=cfgId;
|
||||
series.push({
|
||||
name: entrance,
|
||||
data: d.result,
|
||||
lineColor:lineColors[i],
|
||||
marker: {
|
||||
enabled: false
|
||||
}
|
||||
});
|
||||
})
|
||||
}else{
|
||||
series.push({
|
||||
name: " ",
|
||||
data: []
|
||||
});
|
||||
|
||||
}
|
||||
$("#total").val(JSON.stringify(total));
|
||||
showActionTransChart(xData,series);
|
||||
closeTip();
|
||||
},
|
||||
error: function(data, textStatus, errorThrown){
|
||||
closeTip();
|
||||
},
|
||||
complete:function(XMLHttpRequest,status){//超时设置
|
||||
closeTip();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function getLogDate(time){
|
||||
var date = new Date(time);
|
||||
var times = date.getTime();
|
||||
times=times/1000;
|
||||
return times;
|
||||
}
|
||||
|
||||
(function(H) {
|
||||
var nowDate=new Date();
|
||||
H.Chart.prototype.downloadXLS = function() {
|
||||
var start=$("#beginDateh").val();
|
||||
var end=$("#endDateh").val();
|
||||
var div = document.createElement('div'),
|
||||
xlsxRows = [],
|
||||
xlsxColumns = [];
|
||||
div.style.display = 'none';
|
||||
document.body.appendChild(div);
|
||||
rows = this.getDataRows(true);
|
||||
/* 调用后台接口导出 */
|
||||
var total = JSON.parse($("#total").val());
|
||||
var map={};
|
||||
$(rows).each(function(i,d){
|
||||
// 去掉多余属性
|
||||
delete d.name;
|
||||
delete d.x;
|
||||
delete d.xValues;
|
||||
})
|
||||
total.unshift('<spring:message code="report_total"/>');
|
||||
rows.shift(); // 删除一个重复行
|
||||
var heard = rows.shift(); // 删除一个重复行
|
||||
rows.push(total)
|
||||
map["titleTime"]="<spring:message code='cfg_id'/>:"+excfgid+" "+logTltle+" "+start+"—"+end;
|
||||
map["heard"]=['time','sum'];
|
||||
map["book"]=rows;
|
||||
map["titleCode"]=logTltle;
|
||||
var exports = JSON.stringify(map);
|
||||
aJaxImportPost("${ctx}/export/ajaxExport",{"exports":exports});
|
||||
|
||||
|
||||
/* xlsxRows = H.map(rows.slice(1), function(row) {
|
||||
return H.map(row, function(column) {
|
||||
return {
|
||||
type: typeof column === 'number' ? 'number' : 'string',
|
||||
value: column
|
||||
};
|
||||
});
|
||||
});
|
||||
var a =new Array();
|
||||
a.push({
|
||||
type:'string',
|
||||
value:'<spring:message code="total"></spring:message>'
|
||||
})
|
||||
|
||||
if(xlsxRows!=null&&xlsxRows!=undefined&&xlsxRows.length>0){
|
||||
for(var j=0;j<xlsxRows[0].length-1;j++){
|
||||
a.push({
|
||||
type:'number',
|
||||
value:0
|
||||
})
|
||||
}
|
||||
for(var i=1;i<xlsxRows.length;i++){
|
||||
for(var j=1;j<xlsxRows[i].length;j++){
|
||||
a[j].value=a[j].value+xlsxRows[i][j].value;
|
||||
}
|
||||
}
|
||||
}
|
||||
xlsxRows.push(a)
|
||||
|
||||
var b =new Array();
|
||||
b.push({
|
||||
type:'string',
|
||||
value:'<spring:message code="${searchAction}"></spring:message>'
|
||||
})
|
||||
b.push({
|
||||
type:"string",
|
||||
value:start+'--'+end
|
||||
})
|
||||
xlsxRows.unshift(b)
|
||||
|
||||
|
||||
|
||||
zipcelx({
|
||||
filename: '<spring:message code="${searchAction}"></spring:message>'+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds(),
|
||||
sheet: {
|
||||
data: xlsxRows
|
||||
}
|
||||
}); */
|
||||
};
|
||||
}(Highcharts));
|
||||
(function(H) {
|
||||
H.Chart.prototype.downloadCSV = function() {
|
||||
var rows = this.getDataRows(true);
|
||||
var total = JSON.parse($("#total").val());
|
||||
var data=[];
|
||||
$(rows).each(function (i,d){
|
||||
if(d!=null){
|
||||
if(i>0){
|
||||
data.push({
|
||||
num1:d[0],
|
||||
num2:d[1],
|
||||
num3:d[2],
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
data.push({
|
||||
num1:"<spring:message code='report_total'/>",
|
||||
num2:total
|
||||
})
|
||||
data[0]={"num1":"time","num2":"sum"};
|
||||
var start = $("#beginDateh").val();
|
||||
var end = $("#endDateh").val();
|
||||
exportCsv({
|
||||
title:["<spring:message code='cfg_id'/>:"+excfgid+" "+logTltle+" "+start+"—"+end],
|
||||
titleForKey:["num1","num2","num3"],
|
||||
data:data
|
||||
});
|
||||
};
|
||||
}(Highcharts));
|
||||
|
||||
function exportCsv(obj){
|
||||
var nowDate=new Date();
|
||||
//title ["","",""]
|
||||
var title = obj.title;
|
||||
//titleForKey ["","",""]
|
||||
var titleForKey = obj.titleForKey;
|
||||
var data = obj.data;
|
||||
var str = [];
|
||||
str.push(obj.title.join(",")+"\n");
|
||||
for(var i=0;i<data.length;i++){
|
||||
var temp = [];
|
||||
for(var j=0;j<titleForKey.length;j++){
|
||||
temp.push(data[i][titleForKey[j]]);
|
||||
}
|
||||
str.push(temp.join(",")+"\n");
|
||||
}
|
||||
str = "\uFEFF"+str.join(""); //
|
||||
var blob = new Blob([str], {type: 'text/plain'});
|
||||
var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(blob);
|
||||
var downloadLink = document.createElement("a");
|
||||
downloadLink.href = window.URL.createObjectURL(blob);
|
||||
downloadLink.download = logTltle+"_"+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv";
|
||||
downloadLink.style.display = 'none';
|
||||
document.body.appendChild(downloadLink);
|
||||
downloadLink.click();
|
||||
document.body.removeChild(downloadLink);
|
||||
}
|
||||
function sum(arr) {
|
||||
return arr.reduce(function(prev, curr, idx, arr){
|
||||
return prev + curr;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -146,9 +146,10 @@ $(function(){
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
@@ -164,6 +165,31 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- dolog begin-->
|
||||
<!-- <div class="row doLog"> -->
|
||||
<div class="col-md-6 hidden">
|
||||
<div class="form-group ">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
<!-- dolog end-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
|
||||
@@ -362,10 +362,11 @@
|
||||
varStatus="satus">
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
<input type="radio" name="action" class="action"
|
||||
serviceId="${service.serviceId }"
|
||||
protocolId="${service.protocolId }"
|
||||
regionCode="${service.regionCode }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<spring:message code="${service.actionCode }"/>
|
||||
@@ -384,7 +385,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 记录日志begin -->
|
||||
<%-- <div class="row">
|
||||
<div class="row doLog">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
@@ -404,7 +405,7 @@
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
</div>
|
||||
<!-- 记录日志end -->
|
||||
<h4 class="form-section cacheAction">
|
||||
<spring:message code="action_region" />
|
||||
|
||||
@@ -355,7 +355,7 @@
|
||||
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
|
||||
<th column="cfg_id" class="sort-column a.compile_id" style="display: none"><spring:message code="cfg_id"/></th>
|
||||
<th column="config_describe" class="sort-column a.cfg_desc cfgDesc"><spring:message code="config_describe"/></th>
|
||||
<th column="block_type" class="sort-column a.action"><spring:message code="block_type"/></th>
|
||||
<th column="action" class="sort-column a.action"><spring:message code="block_type"/></th>
|
||||
<th column="ignore_query_string" ><spring:message code="ignore_query_string"/></th>
|
||||
<th column="include_cookie" ><spring:message code="include_cookie"/></th>
|
||||
<th column="no_revalidate" ><spring:message code="no_revalidate"/></th>
|
||||
|
||||
@@ -171,9 +171,10 @@
|
||||
<label class="radio-inline"> <c:if
|
||||
test="${_cfg.functionId eq service.functionId}">
|
||||
<input type="radio" name="action"
|
||||
serviceId="${service.serviceId }"
|
||||
serviceId="${service.serviceId }" class="action"
|
||||
protocolId="${service.protocolId }"
|
||||
regionCode="${service.regionCode }"
|
||||
configDolog="${service.configDoLog }"
|
||||
value="${service.action }" class="required action"
|
||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
@@ -198,24 +199,23 @@
|
||||
<c:set var="doLog" value="${_cfg.doLog }"/>
|
||||
</c:if>
|
||||
<!-- 记录日志begin -->
|
||||
<div class="row">
|
||||
<div class="row doLog">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="do_log" /></label>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq doLog}">
|
||||
<label class="radio-inline">
|
||||
<c:choose>
|
||||
<c:when test="${dict.itemCode eq _cfg.doLog}">
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" checked value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" name="doLog" value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/>
|
||||
</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -695,7 +695,7 @@
|
||||
<c:if test="${action ne 128}">
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog }">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog and indexCfg.action!=64 }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
@@ -395,6 +395,28 @@
|
||||
</c:forEach>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${region.configRegionValue eq _cfg.ntcSubscribeIdCfg.cfgType }">
|
||||
<!--response header info-->
|
||||
<div class="subscribeId">
|
||||
<c:set var="tabName" value="subscribeIdTab"></c:set>
|
||||
<h4 class="form-section" >
|
||||
<spring:message code="${region.configRegionValue}" />
|
||||
<small> <span
|
||||
class="glyphicon glyphicon-plus ${tabName}Add"
|
||||
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
||||
</h4>
|
||||
<%-- <c:set var="regionValue" value="${_cfg.httpResHdr.cfgType}"></c:set> --%>
|
||||
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg"
|
||||
varStatus="status">
|
||||
<c:set var="cfgName" value="ntcSubscribeIdCfgList[${status.index}]"></c:set>
|
||||
<div class="row boxSolid ${tabName}${status.index} <c:if test="${empty cfg.cfgId}">hidden disabled </c:if>">
|
||||
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<!--/response header info-->
|
||||
</c:if>
|
||||
</c:if>
|
||||
<c:if test="${region.regionType eq 3 }">
|
||||
<c:if test="${region.configRegionValue eq _cfg.httpReqHdr.cfgType }">
|
||||
@@ -441,28 +463,6 @@
|
||||
</div>
|
||||
<!--/response header info-->
|
||||
</c:if>
|
||||
<c:if test="${region.configRegionValue eq _cfg.ntcSubscribeIdCfg.cfgType }">
|
||||
<!--response header info-->
|
||||
<div class="subscribeId">
|
||||
<c:set var="tabName" value="subscribeIdTab"></c:set>
|
||||
<h4 class="form-section" >
|
||||
<spring:message code="${region.configRegionValue}" />
|
||||
<small> <span
|
||||
class="glyphicon glyphicon-plus ${tabName}Add"
|
||||
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
||||
</h4>
|
||||
<%-- <c:set var="regionValue" value="${_cfg.httpResHdr.cfgType}"></c:set> --%>
|
||||
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg"
|
||||
varStatus="status">
|
||||
<c:set var="cfgName" value="ntcSubscribeIdCfgList[${status.index}]"></c:set>
|
||||
<div class="row boxSolid ${tabName}${status.index} <c:if test="${empty cfg.cfgId}">hidden disabled </c:if>">
|
||||
|
||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<!--/response header info-->
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
code="begin_date" /></span>
|
||||
</div>
|
||||
<input name="beginDate" id="beginDate" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#beginDate','#endDate',7,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#beginDate','#endDate',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left chart-history">
|
||||
@@ -87,7 +87,7 @@
|
||||
code="end_date" /></span>
|
||||
</div>
|
||||
<input name="endDate" id="endDate" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#beginDate','#endDate',7,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#beginDate','#endDate',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
@@ -223,6 +223,7 @@
|
||||
});
|
||||
// 改变排序字段
|
||||
function changeOrderby(searchQuota) {
|
||||
loading();
|
||||
appTop100List($("#beginDate").val(),$("#endDate").val(),$("#appType").val(),$("#entranceId").val(),searchQuota);
|
||||
}
|
||||
function searchList1() {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<input name="beginDate" id="beginDate" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#beginDate','#endDate',7,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#beginDate','#endDate',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
@@ -52,7 +52,7 @@
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<input name="endDate" id="endDate" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#beginDate','#endDate',7,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
value="" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#beginDate','#endDate',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
@@ -212,11 +212,25 @@ function ajaxAppList(start,end,entranceId){
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
//统计数据
|
||||
var tb=document.getElementById("contentTable");
|
||||
var rows=tb.rows;
|
||||
$("#contentTable tbody tr").removeClass("hidden");
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(rows.length-1,0,"contentTable","print-title");
|
||||
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="App"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="begin_date"/>:'+$("#beginDate").val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="end_date"/>:'+$("#endDate").val()+'</div>';
|
||||
$('.tr-total').addClass("tc");
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$('.tr-total').addClass("hidden");
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
@@ -343,6 +357,7 @@ function htmlData(fileDataS){
|
||||
if(index==fileDataS.length-1){
|
||||
html+="<tr class='tr-total hidden'>"
|
||||
html+= "<td class='tc'>"+"<spring:message code='report_total'/>"+"</td>";
|
||||
html+= "<td class='tc'>" +"--"+"</td>"
|
||||
html+= "<td class='tc'>"+totalLink+"</td>";
|
||||
html+= "<td class='tc'>" +"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+Math.round(totalPackets*100)/100+"</td>";
|
||||
|
||||
@@ -173,11 +173,25 @@ function ajaxProtocolList(start,end){
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
//统计数据
|
||||
var tb=document.getElementById("contentTable");
|
||||
var rows=tb.rows;
|
||||
$("#contentTable tbody tr").removeClass("hidden");
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(rows.length-1,0,"contentTable","print-title");
|
||||
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="service"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="begin_date"/>:'+$("#beginDate").val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="end_date"/>:'+$("#endDate").val()+'</div>';
|
||||
$('.tr-total').addClass("tc");
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$('.tr-total').addClass("hidden");
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
|
||||
@@ -150,11 +150,24 @@ $(document).ready(function(){
|
||||
});
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
//统计数据
|
||||
var tb=document.getElementById("contentTable");
|
||||
var rows=tb.rows;
|
||||
$("#contentTable tbody tr").removeClass("hidden");
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(rows.length-1,0,"contentTable","print-title");
|
||||
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="traffic_ipactive_hour_max"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="begin_date"/>:'+$("#beginDate").val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="end_date"/>:'+$("#endDate").val()+'</div>';
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$('.tr-total').addClass("hidden");
|
||||
}
|
||||
//导出列表
|
||||
$(".export-btn").click(function(){
|
||||
|
||||
@@ -203,11 +203,25 @@ function ajaxProtocolList(start,end,entranceId){
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
//统计数据
|
||||
var tb=document.getElementById("contentTable");
|
||||
var rows=tb.rows;
|
||||
$("#contentTable tbody tr").removeClass("hidden");
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(rows.length-1,0,"contentTable","print-title");
|
||||
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="protocol_type"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="begin_date"/>:'+$("#beginDate").val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="end_date"/>:'+$("#endDate").val()+'</div>';
|
||||
$('.tr-total').addClass("tc");
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$('.tr-total').addClass("hidden");
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
|
||||
@@ -72,7 +72,9 @@
|
||||
<select id="domain" name="domain" class="selectpicker form-control" data-max-options="10" data-selected-text-format="count > 2" multiple max-width="100px" data-live-search="true" data-live-search-placeholder="search">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${domainList}" var="dict" >
|
||||
<option value="${dict.id}"><spring:message code="${dict.domain}"></spring:message></option>
|
||||
<c:if test="${dict.id ne 0 }">
|
||||
<option value="${dict.id}"><spring:message code="${dict.domain}"></spring:message></option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
@@ -142,7 +144,7 @@
|
||||
<tr>
|
||||
<th><spring:message code="trend"/></th>
|
||||
<th><spring:message code="domain_name"/></th>
|
||||
<th><spring:message code="unique_num"/></th>
|
||||
<th><spring:message code="client_ip"/></th>
|
||||
<th><spring:message code="area_id"/></th>
|
||||
<th><spring:message code="packets"/></th>
|
||||
<th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
|
||||
@@ -253,11 +255,25 @@
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
//统计数据
|
||||
var tb=document.getElementById("contentTable");
|
||||
var rows=tb.rows;
|
||||
$("#contentTable tbody tr").removeClass("hidden");
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(rows.length-1,0,"contentTable","print-title");
|
||||
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="domain_name"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="begin_date"/>:'+$("#beginDate").val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="end_date"/>:'+$("#endDate").val()+'</div>';
|
||||
$('.tr-total').addClass("tc");
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$('.tr-total').addClass("hidden");
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
@@ -386,11 +402,12 @@
|
||||
if(index==fileDataS.length-1){
|
||||
html+="<tr class='tr-total hidden'>"
|
||||
html+= "<td class='tc'>"+"<spring:message code='report_total'/>"+"</td>";
|
||||
html+= "<td class='tc'>" +"--"+"</td>"
|
||||
html+= "<td class='tc'>"+totalunique+"</td>";
|
||||
html+= "<td class='tc'>" +"--"+"</td>";
|
||||
html+= "<td class='tc'>"+totalPackets+"</td>";
|
||||
html+= "<td class='tc'>"+parseInt(totalPackets).toFixed(2)+"</td>";
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+totalGbyte+"</td>";
|
||||
html+= "<td class='tc'>"+parseInt(totalGbyte).toFixed(2)+"</td>";
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+="</tr>"
|
||||
}
|
||||
|
||||
@@ -60,16 +60,12 @@ function showHelp(helpHref) {
|
||||
<spring:message code="${online_help }"></spring:message>
|
||||
</h3>
|
||||
<div class="row">
|
||||
<div class="portlet-body">
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-2">
|
||||
<div id="menuTree" class="ztree" style="margin-top:3px;float:left;"></div>
|
||||
</div>
|
||||
<div class="col-md-8 help">
|
||||
<div class="col-md-10 help">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -343,6 +343,7 @@ background:#3d3d3d;
|
||||
<!-- END MEGA MENU -->
|
||||
|
||||
<input type="hidden" id="tb_custom" value="<spring:message code='cfg_custom'/>"/>
|
||||
<input type="hidden" id="jbox_cfg_url" value="${ctx}/toLogSearch/logTrend"/>
|
||||
<!-- BEGIN TOP NAVIGATION MENU -->
|
||||
<div class="top-menu">
|
||||
<ul class="nav navbar-nav pull-right">
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
var dataList=data.requestStatisticList;
|
||||
|
||||
var userTableStr='';
|
||||
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr +='<table id="printTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr += '<thead>';
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="letter"/></th>';
|
||||
@@ -217,7 +217,11 @@
|
||||
for (var k = 0; k < menu.length; k++) {
|
||||
userTableStr += '<td>';
|
||||
var sss=menu[k].functionId+'_'+menu[k].functionId;
|
||||
userTableStr += dataList[j][sss];
|
||||
if(dataList[j][sss] !=undefined && dataList[j][sss] !=null &&dataList[j][sss] !=""){
|
||||
userTableStr += dataList[j][sss];
|
||||
}else{
|
||||
userTableStr += "0";
|
||||
}
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
userTableStr += '<tr>';
|
||||
@@ -228,26 +232,69 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
//计算合计行
|
||||
var tb=document.getElementById("printTable");
|
||||
var rows = tb.rows;
|
||||
var colums = tb.rows[0].cells.length;
|
||||
var trtotal="";
|
||||
trtotal+="<td><spring:message code='report_total' /></td>";
|
||||
for(var j = 1; j < colums; j++){
|
||||
var sum = 0;
|
||||
for(var i = 1;i<rows.length-1;i++){
|
||||
if(rows[i].cells[j] !=undefined && rows[i].cells[j].innerHTML !=""){
|
||||
var a = parseInt(rows[i].cells[j].innerHTML.trim());
|
||||
sum = sum + a;
|
||||
}
|
||||
}
|
||||
trtotal+="<td>"+sum+"</td>";
|
||||
}
|
||||
$('#total').remove();
|
||||
$('#printTable tbody').append("<tr id='total'></tr>");
|
||||
$('#total').html(trtotal);
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(rows.length-1,0,"printTable","print-title");
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="letter_statistics_info"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="statistic_time"/> '+$("#requestStatisticTime").val()+'</div>';
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
/* $(".cfgMenuTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
}); */
|
||||
}
|
||||
//配置业务和状态统计打印
|
||||
function statisticsPrint() {
|
||||
function statisticsPrint() {
|
||||
|
||||
$('.count').removeClass("hidden");
|
||||
//计算合计行
|
||||
var tb=document.getElementsByName("statisticsStatusTable")[0];
|
||||
var rows = tb.rows;
|
||||
var colums = tb.rows[0].cells.length;
|
||||
$(".statisticsStatusTable .count").empty();
|
||||
$(".statisticsStatusTable .count").append("<td><spring:message code='report_total' /></td>");
|
||||
for(var j = 1; j < colums; j++){
|
||||
var sum = 0;
|
||||
for(var i = 1;i<rows.length-1;i++){
|
||||
var a = parseInt(rows[i].cells[j].innerHTML.trim());
|
||||
sum = sum + a;
|
||||
}
|
||||
$(".statisticsStatusTable .count").append("<td>"+sum+"</td>");
|
||||
}
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(rows.length-1,0,"contentTable2","print-title");
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="configure_statistics_info"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="statistic_time"/> '+$("#configStatisticTime").val()+'</div>';
|
||||
//打印
|
||||
$(".statisticsStatusTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
//隐藏合计行
|
||||
$('.count').addClass("hidden");
|
||||
}
|
||||
|
||||
|
||||
@@ -323,6 +370,7 @@
|
||||
|
||||
<body class="page-full-width">
|
||||
<input id="menuName" type="hidden" value="<spring:message code="config_service_statistics"/>">
|
||||
<input id="requestStatisticTime" type="hidden" value="${requestStatisticTime }" />
|
||||
<div class="statisticsRequest">
|
||||
<form id="searchForm" action="${ctx}/configure/statistics/configureStateStatistics" >
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
@@ -398,6 +446,7 @@
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
<div id="statisticsStatus" class="statisticsStatus">
|
||||
<input id="configStatisticTime" type="hidden" value="${configStatisticTime }" />
|
||||
<font size="4">
|
||||
<i class="fa fa-cogs" id="statusTitle"><spring:message code="configure_statistics_info"/> [<spring:message code="statistic_time"/>:${configStatisticTime }]</i>
|
||||
</font>
|
||||
@@ -419,7 +468,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<h5 class="page-header"></h5>
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap statisticsStatusTable" name="statisticsStatusTable">
|
||||
<table id="contentTable2" class="table table-striped table-bordered table-condensed text-nowrap statisticsStatusTable" name="statisticsStatusTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="service_name"/></th>
|
||||
|
||||
@@ -266,6 +266,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='APP'/>:</label>
|
||||
<select id="appSelect" name="appId" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${appList}" var="app" >
|
||||
<option value="${app.code}"><spring:message code="${app.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
@@ -277,6 +278,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='application_layer_protocol'/>:</label>
|
||||
<select id="protoSelect" name="protoId" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${protocolList}" var="proto" >
|
||||
<option value="${proto.code}"><spring:message code="${proto.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
@@ -288,6 +290,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code="domain_name"/>:</label>
|
||||
<select id="webSelect" name="webId" title="<spring:message code="select"/>" class="selectpicker form-control" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<c:forEach items="${webList}" var="web" >
|
||||
<option value="${web.code}"><spring:message code="${web.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
|
||||
@@ -66,6 +66,16 @@
|
||||
$("#"+closeId).parent().parent().next("tr").hide();
|
||||
});
|
||||
});
|
||||
|
||||
function warn_tips(){
|
||||
if ($("#cfgId").val()==0&&$("#cfgId").val()!='') {
|
||||
top.$.jBox.tip("<spring:message code='cfg_id'/><spring:message code='param_error'/>", "<spring:message code='info'/>");
|
||||
$("#cfgId").val('');
|
||||
return;
|
||||
}else{
|
||||
return page();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -126,7 +136,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn blue" onClick="warn_tips();"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
@@ -201,7 +211,7 @@
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="cfg_id"></spring:message>:</label>
|
||||
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
|
||||
<input id="cfgId" name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
423
src/main/webapp/WEB-INF/views/log/ntc/mailRecordList.jsp
Normal file
423
src/main/webapp/WEB-INF/views/log/ntc/mailRecordList.jsp
Normal file
@@ -0,0 +1,423 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
MAIL Record<spring:message code="log"></spring:message>
|
||||
</title>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//reset
|
||||
$("#resetBtn").on("click",function(){
|
||||
$("select.selectpicker").each(function(){
|
||||
$(this).selectpicker('val',$(this).find('option:first').val());
|
||||
$(this).find("option").attr("selected",false);
|
||||
$(this).find("option:first").attr("selected",true);
|
||||
});
|
||||
$(".Wdate").attr("value",'');
|
||||
$(':input','#searchForm')
|
||||
.not(':button,:submit,:reset,:hidden')
|
||||
.attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
//筛选功能
|
||||
filterActionInit();
|
||||
|
||||
//异步获取voip相关信息
|
||||
$("span[id^=open]").click(function(){
|
||||
var openId=$(this).attr("id");
|
||||
var closeId=$(this).attr("id").replace("open","close");
|
||||
var index=$(this).attr("id").replace("open","");
|
||||
$("#"+openId).hide();
|
||||
$("#"+closeId).show();
|
||||
var compileId=$(this).attr("compileId");
|
||||
// var cfgId=$(this).attr("cfgId");
|
||||
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
||||
$("#"+openId).parent().parent().next("tr").show();
|
||||
}else{
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
url:'${ctx}/ntc/mail/ajaxMailSubList',
|
||||
data:{"compileId":compileId,"index":index},
|
||||
dataType:"html",
|
||||
success:function(data){
|
||||
var subTab="<tr class='child'>"+
|
||||
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
||||
var html="";
|
||||
html+="<div class='row'>";
|
||||
html = html+data;
|
||||
subTab=subTab+html;
|
||||
subTab+="</td>";
|
||||
subTab+="</tr>";
|
||||
$("#"+openId).parent().parent().after(subTab);
|
||||
$("div[name='tabTitle"+index+"']").get(0).click();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$("span[id^=close]").on("click",function(){
|
||||
var closeId=$(this).attr("id");
|
||||
var openId=$(this).attr("id").replace("close","open");
|
||||
$("#"+closeId).hide();
|
||||
$("#"+openId).show();
|
||||
$("#"+closeId).parent().parent().next("tr").hide();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
</div>
|
||||
<h3 class="page-title">
|
||||
<spring:message code="mail_record"/>
|
||||
</h3>
|
||||
<h5 class="page-header"></h5>
|
||||
<div class="col-md-12">
|
||||
<div class="portlet">
|
||||
<div class="portlet-body">
|
||||
<div class="row" >
|
||||
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mailRecord/list" method="post" class="form-search">
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
|
||||
<input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/><sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<form:select path="service" class="selectpicker select2 input-small">
|
||||
<form:option value=""><spring:message code="action"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service"
|
||||
varStatus="satus">
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
|
||||
<form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<%-- <input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:setTimee,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'searchFoundEndTime\')}'});"/> --%>
|
||||
<input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<%-- <input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'searchFoundStartTime\')}',maxDate:'#F{$dp.$D(\'searchFoundStartTime\',{d:1})}'});"/> --%>
|
||||
<input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
|
||||
<li><sys:delRow url="${ctx}/log/ntc/mailRecord/exportMail?type=excel" searchUrl="${ctx}/log/ntc/mailRecord/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
|
||||
<li><sys:delRow url="${ctx}/log/ntc/mailRecord/exportMail?type=csv" searchUrl="${ctx}/log/ntc/mailRecord/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
||||
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||
<i class="icon-wrench"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
|
||||
<!-- 筛选搜索内容栏默认隐藏-->
|
||||
<div class="col-md-12 filter-action-select-panle hide" >
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="entrance"/>:</label>
|
||||
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
|
||||
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clj_ip"></spring:message>:</label>
|
||||
<input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
|
||||
<form:select path="transProto" class="selectpicker form-control">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
|
||||
<form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="serverip"></spring:message>:</label>
|
||||
<input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clientip"></spring:message>:</label>
|
||||
<input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- <div class="col-md-2"> -->
|
||||
<!-- <div class="form-group"> -->
|
||||
<%-- <label><spring:message code="cfg_id"></spring:message>:</label> --%>
|
||||
<%-- <input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/> --%>
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="mail_from"></spring:message>:</label>
|
||||
<input name="mailFrom" type="text" class="form-control" value="${log.mailFrom }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="mail_to"></spring:message>:</label>
|
||||
<input name="mailTo" type="text" class="form-control" value="${log.mailTo }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="subject"></spring:message>:</label>
|
||||
<input name="subject" type="text" class="form-control" value="${log.subject }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /筛选搜索内容栏 结束-->
|
||||
</form:form>
|
||||
</div>
|
||||
<sys:message content="${message}"/>
|
||||
<div class="table-responsive">
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="log"/></th>
|
||||
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
|
||||
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
|
||||
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
|
||||
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
|
||||
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
|
||||
|
||||
<th class="sort-column mail_proto" column="mail_proto"><spring:message code="mail_proto"/></th>
|
||||
<th class="sort-column mail_from" column="mail_from"><spring:message code="mail_from"/></th>
|
||||
<th class="sort-column mail_to" column="mail_to"><spring:message code="mail_to"/></th>
|
||||
<th class="sort-column subject" column="subject"><spring:message code="subject"/></th>
|
||||
<th class="sort-column eml_file" column="eml_file"><spring:message code="eml_file"/></th>
|
||||
<th class="sort-column eml_key" isVisible="false" column="eml_key"><spring:message code="eml_key"/></th>
|
||||
|
||||
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
|
||||
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
|
||||
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
|
||||
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
|
||||
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
|
||||
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
|
||||
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
|
||||
|
||||
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
|
||||
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
|
||||
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
|
||||
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
|
||||
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
|
||||
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
|
||||
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
|
||||
|
||||
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
|
||||
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
|
||||
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
|
||||
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
|
||||
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
|
||||
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
|
||||
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
|
||||
<%-- <th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th> --%>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="log" items="${page.list }" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
|
||||
<a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/mail/ajaxMailSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
|
||||
</td>
|
||||
<td>${log.cfgId }</td>
|
||||
<td>
|
||||
<c:set var="actions">${log.action }</c:set>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
|
||||
<c:if test="${dict.itemCode eq log.action}">
|
||||
<c:set var="actions">${dict.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${actions}"/>
|
||||
</td>
|
||||
<td>${log.foundTime }</td>
|
||||
<td>${log.recvTime }</td>
|
||||
|
||||
<td>
|
||||
<c:set var="entrances">${log.entranceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.entranceId}">
|
||||
<c:set var="entrances">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${entrances}"/>
|
||||
</td>
|
||||
|
||||
<td>${log.mailProto }</td>
|
||||
<td>
|
||||
${log.mailFrom}
|
||||
</td>
|
||||
<td>
|
||||
${log.mailTo}
|
||||
</td>
|
||||
<td>${log.subject }</td>
|
||||
<td>
|
||||
<c:if test="${fn:startsWith(log.emlFile, 'http')}">
|
||||
<a href="${log.emlFile}" data-original-title="${log.emlFile}" target="_blank"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
${fn:substring(log.emlFile,0,20) }
|
||||
</a>
|
||||
</c:if>
|
||||
<c:if test="${!fn:startsWith(log.emlFile, 'http') and !empty log.emlFile}">
|
||||
<a href="http://${log.emlFile}" data-original-title="http://${log.emlFile}" target="_blank"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
http://${fn:substring(log.emlFile,0,20) }
|
||||
</a>
|
||||
</c:if>
|
||||
</td>
|
||||
<td title="${log.emlKey }">${fns:abbr(log.emlKey, 42)}</td>
|
||||
<td >${log.capIp}</td>
|
||||
<td>
|
||||
<c:set var="transProtos">${log.transProto }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.transProto}">
|
||||
<c:set var="transProtos">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${transProtos}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="addrTypes">${log.addrType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
|
||||
<c:if test="${log.addrType==dic.itemCode}">
|
||||
<c:set var="addrTypes">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${addrTypes}"/>
|
||||
</td>
|
||||
<td >${log.dIp}</td>
|
||||
<td >${log.sIp}</td>
|
||||
<td>${log.dPort }</td>
|
||||
<td>${log.sPort }</td>
|
||||
<td>
|
||||
<c:set var="deviceIds">${log.deviceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
|
||||
<c:if test="${device.itemCode eq log.deviceId}">
|
||||
<c:set var="deviceIds">${device.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${deviceIds}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="linkIds">${log.linkId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LINK')}" var="link">
|
||||
<c:if test="${link.itemCode eq log.linkId}">
|
||||
<c:set var="linkIds">${link.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${linkIds}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="encapTypes">${log.encapType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
|
||||
<c:if test="${encapType.itemCode eq log.encapType}">
|
||||
<c:set var="encapTypes">${encapType.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${encapTypes}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="directions">${log.direction }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
|
||||
<c:if test="${direction.itemCode eq log.direction}">
|
||||
<c:set var="directions">${direction.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${directions}"/>
|
||||
</td>
|
||||
<td>${log.innerSmac }</td>
|
||||
<td>${log.innerDmac }</td>
|
||||
<td>
|
||||
<c:set var="streamDirs">${log.streamDir }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
|
||||
<c:if test="${streamType.itemCode eq log.streamDir}">
|
||||
<c:set var="streamDirs">${streamType.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${streamDirs}"/>
|
||||
</td>
|
||||
<td>${log.addrList }</td>
|
||||
<td>${log.serverLocate}</td>
|
||||
<td>${log.clientLocate}</td>
|
||||
<td>${log.sAsn}</td>
|
||||
<td>${log.dAsn}</td>
|
||||
<td>${log.sSubscribeId}</td>
|
||||
<td>${log.dSubscribeId}</td>
|
||||
<%-- <td>${log.userRegion}</td> --%>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
412
src/main/webapp/WEB-INF/views/log/ntc/sslRecordLogList.jsp
Normal file
412
src/main/webapp/WEB-INF/views/log/ntc/sslRecordLogList.jsp
Normal file
@@ -0,0 +1,412 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
.Wdate {
|
||||
width:180px !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
// 筛选
|
||||
filterActionInit();
|
||||
// 重置
|
||||
$("#resetBtn").on("click",function(){
|
||||
$("select.selectpicker").each(function(){
|
||||
$(this).selectpicker('val',$(this).find('option:first').val());
|
||||
$(this).find("option").attr("selected",false);
|
||||
$(this).find("option:first").attr("selected",true);
|
||||
});
|
||||
$(".Wdate").attr("value",'');
|
||||
$(':input','#searchForm')
|
||||
.not(':button,:submit,:reset,:hidden')
|
||||
.attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
|
||||
//异步获取voip相关信息
|
||||
$("span[id^=open]").click(function(){
|
||||
var openId=$(this).attr("id");
|
||||
var closeId=$(this).attr("id").replace("open","close");
|
||||
var index=$(this).attr("id").replace("open","");
|
||||
$("#"+openId).hide();
|
||||
$("#"+closeId).show();
|
||||
var compileId=$(this).attr("compileId");
|
||||
// var cfgId=$(this).attr("cfgId");
|
||||
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
||||
$("#"+openId).parent().parent().next("tr").show();
|
||||
}else{
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
url:'${ctx}/ntc/website/ajaxSslSubList',
|
||||
data:{"compileId":compileId,"index":index},
|
||||
dataType:"html",
|
||||
success:function(data){
|
||||
var subTab="<tr class='child'>"+
|
||||
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
||||
var html="";
|
||||
html+="<div class='row'>";
|
||||
html = html+data;
|
||||
subTab=subTab+html;
|
||||
subTab+="</td>";
|
||||
subTab+="</tr>";
|
||||
$("#"+openId).parent().parent().after(subTab);
|
||||
$("div[name='tabTitle"+index+"']").get(0).click();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$("span[id^=close]").on("click",function(){
|
||||
var closeId=$(this).attr("id");
|
||||
var openId=$(this).attr("id").replace("close","open");
|
||||
$("#"+closeId).hide();
|
||||
$("#"+openId).show();
|
||||
$("#"+closeId).parent().parent().next("tr").hide();
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
</div>
|
||||
<h3 class="page-title">
|
||||
<spring:message code="ssl_record" />
|
||||
</h3>
|
||||
<h5 class="page-header"></h5>
|
||||
<div class="col-md-12">
|
||||
<div class="portlet">
|
||||
|
||||
<div class="portlet-body">
|
||||
|
||||
<div class="row">
|
||||
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/sslRecord/list" method="post" class="form-search">
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
|
||||
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
|
||||
<input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
|
||||
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<form:select path="service" class="selectpicker select2 input-small">
|
||||
<form:option value=""><spring:message code="action"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service"
|
||||
varStatus="satus">
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
|
||||
<form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control">SNI</span>
|
||||
</div>
|
||||
<input name="sni" type="text" class="form-control input-small" value="${log.sni}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<%-- <input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:setTimee,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'searchFoundEndTime\')}'});"/> --%>
|
||||
<input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<%-- <input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'searchFoundStartTime\')}',maxDate:'#F{$dp.$D(\'searchFoundStartTime\',{d:1})}'});"/> --%>
|
||||
<input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
|
||||
<li><sys:delRow url="${ctx}/log/ntc/sslRecord/exportSsl?type=excel" searchUrl="${ctx}/log/ntc/sslRecord/list" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
|
||||
<li><sys:delRow url="${ctx}/log/ntc/sslRecord/exportSsl?type=csv" searchUrl="${ctx}/log/ntc/sslRecord/list" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
||||
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||
<i class="icon-wrench"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /搜索内容与操作按钮栏-->
|
||||
|
||||
<!-- 筛选搜索内容栏默认隐藏-->
|
||||
<div class="col-md-12 filter-action-select-panle hide" >
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="entrance"/>:</label>
|
||||
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
|
||||
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clj_ip"/>:</label>
|
||||
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="transport_layer_protocol"/>:</label>
|
||||
<form:select path="transProto" class="selectpicker form-control select2">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
|
||||
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="serverip"/>:</label>
|
||||
<input name="dIp" type="text" class="form-control" value="${log.dIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clientip"/>:</label>
|
||||
<input name="sIp" type="text" class="form-control" value="${log.sIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- <div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="direction"/>:</label>
|
||||
<form:select path="direction" class="selectpicker form-control select2">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
|
||||
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div> --%>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="cfg_id"></spring:message>:</label>
|
||||
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
|
||||
</div>
|
||||
<sys:message content="${message}"/>
|
||||
<div class="table-responsive">
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="log"/></th>
|
||||
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
|
||||
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
|
||||
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
|
||||
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
|
||||
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
|
||||
|
||||
<th class="sort-column version" column="version"><spring:message code="version" /></th>
|
||||
<th class="sort-column sni" column="SNI">SNI</th>
|
||||
<th class="sort-column san" column="SAN">SAN</th>
|
||||
<th class="sort-column cn" column="CN">CN</th>
|
||||
|
||||
|
||||
<th class="sort-column cap_ip" isVisible="false" column="clj_ip"><spring:message code="clj_ip"/></th>
|
||||
<th class="sort-column trans_proto" column="transport_layer_protocol"><spring:message code="transport_layer_protocol"/></th>
|
||||
<th class="sort-column addr_type" column="addr_type"><spring:message code='addr_type'/></th>
|
||||
<th class="sort-column d_ip" column="server_ip"><spring:message code="server_ip"/></th>
|
||||
<th class="sort-column s_ip" column="client_ip"><spring:message code="client_ip"/></th>
|
||||
<th class="sort-column d_port" column="server_port"><spring:message code="server_port"/></th>
|
||||
<th class="sort-column s_port" column="client_port"><spring:message code="client_port"/></th>
|
||||
|
||||
<th class="sort-column device_id" isVisible="false" column="deviceid"><spring:message code="deviceid"/></th>
|
||||
<th class="sort-column link_id" isVisible="false" column="link_id"><spring:message code="link_id"/></th>
|
||||
<th class="sort-column encap_type" column="encap_type"><spring:message code="encap_type"/></th>
|
||||
<th class="sort-column direction" column="direction"><spring:message code="direction"/></th>
|
||||
<th class="sort-column inner_smac" column="inner_smac"><spring:message code="inner_smac"/></th>
|
||||
<th class="sort-column inner_dmac" column="inner_dmac"><spring:message code="inner_dmac"/></th>
|
||||
<th class="sort-column stream_dir" column="stream_type"><spring:message code="stream_type"/></th>
|
||||
|
||||
<th class="sort-column addr_list" column="nest_addr_list"><spring:message code="nest_addr_list"/></th>
|
||||
<th class="sort-column server_locate" column="server_locate"><spring:message code='server_locate'/></th>
|
||||
<th class="sort-column client_locate" column="client_locate"><spring:message code='client_locate'/></th>
|
||||
<th class="sort-column s_asn" isVisible="false" column="s_asn"><spring:message code='s_asn'/></th>
|
||||
<th class="sort-column d_asn" isVisible="false" column="d_asn"><spring:message code='d_asn'/></th>
|
||||
<th class="sort-column s_subscribe_id" isVisible="false" column="s_subscribe_id"><spring:message code='s_subscribe_id'/></th>
|
||||
<th class="sort-column d_subscribe_id" isVisible="false" column="d_subscribe_id"><spring:message code='d_subscribe_id'/></th>
|
||||
<%-- <th class="sort-column user_region" isVisible="false" column="user_region"><spring:message code='user_region'/></th> --%>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file" column="scene_file"><spring:message code='scene_file'/></th></c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="log" items="${page.list }" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
|
||||
<a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/website/ajaxSslSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
|
||||
</td>
|
||||
<td>${log.cfgId }</td>
|
||||
<td>
|
||||
<c:set var="actions">${log.action }</c:set>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
|
||||
<c:if test="${dict.itemCode eq log.action}">
|
||||
<c:set var="actions">${dict.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${actions}"/>
|
||||
</td>
|
||||
|
||||
<td>${log.foundTime }</td>
|
||||
<td>${log.recvTime }</td>
|
||||
|
||||
<td>
|
||||
<c:set var="entrances">${log.entranceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.entranceId}">
|
||||
<c:set var="entrances">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${entrances}"/>
|
||||
</td>
|
||||
|
||||
<td>${log.version }</td>
|
||||
<td>${log.sni }</td>
|
||||
<td>${log.san }</td>
|
||||
<td>${log.cn }</td>
|
||||
<td >${log.capIp}</td>
|
||||
|
||||
<td>
|
||||
<c:set var="transProtos">${log.transProto }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.transProto}">
|
||||
<c:set var="transProtos">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${transProtos}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="addrTypes">${log.addrType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
|
||||
<c:if test="${log.addrType==dic.itemCode}">
|
||||
<c:set var="addrTypes">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${addrTypes}"/>
|
||||
</td>
|
||||
<td >${log.dIp}</td>
|
||||
<td >${log.sIp}</td>
|
||||
<td>${log.dPort }</td>
|
||||
<td>${log.sPort }</td>
|
||||
<td>
|
||||
<c:set var="deviceIds">${log.deviceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
|
||||
<c:if test="${device.itemCode eq log.deviceId}">
|
||||
<c:set var="deviceIds">${device.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${deviceIds}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="linkIds">${log.linkId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LINK')}" var="link">
|
||||
<c:if test="${link.itemCode eq log.linkId}">
|
||||
<c:set var="linkIds">${link.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${linkIds}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="encapTypes">${log.encapType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
|
||||
<c:if test="${encapType.itemCode eq log.encapType}">
|
||||
<c:set var="encapTypes">${encapType.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${encapTypes}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="directions">${log.direction }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
|
||||
<c:if test="${direction.itemCode eq log.direction}">
|
||||
<c:set var="directions">${direction.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${directions}"/>
|
||||
</td>
|
||||
<td>${log.innerSmac }</td>
|
||||
<td>${log.innerDmac }</td>
|
||||
<td>
|
||||
<c:set var="streamDirs">${log.streamDir }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
|
||||
<c:if test="${streamType.itemCode eq log.streamDir}">
|
||||
<c:set var="streamDirs">${streamType.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${streamDirs}"/>
|
||||
</td>
|
||||
|
||||
<td>${log.addrList }</td>
|
||||
<td>${log.serverLocate}</td>
|
||||
<td>${log.clientLocate}</td>
|
||||
<td>${log.sAsn}</td>
|
||||
<td>${log.dAsn}</td>
|
||||
<td>${log.sSubscribeId}</td>
|
||||
<td>${log.dSubscribeId}</td>
|
||||
<%-- <td>${log.userRegion}</td> --%>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table><div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -192,7 +192,7 @@
|
||||
});
|
||||
|
||||
// 如果在框架或在对话框中,则弹出提示并跳转到首页
|
||||
if(self.frameElement && self.frameElement.tagName == "IFRAME" || $('#left').length > 0 || $('.jbox').length > 0){
|
||||
/* if(self.frameElement && self.frameElement.tagName == "IFRAME" || $('#left').length > 0 || $('.jbox').length > 0){
|
||||
top.$.jBox.confirm("<spring:message code='login_timeout'/>","<spring:message code='info'/>",function(v,h,f){
|
||||
|
||||
if(v=="ok"){
|
||||
@@ -202,9 +202,16 @@
|
||||
}
|
||||
},{buttonsFocus:1});
|
||||
top.$('.jbox-body .jbox-icon').css('top','55px');
|
||||
} */
|
||||
if(self.frameElement && self.frameElement.tagName == "IFRAME" || $('#left').length > 0 || $('.jbox').length > 0){
|
||||
top.$.jBox.prompt("<spring:message code='login_timeout'/>", "<spring:message code='info'/>", 'info', {
|
||||
closed: function () {
|
||||
top.location = "${pageContext.request.contextPath }";
|
||||
}
|
||||
});
|
||||
top.$('.jbox-body .jbox-icon').css('top','55px');
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -68,40 +68,65 @@
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var thData=$('#contentTable thead tr th');
|
||||
var userTableStr='';
|
||||
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr +='<table id="printTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr += '<thead>';
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<th class="sort-column s_asn"><spring:message code="asn"/></th>';
|
||||
userTableStr += '<th class="sort-column pps"><spring:message code="pps"/></th>';
|
||||
userTableStr += '<th class="sort-column bps"><spring:message code="bps"/></th>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='asn'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="asn"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='pps'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="pps"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='bps'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="bps"/></td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
userTableStr += '</thead>';
|
||||
userTableStr += '<tbody>';
|
||||
for(var j=0;j<data.length;j++){
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].asn;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].pps;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].bps;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<tr>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='asn'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].asn;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='pps'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].pps;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='bps'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].bps;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(data.length,0,"printTable","print-title");
|
||||
}
|
||||
}
|
||||
});
|
||||
//为某一列或者 某一行 添加样式
|
||||
// addPrintTableCss(5,2,"printTable","print-title");
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="asn_conn_report"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="begin_date"/>:'+$('[name="searchFoundStartTime"]').val()+' ';
|
||||
title+='<spring:message code="end_date"/>:'+$('[name="searchFoundEndTime"]').val()+'</div>';
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
|
||||
@@ -92,54 +92,114 @@
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var thData=$('#contentTable thead tr th');
|
||||
var userTableStr='';
|
||||
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr +='<table id="printTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr += '<thead>';
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_id"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_name"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="ip_count"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="http_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="mail_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="vedio_count"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="agent_count"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_time"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="stat_time"/></th>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_id'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_id"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_name'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_name"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="ip_count"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='http_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="http_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='mail_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="mail_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='vedio_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="vedio_count"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='agent_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="agent_count"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_time'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_time"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='stat_time'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="stat_time"/></td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
userTableStr += '</thead>';
|
||||
userTableStr += '<tbody>';
|
||||
for(var j=0;j<data.length;j++){
|
||||
userTableStr += '<tr><td>';
|
||||
userTableStr += data[j].taskIds;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].taskName;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].ipNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].httpNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].mailNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].vedioNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].agentNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].taskTime;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].reportTime;
|
||||
userTableStr += '</td><tr>';
|
||||
userTableStr += '<tr>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_id'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskIds;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_name'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskName;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='http_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].httpNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='mail_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].mailNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='vedio_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].vedioNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='agent_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].agentNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_time'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskTime;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='stat_time'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].reportTime;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(data.length,0,"printTable","print-title");
|
||||
}
|
||||
}
|
||||
});
|
||||
//为某一列或者 某一行 添加样式
|
||||
// addPrintTableCss(4,2,"printTable","print-title");
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="ntc_event_block_report"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="task_time"/>:'+$('[name="searchTaskStartTime"]').val()+'—'+$('[name="searchTaskEndTime"]').val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="stat_time"/>:'+$('[name="searchReportStartTime"]').val()+'—'+$('[name="searchReportEndTime"]').val()+'</div>';
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
|
||||
@@ -93,51 +93,104 @@
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var thData=$('#contentTable thead tr th');
|
||||
var userTableStr='';
|
||||
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr +='<table id="printTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr += '<thead>';
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_id"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_name"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="letter_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="config_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="monitor_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="control_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_time"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="stat_time"/></th>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_id'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_id"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_name'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_name"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='letter_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="letter_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='config_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="config_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='monitor_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="monitor_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='control_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="control_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_time'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_time"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='stat_time'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="stat_time"/></td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
userTableStr += '</thead>';
|
||||
userTableStr += '<tbody>';
|
||||
for(var j=0;j<data.length;j++){
|
||||
userTableStr += '<tr><td>';
|
||||
userTableStr += data[j].taskIds;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].taskName;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].letterNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].configNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].monitorNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].controlNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].taskTime;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].reportTime;
|
||||
userTableStr += '</td><tr>';
|
||||
userTableStr += '<tr>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_id'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskIds;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_name'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskName;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='letter_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].letterNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='config_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].configNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='monitor_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].monitorNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='control_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].controlNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_time'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskTime;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='stat_time'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].reportTime;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(data.length,0,"printTable","print-title");
|
||||
}
|
||||
}
|
||||
});
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="ntc_event_key_protection_report"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="task_time"/>:'+$('[name="searchTaskStartTime"]').val()+'—'+$('[name="searchTaskEndTime"]').val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="stat_time"/>:'+$('[name="searchReportStartTime"]').val()+'—'+$('[name="searchReportEndTime"]').val()+'</div>';
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
|
||||
@@ -101,54 +101,112 @@
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var thData=$('#contentTable thead tr th');
|
||||
var userTableStr='';
|
||||
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr +='<table id="printTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">';
|
||||
userTableStr += '<thead>';
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_id"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_name"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="ip_count"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="http_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="mail_num"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="vedio_count"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="agent_count"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="task_time"/></th>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="stat_time"/></th>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_id'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_id"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_name'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_name"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="ip_count"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='http_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="http_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='mail_num'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="mail_num"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='vedio_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="vedio_count"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='agent_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="agent_count"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_time'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="task_time"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='stat_time'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="stat_time"/></td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
userTableStr += '</thead>';
|
||||
userTableStr += '<tbody>';
|
||||
for(var j=0;j<data.length;j++){
|
||||
userTableStr += '<tr><td>';
|
||||
userTableStr += data[j].taskIds;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].taskName;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].ipNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].httpNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].mailNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].vedioNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].agentNum;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].taskTime;
|
||||
userTableStr += '</td><td>';
|
||||
userTableStr += data[j].reportTime;
|
||||
userTableStr += '</td><tr>';
|
||||
userTableStr += '<tr>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_id'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskIds;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_name'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskName;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='http_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].httpNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='mail_num'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].mailNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='vedio_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].vedioNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='agent_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].agentNum;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='task_time'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].taskTime;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='stat_time'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].reportTime;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(data.length,0,"printTable","print-title");
|
||||
}
|
||||
}
|
||||
});
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="ntc_event_monitor_report"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="task_time"/>:'+$('[name="searchTaskStartTime"]').val()+'—'+$('[name="searchTaskEndTime"]').val();
|
||||
title+=' ';
|
||||
title+='<spring:message code="stat_time"/>:'+$('[name="searchReportStartTime"]').val()+'—'+$('[name="searchReportEndTime"]').val()+'</div>';
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
|
||||
@@ -51,36 +51,61 @@
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var thData=$('#contentTable thead tr th');
|
||||
var userTableStr='';
|
||||
userTableStr +='<table class="table table-striped table-bordered table-condensed text-nowrap">';
|
||||
userTableStr +='<table id="printTable" class="table table-striped table-bordered table-condensed text-nowrap">';
|
||||
userTableStr += '<thead>';
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="ip_start"/></td>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="ip_end"/></td>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="ip_sub"/></td>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="country"/></td>';
|
||||
userTableStr += '<th class="sort-column"><spring:message code="desc"/></td>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_start'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="ip_start"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_end'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="ip_end"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_sub'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="ip_sub"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='country'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="country"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='desc'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="desc"/></td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
userTableStr += '</thead>';
|
||||
userTableStr += '<tbody>';
|
||||
for(var j=0;j<data.length;j++){
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipStart;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipEnd;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipSub;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].country;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].desc;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<tr>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_start'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipStart;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_end'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipEnd;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_sub'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipSub;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='country'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].country;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='desc'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].desc;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
@@ -88,11 +113,15 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
//为某一列或者 某一行 添加样式
|
||||
// addPrintTableCss(4,2,"printTable","print-title");
|
||||
var title='<h3 style="text-align: center;font-weight:bold;"><spring:message code="ip_range_report"/></h3>';
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
|
||||
@@ -429,28 +429,50 @@ function customColumnClick(){
|
||||
}
|
||||
//打印
|
||||
function doPrint() {
|
||||
var reportBusinessType=$("#reportBusinessType").val()
|
||||
var tableId="tagTable";
|
||||
if(reportBusinessType=="label_report"){
|
||||
|
||||
document.getElementById("tabTablePrint").scrollTop = 0;
|
||||
$('th').css('transform','translateY(0px)');
|
||||
$('thead tr').css('position','relative');
|
||||
$('th').css('border','1px solid rgb(255, 255, 255)');
|
||||
$('th').css('background-clip','padding-box');
|
||||
|
||||
var reportBusinessType=$("#reportBusinessType").val()
|
||||
var tableId="tagTable";
|
||||
var tabTitleName="<spring:message code='lwhh_report'/>";
|
||||
if(reportBusinessType=="label_report"){
|
||||
tableId="tagTable";
|
||||
}else if(reportBusinessType=="lwhh_report"){
|
||||
tabTitleName="<spring:message code='label_report'/>";
|
||||
}else if(reportBusinessType=="lwhh_report"){
|
||||
tableId="lwhhTable";
|
||||
tabTitleName="<spring:message code='lwhh_report'/>";
|
||||
}else if(reportBusinessType=="src_ip_report"){
|
||||
tableId="contentTable1";
|
||||
tabTitleName="<spring:message code='src_ip_report'/>";
|
||||
}else if(reportBusinessType=="attr_type_report"){
|
||||
tableId="attrTypeTable";
|
||||
tabTitleName="<spring:message code='attr_type_report'/>";
|
||||
}else if(reportBusinessType=="dest_ip_report"){
|
||||
tableId="destIpTable";
|
||||
tabTitleName="<spring:message code='dest_ip_report'/>";
|
||||
}else if(reportBusinessType=="isp_report"){
|
||||
tableId="entranceIdTable";
|
||||
tabTitleName="<spring:message code='isp_report'/>";
|
||||
}
|
||||
|
||||
$("#"+tableId+" tbody tr").removeAttr("style");
|
||||
$("#"+tableId).print({
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(1,0,tableId,"print-title");
|
||||
var timeType = $("#reportType").find("option:selected").text();
|
||||
var time = $("#intype").val();
|
||||
var title='<h3 style="text-align: center;font-weight:bold;">'+$("[name=cfgName2]").val()+'<small>(<spring:message code="report_list"/>)</small></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;">'+timeType+' '+time+' '+tabTitleName+'</div>';
|
||||
$("#"+tableId).print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#"+tableId+" tbody td").removeClass("print-title");
|
||||
pagination(30);
|
||||
}
|
||||
|
||||
@@ -492,6 +514,10 @@ function customColumnClick(){
|
||||
}
|
||||
num++;
|
||||
});
|
||||
if(column.length ==0 ){
|
||||
top.$.jBox.tip("<spring:message code='all_columns_hidden'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
for(var i=1 ; i<rows.length;i++){
|
||||
var rowMap=[];
|
||||
for (var j = 0; j <index.length ; j++) {
|
||||
@@ -690,7 +716,7 @@ white-space:nowrap;
|
||||
</c:if>
|
||||
><a class="lireport" data-bussiness="isp_report" data-toggle="tab" href="#entranceId" title="<spring:message code="isp_report"/>"><spring:message code="isp_report"/></a></li>
|
||||
</ul>
|
||||
<div class="tab-content table-responsive">
|
||||
<div id="tabTablePrint" class="tab-content table-responsive">
|
||||
<div id="lwhh" class="tab-pane fade
|
||||
<c:if test="${bean.reportBusinessType eq 'lwhh_report' or bean.reportBusinessType ==null}">
|
||||
in active
|
||||
|
||||
@@ -72,40 +72,65 @@
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var thData=$('#contentTable thead tr th');
|
||||
var userTableStr='';
|
||||
userTableStr +='<table style="word-wrap:break-word; word-break:break-all;" class="table table-striped table-bordered table-condensed ">';
|
||||
userTableStr +='<table id="printTable" style="word-wrap:break-word; word-break:break-all;" class="table table-striped table-bordered table-condensed ">';
|
||||
userTableStr += '<thead>';
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<th class="sort-column "><spring:message code="url"/></td>';
|
||||
userTableStr += '<th class="sort-column "><spring:message code="ip_count"/></td>';
|
||||
userTableStr += '<th class="sort-column "><spring:message code="counnection_count"/></td>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='url'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="url"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="ip_count"/></td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='counnection_count'/>") {
|
||||
userTableStr += '<td class="sort-column print-title"><spring:message code="counnection_count"/></td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
userTableStr += '</thead>';
|
||||
userTableStr += '<tbody>';
|
||||
for(var j=0;j<data.length;j++){
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<td style="width:700px;">';
|
||||
userTableStr += data[j].url;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipCount;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].connCount;
|
||||
userTableStr += '</td>';
|
||||
userTableStr += '<tr>';
|
||||
for (var i = 0; i < thData.length; i++) {
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='url'/>") {
|
||||
userTableStr += '<td style="width:700px;">';
|
||||
userTableStr += data[j].url;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='ip_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].ipCount;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
if (thData[i].style.display !="none" && thData[i].innerHTML=="<spring:message code='counnection_count'/>") {
|
||||
userTableStr += '<td>';
|
||||
userTableStr += data[j].connCount;
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
//为某一列或者 某一行 添加样式
|
||||
addPrintTableCss(data.length,0,"printTable","print-title");
|
||||
}
|
||||
}
|
||||
});
|
||||
//为某一列或者 某一行 添加样式
|
||||
// addPrintTableCss(4,2,"printTable","print-title");
|
||||
var title='<h3 style="text-align: center;font-weight:bold;" ><spring:message code="https_url_report"/></h3>';
|
||||
title+='<div style="text-align:center;font-weight:bold;"><spring:message code="begin_date"/>:'+$('[name="searchReportStartTime"]').val()+' ';
|
||||
title+='<spring:message code="end_date"/>:'+$('[name="searchReportEndTime"]').val()+'</div>';
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
append: null,
|
||||
prepend: title
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
|
||||
@@ -94,4 +94,8 @@ margin-top: 20px;
|
||||
/* <20><><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>,<2C><>ӡ<EFBFBD><D3A1>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>ʾ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
.css-print{
|
||||
display: none;
|
||||
}
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD> */
|
||||
.print-title{
|
||||
font-weight:bold;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -85,6 +85,7 @@
|
||||
ipMaskSole:"IP already exists.",
|
||||
noStrategyCheck:"No effective spoofing IP configuration",
|
||||
keywordLength:"Please enter a value between 4 and 1024 characters long.",
|
||||
arbitrary:"Arbitrarily"
|
||||
arbitrary:"Arbitrarily",
|
||||
log_trend:"Log Trend"
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
ipMaskSole:"IP уже существует.",
|
||||
noStrategyCheck:"No effective spoofing IP configuration",
|
||||
keywordLength:"Введите между 4 и 1024 символов длинной.",
|
||||
arbitrary:"Любой"
|
||||
arbitrary:"Любой",
|
||||
log_trend:"Журнал Тенденция"
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
ipMaskSole:"IP已存在",
|
||||
noStrategyCheck:"策略组下无有效的欺骗IP配置",
|
||||
keywordLength:"请输入一个长度介于4 和1024 之间的字符串",
|
||||
arbitrary:"任意"
|
||||
arbitrary:"任意",
|
||||
log_trend:"日志趋势"
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
90
src/main/webapp/static/global/scripts/asnRegion.js
Normal file
90
src/main/webapp/static/global/scripts/asnRegion.js
Normal file
@@ -0,0 +1,90 @@
|
||||
$(function(){
|
||||
$('.asnNo').selectpicker({
|
||||
deselectAllText: $("#deselectAll").text(),
|
||||
selectAllText: $("#selectAll").text()
|
||||
});
|
||||
initAsnOrganazation();
|
||||
$(".organization").on("change",function(){
|
||||
getASNNo(this,$(this).val(),$(this).find("option:selected").text().trim());
|
||||
});
|
||||
$(".organization").each(function(){
|
||||
$(this).change();
|
||||
});
|
||||
});
|
||||
/**
|
||||
* 异步获取ASN组织
|
||||
*/
|
||||
var initAsnOrganazation=function(){
|
||||
var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.lastIndexOf("/nis")+4);
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:pathName+'/basics/asnGroup/ajaxGetAsnOrg',
|
||||
data:{"groupType":4},
|
||||
dataType:'json',
|
||||
async:false,
|
||||
success:function (data,textStatus){
|
||||
if(textStatus=="success"){
|
||||
$(".organization").each(function(){
|
||||
$(this).find("option[value!='']").remove();
|
||||
for(var i in data) {
|
||||
$(this).append("<option value='"+data[i].groupId+"'>"+data[i].groupName+"</option>");
|
||||
}
|
||||
$(this).selectpicker('refresh');
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
/***设定数据库值***/
|
||||
$(".organization").each(function(){
|
||||
if($(this).attr("name") != null && $(this).attr("name") != 'undefined'){
|
||||
var asnObjName = ($(this).attr("name")).split("userRegion1")[0]+"organizationGroupId";
|
||||
$(this).selectpicker('val',$("input[name='"+asnObjName+"']").val());
|
||||
$(this).change();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
/**
|
||||
* ASN组织级联获取ASN NO
|
||||
*/
|
||||
var getASNNo=function(obj,orgGroupId,orgName){
|
||||
if($(obj).attr("name") != null && $(obj).attr("name") != 'undefined'){
|
||||
var asnObjName = ($(obj).attr("name")).split("userRegion1")[0]+"cfgKeywords";
|
||||
$("select[name='"+asnObjName+"']").find("option").remove();
|
||||
$("select[name='"+asnObjName+"']").selectpicker('refresh');
|
||||
if(orgGroupId != ''){
|
||||
var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.lastIndexOf("/nis")+4);
|
||||
$.ajax({
|
||||
type:'post',
|
||||
url:pathName+'/basics/asnGroup/ajaxGetAsnNo',
|
||||
data:{"organization":orgName},
|
||||
dataType:'json',
|
||||
async:false,
|
||||
success:function (data,textStatus){
|
||||
if(textStatus=="success"){
|
||||
for(var i in data) {
|
||||
$("select[name='"+asnObjName+"']").append("<option value='"+data[i].asnId+"'>"+data[i].asnId+"</option>");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/***设定数据库值***/
|
||||
$("select[name='"+asnObjName+"']").selectpicker('refresh');
|
||||
var asnNoObjName = ($(obj).attr("name")).split("userRegion1")[0]+"asnNo";
|
||||
if($("input[name='"+asnNoObjName+"']").val() == ''
|
||||
|| $("input[name='"+asnNoObjName+"']").val() == null ){
|
||||
$("select[name='"+asnObjName+"']").selectpicker('selectAll');
|
||||
}else{
|
||||
if($("input[name='"+asnNoObjName+"']").attr("used") == 'false' ){
|
||||
$("select[name='"+asnObjName+"']").selectpicker('val',($("input[name='"+asnNoObjName+"']").val()).split(","));
|
||||
}else{
|
||||
$("select[name='"+asnObjName+"']").selectpicker('selectAll');
|
||||
}
|
||||
$("input[name='"+asnNoObjName+"']").attr("used",true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -399,7 +399,9 @@ $(function(){
|
||||
options = $("select[name='"+objNamePrefix+"matchMethod']").find("option[value!=0]");
|
||||
}
|
||||
//表单中如果有关键字内容可能输入多个关键字的情况,根据输入关键字个数确定表达式选中情况,不允许手动选中
|
||||
$("input:radio[name='"+objNamePrefix+"exprType']").attr("disabled",true);
|
||||
if($("select[name='"+objNamePrefix+"district']").val()!="Payload"){//如果是app 的payload特征,可选择表达式
|
||||
$("input:radio[name='"+objNamePrefix+"exprType']").attr("disabled",true);
|
||||
}
|
||||
tagsInputSettings = tagsInputSettings+",#"+tagsId;
|
||||
}
|
||||
|
||||
@@ -412,9 +414,9 @@ $(function(){
|
||||
onAddTag:function(tag,size){
|
||||
var reg = new RegExp(/\t|\r|\n/);
|
||||
if (tag.match(reg)) {
|
||||
$(this).parents(".col-md-6").next("div").html("<label class='error'>"+$.validator.messages.hasInvisibleChar.replace("{0}","'"+tag+"'")+"</label>");
|
||||
$(this).parent(".col-md-6").next("div").html("<label class='error'>"+$.validator.messages.hasInvisibleChar.replace("{0}","'"+tag+"'")+"</label>");
|
||||
}else{
|
||||
$(this).parents(".col-md-6").next("div").html("");
|
||||
$(this).parent(".col-md-6").next("div").html("");
|
||||
}
|
||||
//var keywordValue = "";
|
||||
var objNamePrefix = $(this).attr("name").split("cfgKeywords")[0];
|
||||
@@ -425,7 +427,7 @@ $(function(){
|
||||
exprTypeChecked(objNamePrefix,size,options);
|
||||
},
|
||||
onRemoveTag:function(tag,size){
|
||||
$(this).parents(".col-md-6").next("div").html("");
|
||||
$(this).parent(".col-md-6").next("div").html("");
|
||||
//var keywordValue = "";
|
||||
var objNamePrefix = $(this).attr("name").split("cfgKeywords")[0];
|
||||
/*$("span[class='tag']").each(function(){
|
||||
@@ -1679,4 +1681,23 @@ function heightDiv(type){
|
||||
}
|
||||
}
|
||||
window.onresize=heightDiv;
|
||||
|
||||
/* 打印时,为列表的某一行或者某一列添加CSS样式
|
||||
* 例子:如果不用添加样式,就把行数和列数设置为0;
|
||||
* var rowValue=3; 行数
|
||||
* var cellValue=2; 列数
|
||||
* var tableIdValue="printTable"; table的ID的值
|
||||
* var cssName="print-title print-background-color"; 要添加的class样式的名字
|
||||
* */
|
||||
function addPrintTableCss(rowValue,cellValue,tableIdValue,cssName){
|
||||
var rows=document.getElementById(""+tableIdValue).rows;
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
for (var k = 0; k <rows[i].cells.length ; k++) {
|
||||
if (rowValue >0 && rowValue <rows.length && rowValue== i) {
|
||||
rows[i].cells[k].className=cssName;
|
||||
}
|
||||
if (cellValue>0 && cellValue<=rows[0].cells.length&& (cellValue-1)==k && i !=0) {
|
||||
rows[i].cells[k].className=cssName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,11 +112,15 @@ var getTotalLog=function(){
|
||||
data.compileIds=[];
|
||||
data.serviceIds=[];
|
||||
data.objs=[];
|
||||
// data.url=null;
|
||||
$("td[compileId]").each(function(){
|
||||
var audit=$(this).attr("audit");
|
||||
var compileId=$(this).attr("compileId");
|
||||
var serviceId=$(this).attr("serviceId");
|
||||
var functionId=$(this).attr("functionId");
|
||||
/* if(data.url==null){
|
||||
data.url=$(this).attr("url");
|
||||
}*/
|
||||
if(audit&&compileId&&functionId&&serviceId){
|
||||
if(audit != 0){
|
||||
var has=false;
|
||||
@@ -168,8 +172,10 @@ var GetLogTotal=function(_data){
|
||||
var hasLog=false;
|
||||
for(var i=0;i<data.length;i++){
|
||||
if($(this).attr("compileId")==data[i].compileId){
|
||||
var serviceId= $(this).attr("serviceId");
|
||||
$(this).attr("id",i+"logTotal");
|
||||
$(this).html(data[i].sum);
|
||||
//$(this).html(data[i].sum);
|
||||
$(this).html("<a href='javascript:;' onclick='logSearch(\""+data[i].compileId+"\",\""+serviceId+"\")'>"+data[i].sum+"<a>");
|
||||
$(this).parent("tr").find("td:eq(1)").html("<a href='javascript:;' onclick='toLogSearch("+i+")'>"+data[i].compileId+"<a>");
|
||||
hasLog=true;
|
||||
}
|
||||
@@ -519,8 +525,8 @@ function setEndTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,forma
|
||||
}
|
||||
var startTimeVal=$(startTimeSelector).val();
|
||||
var endTimeVal=$(endTimeSelector).val();
|
||||
alert(startTimeVal);
|
||||
alert(endTimeVal);
|
||||
//alert(startTimeVal);
|
||||
//alert(endTimeVal);
|
||||
//alert(startTimeVal.substr(0,formatParm.length-1);
|
||||
var startTime;
|
||||
var endTime;
|
||||
@@ -646,4 +652,22 @@ function setStartTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,for
|
||||
$(startTimeSelector).val(dateFtt(formatParm,startTime)+endStr);
|
||||
$(endTimeSelector).val(dateFtt(formatParm,endTime)+endStr);
|
||||
}
|
||||
|
||||
function logSearch(cfgId,serviceId){
|
||||
var title=$.validator.messages.log_trend;
|
||||
var url=$("#jbox_cfg_url",parent.document).val();
|
||||
url=url+"?cfgId="+cfgId+"&serviceId="+serviceId;
|
||||
top.$.jBox("iframe:"+url, {
|
||||
title: title,
|
||||
width: $(document).width()*0.8,
|
||||
height: $(document).height()*0.8,
|
||||
buttons: { close : true },
|
||||
loaded : function(h) { //隐藏滚动条
|
||||
$(".jbox-content", top.document).css( "overflow-y", "hidden");
|
||||
}
|
||||
|
||||
});
|
||||
//alert(cfgId+'======'+url);
|
||||
}
|
||||
|
||||
/*======================新增按照需求指定时间范围,如取到天、小时等end=====================================*/
|
||||
|
||||
@@ -1327,7 +1327,8 @@ function echart_topic_domain(rs){
|
||||
var data=[{
|
||||
'id': '0.0',
|
||||
// 'parent': '',
|
||||
'name': 'Service'
|
||||
'name': 'Service',
|
||||
color:'#265197'
|
||||
}];
|
||||
var unit="bytes";
|
||||
$(rs).each(function(i,d){
|
||||
@@ -1342,6 +1343,7 @@ function echart_topic_domain(rs){
|
||||
if(inoctetsNum>0){
|
||||
/****主题中的子域名*******/
|
||||
var topicData=0;
|
||||
|
||||
$(d.domainData).each(function(j,t){
|
||||
var domainNum=t.byteCount;
|
||||
var domainNumK=domainNum/1024;
|
||||
@@ -1373,14 +1375,13 @@ function echart_topic_domain(rs){
|
||||
plotBorderWidth:null,
|
||||
plotShadow:false,
|
||||
marginTop:50,
|
||||
marginBottom:10,
|
||||
marginBottom:10
|
||||
},
|
||||
/* navigation: {
|
||||
buttonOptions: {
|
||||
x:-5,
|
||||
y:15,
|
||||
}
|
||||
},*/
|
||||
noData:{
|
||||
style: {//设置字体颜色
|
||||
color: '#fff',
|
||||
},
|
||||
},
|
||||
exporting: {
|
||||
allowHTML:true,
|
||||
filename:'Service'+addDateName(),
|
||||
@@ -1399,18 +1400,9 @@ function echart_topic_domain(rs){
|
||||
},
|
||||
buttons: exportingButton('#6e6379')
|
||||
},
|
||||
//colors:[ '#44A9A8', '#f36f8a','#25f3e6','#ffff43','#964CEC','#32B0ED','#2b6ed7','#7278DD','#2DA9D8','#C66FE6','#0099cc','#cc0033','#ff6633','#99cccc','#d9f9d0'],
|
||||
// colors:['#003078','#004bbc', '#015bb1', '#2f74b5', '#4186c1', '#0058e1','#066aff', '#5597cd', '#5c9dff', '#67a7de', '#77b5dc', '#98cde7','#89b9ff','#78adff'],
|
||||
// colors:['#008ef9','#0594ff', '#002540', '#004679', '#025ba1', '#026fc0','#0279d5'],
|
||||
// colors:['#002540','#004679','#025ba1', '#026fc0', '#0279d5', '#0086e9', '#008ef9','#0594ff', '#25a2ff', '#63bbff', '#88cbff'],
|
||||
colors:[ '#1C4573','#275A9C', '#306EB9', '#3579CE', '#3C85E1', '#3E8EF1','#4294F7', '#4294F7', '#98CBFA'],
|
||||
// colors:colors,
|
||||
noData:{
|
||||
style: {//设置字体颜色
|
||||
color: '#fff',
|
||||
},
|
||||
},
|
||||
title: {
|
||||
// colors:[ '#1C4573','#275A9C', '#306EB9', '#3579CE', '#3C85E1', '#3E8EF1','#4294F7', '#4294F7', '#98CBFA'],
|
||||
colors:['#013fa2', '#014ecb', '#015ef4', '#01378e', '#014abd','#0156df','#0b68fe'],
|
||||
title: {
|
||||
text: null
|
||||
},
|
||||
credits:{//是否有highcharts水印
|
||||
@@ -1421,19 +1413,19 @@ function echart_topic_domain(rs){
|
||||
data: data,
|
||||
allowDrillToNode: true,
|
||||
cursor: 'pointer',
|
||||
colorByPoint: true,
|
||||
//colorByPoint: true,
|
||||
dataLabels: {
|
||||
//format: '{point.name}',
|
||||
/*formatter: function(){
|
||||
formatter: function(){
|
||||
this.point.value = this.point.value.toFixed(2);
|
||||
this.series.name = this.point.name;
|
||||
console.info(this);
|
||||
},*/
|
||||
filter: {
|
||||
},
|
||||
filter: {
|
||||
property: 'innerArcLength',
|
||||
operator: '>',
|
||||
value: 16
|
||||
}
|
||||
}
|
||||
},
|
||||
levels: [{
|
||||
level: 1,
|
||||
@@ -1470,7 +1462,8 @@ function echart_topic_domain(rs){
|
||||
}],
|
||||
plotOptions: {
|
||||
sunburst: {
|
||||
borderColor: "",
|
||||
borderColor: "#ffffff",
|
||||
borderWidth:0.2,
|
||||
dataLabels: {
|
||||
enabled: true,
|
||||
style: {//设置字体颜色
|
||||
@@ -1480,7 +1473,7 @@ function echart_topic_domain(rs){
|
||||
textOutline:'none',
|
||||
fontWeight:'normal'
|
||||
},
|
||||
format: '{point.name}',
|
||||
format: '{point.name}'
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1488,7 +1481,53 @@ function echart_topic_domain(rs){
|
||||
headerFormat: "",
|
||||
pointFormat: '<b>{point.name}</b> : <b>{point.value:.2f}<b> ' +unit
|
||||
}
|
||||
});
|
||||
}/*{
|
||||
chart: {
|
||||
backgroundColor: 'rgba(255, 255, 255, 0)',
|
||||
plotBackgroundColor:null,
|
||||
plotBorderWidth:null,
|
||||
plotShadow:false,
|
||||
marginTop:50,
|
||||
marginBottom:10
|
||||
},
|
||||
title: {
|
||||
text: '2017 世界人口分布'
|
||||
},
|
||||
subtitle: {
|
||||
text: '数据来源: <href="https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)">Wikipedia</a>'
|
||||
},
|
||||
series: [{
|
||||
type: "sunburst",
|
||||
data: data,
|
||||
allowDrillToNode: true,
|
||||
cursor: 'pointer',
|
||||
dataLabels: {
|
||||
*//**
|
||||
* A custom formatter that returns the name only if the inner arc
|
||||
* is longer than a certain pixel size, so the shape has place for
|
||||
* the label.
|
||||
*//*
|
||||
},
|
||||
levels: [{
|
||||
level: 2,
|
||||
colorByPoint: true,
|
||||
dataLabels: {
|
||||
rotationMode: 'parallel'
|
||||
}
|
||||
},
|
||||
{
|
||||
level: 3,
|
||||
colorVariation: {
|
||||
key: 'brightness',
|
||||
to: -0.5
|
||||
}
|
||||
}]
|
||||
}],
|
||||
tooltip: {
|
||||
headerFormat: "",
|
||||
pointFormat: '<b>{point.name}</b>的人口数量是:<b>{point.value}</b>'
|
||||
}
|
||||
}*/);
|
||||
}
|
||||
|
||||
function exportingButton(color) {
|
||||
|
||||
@@ -16,7 +16,7 @@ var home = function () {
|
||||
|
||||
//顶部导航顶级菜单事件
|
||||
$(".mega-menu li a").click(function(e){
|
||||
|
||||
top.$.jBox.close(true);
|
||||
var $this = $(this);
|
||||
var next_ul = $this.next("ul");
|
||||
var prev_ul = $this.parents("ul");
|
||||
@@ -72,7 +72,6 @@ var home = function () {
|
||||
|
||||
}*/
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
if(current + opts.count < pageCount && current >= 1 && pageCount > opts.count){
|
||||
if(current + opts.count < pageCount && current >= 1 && pageCount > opts.count && end!=5){// 先暂时定5 防止5页的时候显示
|
||||
var end = opts.coping && opts.endPage ? opts.endPage : pageCount;
|
||||
html += opts.coping ? '<span class="dian-dian">...</span><a href="javascript:;" data-page="'+pageCount+'">'+end+'</a>' : '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user