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


<!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 () {

				$("#AppParamForm :input").keydown(preventEdit);
				
				$("#AppParamForm :input").keydown(function(e){
					return ((e.metaKey || e.ctrlKey) && ( String.fromCharCode(e.which).toLowerCase() === 'c') );
				});
				
				var uf = new UploadFile("docs_4_personal_bank");

				// Таблица документов
				var applicationListTable = new QueryTable("list_app_individual_bank", {

					initComplete: function (queryAction) {
						applicationListTable.insertActionButton("addNewApp", "Создать", addNewApp, "btn-success", false,0);
						applicationListTable.insertActionButton("rejectedAppButton", "Отклонить", rejected, "btn-warning", true,2);
						applicationListTable.addActionButton("printApplication", "Печать", printApplications, "btn-info", true);
					},
					onRowSelect: function (data, index) {
						showClientCard((data ? data.id : -1));
					},

					onRowDeselect: function (data, index) {
						showClientCard(-1);
					}
				}, function () {
					var data = {};
					var applicationData = applicationListTable.data();

					data.id = (application ? application().id : -1);
					data.appId = ((applicationData) ? applicationData.id :application().id );
					
					var countPropsBeforeFilter = Object.getOwnPropertyNames(data).length;
					if($("#filter_number").val()) {
						data.filterNumber = $("#filter_number").val();
					}
					if($("#filter_insurance_number").val()) {
						data.filterInsuranceNumber = $("#filter_insurance_number").val();
					}
					if($("#filter_fio").val()) {
						data.filterFio = $("#filter_fio").val();
					}
					if($("#filter_date").val()) {
						data.filterDate = $("#filter_date").val();
					}
					data.filterShowList = (data.id > -1) ||
						countPropsBeforeFilter < Object.getOwnPropertyNames(data).length ||
						applicationListTable.filter().parts.some(function(value) {
						return ['VALUE', 'PREDICATE'].includes(value.type) || value.id.includes('NULL')
					});
					
					return data;

				},
				{
					selectFirstRow: true,
					order: [[0, 'asc']],
					ordering: true

				});
				
				$("#filter_search").click(function() {
            applicationListTable.reload();
        });
        $('#filter_clean').click(async function() {
            $('#searchAppFilter')[0].reset();
            applicationListTable.reload();
        });

				$("[name='comment']").keyup(function () {
					var commentText = $(this).val();

					$('#queryActionButton_save_change_state_personal_bank_app').attr('disabled', (commentText.length < 3));

				});


				function rejected(){

					var data = applicationListTable.data();	
					$('#comment').val(data ? data.comment : "");					
					$("#commentFormModal").modal('show');
					$('#type').val("rejected"); 
				}


				var changeStateAction = new QueryAction("save_change_state_personal_bank_app", {

					initComplete: function (queryAction) {
						changeStateAction.disable();
						$('#queryActionButton_save_change_state_personal_bank_app').text('Сохранить');
					},
					actionComplete: function (data) {
						$('#AppParamComment').val($('#comment').val());
						applicationListTable.reload();
						$("#commentFormModal").modal('hide');

					}

				}, getData);


				function getData() {
					var data = {};
					var apllicationData = applicationListTable.data()
					$("#commentForm").serializeArray().map(function (x) {
						data[x.name] = x.value;
					});
					data.appId = ((apllicationData) ? apllicationData.id : -1);
					return data;
				}

				function addNewApp(){
					window.location.href="view?viewCode=hZoG8Aif";
				}

				var uploadFileList = new QueryTable("Nh4DU1CB", null, selected, {
					showFilter: false,
					showExportToExcelButton: false,
					paginate: false

				});

				function showClientCard(id) {

					//				showProcessing();

					$.ajax({
						url: "queryModel.json",
						type: "POST",
						data: {
							queryModelCode: "7A9aZS5j",
							id: id
						},
						dataType: "json",
						success: function (data) {
							//						hideProcessing();
							$("#id").val(data.id);
							$("#appId").val(data.id);
							$("#AppParamNumber").val(data.number);
							$("#AppParamDate").val(data ? data.date : "");
							$("#clientFIO").val(data.client);
							$("#sharerNumber").val(data.sharerNumber);
							$("#paymentWay").val(data ? data.paymentWay : "");

							$("#bankCorrAccount").val(data.bankCorrAccount);
							$("#bic").val(data.bic);
							$("#personalAccount").val(data.personalAccount);


							$("#bankPlace").val(data.bankPlace);
							$("#cardNumber").val(data.cardNumber);
							$("#bankName").val(data.bankName);
							

							$("#russianCorrBankName").val(data.bankName);
							$("#foreignPersonalAccount").val(data.foreignPersonalAccount);
							$("#foreignBankCorrAccount").val(data.foreignBankCorrAccount);
							$("#foreignBankName").val(data.foreignBankName);
							$("#foreignBankCity").val(data.foreignBankCity);

							$("#autoacceptBankApp").val(data.autoacceptBankApp);

							$('#AppParamComment').val(data ? data.comment : "");

							$("#autoacceptPersdataApp").val(data.autoacceptPersdataApp);
							$('#trusteeAccount').prop('checked',(data.trusteeAccount == 'true'));	
							$('#vipAccount').prop('checked',(data.vipAccount == 'true'));	
							$('#foreignAccount').prop('checked',(data.foreignAccount == 'true'));	
							
							$("#postTransferAddress").val(data ? data.post_address_text : "");

							$("#representativeFIO").val(data ? data.representativeFIO : "");
							$("#representativeFIOinCase").val(data ? data.representativeFIOinCase : "");
							$("#representativeDocInfo").val(data ? data.representativeDocInfo : "");				

							if (data ? data.representativeFIO : "") {
								$("#representativeInfo").css("display", "block");
							} else {
								$("#representativeInfo").css("display", "none");
							}



							if (data.foreignAccount == 'true')
							{	
								$("#russianAccountVisible").hide();
								$("#foreignAccountVisible").show();
							}
							
							else
							{
								$("#russianAccountVisible").show();
								$("#foreignAccountVisible").hide();
							}
							
							
							if (data.comment) {
								$("#commentInfo").css("display", "block");
							} else {
								$("#commentInfo").css("display", "none");
							}



							if (data.autoacceptBankApp == 'true')
							{	
								$("#rejectedAppButton").hide();
								$("#queryTableActionButton_list_app_individual_bank_accept_personal_bank_app").hide();
							}
							
							
							if ((data ? data.payment_way_code : "") == '01') {
								document.getElementById("tBank").style.display = 'block';
								document.getElementById("tPost").style.display = 'none';					
							} else {
								document.getElementById("tBank").style.display = 'none';
								document.getElementById("tPost").style.display = 'block';
							}
							
							
							$("#serviceType").val(data.serviceType);
							$("#accountManagementForm").val(data.accountManagementForm);


							uploadFileList.reload();


							if (data.messages)
								showMessages(data.messages);
						}
					});
				}

				function application() {
					return {
						id: ${id}
				}
			}


				function selected() {
				var data = applicationListTable.data();
				return {
					
					appId: (applicationListTable ? applicationListTable.id : application.id)
				}
			}


			function printApplications() {				
				if ($("#serviceType").val() == "OPS") {
					printOPSApplication();
				};
				
				if ($("#serviceType").val() == "") {
					printApplicationFl();
				};
				
				if ($("#serviceType").val() == "NPO") {
					if ($("#accountManagementForm").val() == 'JOINT') {
						printApplication();
					} else {
						printApplication();
					}
				}
			}


			function printApplication() {
				var report = new QueryReport("YvBi1C7z", null, {id: $("#appId").val()});
				report.run();
			}
			
			function printOPSApplication() {
				var report = new QueryReport("9hoCi3hg", null, {id: $("#appId").val()});
				report.run();
			}

			function printApplicationFl() {
				var report = new QueryReport("ieU96OCO", null, {id: $("#appId").val()});
				report.run();
			}
			
			
			});

		</script>

		<jsp:include page="header.jsp"/>
		<jsp:include page="navbar.jsp"/>

		<div id="commentFormModal" class="modal fade" tabindex="-1"
				 role="dialog" data-backdrop="static" aria-labelledby="commentFormModalLabel" aria-hidden="true">
			<div class="modal-dialog">
				<div class="modal-content">
					<div class="modal-header">
						<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span>
							<span class="sr-only"><s:message code="dialog.close"/></span></button>
						<h4 class="modal-title" name="commentFormModalLabel" id="commentFormModalLabel">Комментарий к операции отклонения документа</h4>
					</div>

					<div class="modal-body">
						<form id="commentForm" class="form-vertical" role="form">

							<input type="hidden" name="appId" id="appId">
							<input type="hidden" name="type" id="type">

							<div class="row">
								<div class="form-group">
									<div class="col-sm-12">

										<label class="control-label" id="commentLabel">Укажите причины отклонения документа</label>
										<textarea rows="2" id="comment" class="form-control" name="comment"
															placeholder="Текст"></textarea>
										<p class="help-block">Комментарий к операции</p>
									</div>
								</div>
							</div>
							<div class="modal-footer">
								<jsp:include page="queryAction.jsp">
									<jsp:param name="queryActionCode" value="save_change_state_personal_bank_app"/>
								</jsp:include>
								<button class="btn btn-default" type="button" data-dismiss="modal">
									<s:message code="button.cancel"/></button>
							</div>

						</form>
					</div>
				</div>
			</div>
		</div>
		<%--Комментарий--%>


		<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/29095/"/>
						
						<div class="row">
							<div class="col-sm-12 clear-fix margin-bottom">
								<form class="form-horizontal" local-storage id="searchAppFilter">

									<div class="form-group">
										<div class="col-sm-3">
											<input type="text" class="text-uppercase form-control" 
														 id="filter_number" name="filter_number" placeholder="Номер заявления">
										</div>
										<div class="col-sm-3">
											<input type="text" class="text-uppercase form-control" 
														 id="filter_insurance_number" name="filter_insurance_number" placeholder="СНИЛС">
										</div>
										<div class="col-sm-3">
											<input type="text" class="form-control date-picker-on" 
														 id="filter_date" name="filter_date" 
														 value="<fmt:formatDate value='' pattern='dd.MM.yyyy' />" placeholder="Дата регистрации">
										</div>
									</div>

									<div class="form-group">
										<div class="col-sm-6">
											<input type="text" class="text-uppercase text-en-to-ru text-only-ru form-control" 
														 id="filter_fio" name="filter_fio" placeholder="ФИО">
										</div>										
									</div>

									<div class="form-group">
										<div class="col-sm-12">
											<div class="btn-group">
												<button id="filter_search" name="filter_search" type="button" class="btn btn-success" data-loading-text="Отбор...">
													<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
													Найти
												</button>
												<button id="filter_clean" name="filter_clean" type="button" class="btn btn-warning" data-loading-text="Очистка...">
													<span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
													Сбросить
												</button>
											</div>
										</div>
									</div>
								</form>
							</div>
						</div>
						
						<div class="row">
							<div class="col-sm-12">
								<jsp:include page="queryTable.jsp">
									<jsp:param name="queryTableCode" value="list_app_individual_bank"/>
									<jsp:param name="queryTableStyle" value="white-space:nowrap;"/>
								</jsp:include>
							</div>
						</div>			

						<hr>

						<div class="row">
							<div class="col-sm-12">
								<form class="form-vertical" id="AppParamForm">

									<input type="hidden" id="id" name="id">

									<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"
															 placeholder="Текст">
												<p class="help-block">Регистрационный номер заявления</p>
											</div>
										</div>

										<div class="col-sm-4">
											<div class="form-group">

												<label for="AppParamDate">Дата регистрации</label>
												<input type="text" class="form-control" id="AppParamDate"
															 name="appDate"
															 placeholder="Дата">
												<p class="help-block">Дата регистрации заявления</p>
											</div>
										</div>
									</div>

									<div class="row">
										<div class="col-sm-4">
											<div class="form-group">
												<label for="lastName">Клиент</label>
												<input type="text" class="form-control" id="clientFIO"
															 placeholder="ФИО">
											</div>
										</div>

										<div class="col-sm-4">
											<div class="form-group">
												<label for="sharerNumber">Номер ИПС</label>
												<input type="text" class="form-control" id="sharerNumber"
															 placeholder="Номер ИПС">
											</div>
										</div>
										<div class="col-sm-4" style="display: none;">
											<div class="form-group">
												<input type="text" class="form-control" id="serviceType"
															 placeholder="ОПС/НПО">
											</div>
										</div>
										<div class="col-sm-4" style="display: none;">
											<div class="form-group">
												<input type="text" class="form-control" id="accountManagementForm"
															 placeholder="ФЛ/ЮЛ">
											</div>
										</div>
									</div>										
									
									<div class="row">
										<div class="col-sm-8">
											<div class="form-group">
												<label for="paymentWay">Способ выплаты</label>
												<input type="text" class="form-control" id="paymentWay"
															 placeholder="Способ выплаты">
											</div>
										</div>
									</div>	
									
									
									<div>
										<ul class="nav" role="tablist">
											<li role="presentation" ><a href="#tBank" aria-controls="tBank" role="tab" data-toggle="tab" style="display: none;">Банк</a></li>
											<li role="presentation"><a href="#tPost" aria-controls="tPost" role="tab" data-toggle="tab" style="display: none;">Почта</a></li>																	
										</ul>

										<div class="tab-content">
											<div role="tabpanel" class="tab-pane" id="tBank">	
<%--bank--%>									
									
												<div class="row">
													<div class="col-sm-4">
														<div class="form-group">
															<input type="checkbox" id="foreignAccount" name="foreignAccount" disabled>	
															<label for="foreignAccount">Иностранный банк</label>			
														</div>
													</div>
												</div>					
												<div id = "russianAccountVisible" style="display: block;">								
													<div class="row">
														<div class="col-sm-4">
															<div class="form-group">
																<label for="personalAccount">Номер лицевого счета клиента</label>
																<input type="text" class="form-control" id="personalAccount"
																			 placeholder="Номер лицевого счета клиента">
															</div>
														</div>
														<div class="col-sm-4">
															<div class="form-group">
																<label for="cardNumber">Номер банковской карты клиента</label>
																<input type="text" class="form-control" id="cardNumber"
																			 placeholder="Номер банковской карты клиента">
															</div>
														</div>
													</div>
													<div class="row">
														<div class="col-sm-4">
															<div class="form-group">
																<label for="bankName">Банк</label>
																<input type="text" class="form-control" id="bankName"
																			 placeholder="Наименование банка">
															</div>
														</div>
														<div class="col-sm-4">
															<div class="form-group">
																<label for="bankPlace">Местонахождение банка</label>
																<input type="text" class="form-control" id="bankPlace"
																			 placeholder="Местонахождение банка">
															</div>
														</div>
													</div>			

													<div class="row">
														<div class="col-sm-4">
															<div class="form-group">
																<label for="bic">БИК банка</label>
																<input type="text" class="form-control" id="bic"
																			 placeholder="БИК">
															</div>
														</div>
														<div class="col-sm-4">
															<div class="form-group">
																<label for="bankCorrAccount">Корреспонденский счет банка</label>
																<input type="text" class="form-control" id="bankCorrAccount"
																			 placeholder="Корреспонденский счет">
															</div>
														</div>
													</div>
												</div>	

									
												<div id = "foreignAccountVisible" style="display: none;">
													<div class="row">
														<div class="col-sm-4">
															<div class="form-group">
																<label class="control-label" for="foreignBankName">Наименование иностранного банка</label>
																<textarea rows="1" id="foreignBankName" class="form-control"
																				name="foreignBankName"
																				placeholder="Наименование иностранного банка"></textarea>
															</div>
														</div>
														<div class="col-sm-4">
															<div class="form-group">
																<label for="russianCorrBankName">Российский банк-корреспондент</label>
																<input type="text" class="form-control" id="russianCorrBankName"
																			 placeholder="Российский банк-корреспондент">
															</div>
														</div>
													</div>
													<div class="row">
														<div class="col-sm-4">
															<div class="form-group">
																<label for="foreignBankCorrAccount">К/С иностранного банка</label>
																<input type="text" class="form-control" id="foreignBankCorrAccount"
																			 placeholder="Корреспонденский счет иностранного банка">
															</div>
														</div>
														<div class="col-sm-4">
															<div class="form-group">
																<label for="foreignPersonalAccount">Лицевой счет в иностранном банке</label>
																<input type="text" class="form-control" id="foreignPersonalAccount"
																			 placeholder="Лицевой счет в иностранном банке">
															</div>
														</div>
													</div>

													<div class="row">
														<div class="col-sm-4">
															<div class="form-group">
																<label for="foreignBankCity">Город иностранного банка</label>
																<input type="text" class="form-control" id="foreignBankCity"
																			 placeholder="Город иностранного банка">
															</div>
														</div>
													</div>
												</div>	
												
												<div class="row">
													<div class="col-sm-12">
														<div class="form-group">
															<input type="checkbox" id="trusteeAccount" name="trusteeAccount" disabled>	
															<label for="trusteeAccount">Номинальный счет</label>			
														</div>
													</div>
												</div>
												<div class="row">
													<div class="col-sm-12">
														<div class="form-group">
															<input type="checkbox" id="vipAccount" name="vipAccount" disabled>	
															<label for="vipAccount">VIP счет</label>			
														</div>
													</div>
												</div>
											
											</div>
<%--bank--%>					<div role="tabpanel" class="tab-pane" id="tPost">
												<div class="row">	
													<br>
													<div class="col-sm-8">
															<div class="form-group">
																<label for="foreignBankCorrAccount">Адрес почтового перевода</label>
																<input type="text" class="form-control"  
																			 id="postTransferAddress" name="postTransferAddress"
																			 placeholder="Адрес почтового перевода">
															</div>
													</div>
												</div>
											</div>

										</div>
									</div>		
											
										
									<div id="representativeInfo" style="display: none;">
										<div class="row">
											<div class="col-sm-4">
												<div class="form-group">
													<label class="control-label" for="representativeFIO">ФИО представителя</label>
													<input type="text" class="form-control"
																 id="representativeFIO" name="representativeFIO"
																 placeholder="Текст">
													<p class="help-block">ФИО представителя</p>																								
												</div>
											</div>
											<div class="col-sm-4">
												<div class="form-group">
													<label class="control-label" for="representativeFIOinCase">ФИО представителя в падеже</label>
													<input type="text" class="form-control"
																 id="representativeFIOinCase" name="representativeFIOinCase"
																 placeholder="Текст">
													<p class="help-block">ФИО представителя в родительном падеже</p>																								
												</div>
											</div>
										</div>
										<div class="row">
											<div class="form-group">
												<div class="col-sm-8">	
													<label class="control-label" for="representativeDocInfo">Документы представителя </label>
													<textarea rows="2" id="representativeDocInfo" class="form-control" name="representativeDocInfo"
																		placeholder="Текст"></textarea>
													<p class="help-block">Документы представителя в родительном падеже</p>
												</div>
											</div>
										</div>
									</div>
									<hr>
									<div class="row">
										<div class="col-sm-4">
											<jsp:include page="queryTable.jsp">
												<jsp:param name="queryTableCode"
																	 value="Nh4DU1CB"/>
											</jsp:include>
										</div>
										<div class="col-sm-4">
											<jsp:include page="uploadFile.jsp">
												<jsp:param name="uploadFileCode"
																	 value="docs_4_personal_bank"/>
												<jsp:param name="uploadFileName"
																	 value="Полученные документы"/>
											</jsp:include>
										</div>
									</div>

									<div id="commentInfo" class="row" style="display: none;">
										<div class="form-group">
											<div class="col-sm-8">
												<hr>
												<label class="control-label" for="AppParamComment">Комментарии к
													документу</label>
												<textarea rows="2" id="AppParamComment" class="form-control"
																	name="AppParamComment"
																	placeholder="Текст"></textarea>
												<p class="help-block">Дополнительная информация: причины отклонения документа </p>
											</div>
										</div>
									</div>
								</form>
							</div>
						</div>
					</div>	
				</div>
			</div>
		</div>

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

	</body>
</html>