This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/webapp/WEB-INF/views/log/ntc/ntcStreamMedia.jsp
2018-12-08 13:44:46 +08:00

377 lines
18 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
//筛选功能
filterActionInit();
//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();
});
//异步获取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/av/ajaxAvContUrlList',
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+"']").eq(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="streaming_media"/>
</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/mmAvUrlLogs" 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 id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</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 id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</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">
<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="transport_layer_protocol"/></label>
<c:set var="select"><spring:message code='select'/></c:set>
<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="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="direction"/></label>
<form:select path="direction" class="selectpicker select2 form-control">
<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 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="clientip"/></label>
<input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
</div>
</div>
<div class="col-md-2">
<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>
<!-- /筛选搜索内容栏 结束-->
</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" ><spring:message code="cfg_id"/></th>
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
<th class="sort-column found_time"><spring:message code="found_time"/></th>
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
<th class="sort-column url"><spring:message code='access_url'/></th>
<th><spring:message code='stream_media_protocol'/></th>
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
<th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
<th class="sort-column d_port"><spring:message code="server_port"/></th>
<th class="sort-column s_port"><spring:message code="client_port"/></th>
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
<th class="sort-column direction"><spring:message code="direction"/></th>
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
<th class="sort-column scene_file"><spring:message code='scene_file'/></th>
</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"><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>
<c:if test="${fn:startsWith(log.url, 'http://')}">
${fn:substring(log.url,7,-1)}
</c:if>
<c:if test="${!fn:startsWith(log.url, 'http://') and !empty log.url}">
${log.url}
</c:if>
</td>
<td>${log.protocol}</td>
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</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 title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
<td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</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>
<td>${log.sceneFile}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>