Commit a5868512 authored by Samir Sadyhov's avatar Samir Sadyhov 🤔

openDocument.js - добавлено подписание через egov mobile

parent b64a5505
...@@ -478,31 +478,68 @@ const finishWork = async (_doc) => { ...@@ -478,31 +478,68 @@ const finishWork = async (_doc) => {
} }
} }
const openDialogSelectSignType = handler => {
const dialog = $('<div class="uk-flex-top" uk-modal>');
const body = $('<div>', {class: 'uk-modal-dialog uk-modal-body'});
const header = $(`<h2 class="uk-modal-title">${i18n.tr('Выберите способ подписания')}</h2>`);
const buttonEgov = $(`<button class="uk-button uk-button-default uk-width-1-1 uk-margin-small-bottom">${i18n.tr('Подписать через eGov mobile')}</button>`);
const buttonNcaLayer = $(`<button class="uk-button uk-button-default uk-width-1-1 uk-margin-small-bottom">${i18n.tr('Подписать через NCALayer')}</button>`);
dialog.append(body);
body.append(header, buttonEgov, buttonNcaLayer);
buttonEgov.on('click', e => {
handler('egov');
UIkit.modal(dialog).hide();
});
buttonNcaLayer.on('click', e => {
handler('ncalayer');
UIkit.modal(dialog).hide();
});
UIkit.modal(dialog).show();
dialog.on('hidden', () => {
dialog.remove();
});
}
const signDocument = async (documentID, signButton) => { const signDocument = async (documentID, signButton) => {
try { try {
NCALayer.sign('SIGN', documentID, async result => {
Cons.showLoader();
try {
const signResult = await AS.FORMS.ApiUtils.simpleAsyncPost("rest/api/docflow/sign", null, null, {
documentID,
rawdata: result.dataForSign,
signdata: result.signedData,
certificate: result.certificate,
certID: result.certID
});
if(signResult.errorCode != 0) throw new Error(signResult.errorMessage); openDialogSelectSignType(async signType => {
switch (signType) {
case 'egov': generateQRCodeEgov(documentID, 'sign'); break;
case 'ncalayer': {
NCALayer.sign('SIGN', documentID, async result => {
Cons.showLoader();
try {
const signResult = await AS.FORMS.ApiUtils.simpleAsyncPost("rest/api/docflow/sign", null, null, {
documentID,
rawdata: result.dataForSign,
signdata: result.signedData,
certificate: result.certificate,
certID: result.certID
});
Cons.hideLoader(); if(signResult.errorCode != 0) throw new Error(signResult.errorMessage);
showMessage(i18n.tr('Документ успешно подписан ЭЦП'), 'success');
signButton.hide(); Cons.hideLoader();
} catch (e) { showMessage(i18n.tr('Документ успешно подписан ЭЦП'), 'success');
Cons.hideLoader(); signButton.hide();
showMessage(i18n.tr(e.message), 'error'); } catch (e) {
} Cons.hideLoader();
showMessage(i18n.tr(e.message), 'error');
}
});
break;
}
}
}); });
} catch (err) { } catch (err) {
Cons.hideLoader(); Cons.hideLoader();
showMessage(i18n.tr(err.message), 'error'); showMessage(i18n.tr(err.message), 'error');
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment