Загрузка данных
<!DOCTYPE html>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/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="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ 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>
<style>
#searchUnvFilter .filter-wrapper {
padding-left: 0;
padding-right: 0;
margin-bottom: 10px;
}
#searchUnvFilter .main-filter-buttons {
margin-top: 12px;
margin-bottom: 12px;
white-space: nowrap;
}
#searchUnvFilter .main-filter-buttons .btn {
margin-right: 8px;
}
#unvItemBlock {
margin-top: 15px;
display: none;
}
</style>
<script type="text/javascript">
$(function () {
var rowRegistry = null;
// ==================== ЖУРНАЛ РЕЕСТРОВ (верхняя таблица) ====================
var registryJournal = new QueryTable("UNV_REGISTRY_TABLE", {
initComplete: function (queryAction) {
registryJournal.queryAction = queryAction;
registryJournal.addActionButton("CreateRegistry", "Создать", createRegistry, "btn-success", false);
<sec:authorize access="hasAnyAuthority('ROLE_ADMIN')">
registryJournal.addActionButton("DeleteRegistry", "Аннулировать", deleteRegistry, "btn-danger", true);
</sec:authorize>
registryJournal.addActionButton("SendToLkk", "Отправить в ЛКК", sendToLkk, "btn-primary", true);
registryJournal.addActionButton("SendToFns", "Отправить в ФНС", sendToFns, "btn-primary", true);
},
onRowSelect: function (data, index) {
rowRegistry = data;
// Показываем нижнюю таблицу и перезагружаем её
$('#unvItemBlock').stop(true, true).slideDown(150);
registryItems.reload();
},
onRowDeselect: function (data, index) {
rowRegistry = null;
$('#unvItemBlock').stop(true, true).slideUp(150);
}
}, function () {
var data = {};
if ($("#filter\\.registry_date_from").val()) {
data.registry_date_from = $("#filter\\.registry_date_from").val();
}
if ($("#filter\\.registry_date_to").val()) {
data.registry_date_to = $("#filter\\.registry_date_to").val();
}
if ($("#filter\\.registry_number").val()) {
data.registry_number = $("#filter\\.registry_number").val();
}
if ($("#filter\\.sent_date_from").val()) {
data.sent_date_from = $("#filter\\.sent_date_from").val();
}
if ($("#filter\\.sent_date_to").val()) {
data.sent_date_to = $("#filter\\.sent_date_to").val();
}
if ($("#filter\\.tax_period_year").val()) {
data.tax_period_year = $("#filter\\.tax_period_year").val();
}
if ($("#filter\\.status").val()) {
data.status = $("#filter\\.status").val();
}
if ($("#filter\\.error_code").val()) {
data.error_code = $("#filter\\.error_code").val();
}
if ($("#filter\\.error_status").val()) {
data.error_status = $("#filter\\.error_status").val();
}
return data;
});
// ==================== ДЕТАЛИЗАЦИЯ ПО КЛИЕНТАМ (нижняя таблица) ====================
var registryItems = new QueryTable("UNV_REGISTRY_ITEM_TABLE", {
initComplete: function (queryAction) {
},
onRowSelect: function (data, index) {
},
onRowDeselect: function (data, index) {
}
}, function () {
var data = {};
if (rowRegistry) {
data.registry_id = rowRegistry.id;
}
return data;
});
// ==================== КНОПКИ ====================
function createRegistry() {
QueryAction.action("UNV_CREATE_REGISTRY", {
actionComplete: function (data) {
registryJournal.reload();
}
}, function () {
return {};
});
}
function deleteRegistry() {
if (!confirm("Вы уверены, что хотите аннулировать реестр?")) return;
QueryAction.action("UNV_DELETE_REGISTRY", {
actionComplete: function (data) {
registryJournal.reload();
$('#unvItemBlock').stop(true, true).slideUp(150);
}
}, function () {
return { registry_id: rowRegistry.id };
});
}
function sendToLkk() {
QueryAction.action("UNV_SEND_TO_LKK", {
actionComplete: function (data) {
registryJournal.reload();
}
}, function () {
return { registry_id: rowRegistry.id };
});
}
function sendToFns() {
QueryAction.action("UNV_SEND_TO_FNS", {
actionComplete: function (data) {
registryJournal.reload();
}
}, function () {
return { registry_id: rowRegistry.id };
});
}
// ==================== ФИЛЬТР ====================
$('#filter\\.search').click(function () {
registryJournal.reload();
$('#unvItemBlock').stop(true, true).slideUp(150);
});
$('#filter\\.cleanFilter').click(function () {
$('#searchUnvFilter')[0].reset();
registryJournal.reload();
$('#unvItemBlock').stop(true, true).slideUp(150);
});
});
</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="Персонифицированный учет / Отчетность / ФНС / Реестр на УНВ"/>
<!-- ==================== ФИЛЬТР ==================== -->
<form id="searchUnvFilter" class="form-horizontal">
<div class="col-sm-12 filter-wrapper">
<div class="col-sm-3">
<label for="filter.registry_date_from">Дата реестра с</label>
<input type="date" id="filter.registry_date_from"
name="filter.registry_date_from" class="form-control">
</div>
<div class="col-sm-3">
<label for="filter.registry_date_to">Дата реестра по</label>
<input type="date" id="filter.registry_date_to"
name="filter.registry_date_to" class="form-control">
</div>
<div class="col-sm-3">
<label for="filter.registry_number">№ реестра</label>
<input type="text" id="filter.registry_number"
name="filter.registry_number" class="form-control"
placeholder="№ реестра">
</div>
<div class="col-sm-3">
<label for="filter.tax_period_year">Налоговый период (год)</label>
<input type="text" id="filter.tax_period_year"
name="filter.tax_period_year" class="form-control"
placeholder="ГГГГ">
</div>
<div class="clearfix"></div>
<div class="col-sm-3" style="margin-top:10px;">
<label for="filter.sent_date_from">Дата отправки в ФНС с</label>
<input type="date" id="filter.sent_date_from"
name="filter.sent_date_from" class="form-control">
</div>
<div class="col-sm-3" style="margin-top:10px;">
<label for="filter.sent_date_to">Дата отправки в ФНС по</label>
<input type="date" id="filter.sent_date_to"
name="filter.sent_date_to" class="form-control">
</div>
<div class="col-sm-3" style="margin-top:10px;">
<label for="filter.status">Статус</label>
<select id="filter.status" name="filter.status" class="form-control">
<option value=""></option>
<option value="FORMED">Сформирован</option>
<option value="SENT_LKK">Отправлен в ЛКК</option>
<option value="ACCEPTED_LKK">Принят в ЛКК</option>
<option value="SENT_FNS">Отправлен в ФНС</option>
<option value="ACCEPTED_FNS">Принят в ФНС</option>
<option value="FNS_RESPONSE">Ответ ФНС</option>
</select>
</div>
<div class="col-sm-3" style="margin-top:10px;">
<label for="filter.error_code">Значение ошибки</label>
<input type="text" id="filter.error_code"
name="filter.error_code" class="form-control"
placeholder="Например: 01">
</div>
<div class="clearfix"></div>
<div class="col-sm-3" style="margin-top:10px;">
<label for="filter.error_status">Статус ошибки</label>
<select id="filter.error_status" name="filter.error_status"
class="form-control">
<option value=""></option>
<option value="NOT_FIXED">Не исправлено</option>
<option value="FIXED">Исправлено</option>
</select>
</div>
<div class="clearfix"></div>
<div class="col-sm-12 main-filter-buttons">
<button id="filter.search" type="button" class="btn btn-success">
<span class="glyphicon glyphicon-search"></span> Найти
</button>
<button id="filter.cleanFilter" type="button" class="btn btn-warning">
<span class="glyphicon glyphicon-trash"></span> Сбросить
</button>
</div>
<div class="clearfix"></div>
</div>
</form>
<!-- ==================== ВЕРХНЯЯ ТАБЛИЦА: РЕЕСТРЫ ==================== -->
<jsp:include page="queryTable.jsp">
<jsp:param name="queryTableCode" value="UNV_REGISTRY_TABLE"/>
</jsp:include>
<!-- ==================== НИЖНЯЯ ТАБЛИЦА: КЛИЕНТЫ РЕЕСТРА ==================== -->
<div id="unvItemBlock" class="panel panel-info">
<div class="panel-heading">Клиенты реестра</div>
<div class="panel-body">
<jsp:include page="queryTable.jsp">
<jsp:param name="queryTableCode" value="UNV_REGISTRY_ITEM_TABLE"/>
</jsp:include>
</div>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="footer.jsp"/>
</body>
</html>