Загрузка данных
<!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="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"/>
<jsp:useBean id="currentDate" class="java.util.Date"/>
<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" src="<c:url value='/js/${version}/uploadFile.js'/>"></script>
<script type="text/javascript">
$(function () {
$("#appPaymentType").select2();
$("#previouslyAppointedPayment").select2();
formatNumeric('#retirementPension', '#retirementPensionFormatted', ' руб.');
// Блок загрузки файлов во временную зону
var uploadFile = new UploadFile("docs_4_pfr_certificate");
$('#certificateDate').datetimepicker({
format: 'DD.MM.YYYY',
// maxDate: new Date()
maxDate: moment()
});
function getFilesCount() {
const tableBody = document.querySelector('#uploadFileFile_docs_4_pfr_certificate tbody');
if (!tableBody || tableBody.querySelector('.dataTables_empty')) {
return 0;
}
return tableBody.querySelectorAll('tr').length;
}
$("#pensionTypeSelect").select2({
placeholder: "Вид пенсии",
allowClear: true,
minimumInputLength: 0,
id: function (e) {
return e.code;
},
ajax: {
url: "queryModel?queryModelCode=6bwxvPkl",
dataType: 'json',
data: function (term, page) {
return {
term: term,
maxResults: 10
};
},
results: function (data, page) {
return {
results: data.list
};
}
},
formatResult: formatpensionTypeResult,
formatSelection: formatpensionTypeSelection,
escapeMarkup: function (m) {
return m;
},
initSelection: function (element, callback) {
var code = $(element).val();
$.ajax("queryModel?queryModelCode=VddfdW1M", {
dataType: "json",
data: {
code: code
}
}).done(function (data) {
callback(data);
});
}
}).on("change", function (e) {
$("#pensionTypeCode").attr("value", e.val);
if ($("#pensionTypeCode").val() == '06')
{
$("#retirementPensionFormatted").prop('readonly', true);
$("#retirementPensionFormatted").val("");
$("#retirementDate").prop('readonly', true);
$("#retirementDate").val("");
}
else
{
$("#retirementPensionFormatted").prop('readonly', false);
$("#retirementDate").prop('readonly', false);
}
});
function formatpensionTypeResult(data) {
return '<div>' + data.name + '</div>';
}
function formatpensionTypeSelection(data) {
return data.name;
}
// Таблица получателей
var client = new QueryTable("dfCRke1c", {
initComplete: function (queryAction) {
},
onRowSelect: function (data, index) {
setClient(client.data());
},
onRowDeselect: function (data, index) {
setClient();
},
drawCallback: function (settings) {
setClient();
}
},
function() {
var data = {};
var apllicationData = client.data();
console.log(apllicationData);
data.appId = ((apllicationData) ? apllicationData.id : -1);
if($("#filter_insurance_number").val()) {
data.filterInsuranceNumber = $("#filter_insurance_number").val();
}
if($("#filter_application_number").val()) {
data.filterApplicationNumber = $("#filter_application_number").val();
}
if($("#filter_first").val()) {
data.filterFirst = $("#filter_first").val();
}
if($("#filter_middle").val()) {
data.filterMiddle = $("#filter_middle").val();
}
if($("#filter_last").val()) {
data.filterLast = $("#filter_last").val();
}
if ($('#filter_decision').is(':checked')) {
data.filterDecision = true;
}
data.filterStartDate = $("#filter_start_date").val();
data.filterEndDate = $("#filter_end_date").val();
return data;
}, {
selectFirstRow: true
});
$("#filter_search").click(function() {
client.reload();
});
$('#filter_clean').click(async function() {
$('#filter_form')[0].reset();
client.reload();
});
function setPayoutPeriod(appType){
if (appType == '05')
{
$("#payoutPeriod").prop('readonly', false);
$("#payoutPeriod").val("120");
}
else
{
$("#payoutPeriod").prop('readonly', true);
$("#payoutPeriod").val("");
}
}
function setClient(data){
if(data && data.decision_link) showInfoMessage(data.decision_link);
$("#clientFIO").val(data ? data.clientFIO : "");
$("#sharerId").val(data ? data.sharerId : "");
$("#contractNumber").val(data ? data.contractNumberText : "");
$("#insuranceNumber").val(data ? data.insuranceNumber : "");
$("#retirementPensionFormatted").val(data ? data.retirementPension : "");
$("#retirementPension").val(data ? data.retirementPension : "");
$("#retirementDate").val(data ? data.retirementDate : "");
$("#pensionTypeSelect").select2("val", data ? data.pensionTypeCode : "");
$("#pensionTypeCode").val(data ? data.pensionTypeCode : "");
$("#pensionAssignedAppId").val(data ? data.id : "");
$("#certificateNumber").val("");
$("#certificateDate").val("");
if ($("#pensionTypeCode").val() == '06')
{
$("#retirementPensionFormatted").prop('readonly', true);
$("#retirementPensionFormatted").val("");
$("#retirementDate").prop('readonly', true);
$("#retirementDate").val("");
}
else
{
$("#retirementPensionFormatted").prop('readonly', false);
$("#retirementDate").prop('readonly', false);
}
if ((data && data.is_pmp) || !data) {
$("#retirementPensionFormattedBlock").hide();
} else {
$("#retirementPensionFormattedBlock").show();
}
$("#manual").prop("checked", true);
$("#edms_link").val(null);
}
// Регистрация заявления
$('#registryDocument').on('click', async function () {
const edmsLink = $("#edms_link").val();
const uploadedFiles = getFilesCount();
if (!edmsLink.trim() && uploadedFiles === 0) {
showMessage(
'Укажите ссылку в СЭД или загрузите документы',
null,
'DANGER',
"messages",
true
);
return;
}
var data = {};
$("#AppParamForm").serializeArray().map(function (x) {
data[x.name] = x.value;
});
data.appId =-1;
console.log('data',data);
QueryAction.action("ZkfGlnVF", {
actionComplete: function (data) {
setClient();
client.reload();
uploadFile.reload();
}
}, function () {
return data;
});
});
//Старый вариант сбора данных
// function getAppData() {
// var data = {};
// $("#AppParamForm").serializeArray().map(function (x) {
// data[x.name] = x.value;
// });
// console.log(data);
// data.appId =-1;
// console.log(data);
// return data;
// }
function formatNumeric(selector, selectorFormatted, aSignVal) {
$(selectorFormatted).autoNumeric('init', {aSign: aSignVal, pSign: 's', aSep: ' ', aDec: ','});
$(selectorFormatted).change(function () {
$(selector).val($(selectorFormatted).autoNumeric('get'));
}).change();
}
$('#filter_insurance_number').mask('000-000-000 00');
});
</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/30614/"/>
<div class="row">
<div class="col-sm-12">
<form id="filter_form" >
<div class="form-group form-inline">
<div class="form-group" style="width:140px">
<label for="filter_start_date" style="width:100%">Дата документа с</label>
<input type="text" class="form-control date-picker-on"
id="filter_start_date" name="filter_start_date"
placeholder="c"
style="width:100%">
</div>
<div class="form-group" style="width:140px;margin-left:5px">
<label for="filter_end_date" style="width:100%">по</label>
<input type="text" class="form-control date-picker-on"
id="filter_end_date" name="filter_end_date"
placeholder="по"
style="width:100%">
</div>
<div class="form-group" style="width:140px;margin-left:15px">
<label for="filter_application_number" style="width:100%">№ Заявления</label>
<input type="text" class="text-uppercase form-control"
id="filter_application_number" name="filter_application_number"
placeholder="№ Заявления"
style="width:100%">
</div>
<div class="form-group" style="width:140px;margin-left:15px">
<label for="filter_insurance_number" style="width:100%">СНИЛС</label>
<input type="text" class="text-uppercase form-control"
id="filter_insurance_number" name="filter_insurance_number"
placeholder="СНИЛС"
style="width:100%">
</div>
<div class="form-group" style="width:200px;margin-left:15px">
<label for="filter_last" style="width:100%;">Фамилия</label>
<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control"
id="filter_last" name="filter_last" placeholder="Фамилия" style="width:100%">
</div>
<div class="form-group" style="width:200px;margin-left:10px">
<label for="filter_first" style="width:100%;">Имя</label>
<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control"
id="filter_first" name="filter_first" placeholder="Имя" style="width:100%;">
</div>
<div class="form-group" style="width:200px;margin-left:10px">
<label for="filter_middle" style="width:100%;">Отчество</label>
<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control"
id="filter_middle" name="filter_middle" placeholder="Отчество" style="width:100%;">
</div>
<!-- <div class="form-group" style="width:90px; margin-left:5px;">
<label for="manual_check" style="margin-bottom: 8px;">Ручной ввод</label>
<div style="height: 34px; text-align: center;">
<input type="checkbox" id="manual_check" name="manual_check" style="width: 20px; height: 20px; margin: 0;">
</div>
</div> -->
</div><!--form-inline-->
<div class="form-group">
<label for="filter_decision">
<input type="checkbox" id="filter_decision" name="filter_decision" />
Показать заявления с решениями
</label>
</div>
</form>
</div>
</div>
<div class="row"style="margin-top:5px;margin-bottom:15px">
<div class="col-sm-12">
<div class="btn-group" style="width:290px">
<button type="button" class="btn btn-info" id="filter_search" name="filter_search"
data-loading-text="Отбор..." style="width:140px">
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
Найти
</button>
<button type="button" class="btn btn-warning" id="filter_clean" name="filter_clean"
data-loading-text="Очистка фильтра..." style="width:140px;margin-left:5px">
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
Сбросить
</button>
</div>
</div>
</div>
<div class="row">
<h3 class="col-sm-12">Шаг №1. Выберите клиента для регистрации справки из СФР</h3>
<div class="col-sm-12">
<jsp:include page="queryTable.jsp">
<jsp:param name="queryTableCode" value="dfCRke1c"/>
<jsp:param name="queryTableStyle" value="white-space:nowrap;"/>
</jsp:include>
</div>
</div>
<hr>
<div class="row">
<h3 class="col-sm-12">Шаг №2. Укажите параметры справки</h3>
<div class="col-sm-12">
<form class="form-vertical" id="AppParamForm">
<input type="hidden" id="sharerId" name="sharerId">
<input type="hidden" id="appId" name="appId" value ="-1">
<input type="hidden" name= "pensionTypeCode" id="pensionTypeCode">
<input type="hidden" id="pensionAssignedAppId" name="pensionAssignedAppId">
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label class="control-label" for="AppParamNumber">Номер</label>
<input type="text" class="form-control" id="AppParamNumber" name="appNumber"
readonly="readonly"
placeholder="Текст">
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<label for="appDate">Дата регистрации</label>
<input type="text" class="form-control date-picker-on" id="appDate"
name="appDate"
value="<fmt:formatDate value='${currentDate}' pattern='dd.MM.yyyy' />"
placeholder="Дата">
</div>
</div>
<div class="col-sm-2">
<div class="form-group" style="text-align: right;">
<input type="checkbox" id="manual" name="manual" disabled>
<label for="manual">Ручной ввод</label>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label for="clientFIO">ФИО клиента</label>
<input type="text" class="form-control" id="clientFIO" name="clientFIO"
readonly="readonly"
placeholder="Текст">
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<label for="contractNumber">Номер договора</label>
<input type="text" class="form-control"
id="contractNumber"
name="contractNumber"
readonly="readonly"
placeholder="Текст">
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<label for="insuranceNumber">СНИЛС</label>
<input type="text" class="form-control"
id="insuranceNumber"
name="insuranceNumber"
readonly="readonly"
placeholder="###-###-###-##">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label class="control-label" for="certificateNumber">Номер справки из СФР</label>
<input type="text" class="form-control" id="certificateNumber" name="certificateNumber"
placeholder="Текст">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label for="certificateDate">Дата справки из СФР</label>
<input type="text" class="form-control date-picker-on" id="certificateDate"
name="certificateDate"
placeholder="Дата">
</div>
</div>
</div>
<div class="row">
<div id="retirementPensionFormattedBlock" class="col-sm-4">
<div class="form-group">
<label for="retirementPensionFormatted">Размер страховой пенсии</label>
<input type="text" class="form-control"
id="retirementPensionFormatted"
name="retirementPensionFormatted"
placeholder="Текст">
<input type="hidden" id="retirementPension" name="retirementPension">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label for="retirementDate">Дата приобретения права на назначение пенсии</label>
<input type="text" class="form-control date-picker-on"
id="retirementDate"
name="retirementDate"
placeholder="Текст">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-8">
<div class="form-group">
<label for="pensionTypeSelect">Вид получаемой пенсии</label>
<div class="form-control" id="pensionTypeSelect"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label for="edms_link">Документ в СЭД</label>
<input type="text" class="form-control"
id="edms_link"
name="edms_link">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-8">
<jsp:include page="uploadFile.jsp">
<jsp:param name="uploadFileCode" value="docs_4_pfr_certificate"/>
<jsp:param name="uploadFileName" value="Полученные документы"/>
</jsp:include>
</div>
</div>
</form>
</div>
</div>
<hr>
<div class="row">
<h3 class="col-sm-12">Шаг №3. Зарегистрируйте справку</h3>
<hr>
<button type="button" id="registryDocument" class="btn btn-primary"
style="margin-left: 20px;">Регистрация документа</button>
</div>
</div>
</div>
</div>
</div>
<jsp:include page="footer.jsp"/>
</body>
</html>