104 lines
6.4 KiB
JavaScript
104 lines
6.4 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="default" attribute will cause
|
|
* this controller to be executed. The name "default" comes from the filename:
|
|
* default_controller.js -> "default"
|
|
*
|
|
* Delete this file or adapt it for your use!
|
|
*/
|
|
export default class extends Controller {
|
|
connect() {
|
|
const alertSystem = this.element;
|
|
|
|
loader.loadSDK('system').then(function(webSDK) {
|
|
webSDK.on('init', function() {
|
|
runWebSDK(alertSystem, webSDK);
|
|
});
|
|
})
|
|
|
|
if (location.pathname.indexOf('/case-history') != '-1') {
|
|
if (location.hash == '#error') {
|
|
var msg = 'Что то пошло не так, повторите попытку позже.';
|
|
helper.addAlert(msg, alertSystem, 'alert-case-history-error');
|
|
}
|
|
|
|
if (location.hash == '#online') {
|
|
var msg = 'При отсутствии оплаты в течение 5 мин. онлайн консультация будет автоматически отменена';
|
|
|
|
helper.addAlert(msg, alertSystem, 'alert-case-history-online');
|
|
}
|
|
|
|
if (location.hash == '#pay-success') {
|
|
var msg = 'Спасибо, оплата прошла успешно.';
|
|
|
|
helper.addAlert(msg, alertSystem, 'alert-case-history-info', 'alert-success');
|
|
}
|
|
if (location.hash == '#doctor-success') {
|
|
var msg = 'Спасибо, вы успешно записались на прием.';
|
|
|
|
helper.addAlert(msg, alertSystem, 'alert-case-history-info', 'alert-success');
|
|
}
|
|
}
|
|
|
|
if (window.location.href.includes("sovamed")) {
|
|
|
|
const osa = `Онлайн консультация проводится через личный кабинет, никаких приложений устанавливать не нужно. Рекомендуем изучить <a href="/docs/online.pdf">инструкцию по онлайн консультированию</a> или <a href="/docs/onlinegos.pdf">инструкцию по онлайн консультированию через Госуслуги</a><br>
|
|
Возврат средств при несостоявшейся консультации производится в разделе приемы – история записей. <a href="/docs/vozvrat.pdf">Инструкция по возврату средств</a>`;
|
|
|
|
if (window.location.href.includes("onlineMode")) {
|
|
if (alertSystem.dataset.auth === "false") {
|
|
const onlineSpecialstAlert = `Для онлайн-консультации рекомендуем пройти авторизацию через <a href="/login">Госуслуги</a>.</br>
|
|
Если Вы уже были в клинике и у Вас есть логин и пароль, при авторизации Вы можете использовать его.
|
|
Ознакомиться с инструкцией по онлайн-консультированию вы можете, пройдя по <a href="/docs/online.pdf">ссылке</a>.
|
|
`;
|
|
|
|
helper.addAlert(onlineSpecialstAlert, alertSystem, 'alert-online-mode', 'alert-info');
|
|
} else {
|
|
helper.addAlert(osa, alertSystem, 'alert-online-mode', 'alert-info');
|
|
}
|
|
}
|
|
|
|
if (window.location.href.includes("/online-specialists")) {
|
|
helper.addAlert(osa, alertSystem, 'alert-online-mode', 'alert-info');
|
|
}
|
|
}
|
|
|
|
if (alertSystem.dataset.auth === "false") {
|
|
if (location.pathname.indexOf('/info') != '-1') {
|
|
var msg = 'Если Вы хотите, чтобы справка была направлена сразу в ФНС, в Ваш кабинет налогоплательщика, то авторизуйтесь через имеющийся логин/пароль или с помощью Госуслуг и заполните данные пациента.';
|
|
|
|
helper.addAlert(msg, alertSystem, 'alert-info');
|
|
}
|
|
|
|
if (location.pathname.indexOf('/specialist') != '-1' & !window.location.href.includes("onlineMode")) {
|
|
var msg = '* вы можете записать себя или другого человека без авторизации, но при этом запись не сохранится в личном кабинете и отменить/перенести ее в случае необходимости будет возможно только по звонку в колл-центр.';
|
|
|
|
helper.addAlert(msg, alertSystem, 'alert-not-auth');
|
|
}
|
|
}
|
|
|
|
let runWebSDK = function (alertSystem, webSDK) {
|
|
if (alertSystem.dataset.techMaintenance === 'true') {
|
|
var msg = 'Ведутся технические работы, функционал может быть доступен не полностью';
|
|
helper.addAlert(msg, alertSystem, 'alert-warning');
|
|
}
|
|
|
|
if (webSDK.data.user.authenticated) {
|
|
const userAllows = webSDK.data.user.allows;
|
|
|
|
if (userAllows.caseHistory == false || userAllows.payments == false || userAllows.reservation == false) {
|
|
|
|
var msg = 'Ваша учетная запись имеет статус "Неподтвержденная регистрация", запись на прием через портал работает в ограниченном режиме. Вы можете записаться на прием не более одного раза к одному специалисту. Полный доступ на портал Вам будет предоставлен в регистратуре при следующем посещении клиники.';
|
|
|
|
helper.addAlert(msg, alertSystem, 'alert-info');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|