119 lines
4.6 KiB
JavaScript
119 lines
4.6 KiB
JavaScript
import { Controller } from 'stimulus';
|
|
|
|
const loader = require("./../components/loader.js");
|
|
const helper = require("./../components/helper.js");
|
|
|
|
/*
|
|
* This is an example Stimulus controller!
|
|
*
|
|
* Any element with a data-controller="widgets" attribute will cause
|
|
* this controller to be executed. The name "recaptcha" comes from the filename:
|
|
* recaptcha_controller.js -> "recaptcha"
|
|
*
|
|
* Delete this file or adapt it for your use!
|
|
*/
|
|
export default class extends Controller {
|
|
connect() {
|
|
loader.loadSDK('widget').then(function(webSDK) {
|
|
webSDK.on('init', function() {
|
|
if (this.data.user.authenticated) {
|
|
runWebSDK();
|
|
}
|
|
});
|
|
})
|
|
|
|
let runWebSDK = function () {
|
|
this.securityCard();
|
|
this.finance();
|
|
}.bind(this)
|
|
}
|
|
|
|
finance() {
|
|
var financeWidget = document.getElementById('finance-widget');
|
|
|
|
window.webSDK.loadPaymentList({
|
|
start: 0,
|
|
length: 4
|
|
}).then(function (resolve) {
|
|
financeWidget.innerHTML = '';
|
|
|
|
if (resolve.length > 0) {
|
|
resolve.forEach(function(item) {
|
|
var div = document.createElement('div');
|
|
div.classList = 'payment-line';
|
|
|
|
var date = window.newDate(item.date);
|
|
var spanID = document.createElement('span');
|
|
spanID.classList = 'payment-line__id';
|
|
spanID.innerHTML = 'Счет № ' + item.id + ' от ' + window.dateFormat(date, 'd-m-Y');
|
|
div.append(spanID);
|
|
|
|
var spanPrice = document.createElement('span');
|
|
spanPrice.classList = 'payment-line__price';
|
|
spanPrice.innerHTML = item.amt + ' ₽';
|
|
div.append(spanPrice);
|
|
|
|
financeWidget.append(div);
|
|
});
|
|
} else {
|
|
var item = document.createElement('span');
|
|
item.innerHTML = 'Записей не найдено';
|
|
item.classList = 'line-item';
|
|
financeWidget.append(item);
|
|
}
|
|
}).catch(function (error) {
|
|
helper.sendRequest({
|
|
data: {'error': error, method: 'loadPaymentList'}
|
|
}, helper.getHostname() + '/api/log', "POST", "json", true, "application/json");
|
|
})
|
|
}
|
|
|
|
securityCard() {
|
|
var securityCardWidget = document.getElementById('security-card-widget');
|
|
var date = new Date();
|
|
var lastDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
|
|
if (window.webSDK.data.user.allows.caseHistory == true) {
|
|
window.webSDK.loadTreatPlaceList({
|
|
st: 20200101,
|
|
en: window.dateFormat(lastDate),
|
|
start: 0,
|
|
length: 4
|
|
}).then(function (resolve) {
|
|
securityCardWidget.innerHTML = '';
|
|
|
|
if (resolve.data.length > 0) {
|
|
resolve.data.forEach(function(el) {
|
|
var item = document.createElement('span');
|
|
item.innerHTML = el.protocolName.slice(0,37) + '...';
|
|
item.classList = 'line-item';
|
|
|
|
securityCardWidget.append(item);
|
|
});
|
|
} else {
|
|
var item = document.createElement('span');
|
|
item.innerHTML = 'Записей не найдено';
|
|
item.classList = 'line-item';
|
|
securityCardWidget.append(item);
|
|
}
|
|
}).catch(function (error) {
|
|
helper.sendRequest({
|
|
data: {'error': error, method: 'loadTreatPlaceList'}
|
|
}, helper.getHostname() + '/api/log', "POST", "json", true, "application/json");
|
|
|
|
securityCardWidget.innerHTML = '';
|
|
var item = document.createElement('span');
|
|
item.innerHTML = 'Записей не найдено';
|
|
item.classList = 'line-item';
|
|
securityCardWidget.append(item);
|
|
});
|
|
} else {
|
|
securityCardWidget.innerHTML = '';
|
|
var item = document.createElement('span');
|
|
item.innerHTML = 'Записей не найдено';
|
|
item.classList = 'line-item';
|
|
securityCardWidget.append(item);
|
|
}
|
|
}
|
|
}
|