You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
5.7 KiB
167 lines
5.7 KiB
$(document).ready(function() {
|
|
var clientForm = $("#client-edit-form"),
|
|
clientSearch = $("#searchClientInput", clientForm),
|
|
clientName = $("#id_name", clientForm),
|
|
clientNameShort = $("#id_name_short_self", clientForm),
|
|
clientNameShortD = $("#id_name_short_dadata", clientForm),
|
|
clientInn = $("#id_inn", clientForm),
|
|
clientKpp = $("#id_kpp", clientForm),
|
|
clientOqrn = $("#id_ogrn", clientForm),
|
|
clientAddress = $("#id_address", clientForm),
|
|
bankSearch = $("#searchClientBankInput", clientForm),
|
|
bankBic = $("#id_bank_bik", clientForm),
|
|
bankFullName = $("#id_bank_name", clientForm),
|
|
bankShortName = $("#id_bank_short_name", clientForm),
|
|
bankCorrespondentAccount = $("#id_bank_korr_account", clientForm),
|
|
contactName = $("#id_contact_name", clientForm),
|
|
clientInputs = [clientName, clientNameShort, clientNameShortD, clientInn, clientOqrn, clientAddress];
|
|
|
|
|
|
function confirmChangeDataPromise(inputArray) {
|
|
var dlg_msg = $('#dialog-message');
|
|
var emptyInput = true;
|
|
var defer = $.Deferred();
|
|
|
|
for (var i = inputArray.length - 1; i >= 0; --i) {
|
|
|
|
if (inputArray[i].val()) {
|
|
emptyInput = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!emptyInput) {
|
|
dlg_msg.dialog({
|
|
title: 'Изменить данные',
|
|
buttons:
|
|
{'Да':
|
|
function(){
|
|
defer.resolve(true);
|
|
$(this).dialog('close');
|
|
}, 'Нет':
|
|
function(){
|
|
defer.resolve(false);
|
|
$(this).dialog('close');
|
|
}
|
|
}
|
|
}).html('Имеются уже заполненные данные, они будут изменены, продолжить?');
|
|
dlg_msg.dialog('open');
|
|
|
|
} else {
|
|
defer.resolve(true);
|
|
}
|
|
|
|
return defer.promise();
|
|
}
|
|
|
|
function cleanSearchInput() {
|
|
clientSearch.val('');
|
|
}
|
|
|
|
function changeDataInInputs(data) {
|
|
|
|
if (data.type === "LEGAL"|| data.type === "INDIVIDUAL" ) {
|
|
if (data.name) {
|
|
clientName.val(join([data.opf && data.opf.short || "", data.name.short || data.name.full], " "));
|
|
clientNameShort.val(data.name.short);
|
|
clientNameShortD.val(data.name.short);
|
|
}
|
|
|
|
if (data.name && data.name.full) {
|
|
clientName.val(join([data.opf && data.opf.full || "", data.name.full], " "));
|
|
clientNameShort.val(data.name.short);
|
|
clientNameShortD.val(data.name.short_with_opf);
|
|
}
|
|
|
|
// fill contact name for organizations
|
|
if (data.management && data.management.name) {
|
|
contactName.val(getShortPersonName(data.management.name));
|
|
}
|
|
|
|
// fill contact name for individual entrepreneur
|
|
if (data.type === "INDIVIDUAL" && data.name && data.name.full) {
|
|
contactName.val(getShortPersonName(data.name.full));
|
|
}
|
|
|
|
// fill self contact name for individual entrepreneur
|
|
if (data.type === "INDIVIDUAL" && data.name && data.name.full) {
|
|
var resultName = '';
|
|
clientNameShort.val(getShortPersonNameWithOpf(data.name.full, data.opf.short));
|
|
}
|
|
|
|
clientInn.val(data.inn);
|
|
clientKpp.val(data.kpp);
|
|
clientOqrn.val(data.ogrn);
|
|
if (data.address) {
|
|
if (data.address.data.postal_code) {
|
|
clientAddress.val(data.address.data.postal_code +', ' + data.address.value);
|
|
} else {
|
|
clientAddress.val(data.address.value);
|
|
}
|
|
}
|
|
} else {
|
|
console.log(data);
|
|
if (data.name && data.name.full || "") {
|
|
bankFullName.val(data.name && data.name.full || "");
|
|
}
|
|
if (data.name && data.name.payment || "") {
|
|
bankShortName.val(data.name.payment || "");
|
|
}
|
|
bankBic.val(data.bic);
|
|
bankCorrespondentAccount.val(data.correspondent_account);
|
|
|
|
var advancedObj = expandObject(data, 118, "right");
|
|
fillResultSearchBankTemplate(advancedObj);
|
|
}
|
|
}
|
|
|
|
|
|
function showSuggestion(suggestion) {
|
|
|
|
var data = suggestion.data;
|
|
if (!data) return;
|
|
if (data.type === "LEGAL"|| data.type === "INDIVIDUAL" ) {
|
|
confirmChangeDataPromise(clientInputs).then(function (answer) {
|
|
if (answer) { changeDataInInputs(data) }
|
|
cleanSearchInput();
|
|
}) ;
|
|
} else {
|
|
changeDataInInputs(data)
|
|
}
|
|
|
|
}
|
|
|
|
function fillInput(input, type, count) {
|
|
|
|
input.suggestions({
|
|
token: daDataExternalApiKey,
|
|
type: type,
|
|
count: count,
|
|
onSelect: showSuggestion
|
|
});
|
|
}
|
|
|
|
function cleanFormErrors() {
|
|
var formErrors = $('.errors-layout'),
|
|
inputErrors = $('.ui-state-error');
|
|
if (formErrors) { formErrors.hide()}
|
|
if (inputErrors) {inputErrors.removeClass('ui-state-error')}
|
|
}
|
|
|
|
bankSearch.on('keyup',(function () {
|
|
|
|
if (bankSearch.val().length === 0) {
|
|
clearResultSearchDiv($("#searchBankResult"));
|
|
clearSearchInputs([bankFullName, bankBic, bankCorrespondentAccount]);
|
|
}
|
|
}));
|
|
|
|
clientSearch.on('keyup',(function () {
|
|
cleanFormErrors();
|
|
}));
|
|
|
|
|
|
fillInput(clientSearch, "PARTY", 5);
|
|
fillInput(bankSearch, "BANK", 3);
|
|
|
|
});
|
|
|