v1.8.0: YandexGPT-only NLP, unknown questions system, callback dedup, consent flow fixes, DELETE cascade, UTC+3, auto-detect sidebar menu, tel:/mailto: links
This commit is contained in:
@@ -44,29 +44,7 @@
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var MENU_ITEMS = [
|
||||
// Панель
|
||||
{key: 'charts', label: 'Графики', section: 'Панель'},
|
||||
{key: 'ceo', label: 'CEO дашборд', section: 'Панель'},
|
||||
// Управление
|
||||
{key: 'customers', label: 'Клиенты', section: 'Управление'},
|
||||
{key: 'objects', label: 'Объекты', section: 'Управление'},
|
||||
{key: 'sla', label: 'SLA контракты', section: 'Управление'},
|
||||
{key: 'questionnaire', label: 'Опросник', section: 'Управление'},
|
||||
{key: 'passports', label: 'Паспорта объектов', section: 'Управление'},
|
||||
// Работа
|
||||
{key: 'users', label: 'Сотрудники', section: 'Работа'},
|
||||
{key: 'assignments', label: 'Назначение сотрудников', section: 'Работа'},
|
||||
{key: 'docs', label: 'Просмотр документации', section: 'Работа'},
|
||||
{key: 'tasks', label: 'Задачи', section: 'Работа'},
|
||||
{key: 'reports', label: 'Отчёты', section: 'Работа'},
|
||||
{key: 'incidents', label: 'Инциденты', section: 'Работа'},
|
||||
{key: 'checklist', label: 'Чек-лист', section: 'Работа'},
|
||||
{key: 'tech_access', label: 'Доступ техников к документам', section: 'Работа'},
|
||||
// Контент
|
||||
{key: 'blog', label: 'Управление блогом', section: 'Контент'},
|
||||
{key: 'cases', label: 'Примеры из практики', section: 'Контент'},
|
||||
];
|
||||
var MENU_ITEMS = [];
|
||||
|
||||
function switchTab(name){
|
||||
document.querySelectorAll('.tab-content').forEach(function(t){ t.classList.remove('active'); });
|
||||
@@ -76,7 +54,12 @@ function switchTab(name){
|
||||
}
|
||||
|
||||
function loadPermissions(){
|
||||
fetch('/service/api/role-permissions').then(function(r){ return r.json() }).then(function(data){
|
||||
Promise.all([
|
||||
fetch('/service/api/menu-items').then(function(r){ return r.json() }),
|
||||
fetch('/service/api/role-permissions').then(function(r){ return r.json() })
|
||||
]).then(function(results){
|
||||
MENU_ITEMS = results[0];
|
||||
var data = results[1];
|
||||
['engineer','technician'].forEach(function(role){
|
||||
var container = document.getElementById('menu-' + role);
|
||||
container.innerHTML = '';
|
||||
|
||||
Reference in New Issue
Block a user