2018-03-17 17:09:19 +08:00
|
|
|
<%@ page contentType="text/html;charset=UTF-8"%>
|
|
|
|
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>特定服务服务器IP管理</title>
|
|
|
|
|
<link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/>
|
|
|
|
|
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script>
|
|
|
|
|
<c:choose>
|
|
|
|
|
<c:when test="${cookie.Language.value eq 'zh_CN'}">
|
|
|
|
|
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
|
|
|
|
|
</c:when>
|
|
|
|
|
<c:when test="${cookie.Language.value eq 'en'}">
|
|
|
|
|
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
|
|
|
|
|
</c:when>
|
|
|
|
|
<c:when test="${cookie.Language.value eq 'ru_RU'}">
|
|
|
|
|
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-ru_RU.min.js"></script>
|
|
|
|
|
</c:when>
|
|
|
|
|
<c:otherwise>
|
|
|
|
|
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-en_US.min.js"></script>
|
|
|
|
|
</c:otherwise>
|
|
|
|
|
</c:choose>
|
|
|
|
|
<script>
|
|
|
|
|
$(document).ready(function() {
|
|
|
|
|
//筛选功能初始化
|
|
|
|
|
filterActionInit();
|
|
|
|
|
|
|
|
|
|
$("#isAudit").change(function(){
|
|
|
|
|
page();
|
|
|
|
|
});
|
|
|
|
|
$("#direction").change(function(){
|
|
|
|
|
page();
|
|
|
|
|
});
|
|
|
|
|
$("#protocol").change(function(){
|
|
|
|
|
page();
|
|
|
|
|
});
|
|
|
|
|
//全选及取消
|
|
|
|
|
$("#checkAll").change(function(){
|
|
|
|
|
if($("#checkAll").prop("checked")){
|
|
|
|
|
$("input.i-checks").prop("checked",true);
|
|
|
|
|
}else{
|
|
|
|
|
$("input.i-checks").prop("checked",false);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
function resetx(){
|
|
|
|
|
$(':input','#searchForm')
|
|
|
|
|
.not(':button,:submit,:reset,:hidden')
|
|
|
|
|
.val('')
|
|
|
|
|
.removeAttr('checked')
|
|
|
|
|
.removeAttr('selected');
|
|
|
|
|
$("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);
|
|
|
|
|
});
|
|
|
|
|
$("#specServiceId").attr("value","");
|
|
|
|
|
$("#srcIp").attr("value","");
|
|
|
|
|
$("#dstIp").attr("value","");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//编辑
|
|
|
|
|
function edit(){
|
|
|
|
|
var cked = $('tbody tr td input.i-checks:checkbox:checked');
|
|
|
|
|
if(cked.val()==1){
|
|
|
|
|
top.$.jBox.tip("<spring:message code='has_approved'/>", "<spring:message code='info'/>");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if(cked.length==1){
|
|
|
|
|
window.location = "${ctx}/specific/specificServiceHostCfg/form?hostId="+cked.attr("id");
|
|
|
|
|
}else{
|
|
|
|
|
top.$.jBox.tip("<spring:message code='check_one'/>", "<spring:message code='info'/>");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//删除
|
|
|
|
|
function delAll(){
|
|
|
|
|
var mulitId="";
|
|
|
|
|
jQuery("#contentTable").find(":checkbox:checked[name='check']").each(function(){
|
|
|
|
|
if(jQuery(this).val()!=""){
|
|
|
|
|
mulitId+=jQuery(this).val()+",";
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
if(mulitId!=""){
|
|
|
|
|
confirmx('您确认要执行该操作?', '${ctx}/specific/specificServiceHostCfg/delete?mulitId='+mulitId);
|
|
|
|
|
}else{
|
|
|
|
|
alert("至少选择一条数据记录");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//查询
|
|
|
|
|
function page(n,s){
|
|
|
|
|
$("#pageNo").val(n);
|
|
|
|
|
$("#pageSize").val(s);
|
|
|
|
|
$("#searchForm").attr("action","${ctx}/specific/specificServiceHostCfg/list");
|
|
|
|
|
$("#searchForm").submit();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
<div class="page-content">
|
|
|
|
|
<div class="theme-panel hidden-xs hidden-sm">
|
|
|
|
|
<button type="button" class="btn btn-primary"
|
|
|
|
|
onClick="javascript:window.location='${ctx}/specific/specificServiceHostCfg/form'">
|
|
|
|
|
<i class="fa fa-plus"></i>
|
|
|
|
|
<spring:message code="add"/></button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h3 class="page-title">
|
|
|
|
|
特定服务服务器IP管理
|
|
|
|
|
<small><spring:message code="date_list"/></small>
|
|
|
|
|
</h3>
|
|
|
|
|
|
|
|
|
|
<h5 class="page-header"></h5>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<div class="portlet">
|
|
|
|
|
|
|
|
|
|
<div class="portlet-body">
|
|
|
|
|
|
|
|
|
|
<div class="row" >
|
|
|
|
|
<form:form id="searchForm" modelAttribute="specificServiceHostCfg" action="${ctx}/specific/specificServiceHostCfg/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="${specificServiceHostCfg.isFilterAction }"/>
|
|
|
|
|
|
|
|
|
|
<!-- 搜索内容与操作按钮栏 -->
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<form:select path="isAudit" class="selectpicker select2 input-small" >
|
|
|
|
|
<form:option value=""><spring:message code="all_states"/></form:option>
|
|
|
|
|
<c:forEach items="${fns:getDictList('SPEC_AUDIT')}" var="dict">
|
|
|
|
|
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</form:select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<c:set var="spec_service_id">协议ID</c:set>
|
|
|
|
|
<form:select path="specServiceId" class="selectpicker select2 input-small" title="${spec_service_id}" data-live-search="true" data-live-search-placeholder="search">
|
|
|
|
|
<c:forEach items="${listSpecServiceId}" var="specServiceId" >
|
|
|
|
|
<form:option value="${specServiceId}">${specServiceId}</form:option>
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</form:select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<c:set var="src_ip">源Ip地址</c:set>
|
|
|
|
|
<form:select path="srcIp" class="selectpicker select2 input-small" title="${src_ip}" data-live-search="true" data-live-search-placeholder="search">
|
|
|
|
|
<c:forEach items="${listSrcIp}" var="srcIp" >
|
|
|
|
|
<form:option value="${srcIp}">${srcIp}</form:option>
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</form:select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<c:set var="dst_ip">目的Ip地址</c:set>
|
|
|
|
|
<form:select path="dstIp" class="selectpicker select2 input-small" title="${dst_ip}" data-live-search="true" data-live-search-placeholder="search">
|
|
|
|
|
<c:forEach items="${listSrcIp}" var="dstIp" >
|
|
|
|
|
<form:option value="${dstIp}">${dstIp}</form:option>
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</form:select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<form:select path="direction" class="selectpicker select2 input-small" >
|
|
|
|
|
<form:option value="">-请选择方向-</form:option>
|
|
|
|
|
<c:forEach items="${fns:getDictList('SPEC_DIRECTION')}" var="dict">
|
|
|
|
|
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</form:select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left" style="margin-right:0px;">
|
|
|
|
|
<form:select path="protocol" class="selectpicker select2 input-small" >
|
|
|
|
|
<form:option value="">-请选择协议-</form:option>
|
|
|
|
|
<c:forEach items="${fns:getDictList('SPEC_PROTOCOL')}" var="dict">
|
|
|
|
|
<form:option value="${dict.itemCode}">${dict.itemValue}</form:option>
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</form:select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<button class="btn btn-default btn-search" type="button" onclick="return page()"><i class="fa fa-search"></i></button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<button type="button" class="btn btn-default" id="filter-btn"> 筛选 <i class="fa fa-angle-double-down"></i></button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="pull-right">
|
|
|
|
|
<button type="button" class="btn btn-default" onclick="edit()">
|
|
|
|
|
<i class="fa fa-edit"></i> <spring:message code="edit"></spring:message></button>
|
|
|
|
|
<button type="button" class="btn btn-default" onclick="delAll()">
|
|
|
|
|
<i class="fa fa-trash"></i> 删除</button>
|
|
|
|
|
<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="examine"></spring:message>
|
|
|
|
|
<i class="fa fa-angle-down"></i>
|
|
|
|
|
</button>
|
|
|
|
|
<ul class="dropdown-menu pull-right">
|
2018-03-17 17:14:59 +08:00
|
|
|
<li><sys:delRow url="" id="contentTable" label="approved"></sys:delRow></li>
|
|
|
|
|
<li><sys:delRow url="" id="contentTable" label="unapproved"></sys:delRow></li>
|
|
|
|
|
<li><sys:delRow url="" id="contentTable" label="cancelPass"></sys:delRow></li>
|
2018-03-17 17:09:19 +08:00
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<a class="btn btn-icon-only btn-default setfields tooltips"
|
|
|
|
|
data-container="body" data-placement="top" data-original-title="自定义列字段" 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-6">
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<label>配置时间:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<input id="beginDate" name="beginDate" type="text" readonly="readonly" maxlength="20" class="form-control input-small Wdate" data-options="buttons:buttons"
|
|
|
|
|
value="<fmt:formatDate value="${specificServiceHostCfg.beginDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<label><spring:message code="to"/></label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<input id="endDate" name="endDate" type="text" readonly="readonly" maxlength="20" class="form-control input-small Wdate"
|
|
|
|
|
value="<fmt:formatDate value="${specificServiceHostCfg.endDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<label>修改时间:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<input id="editBeginDate" name="editBeginDate" type="text" readonly="readonly" maxlength="20" class="form-control input-small Wdate"
|
|
|
|
|
value="<fmt:formatDate value="${specificServiceHostCfg.editBeginDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<label><spring:message code="to"/></label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<input id="editEndDate" name="editEndDate" type="text" readonly="readonly" maxlength="20" class="form-control input-small Wdate"
|
|
|
|
|
value="<fmt:formatDate value="${specificServiceHostCfg.editEndDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="col-md-6">
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<label>审核时间:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<input id="auditBeginDate" name="auditBeginDate" type="text" readonly="readonly" maxlength="20" class="form-control input-small Wdate"
|
|
|
|
|
value="<fmt:formatDate value="${specificServiceHostCfg.auditBeginDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<label><spring:message code="to"/></label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<input id="auditEndDate" name="auditEndDate" type="text" readonly="readonly" maxlength="20" class="form-control input-small Wdate"
|
|
|
|
|
value="<fmt:formatDate value="${specificServiceHostCfg.auditEndDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h5 class="page-header"></h5>
|
|
|
|
|
<div class="row">
|
|
|
|
|
|
|
|
|
|
<div class="pull-left">
|
|
|
|
|
<button type="button" class="btn blue" onclick="page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
|
|
|
|
<button type="button" class="btn btn-default" onclick="resetx()"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- /筛选搜索内容栏 结束-->
|
|
|
|
|
|
|
|
|
|
</form:form>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <div class="table-responsive"> -->
|
|
|
|
|
<sys:message content="${message}"/>
|
|
|
|
|
<table id="contentTable" class="table table-striped table-bordered table-condensed">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
|
|
|
|
|
<th>协议id</th>
|
|
|
|
|
<th>源IP地址</th>
|
|
|
|
|
<th>源地址掩码</th>
|
|
|
|
|
<th>源端口</th>
|
|
|
|
|
<th>源端口掩码</th>
|
|
|
|
|
<th>目的IP地址</th>
|
|
|
|
|
<th>目的地址掩码</th>
|
|
|
|
|
<th>目的端口</th>
|
|
|
|
|
<th>目的端口掩码</th>
|
|
|
|
|
<th>方向</th>
|
|
|
|
|
<th>协议</th>
|
|
|
|
|
<th>是否审核</th>
|
|
|
|
|
<th>创建人员</th>
|
|
|
|
|
<th>配置时间</th>
|
|
|
|
|
<th>修改人员</th>
|
|
|
|
|
<th>修改时间</th>
|
|
|
|
|
<th>审核人员</th>
|
|
|
|
|
<th>审核时间</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
<c:forEach items="${page.list}" var="specificServiceHostCfg">
|
|
|
|
|
<tr>
|
|
|
|
|
<td><input type="checkbox" class="i-checks" name="check" id="${specificServiceHostCfg.hostId}" value="${specificServiceHostCfg.isAudit}"></td>
|
|
|
|
|
<td>${specificServiceHostCfg.specServiceId }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.srcIp }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.srcIpMask }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.srcPort }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.srcPortMask }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.dstIp }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.dstIpMask }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.dstPort }</td>
|
|
|
|
|
<td>${specificServiceHostCfg.dstPortMask }</td>
|
|
|
|
|
<td>${fns:getDictLabel("SPEC_DIRECTION",specificServiceHostCfg.direction,"0")}</td>
|
|
|
|
|
<td>${fns:getDictLabel("SPEC_PROTOCOL",specificServiceHostCfg.protocol,"0")}</td>
|
|
|
|
|
<td>${fns:getDictLabel("SPEC_AUDIT",specificServiceHostCfg.isAudit,"0")}</td>
|
|
|
|
|
<td>${fns:getUserById(specificServiceHostCfg.creator.id).name}</td>
|
|
|
|
|
<td><fmt:formatDate value="${specificServiceHostCfg.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
|
|
|
|
<td>${fns:getUserById(specificServiceHostCfg.editor.id).name}</td>
|
|
|
|
|
<td><fmt:formatDate value="${specificServiceHostCfg.editTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
|
|
|
|
<td>${fns:getUserById(specificServiceHostCfg.auditor.id==null?0:specificServiceHostCfg.auditor.id).name}</td>
|
|
|
|
|
<td><fmt:formatDate value="${specificServiceHostCfg.auditTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<div class="page">${page}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|