Загрузка данных
<!DOCTYPE html>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags" %>
<%@ page session="true" language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html lang="ru">
<jsp:include page="head.jsp"/>
<body>
<script type="text/javascript" src="<c:url value='/js/${version}/queryAction.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/${version}/queryTable.js'/>"></script>
<script type="text/javascript">
$(function () {
// ---- Инициализация таблицы ----
var reportTable = new QueryTable("tbl_strategies_end_period", {
initComplete: function (queryAction) {
reportTable.addActionButton(
"btnExport",
"Выгрузить отчёт",
function () {
var dateFrom = $('#filter\\.date_from').val();
var dateTo = $('#filter\\.date_to').val();
var schema = $('#filter\\.schema_index').val();
var strategy = $('#filter\\.strategy').val();
var param = "date_from=" + dateFrom
+ "&date_to=" + dateTo
+ "&schema_index=" + (schema || '')
+ "&strategy=" + (strategy || '');
window.open(
"queryModel/file?queryModelCode=STRATEGIES_EXPORT&queryModelCharset=UTF-8&viewCode="
+ $.urlParam("viewCode") + "&" + param,
'_blank'
);
},
"btn-success",
false
);
},
onRowSelect: function (data, index) {},
onRowDeselect: function (data, index) {},
drawCallback: function (settings) {}
}, function () {
var data = {};
if ($('#filter\\.date_from').val())
data.date_from = $('#filter\\.date_from').val();
if ($('#filter\\.date_to').val())
data.date_to = $('#filter\\.date_to').val();
if ($('#filter\\.schema_index').select2('val'))
data.schema_index = $('#filter\\.schema_index').val();
if ($('#filter\\.strategy').select2('val'))
data.strategy = $('#filter\\.strategy').val();
// Таблица рендерится только после нажатия "Сформировать"
data.isShow = ($('#isShow').val() == 1);
return data;
}, {
selectFirstRow: false
});
// ---- Select2 для выпадающих списков ----
$('#filter\\.schema_index').select2({
allowClear: true,
ajax: {
url: "queryModel?queryModelCode=SCHEMA_INDEX_LIST",
dataType: 'json',
type: "POST",
data: function (term, page) { return { term: term }; },
results: function (data, page) { return { results: data.list }; }
},
formatResult: function (d) { return '<div>' + d.name + '</div>'; },
formatSelection: function (d) { return d.name; },
escapeMarkup: function (m) { return m; }
});
$('#filter\\.strategy').select2({
allowClear: true,
ajax: {
url: "queryModel?queryModelCode=STRATEGY_LIST",
dataType: 'json',
type: "POST",
data: function (term, page) { return { term: term }; },
results: function (data, page) { return { results: data.list }; }
},
formatResult: function (d) { return '<div>' + d.name + '</div>'; },
formatSelection: function (d) { return d.name; },
escapeMarkup: function (m) { return m; }
});
// ---- Кнопка "Сформировать" ----
$('#btn\\.generate').click(function () {
var dateFrom = $('#filter\\.date_from').val();
var dateTo = $('#filter\\.date_to').val();
if (!dateFrom || !dateTo) {
alert('Заполните поля "Период с" и "Период по"');
return;
}
$('#isShow').val(1);
reportTable.reload();
});
// ---- Кнопка "Найти" ----
$('#btn\\.search').click(function () {
reportTable.reload();
});
// ---- Кнопка "Сбросить" ----
$('#btn\\.reset').click(function () {
$('#filterForm')[0].reset();
$('#filter\\.schema_index').select2('val', null);
$('#filter\\.strategy').select2('val', null);
$('#isShow').val(0);
reportTable.reload();
});
});
</script>
<jsp:include page="header.jsp"/>
<jsp:include page="navbar.jsp"/>
<div class="container" id="mainContainer">
<div class="page-header">
<h1>Отчёт по стратегиям на конец периода</h1>
</div>
<div class="container-fluid">
<div class="row row-main">
<jsp:include page="sidebar.jsp"/>
<div class="col-sm-10">
<tags:breadcrumbs path="https://portal.futurenpf.ru/knowledgebase/category/XXXXX/"/>
<form id="filterForm" class="form-horizontal">
<!-- Строка 1: период + кнопка Сформировать -->
<div class="col-sm-3">
<label for="filter.date_from">Период с</label>
<input type="text" id="filter.date_from" name="filter.date_from"
class="form-control date-picker-on" placeholder="дд.мм.гггг" maxlength="10">
</div>
<div class="col-sm-3">
<label for="filter.date_to">Период по</label>
<input type="text" id="filter.date_to" name="filter.date_to"
class="form-control date-picker-on" placeholder="дд.мм.гггг" maxlength="10">
</div>
<div class="col-sm-3" style="margin-top: 25px;">
<button id="btn.generate" type="button" class="btn btn-primary">
Сформировать
</button>
</div>
<div class="clearfix" style="margin-bottom: 12px;"></div>
<!-- Строка 2: выпадающие списки + Найти/Сбросить -->
<div class="col-sm-3">
<label for="filter.schema_index">Индекс схемы</label>
<input type="hidden" id="filter.schema_index" name="filter.schema_index"
class="form-control" style="width:100%">
</div>
<div class="col-sm-3">
<label for="filter.strategy">Стратегия</label>
<input type="hidden" id="filter.strategy" name="filter.strategy"
class="form-control" style="width:100%">
</div>
<div class="col-sm-3" style="margin-top: 25px;">
<button id="btn.search" type="button" class="btn btn-success">
<span class="glyphicon glyphicon-search"></span> Найти
</button>
<button id="btn.reset" type="button" class="btn btn-warning" style="margin-left: 6px;">
<span class="glyphicon glyphicon-trash"></span> Сбросить
</button>
</div>
<div class="clearfix"></div>
</form>
<input type="hidden" id="isShow" value="0">
<div class="row" style="margin-top: 15px;">
<div class="col-sm-12">
<jsp:include page="queryTable.jsp">
<jsp:param name="queryTableCode" value="tbl_strategies_end_period"/>
<jsp:param name="queryTableStyle" value="width: 100%; white-space: nowrap;"/>
</jsp:include>
</div>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="footer.jsp"/>
</body>
</html>