实时报表模块添加打印功能(暂时隐藏)12-28
This commit is contained in:
@@ -10,6 +10,7 @@ import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -133,4 +134,61 @@ public class ConfigureStatisticsController extends BaseController{
|
||||
map.put("ruleLimit", ruleLimit);
|
||||
return map;
|
||||
}
|
||||
|
||||
//configureStateStatisticsPrint
|
||||
@ResponseBody
|
||||
@RequestMapping(value = {"/configureStateStatisticsPrint"})
|
||||
public Map configureStateStatisticsPrint(Model model,HttpServletRequest request
|
||||
,HttpServletResponse response
|
||||
,RedirectAttributes redirectAttributes){
|
||||
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
/****************************Request Info Statistics*****************************/
|
||||
//1、查询所有有效的service
|
||||
List<FunctionServiceDict> serviceDictList = DictUtils.getFunctionServiceDictList();
|
||||
//2、查询所有菜单
|
||||
List<SysMenu> menuList = UserUtils.getMenuCfgList();
|
||||
//3、根据来函分页
|
||||
RequestInfo requestInfo=new RequestInfo();
|
||||
requestInfo.setIsAudit(1);
|
||||
requestInfo.setIsValid(1);
|
||||
Page page = new Page(request, response,"r");
|
||||
page.setPageNo(1);
|
||||
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||
Page requestPage = requestInfoService.findRequestInfo(page,requestInfo);
|
||||
List<RequestInfo> requestInfos=requestPage.getList();
|
||||
//4、根据当前页的requestInfo信息查询request统计信息
|
||||
List<Object[]> requestStatisticList=new ArrayList<Object[]>();
|
||||
if(!StringUtil.isEmpty(requestInfos)){
|
||||
Date requestStatisticTime=configureStatisticsService.getRequestStatisticTime();
|
||||
String requestStatisticTimeStr="";
|
||||
if(!StringUtil.isEmpty(requestStatisticTime)){
|
||||
requestStatisticTimeStr=sdf.format(requestStatisticTime);
|
||||
}
|
||||
requestStatisticList=configureStatisticsService.getRequestStateStatistics(requestInfos,menuList,requestStatisticTimeStr);
|
||||
if(!StringUtil.isEmpty(requestStatisticList)){
|
||||
for (Iterator iterator = requestStatisticList.iterator(); iterator.hasNext();) {
|
||||
Map map = (Map) iterator.next();
|
||||
for (RequestInfo requestInfoO : requestInfos) {
|
||||
if(requestInfoO.getId().toString().equals(map.get("request").toString())){
|
||||
map.put("request", requestInfoO.getRequestTitle());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
model.addAttribute("requestStatisticTime", requestStatisticTimeStr);
|
||||
}
|
||||
Properties msgProp = getMsgProp();
|
||||
for (int i = 0; i < menuList.size(); i++) {
|
||||
String property = msgProp.getProperty(menuList.get(i).getCode(), menuList.get(i).getCode());
|
||||
menuList.get(i).setCode(property);
|
||||
}
|
||||
requestPage.setList(requestStatisticList);
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
model.addAttribute("serviceList", serviceDictList);
|
||||
model.addAttribute("page", requestPage);
|
||||
Map<String,Object> maps=new HashMap<String,Object>();
|
||||
maps.put("menuList", menuList);
|
||||
maps.put("requestStatisticList", requestStatisticList);
|
||||
return maps;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
@@ -331,4 +332,74 @@ public class NtcEventBlockController extends BaseController {
|
||||
|
||||
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
||||
}
|
||||
|
||||
// eventBlockPrint
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "eventBlockPrint")
|
||||
public List<NtcEventMonitorOrBlockReport> eventBlockPrint(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model,
|
||||
HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
page.setPageNo(1);
|
||||
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||
params.put("pageSize", page.getPageSize());
|
||||
params.put("pageNo", page.getPageNo());
|
||||
// 判断请求参数
|
||||
String searchReportStartTime = null;
|
||||
String searchReportEndTime = null;
|
||||
String searchTaskStartTime = null;
|
||||
String searchTaskEndTime = null;
|
||||
/**
|
||||
* 对统计时间参数进行处理 开始-结束(一周内[7天])
|
||||
*/
|
||||
String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime());
|
||||
searchReportStartTime = serachReportTimes[0];
|
||||
searchReportEndTime = serachReportTimes[1];
|
||||
/**
|
||||
* 对报送时间参数进行处理 开始-结束(一周内[7天])
|
||||
*/
|
||||
String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime());
|
||||
searchTaskStartTime = serachTaskTimes[0];
|
||||
searchTaskEndTime = serachTaskTimes[1];
|
||||
|
||||
params.put("searchReportStartTime", searchReportStartTime);
|
||||
params.put("searchReportEndTime", searchReportEndTime);
|
||||
params.put("searchTaskStartTime", searchTaskStartTime);
|
||||
params.put("searchTaskEndTime", searchTaskEndTime);
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(log.getTaskIds())) {
|
||||
params.put("taskIds", log.getTaskIds());
|
||||
}
|
||||
|
||||
log.setSearchReportStartTime(searchReportStartTime);
|
||||
log.setSearchReportEndTime(searchReportEndTime);
|
||||
log.setSearchTaskStartTime(searchTaskStartTime);
|
||||
log.setSearchTaskEndTime(searchTaskEndTime);
|
||||
|
||||
params.put("reportType", 1);
|
||||
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
|
||||
// String url = "http://192.168.11.56:8888/galaxy-service/service/log/v1/ntcEventsMonitorOrBlock";
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
List<NtcEventMonitorOrBlockReport> list = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
|
||||
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
|
||||
}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
|
||||
list = data.getList();
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
logger.error("ntc_event_block_report print failed", e);
|
||||
addMessage(redirectAttributes, "error", "print_failed");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
@@ -324,4 +325,72 @@ public class NtcEventKeyProtectionController extends BaseController {
|
||||
|
||||
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
||||
}
|
||||
|
||||
//eventKeyProtectionPrint
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "eventKeyProtectionPrint")
|
||||
public List<NtcEventKeyProtectionReport> eventKeyProtectionPrint(@ModelAttribute("log") NtcEventKeyProtectionReport log, Model model,
|
||||
HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
PageLog<NtcEventKeyProtectionReport> page = new PageLog<NtcEventKeyProtectionReport>(request, response);
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
page.setPageNo(1);
|
||||
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||
params.put("pageSize", page.getPageSize());
|
||||
params.put("pageNo", page.getPageNo());
|
||||
|
||||
// 判断请求参数
|
||||
String searchReportStartTime = null;
|
||||
String searchReportEndTime = null;
|
||||
String searchTaskStartTime = null;
|
||||
String searchTaskEndTime = null;
|
||||
|
||||
/**
|
||||
* 对统计时间参数进行处理 开始-结束(一周内[7天])
|
||||
*/
|
||||
String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime());
|
||||
searchReportStartTime = serachReportTimes[0];
|
||||
searchReportEndTime = serachReportTimes[1];
|
||||
|
||||
/**
|
||||
* 对报送时间参数进行处理 开始-结束(一周内[7天])
|
||||
*/
|
||||
String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime());
|
||||
searchTaskStartTime = serachTaskTimes[0];
|
||||
searchTaskEndTime = serachTaskTimes[1];
|
||||
|
||||
params.put("searchReportStartTime", searchReportStartTime);
|
||||
params.put("searchReportEndTime", searchReportEndTime);
|
||||
params.put("searchTaskStartTime", searchTaskStartTime);
|
||||
params.put("searchTaskEndTime", searchTaskEndTime);
|
||||
|
||||
if (StringUtils.isNotBlank(log.getTaskIds())) {
|
||||
params.put("taskIds", log.getTaskIds());
|
||||
}
|
||||
|
||||
log.setSearchReportStartTime(searchReportStartTime);
|
||||
log.setSearchReportEndTime(searchReportEndTime);
|
||||
log.setSearchTaskStartTime(searchTaskStartTime);
|
||||
log.setSearchTaskEndTime(searchTaskEndTime);
|
||||
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_KEYPROTECTION_Report;
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
List<NtcEventKeyProtectionReport> list = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<NtcEventKeyProtectionReport> fromJson = gson.fromJson(recv,
|
||||
new TypeToken<LogRecvData<NtcEventKeyProtectionReport>>() {
|
||||
}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
Page<NtcEventKeyProtectionReport> data = fromJson.getData();
|
||||
list = data.getList();
|
||||
}
|
||||
}
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
logger.error("ntc_event_key_protection_report print failed", e);
|
||||
addMessage(redirectAttributes, "error", "print_failed");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
@@ -329,4 +330,74 @@ public class NtcEventMonitorController extends BaseController {
|
||||
|
||||
return dateTime.toString(TimeConstants.YYYY_MM_DD_HH24_MM_SS);
|
||||
}
|
||||
|
||||
// eventMonitorPrint
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "eventMonitorPrint")
|
||||
public List<NtcEventMonitorOrBlockReport> eventMonitorPrint(@ModelAttribute("log") NtcEventMonitorOrBlockReport log, Model model,
|
||||
HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
PageLog<NtcEventMonitorOrBlockReport> page = new PageLog<NtcEventMonitorOrBlockReport>(request, response);
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
page.setPageNo(1);
|
||||
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||
params.put("pageSize", page.getPageSize());
|
||||
params.put("pageNo", page.getPageNo());
|
||||
|
||||
// 判断请求参数
|
||||
String searchReportStartTime = null;
|
||||
String searchReportEndTime = null;
|
||||
String searchTaskStartTime = null;
|
||||
String searchTaskEndTime = null;
|
||||
|
||||
/**
|
||||
* 对统计时间参数进行处理 开始-结束(一周内[7天])
|
||||
*/
|
||||
String[] serachReportTimes = getSerachTimes(log.getSearchReportStartTime(), log.getSearchReportEndTime());
|
||||
searchReportStartTime = serachReportTimes[0];
|
||||
searchReportEndTime = serachReportTimes[1];
|
||||
|
||||
/**
|
||||
* 对报送时间参数进行处理 开始-结束(一周内[7天])
|
||||
*/
|
||||
String[] serachTaskTimes = getSerachTimes(log.getSearchTaskStartTime(), log.getSearchTaskEndTime());
|
||||
searchTaskStartTime = serachTaskTimes[0];
|
||||
searchTaskEndTime = serachTaskTimes[1];
|
||||
|
||||
params.put("searchReportStartTime", searchReportStartTime);
|
||||
params.put("searchReportEndTime", searchReportEndTime);
|
||||
params.put("searchTaskStartTime", searchTaskStartTime);
|
||||
params.put("searchTaskEndTime", searchTaskEndTime);
|
||||
|
||||
if (StringUtils.isNotBlank(log.getTaskIds())) {
|
||||
params.put("taskIds", log.getTaskIds());
|
||||
}
|
||||
|
||||
log.setSearchReportStartTime(searchReportStartTime);
|
||||
log.setSearchReportEndTime(searchReportEndTime);
|
||||
log.setSearchTaskStartTime(searchTaskStartTime);
|
||||
log.setSearchTaskEndTime(searchTaskEndTime);
|
||||
|
||||
params.put("reportType", 2);
|
||||
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_EVENT_MONITOR_OR_BLOCK_Report;
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
List<NtcEventMonitorOrBlockReport> list = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<NtcEventMonitorOrBlockReport> fromJson = gson.fromJson(recv,
|
||||
new TypeToken<LogRecvData<NtcEventMonitorOrBlockReport>>() {
|
||||
}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
Page<NtcEventMonitorOrBlockReport> data = fromJson.getData();
|
||||
list = data.getList();
|
||||
}
|
||||
}
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
logger.error("ntc_event_monitor_report print failed", e);
|
||||
addMessage(redirectAttributes, "error", "print_failed");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
@@ -567,4 +568,158 @@ public class ReportController extends BaseController {
|
||||
addMessage(redirectAttributes, "error", "export_failed");
|
||||
}
|
||||
}
|
||||
// asnPrint
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "asnPrint")
|
||||
public List<NtcAsnRecord> asnPrint(@ModelAttribute("log") NtcAsnRecord log, Model model,
|
||||
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
PageLog<NtcAsnRecord> page = new PageLog<NtcAsnRecord>(request, response);
|
||||
page.setPageNo(1);
|
||||
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("pageSize", page.getPageSize());
|
||||
params.put("pageNo", page.getPageNo());
|
||||
// 判断请求参数
|
||||
if (StringUtils.isNotEmpty(log.getSearchAsnType())) {
|
||||
params.put("searchAsnType", log.getSearchAsnType());
|
||||
} else {
|
||||
params.put("searchAsnType", 1);
|
||||
}
|
||||
if (StringUtils.isNotBlank(log.getSearchFoundStartTime())
|
||||
&& StringUtils.isNotBlank(log.getSearchFoundEndTime())) {
|
||||
params.put("searchFoundStartTime", log.getSearchFoundStartTime());
|
||||
params.put("searchFoundEndTime", log.getSearchFoundEndTime());
|
||||
} else {
|
||||
Calendar time = Calendar.getInstance();
|
||||
String searchEndTime = DateUtils.formatDateTime(time.getTime());
|
||||
time.add(Calendar.HOUR_OF_DAY, -1);
|
||||
String searchStartTime = DateUtils.formatDateTime(time.getTime());
|
||||
|
||||
params.put("searchFoundStartTime", searchStartTime);
|
||||
params.put("searchFoundEndTime", searchEndTime);
|
||||
log.setSearchFoundStartTime(searchStartTime);
|
||||
log.setSearchFoundEndTime(searchEndTime);
|
||||
}
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_ASN_RECORD;
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
List<NtcAsnRecord> list = new ArrayList<NtcAsnRecord>();
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<NtcAsnRecord> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcAsnRecord>>() {
|
||||
}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
Page<NtcAsnRecord> data = fromJson.getData();
|
||||
list = data.getList();
|
||||
}
|
||||
}
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
logger.error("Ntc_Asn_Record print failed", e);
|
||||
addMessage(redirectAttributes, "error", "print_failed");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// httpsPrint
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "httpsPrint")
|
||||
public List<NtcURLReport> httpsPrint(@ModelAttribute("log") NtcURLReport log, Model model,
|
||||
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
PageLog<NtcURLReport> page = new PageLog<NtcURLReport>(request, response);
|
||||
page.setPageNo(1);
|
||||
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("pageSize", page.getPageSize());
|
||||
params.put("pageNo", page.getPageNo());
|
||||
// 判断请求参数
|
||||
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
|
||||
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
|
||||
params.put("searchReportStartTime", log.getSearchReportStartTime());
|
||||
params.put("searchReportEndTime", log.getSearchReportEndTime());
|
||||
} else {
|
||||
Calendar time = Calendar.getInstance();
|
||||
String searchEndTime = DateUtils.formatDateTime(time.getTime());
|
||||
time.add(Calendar.HOUR_OF_DAY, -1);
|
||||
String searchStartTime = DateUtils.formatDateTime(time.getTime());
|
||||
|
||||
params.put("searchReportStartTime", searchStartTime);
|
||||
params.put("searchReportEndTime", searchEndTime);
|
||||
log.setSearchReportStartTime(searchStartTime);
|
||||
log.setSearchReportEndTime(searchEndTime);
|
||||
}
|
||||
// url参数
|
||||
if (StringUtils.isNotBlank(log.getSearchUrl())) {
|
||||
params.put("searchUrl", log.getSearchUrl());
|
||||
}
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_URL_REPORT;
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
List<NtcURLReport> list = new ArrayList<NtcURLReport>();
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<NtcURLReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcURLReport>>() {
|
||||
}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
Page<NtcURLReport> data = fromJson.getData();
|
||||
list = data.getList();
|
||||
}
|
||||
}
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
logger.error("Ntc_HTTPS_Report print failed", e);
|
||||
addMessage(redirectAttributes, "error", "print_failed");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// ipRangePrint
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "ipRangePrint")
|
||||
public List<NtcIpRangeReport> ipRangePrint(@ModelAttribute("log") NtcIpRangeReport log, Model model,
|
||||
HttpServletRequest request, HttpServletResponse response, String seType,RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
PageLog<NtcIpRangeReport> page = new PageLog<NtcIpRangeReport>(request, response);
|
||||
page.setPageNo(1);
|
||||
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("pageSize", page.getPageSize());
|
||||
params.put("pageNo", page.getPageNo());
|
||||
log.setSearchAreaType(seType);
|
||||
// 判断请求参数
|
||||
// 查询国家
|
||||
if (StringUtils.isNotBlank(log.getSearchCountry())) {
|
||||
params.put("searchCountry", log.getSearchCountry());
|
||||
}
|
||||
// 查询开始IP
|
||||
if (StringUtils.isNotBlank(log.getSearchStartIp())) {
|
||||
params.put("searchIp", log.getSearchIp());
|
||||
}
|
||||
//
|
||||
if (StringUtils.isNotBlank(log.getSearchAreaType())) {
|
||||
params.put("searchType", log.getSearchAreaType());
|
||||
}
|
||||
if (StringUtils.isNotBlank(log.getSearchAreaType())) {
|
||||
params.put("searchDesc", log.getSearchDesc());
|
||||
}
|
||||
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_IP_RANGE_REPORT;
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
List<NtcIpRangeReport> list = new ArrayList<NtcIpRangeReport>();
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<NtcIpRangeReport> fromJson = gson.fromJson(recv,
|
||||
new TypeToken<LogRecvData<NtcIpRangeReport>>() {
|
||||
}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
Page<NtcIpRangeReport> data = fromJson.getData();
|
||||
list = data.getList();
|
||||
}
|
||||
}
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
logger.error("Ntc_Ip_Range_Report print failed", e);
|
||||
addMessage(redirectAttributes, "error", "print_failed");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1434,3 +1434,4 @@ max_length=Maximum Length
|
||||
min_length=Minimum Length
|
||||
length_error=Length Error
|
||||
duplicate=Duplicate
|
||||
print=Print
|
||||
@@ -1359,56 +1359,56 @@ translated_dest_ip=\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\
|
||||
translated_dest_port=\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u041f\u043e\u0440\u0442 \u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
|
||||
show_ips=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0412\u0441\u0435 IP
|
||||
show_available_ips=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 IP
|
||||
radius_log=Radius \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u0442\u044C
|
||||
message_type=\u041A\u043E\u0434
|
||||
radius_log=Radius \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c
|
||||
message_type=\u041a\u043e\u0434
|
||||
nas_ip=NAS IP-\u0430\u0434\u0440\u0435\u0441
|
||||
framed_ip=Framed IP-\u0430\u0434\u0440\u0435\u0441
|
||||
log_user_name=\u0418\u043C\u044F \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F
|
||||
av_tips=\u0421\u0438\u0441\u0442\u0435\u043C\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u043D\u0434\u0435\u043A\u0441\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u0430\u0443\u0434\u0438\u043E \u0438 \u0432\u0438\u0434\u0435\u043E \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432 \u0445\u0432\u043E\u0441\u0442\u0435 \u0430\u0443\u0434\u0438\u043E \u0438 \u0432\u0438\u0434\u0435\u043E \u0444\u0430\u0439\u043B\u043E\u0432. \u0421\u0438\u0441\u0442\u0435\u043C\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0438\u0434\u0435\u043E \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0432\u044B\u0448\u0435 1080P.
|
||||
asn_ip_group_delete=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F IP \u0432 \u044D\u0442\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u0435 ASN \u0442\u0430\u043A\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D\u0430.
|
||||
keyword_log_tips=\u041A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u043C\u0438 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u043B\u043E\u0445\u0438\u043C, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0434\u0435\u0434\u0443\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0436\u0443\u0440\u043D\u0430\u043B\u0430 \u0434\u0430\u043D\u043D\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E <20>\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 URL<EFBFBD> \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0432\u0448\u0435\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430.
|
||||
conn_record=\u0417\u0430\u043F\u0438\u0441\u0438 \u041F\u043E\u0434\u043A\u044E\u0447\u0435\u043D\u0438\u0439
|
||||
log_user_name=\u0418\u043c\u044f \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
|
||||
av_tips=\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0430\u0443\u0434\u0438\u043e \u0438 \u0432\u0438\u0434\u0435\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0445\u0432\u043e\u0441\u0442\u0435 \u0430\u0443\u0434\u0438\u043e \u0438 \u0432\u0438\u0434\u0435\u043e \u0444\u0430\u0439\u043b\u043e\u0432. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0438\u0434\u0435\u043e \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0448\u0435 1080P.
|
||||
asn_ip_group_delete=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f IP \u0432 \u044d\u0442\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 ASN \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0430.
|
||||
keyword_log_tips=\u041a\u043e\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u043b\u043e\u0445\u0438\u043c, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u7395u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 URL\ufffd \u0434\u043b\u044f \u043f\u043e\u0434\u0430\u0432\u0448\u0435\u0433\u043e \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430.
|
||||
conn_record=\u0417\u0430\u043f\u0438\u0441\u0438 \u041f\u043e\u0434\u043a\u044e\u0447\u0435\u043d\u0438\u0439
|
||||
bps=Gbps
|
||||
bps_percent=Bps Percent
|
||||
pps=PPS
|
||||
pps_percent=pps Percent
|
||||
spoofing_ip_object=\u041F\u0443\u043B IP \u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
||||
spoofing_ip_policy=IP \u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
||||
action_spoofing=\u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
||||
spoofing=\u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
||||
spoofing_ip_object=\u041f\u0443\u043b IP \u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||
spoofing_ip_policy=IP \u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||
action_spoofing=\u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||
spoofing=\u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||
service=\u0421\u0435\u0440\u0432\u0438\u0441
|
||||
s_asn=SASN
|
||||
d_asn=DASN
|
||||
asn_conn_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 ASN
|
||||
https_url_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 Http(s) URL
|
||||
asn_conn_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 ASN
|
||||
https_url_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 Http(s) URL
|
||||
url=URL
|
||||
sum=SUM
|
||||
url_count=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E URL
|
||||
ip_range_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043A\u0430 \u0425\u043E\u0441\u0442\u043E\u0432 \u0432 \u0433\u0440\u0430\u043D\u0438\u0446\u0430\u0445 \u0438 \u0437\u0430 \u0433\u0440\u0430\u043D\u0438\u0446\u0435\u0439
|
||||
ip_start=\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0439 IP
|
||||
ip_end=\u041A\u043E\u043D\u0435\u0447\u043D\u044B\u0439 IP
|
||||
url_count=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e URL
|
||||
ip_range_report=\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0425\u043e\u0441\u0442\u043e\u0432 \u0432 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0438 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0435\u0439
|
||||
ip_start=\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 IP
|
||||
ip_end=\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 IP
|
||||
ip_start_num=IP Start Num
|
||||
ip_end_num=IP End Num
|
||||
ip_sub=IP-\u043F\u043E\u0434\u0441\u0435\u0442\u044C
|
||||
start_ip=\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0439 IP
|
||||
end_ip=\u041A\u043E\u043D\u0435\u0447\u043D\u044B\u0439 IP
|
||||
action_detail=\u0414\u0435\u0442\u0430\u043B\u044C \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F
|
||||
pass=\u041F\u0430\u0441
|
||||
ip_sub=IP-\u043f\u043e\u0434\u0441\u0435\u0442\u044c
|
||||
start_ip=\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 IP
|
||||
end_ip=\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 IP
|
||||
action_detail=\u0414\u0435\u0442\u0430\u043b\u044c \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f
|
||||
pass=\u041f\u0430\u0441
|
||||
live_link=\u0410\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0421\u0441\u044b\u043b\u043a\u0430
|
||||
area_type=\u0422\u0438\u043F \u0417\u043E\u043D\u044B
|
||||
dns_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 DNS \u0433\u0440\u0443\u043F\u043F\u043E\u0439
|
||||
asn_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 ASN \u0433\u0440\u0443\u043F\u043F\u043E\u0439
|
||||
ip_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 IP \u0433\u0440\u0443\u043F\u043F\u043E\u0439
|
||||
ip_spoofing_group_manage=\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u041F\u0443\u043B\u043E\u043C IP \u0421\u043F\u0443\u0444\u0438\u043D\u0433
|
||||
min_tcp=\u041C\u0438\u043D.
|
||||
max_tcp=\u041C\u0430\u043A\u0441.
|
||||
APP_TCP_SESSION_BYTE=\u0421\u0435\u0430\u043D\u0441
|
||||
area_type=\u0422\u0438\u043f \u0417\u043e\u043d\u044b
|
||||
dns_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 DNS \u0433\u0440\u0443\u043f\u043f\u043e\u0439
|
||||
asn_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 ASN \u0433\u0440\u0443\u043f\u043f\u043e\u0439
|
||||
ip_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 IP \u0433\u0440\u0443\u043f\u043f\u043e\u0439
|
||||
ip_spoofing_group_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u041f\u0443\u043b\u043e\u043c IP \u0421\u043f\u0443\u0444\u0438\u043d\u0433
|
||||
min_tcp=\u041c\u0438\u043d.
|
||||
max_tcp=\u041c\u0430\u043a\u0441.
|
||||
APP_TCP_SESSION_BYTE=\u0421\u0435\u0430\u043d\u0441
|
||||
ip_count=Uniq-IP
|
||||
counnection_count=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0439
|
||||
counnection_count=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439
|
||||
asn=ASN
|
||||
Unique_num=Unique
|
||||
ip=IP
|
||||
country=\u0421\u0442\u0440\u0430\u043D\u0430
|
||||
country=\u0421\u0442\u0440\u0430\u043d\u0430
|
||||
desc=Desc
|
||||
unique_num=Unique
|
||||
import_limit_is=The maximum import size is
|
||||
@@ -1438,3 +1438,4 @@ max_length=Maximum Length
|
||||
min_length=Minimum Length
|
||||
length_error=Length Error
|
||||
duplicate=Duplicate
|
||||
print=Print
|
||||
@@ -1430,7 +1430,8 @@ config_num=\u914d\u7f6e\u603b\u6570
|
||||
monitor_num=\u76d1\u6d4b\u6570\u91cf
|
||||
control_num=\u7ba1\u63a7\u6570\u91cf
|
||||
contains_non_hex_char=\u5305\u542b\u975e\u5341\u516d\u8fdb\u5236\u5b57\u7b26
|
||||
max_length=\u6700\u5927\u957F\u5EA6
|
||||
min_length=\u6700\u5C0F\u957F\u5EA6
|
||||
length_error=\u957F\u5EA6\u9519\u8BEF
|
||||
duplicate=\u91CD\u590D\u7684
|
||||
max_length=\u6700\u5927\u957f\u5ea6
|
||||
min_length=\u6700\u5c0f\u957f\u5ea6
|
||||
length_error=\u957f\u5ea6\u9519\u8bef
|
||||
duplicate=\u91cd\u590d\u7684
|
||||
print=\u6253\u5370
|
||||
@@ -88,6 +88,9 @@
|
||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||
</ul>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
@@ -115,6 +118,7 @@
|
||||
<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/js/no-data-to-display.js"></script>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
@@ -185,6 +189,17 @@ function ajaxAppList(start,end){
|
||||
}
|
||||
});
|
||||
}
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
// 导出列表
|
||||
$(".export-btn").click(function(){
|
||||
var nowDate=new Date();
|
||||
|
||||
@@ -65,6 +65,9 @@
|
||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||
</ul>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
@@ -91,6 +94,7 @@
|
||||
<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="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
loading();
|
||||
@@ -163,6 +167,17 @@ function ajaxProtocolList(start,end){
|
||||
}
|
||||
});
|
||||
}
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
// 导出列表
|
||||
$(".export-btn").click(function(){
|
||||
var dataType = $(this).attr("data-type");
|
||||
|
||||
@@ -70,6 +70,9 @@
|
||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||
</ul>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
@@ -110,6 +113,7 @@
|
||||
<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 src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
@@ -131,7 +135,14 @@ $(document).ready(function(){
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
});
|
||||
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
}
|
||||
//导出列表
|
||||
$(".export-btn").click(function(){
|
||||
var dataType = $(this).attr("data-type");
|
||||
|
||||
@@ -78,6 +78,9 @@
|
||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||
</ul>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
@@ -105,6 +108,7 @@
|
||||
<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/js/no-data-to-display.js"></script>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
@@ -179,6 +183,17 @@ function ajaxProtocolList(start,end){
|
||||
}
|
||||
});
|
||||
}
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
// 导出列表
|
||||
$(".export-btn").click(function(){
|
||||
var nowDate=new Date();
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/global/css/layout.css" type="text/css" media="screen">
|
||||
<script type="text/javascript" src="${pageContext.request.contextPath}/static/global/plugins/jquery-ui/jquery-ui.min.js"></script>
|
||||
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title><spring:message code="traffic_user_behavior"></spring:message></title>
|
||||
<style>
|
||||
td:hover{
|
||||
@@ -164,7 +164,22 @@
|
||||
var modifyTime=new Date(chooseDate);
|
||||
$('#searchFoundEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
||||
}
|
||||
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
if($('.httpResCfg').is(':hidden')){
|
||||
$(".httpReqCfg").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
}else{
|
||||
$(".httpResCfg").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -268,7 +283,9 @@
|
||||
maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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"/>
|
||||
|
||||
@@ -128,6 +128,9 @@
|
||||
<li><a class="btn export-btn" data-type="xlsx" id="export-btn"><i class="fa fa-download"> </i> excel </a><li>
|
||||
<li><a class="btn export-btn" data-type="csv" id="export-btn"><i class="fa fa-download"> </i> csv </a><li>
|
||||
</ul>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -167,6 +170,7 @@
|
||||
<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/js/no-data-to-display.js"></script>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
@@ -247,6 +251,17 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
getPageData(1,999999);// 设置打印条数
|
||||
$("#contentTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
getPageData(1,10);
|
||||
pageJuan(10);//初始化分页
|
||||
}
|
||||
// 导出列表
|
||||
$(".export-btn").click(function(){
|
||||
var nowDate=new Date();
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/xlsx.core.js"></script>
|
||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/FileSaver.js"></script>
|
||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<meta name="format-detection" content="telephone=no,email=no,address=no">
|
||||
<style type="text/css">
|
||||
.statisticsRequest{
|
||||
@@ -178,7 +179,76 @@
|
||||
var currentdate = year+""+ month+""+strDate+""+ hours+""+ minutes+""+seconds;
|
||||
return currentdate;
|
||||
}
|
||||
//来函和业务配置统计打印
|
||||
function cfgMenuPrint(){
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
cache:false,
|
||||
url:'${ctx}/configure/statistics/configureStateStatisticsPrint',//
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var menu=data.menuList;
|
||||
var dataList=data.requestStatisticList;
|
||||
|
||||
var userTableStr='';
|
||||
userTableStr +='<table 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>';
|
||||
for (var i = 0; i < menu.length; i++) {
|
||||
if (menu[i].functionId == 8) {
|
||||
userTableStr += '<th class="sort-column">HTTP '+menu[i].code+'</th>';
|
||||
} else if(menu[i].functionId == 35){
|
||||
userTableStr += '<th class="sort-column">MAIL '+menu[i].code+'</th>';
|
||||
}else {
|
||||
userTableStr += '<th class="sort-column">'+menu[i].code+'</th>';
|
||||
}
|
||||
}
|
||||
userTableStr += '</tr>';
|
||||
userTableStr += '</thead>';
|
||||
userTableStr += '<tbody>';
|
||||
for(var j=0;j<dataList.length;j++){
|
||||
userTableStr += '<tr>';
|
||||
userTableStr += '<td>';
|
||||
userTableStr += dataList[j].request;
|
||||
userTableStr += '</td>';
|
||||
for (var k = 0; k < menu.length; k++) {
|
||||
userTableStr += '<td>';
|
||||
var sss=menu[k].functionId+'_'+menu[k].functionId;
|
||||
userTableStr += dataList[j][sss];
|
||||
userTableStr += '</td>';
|
||||
}
|
||||
userTableStr += '<tr>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
/* $(".cfgMenuTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
}); */
|
||||
}
|
||||
//配置业务和状态统计打印
|
||||
function statisticsPrint() {
|
||||
$(".statisticsStatusTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<title>index</title>
|
||||
@@ -206,6 +276,10 @@
|
||||
<li><a href="javascript:;" class="export-btn" data-export-type="csv" data-export-table="cfgMenuTable"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="cfgMenuPrint()" style="margin-top: -5px;">
|
||||
<i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<h5 class="page-header"></h5>
|
||||
<div class="tableDiv">
|
||||
@@ -251,6 +325,7 @@
|
||||
</div>
|
||||
</form>
|
||||
<div class="page">${page}</div>
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
<div id="statisticsStatus" class="statisticsStatus">
|
||||
<font size="4">
|
||||
@@ -269,6 +344,10 @@
|
||||
<li><a href="javascript:;" class="export-btn" data-export-type="csv" data-export-table="statisticsStatusTable"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="statisticsPrint()" style="margin-top: -5px;">
|
||||
<i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<h5 class="page-header"></h5>
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap statisticsStatusTable" name="statisticsStatusTable">
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title>
|
||||
<spring:message code="asn_conn_report"/>
|
||||
</title>
|
||||
@@ -51,7 +52,59 @@
|
||||
var modifyTime=new Date(chooseDate);
|
||||
$('#searchFoundEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
||||
}
|
||||
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
cache:false,
|
||||
url:'${ctx}/report/asnPrint',//
|
||||
data:{
|
||||
"searchAsnType":$('[name="searchAsnType"]').val(),
|
||||
"asn":$('[name="asn"]').val(),
|
||||
"searchFoundStartTime":$('[name="searchFoundStartTime"]').val(),
|
||||
"searchFoundEndTime":$('[name="searchFoundEndTime"]').val()
|
||||
},
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var userTableStr='';
|
||||
userTableStr +='<table 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>';
|
||||
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>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -129,6 +182,9 @@
|
||||
<li><sys:delRow url="${ctx}/report/asnExport?type=csv" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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>
|
||||
@@ -170,6 +226,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title>
|
||||
<spring:message code="ntc_event_block_report"/>
|
||||
</title>
|
||||
@@ -73,6 +74,75 @@
|
||||
$('.selectpicker').selectpicker('render');
|
||||
}
|
||||
};
|
||||
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
cache:false,
|
||||
url:'${ctx}/eventBlock/eventBlockPrint',//
|
||||
data:{
|
||||
"taskIds":$("#taskIdArray").val(),
|
||||
"searchTaskStartTime":$('[name="searchTaskStartTime"]').val(),
|
||||
"searchTaskEndTime":$('[name="searchTaskEndTime"]').val(),
|
||||
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||
},
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var userTableStr='';
|
||||
userTableStr +='<table 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>';
|
||||
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 +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -126,6 +196,9 @@
|
||||
<li><sys:delRow url="${ctx}/eventBlock/eventBlockExport?type=csv" searchUrl="${ctx}/eventBlock/eventBlockList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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>
|
||||
@@ -232,6 +305,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title>
|
||||
<spring:message code="ntc_event_key_protection_report"/>
|
||||
</title>
|
||||
@@ -74,6 +75,72 @@
|
||||
$('.selectpicker').selectpicker('render');
|
||||
}
|
||||
};
|
||||
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
cache:false,
|
||||
url:'${ctx}/eventKeyProtection/eventKeyProtectionPrint',//
|
||||
data:{
|
||||
"taskIds":$("#taskIdArray").val(),
|
||||
"searchTaskStartTime":$('[name="searchTaskStartTime"]').val(),
|
||||
"searchTaskEndTime":$('[name="searchTaskEndTime"]').val(),
|
||||
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||
},
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var userTableStr='';
|
||||
userTableStr +='<table 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>';
|
||||
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 +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -127,6 +194,9 @@
|
||||
<li><sys:delRow url="${ctx}/eventKeyProtection/eventKeyProtectionExport?type=csv" searchUrl="${ctx}/eventKeyProtection/eventKeyProtectionList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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>
|
||||
@@ -230,6 +300,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title>
|
||||
<spring:message code="ntc_event_monitor_report"/>
|
||||
</title>
|
||||
@@ -83,6 +84,74 @@
|
||||
}
|
||||
};
|
||||
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
cache:false,
|
||||
url:'${ctx}/eventMonitor/eventMonitorPrint',//
|
||||
data:{
|
||||
"taskIds":$("#taskIdArray").val(),
|
||||
"searchTaskStartTime":$('[name="searchTaskStartTime"]').val(),
|
||||
"searchTaskEndTime":$('[name="searchTaskEndTime"]').val(),
|
||||
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||
},
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var userTableStr='';
|
||||
userTableStr +='<table 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>';
|
||||
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 +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -136,6 +205,9 @@
|
||||
<li><sys:delRow url="${ctx}/eventMonitor/eventMonitorExport?type=csv" searchUrl="${ctx}/eventMonitor/eventMonitorList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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>
|
||||
@@ -242,6 +314,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title>
|
||||
<spring:message code="ip_range_report"/>
|
||||
</title>
|
||||
@@ -34,7 +35,67 @@
|
||||
// });
|
||||
// ajaxConnPercent();
|
||||
});
|
||||
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
cache:false,
|
||||
url:'${ctx}/report/ipRangePrint',//
|
||||
data:{
|
||||
"seType":$('[name="searchAreaType1"]').val(),
|
||||
"searchAreaType":$('[name="searchAreaType"]').val(),
|
||||
"searchCountry":$('[name="searchCountry"]').val(),
|
||||
"searchIp":$('[name="searchIp"]').val()
|
||||
},
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var userTableStr='';
|
||||
userTableStr +='<table 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>';
|
||||
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>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -52,7 +113,7 @@
|
||||
<form:form id="searchForm" modelAttribute="log" action="${ctx}/report/ipRangeList" 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="searchAreaType1" name="searchAreaType1" type="hidden" value="${log.searchAreaType}"/>
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
@@ -106,7 +167,9 @@
|
||||
<li><sys:delRow url="${ctx}/report/ipRangeExport?type=csv&seType=${log.searchAreaType}" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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>
|
||||
@@ -151,6 +214,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/xlsx.core.js"></script>
|
||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/FileSaver.js"></script>
|
||||
<script src="${ctxStatic }/global/plugins/tableExport-3.3.13/tableexport.js"></script>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title><spring:message code="${bean.cfgName}"></spring:message></title>
|
||||
<%@ include file="/WEB-INF/include/form/pageGroup.jsp"%>
|
||||
<script>
|
||||
@@ -412,6 +413,32 @@ function customColumnClick(){
|
||||
var lipx=Number(li/6);
|
||||
$(".lireport").css({'width':lipx+'px','text-overflow':'ellipsis','overflow':'hidden'});
|
||||
}
|
||||
//打印
|
||||
function doPrint() {
|
||||
var reportBusinessType=$("#reportBusinessType").val()
|
||||
var tableId="tagTable";
|
||||
if(reportBusinessType=="label_report"){
|
||||
tableId="tagTable";
|
||||
}else if(reportBusinessType=="lwhh_report"){
|
||||
tableId="lwhhTable";
|
||||
}else if(reportBusinessType=="src_ip_report"){
|
||||
tableId="contentTable1";
|
||||
}else if(reportBusinessType=="attr_type_report"){
|
||||
tableId="attrTypeTable";
|
||||
}else if(reportBusinessType=="dest_ip_report"){
|
||||
tableId="destIpTable";
|
||||
}else if(reportBusinessType=="isp_report"){
|
||||
tableId="entranceIdTable";
|
||||
}
|
||||
|
||||
$("#"+tableId+" tbody tr").removeAttr("style");
|
||||
$("#"+tableId).print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
pagination();
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
li{
|
||||
@@ -529,6 +556,9 @@ white-space:nowrap;
|
||||
<li><a href="javascript:;" class="export-btn" data-export-type="csv"><i class="fa fa-download"> <spring:message code="CSV"/></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<script src="${ctxStatic }/pages/scripts/jQuery.print.js"></script>
|
||||
<title>
|
||||
<spring:message code="https_url_report"/>
|
||||
</title>
|
||||
@@ -25,10 +26,10 @@
|
||||
// $(this).find("th").eq(0).width=300;
|
||||
if(index > 0 ){
|
||||
var title=$(this).find("td").eq(0).attr("title");
|
||||
console.log(title);
|
||||
// console.log(title);
|
||||
if(title != undefined && title != null){
|
||||
if(title.length > 80){
|
||||
$(this).find("td").eq(0).text(title.substring(0,80));
|
||||
$(this).find("td").eq(0).text(title.substring(0,80)+"...");
|
||||
}else{
|
||||
$(this).find("td").eq(0).text(title);
|
||||
}
|
||||
@@ -56,6 +57,58 @@
|
||||
var modifyTime=new Date(chooseDate);
|
||||
$('#searchReportEndTime').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
|
||||
}
|
||||
//打印列表
|
||||
function doPrint() {
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
cache:false,
|
||||
url:'${ctx}/report/httpsPrint',//
|
||||
data:{
|
||||
"searchUrl":$('[name="searchUrl"]').val(),
|
||||
"searchReportStartTime":$('[name="searchReportStartTime"]').val(),
|
||||
"searchReportEndTime":$('[name="searchReportEndTime"]').val()
|
||||
},
|
||||
dataType:"json",
|
||||
success:function(data){
|
||||
if(data !=null){
|
||||
var userTableStr='';
|
||||
userTableStr +='<table 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>';
|
||||
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>';
|
||||
}
|
||||
userTableStr +='</tbody>';
|
||||
userTableStr +='</table>';
|
||||
$("#contentPrintTable").html(userTableStr);
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#contentPrintTable").css('display','block');
|
||||
$("#contentPrintTable").print({
|
||||
globalStyles: true,
|
||||
iframe: true,
|
||||
append: null
|
||||
});
|
||||
$("#contentPrintTable").css('display','none');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@@ -80,7 +133,7 @@
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="url"/></span>
|
||||
</div>
|
||||
<input name="searchUrl" type="text" class="form-control input-medium" maxlength="20" value="${log.searchUrl }" />
|
||||
<input name="searchUrl" type="text" class="form-control input-small" maxlength="20" value="${log.searchUrl }" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
@@ -126,6 +179,9 @@
|
||||
<li><sys:delRow url="${ctx}/report/httpsExport?type=csv" searchUrl="${ctx}/report/httpsUrlList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default css-print" onClick="doPrint()"><i class="fa glyphicon glyphicon-print" style="top:3px;margin-right: 3px;"></i><spring:message code="print"/></button>
|
||||
</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>
|
||||
@@ -169,6 +225,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
<div id="contentPrintTable" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -90,3 +90,8 @@ margin-top: 20px;
|
||||
word-wrap: break-word;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
/* <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;
|
||||
}
|
||||
279
src/main/webapp/static/pages/scripts/jQuery.print.js
Normal file
279
src/main/webapp/static/pages/scripts/jQuery.print.js
Normal file
@@ -0,0 +1,279 @@
|
||||
/* @license
|
||||
* jQuery.print, version 1.6.0
|
||||
* (c) Sathvik Ponangi, Doers' Guild
|
||||
* Licence: CC-By (http://creativecommons.org/licenses/by/3.0/)
|
||||
*--------------------------------------------------------------------------*/
|
||||
(function ($) {
|
||||
"use strict";
|
||||
// A nice closure for our definitions
|
||||
|
||||
function jQueryCloneWithSelectAndTextAreaValues(elmToClone, withDataAndEvents, deepWithDataAndEvents) {
|
||||
// Replacement jQuery clone that also clones the values in selects and textareas as jQuery doesn't for performance reasons - https://stackoverflow.com/questions/742810/clone-isnt-cloning-select-values
|
||||
// Based on https://github.com/spencertipping/jquery.fix.clone
|
||||
var $elmToClone = $(elmToClone),
|
||||
$result = $elmToClone.clone(withDataAndEvents, deepWithDataAndEvents),
|
||||
$myTextareas = $elmToClone.find('textarea').add($elmToClone.filter('textarea')),
|
||||
$resultTextareas = $result.find('textarea').add($result.filter('textarea')),
|
||||
$mySelects = $elmToClone.find('select').add($elmToClone.filter('select')),
|
||||
$resultSelects = $result.find('select').add($result.filter('select')),
|
||||
i, l, j, m;
|
||||
|
||||
for (i = 0, l = $myTextareas.length; i < l; ++i) {
|
||||
$($resultTextareas[i]).val($($myTextareas[i]).val());
|
||||
}
|
||||
for (i = 0, l = $mySelects.length; i < l; ++i) {
|
||||
for (j = 0, m = $mySelects[i].options.length; j < m; ++j) {
|
||||
if ($mySelects[i].options[j].selected === true) {
|
||||
$resultSelects[i].options[j].selected = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
function getjQueryObject(string) {
|
||||
// Make string a vaild jQuery thing
|
||||
var jqObj = $("");
|
||||
try {
|
||||
jqObj = jQueryCloneWithSelectAndTextAreaValues(string);
|
||||
} catch (e) {
|
||||
jqObj = $("<span />")
|
||||
.html(string);
|
||||
}
|
||||
return jqObj;
|
||||
}
|
||||
|
||||
function printFrame(frameWindow, content, options) {
|
||||
// Print the selected window/iframe
|
||||
var def = $.Deferred();
|
||||
try {
|
||||
frameWindow = frameWindow.contentWindow || frameWindow.contentDocument || frameWindow;
|
||||
var wdoc = frameWindow.document || frameWindow.contentDocument || frameWindow;
|
||||
if(options.doctype) {
|
||||
wdoc.write(options.doctype);
|
||||
}
|
||||
wdoc.write(content);
|
||||
wdoc.close();
|
||||
var printed = false,
|
||||
callPrint = function () {
|
||||
if(printed) {
|
||||
return;
|
||||
}
|
||||
// Fix for IE : Allow it to render the iframe
|
||||
frameWindow.focus();
|
||||
try {
|
||||
// Fix for IE11 - printng the whole page instead of the iframe content
|
||||
if (!frameWindow.document.execCommand('print', false, null)) {
|
||||
// document.execCommand returns false if it failed -http://stackoverflow.com/a/21336448/937891
|
||||
frameWindow.print();
|
||||
}
|
||||
// focus body as it is losing focus in iPad and content not getting printed
|
||||
$('body').focus();
|
||||
} catch (e) {
|
||||
frameWindow.print();
|
||||
}
|
||||
frameWindow.close();
|
||||
printed = true;
|
||||
def.resolve();
|
||||
};
|
||||
// Print once the frame window loads - seems to work for the new-window option but unreliable for the iframe
|
||||
$(frameWindow).on("load", callPrint);
|
||||
// Fallback to printing directly if the frame doesn't fire the load event for whatever reason
|
||||
setTimeout(callPrint, options.timeout);
|
||||
} catch (err) {
|
||||
def.reject(err);
|
||||
}
|
||||
return def;
|
||||
}
|
||||
|
||||
function printContentInIFrame(content, options) {
|
||||
var $iframe = $(options.iframe + "");
|
||||
var iframeCount = $iframe.length;
|
||||
if (iframeCount === 0) {
|
||||
// Create a new iFrame if none is given
|
||||
$iframe = $('<iframe height="0" width="0" border="0" wmode="Opaque"/>')
|
||||
.prependTo('body')
|
||||
.css({
|
||||
"position": "absolute",
|
||||
"top": -999,
|
||||
"left": -999
|
||||
});
|
||||
}
|
||||
var frameWindow = $iframe.get(0);
|
||||
return printFrame(frameWindow, content, options)
|
||||
.done(function () {
|
||||
// Success
|
||||
setTimeout(function () {
|
||||
// Wait for IE
|
||||
if (iframeCount === 0) {
|
||||
// Destroy the iframe if created here
|
||||
$iframe.remove();
|
||||
}
|
||||
}, 1000);
|
||||
})
|
||||
.fail(function (err) {
|
||||
// Use the pop-up method if iframe fails for some reason
|
||||
console.error("Failed to print from iframe", err);
|
||||
printContentInNewWindow(content, options);
|
||||
})
|
||||
.always(function () {
|
||||
try {
|
||||
options.deferred.resolve();
|
||||
} catch (err) {
|
||||
console.warn('Error notifying deferred', err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function printContentInNewWindow(content, options) {
|
||||
// Open a new window and print selected content
|
||||
var frameWindow = window.open();
|
||||
return printFrame(frameWindow, content, options)
|
||||
.always(function () {
|
||||
try {
|
||||
options.deferred.resolve();
|
||||
} catch (err) {
|
||||
console.warn('Error notifying deferred', err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function isNode(o) {
|
||||
/* http://stackoverflow.com/a/384380/937891 */
|
||||
return !!(typeof Node === "object" ? o instanceof Node : o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName === "string");
|
||||
}
|
||||
$.print = $.fn.print = function () {
|
||||
// Print a given set of elements
|
||||
var options, $this, self = this;
|
||||
// console.log("Printing", this, arguments);
|
||||
if (self instanceof $) {
|
||||
// Get the node if it is a jQuery object
|
||||
self = self.get(0);
|
||||
}
|
||||
if (isNode(self)) {
|
||||
// If `this` is a HTML element, i.e. for
|
||||
// $(selector).print()
|
||||
$this = $(self);
|
||||
if (arguments.length > 0) {
|
||||
options = arguments[0];
|
||||
}
|
||||
} else {
|
||||
if (arguments.length > 0) {
|
||||
// $.print(selector,options)
|
||||
$this = $(arguments[0]);
|
||||
if (isNode($this[0])) {
|
||||
if (arguments.length > 1) {
|
||||
options = arguments[1];
|
||||
}
|
||||
} else {
|
||||
// $.print(options)
|
||||
options = arguments[0];
|
||||
$this = $("html");
|
||||
}
|
||||
} else {
|
||||
// $.print()
|
||||
$this = $("html");
|
||||
}
|
||||
}
|
||||
// Default options
|
||||
var defaults = {
|
||||
globalStyles: true,
|
||||
mediaPrint: false,
|
||||
stylesheet: null,
|
||||
noPrintSelector: ".no-print",
|
||||
iframe: true,
|
||||
append: null,
|
||||
prepend: null,
|
||||
manuallyCopyFormValues: true,
|
||||
deferred: $.Deferred(),
|
||||
timeout: 750,
|
||||
title: null,
|
||||
doctype: '<!doctype html>'
|
||||
};
|
||||
// Merge with user-options
|
||||
options = $.extend({}, defaults, (options || {}));
|
||||
var $styles = $("");
|
||||
if (options.globalStyles) {
|
||||
// Apply the stlyes from the current sheet to the printed page
|
||||
$styles = $("style, link, meta, base, title");
|
||||
} else if (options.mediaPrint) {
|
||||
// Apply the media-print stylesheet
|
||||
$styles = $("link[media=print]");
|
||||
}
|
||||
if (options.stylesheet) {
|
||||
// Add a custom stylesheet if given
|
||||
$styles = $.merge($styles, $('<link rel="stylesheet" href="' + options.stylesheet + '">'));
|
||||
}
|
||||
// Create a copy of the element to print
|
||||
var copy = jQueryCloneWithSelectAndTextAreaValues($this);
|
||||
// Wrap it in a span to get the HTML markup string
|
||||
copy = $("<span/>")
|
||||
.append(copy);
|
||||
// Remove unwanted elements
|
||||
copy.find(options.noPrintSelector)
|
||||
.remove();
|
||||
// Add in the styles
|
||||
copy.append(jQueryCloneWithSelectAndTextAreaValues($styles));
|
||||
// Update title
|
||||
if (options.title) {
|
||||
var title = $("title", copy);
|
||||
if (title.length === 0) {
|
||||
title = $("<title />");
|
||||
copy.append(title);
|
||||
}
|
||||
title.text(options.title);
|
||||
}
|
||||
// Appedned content
|
||||
copy.append(getjQueryObject(options.append));
|
||||
// Prepended content
|
||||
copy.prepend(getjQueryObject(options.prepend));
|
||||
if (options.manuallyCopyFormValues) {
|
||||
// Manually copy form values into the HTML for printing user-modified input fields
|
||||
// http://stackoverflow.com/a/26707753
|
||||
copy.find("input")
|
||||
.each(function () {
|
||||
var $field = $(this);
|
||||
if ($field.is("[type='radio']") || $field.is("[type='checkbox']")) {
|
||||
if ($field.prop("checked")) {
|
||||
$field.attr("checked", "checked");
|
||||
}
|
||||
} else {
|
||||
$field.attr("value", $field.val());
|
||||
}
|
||||
});
|
||||
copy.find("select").each(function () {
|
||||
var $field = $(this);
|
||||
$field.find(":selected").attr("selected", "selected");
|
||||
});
|
||||
copy.find("textarea").each(function () {
|
||||
// Fix for https://github.com/DoersGuild/jQuery.print/issues/18#issuecomment-96451589
|
||||
var $field = $(this);
|
||||
$field.text($field.val());
|
||||
});
|
||||
}
|
||||
// Get the HTML markup string
|
||||
var content = copy.html();
|
||||
// Notify with generated markup & cloned elements - useful for logging, etc
|
||||
try {
|
||||
options.deferred.notify('generated_markup', content, copy);
|
||||
} catch (err) {
|
||||
console.warn('Error notifying deferred', err);
|
||||
}
|
||||
// Destroy the copy
|
||||
copy.remove();
|
||||
if (options.iframe) {
|
||||
// Use an iframe for printing
|
||||
try {
|
||||
printContentInIFrame(content, options);
|
||||
} catch (e) {
|
||||
// Use the pop-up method if iframe fails for some reason
|
||||
console.error("Failed to print from iframe", e.stack, e.message);
|
||||
printContentInNewWindow(content, options);
|
||||
}
|
||||
} else {
|
||||
// Use a new window for printing
|
||||
printContentInNewWindow(content, options);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user