Загрузка данных


<!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) {
        },
        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').select2('val');

    if ($('#filter\\.strategy').select2('val'))
        data.strategy = $('#filter\\.strategy').select2('val');

    return data;
    }, {
        selectFirstRow: false
    });

   
    $('#filter\\.schema_index').select2({
        allowClear: true,
        ajax: {
            url: "queryModel?queryModelCode=z1okb7T4",
            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=IHIM4K9t",
            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();
    });
	
	$('#btn\\.export').click(function () {
    var dateFrom = $('#filter\\.date_from').val() || '';
    var dateTo = $('#filter\\.date_to').val() || '';
    var schemaIndex = $('#filter\\.schema_index').select2('val') || '';
    var strategy = $('#filter\\.strategy').select2('val') || '';

    if (!dateTo) {
        alert('Заполните поле "Период по"');
        return;
    }

    $.ajax({
        url: 'queryReport/run',
        type: 'POST',
        dataType: 'json',
        data: {
            queryReportCode: 'mzkUBwfH',
            date_from: dateFrom,
            date_to: dateTo,
            schema_index: schemaIndex,
            strategy: strategy
        },
        success: function (response) {
            if (!response || !response.result || !response.data) {
                alert('Ошибка формирования отчёта');
                return;
            }

            window.open(
                'queryReport/file'
                + '?queryReportCode=' + encodeURIComponent(response.data.queryReportCode)
                + '&id=' + encodeURIComponent(response.data.id)
                + '&version=' + encodeURIComponent(response.data.version),
                '_blank'
            );
        },
        error: function () {
            alert('Ошибка при формировании отчёта');
        }
    });
});

});
</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">

                   
                    <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>

                   
                    <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>
											<button id="btn.export" type="button" class="btn btn-primary">
    Выгрузить отчёт
</button>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

<jsp:include page="footer.jsp"/>
</body>
</html>