From e55485b30a8c401d89da88534f38d669a0bb0b31 Mon Sep 17 00:00:00 2001 From: Dauren777 Date: Thu, 11 Jun 2026 04:44:13 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=BE=D0=B3=D0=B8=D0=BD=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D1=82=D1=8F=D0=B3=D0=B8=D0=B2=D0=B0=D0=B5=D1=82=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=D1=85=20=D0=B8=D0=B7=20Supabase=20+=20=D0=BA=D0=BD?= =?UTF-8?q?=D0=BE=D0=BF=D0=BA=D0=B0=20=D0=A1=D0=B8=D0=BD=D1=85=D1=80=D0=BE?= =?UTF-8?q?=D0=BD=D0=B8=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.html | 2 +- index.html | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app.html b/app.html index da1b9b6..c2a4ea2 100644 --- a/app.html +++ b/app.html @@ -158,7 +158,7 @@ function rDB(){ if(dt&&dt.value)a=a.filter(function(x){return x.date<=dt.value}); var t=a.length,sf=a.filter(function(x){return x.overallSafe}).length,wd=a.filter(function(x){return !x.overallSafe}).length,tv=a.reduce(function(s,x){return s+(x.totalViolations||0)},0); var ot=0,bh=0,ov=0;for(var k in all){if(k==="admin")continue;var u=all[k];var q=getUserQuota(u);if(!q.p)continue;var p=gp(q.p);var d=a.filter(function(x){return x.createdBy===k&&new Date(x.date)>=p.s}).length;if(d>q.c)ov++;else if(d>=q.c)ot++;else bh++} - var adb=isA()?"
|
":""; + var adb=isA()?"
|
":""; c.innerHTML=adb+"
спо
"+ "
"+t+"
Всего аудитов
"+sf+"
Безопасно
"+wd+"
С нарушениями
"+tv+"
Всего пунктов нарушений
"+(ot+ov)+"
Выполняют график
"+bh+"
Отстают от графика
"+ "

📂 Нарушения по категориям

📅 Динамика по датам

"+ diff --git a/index.html b/index.html index d645ddc..0aa5602 100644 --- a/index.html +++ b/index.html @@ -57,11 +57,23 @@ function doAppLogin(login,data){sessionStorage.setItem('pab_user',JSON.stringify document.getElementById('lb').onclick=function(){ var u=document.getElementById('lu').value.trim().toLowerCase(); var p=document.getElementById('lp').value.trim(); - if(u==='admin'&&p==='admin'){sessionStorage.setItem('pab_user',JSON.stringify({login:'admin',name:'Администратор',role:'Руководитель',freq:'0,month',email:'admin@telecom.kz',branch:'АО «Казахтелеком»',dept:'ЦА',region:'Центральный',oblast:'—',city:'г. Астана'}));location.href='app.html';return} - var users={};try{users=JSON.parse(localStorage.getItem('pab_users')||'{}')}catch(e){} - if(users[u]&&users[u].pass===p){doAppLogin(u,users[u]);return} - // Проверка через Supabase - fetch("https://znexbjafkvyjffffbhlf.supabase.co/rest/v1/users?login=eq."+encodeURIComponent(u),{headers:{"apikey":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpuZXhiamFma3Z5amZmZmZiaGxmIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc4MDY0NDE4MiwiZXhwIjoyMDk2MjIwMTgyfQ.5pOYTkL5eCmpSHBY3EwKof6NVKt7tL4Fn8xUAKM8itE","Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpuZXhiamFma3Z5amZmZmZiaGxmIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc4MDY0NDE4MiwiZXhwIjoyMDk2MjIwMTgyfQ.5pOYTkL5eCmpSHBY3EwKof6NVKt7tL4Fn8xUAKM8itE"}}).then(function(r){return r.json()}).then(function(d){if(d.length>0&&d[0].pass===p){var ud=d[0];doAppLogin(u,ud);users[u]={pass:ud.pass,name:ud.name,email:ud.email,role:ud.role,freq:ud.freq,branch:ud.branch,dept:ud.dept,region:ud.region,oblast:ud.oblast,city:ud.city};localStorage.setItem('pab_users',JSON.stringify(users))}else{document.getElementById('lerr').style.display='block'}}).catch(function(){document.getElementById('lerr').style.display='block'}); + if(u==='admin'&&p==='admin'){doAppLogin('admin',{name:'Администратор',role:'Руководитель',freq:'0,month',email:'admin@telecom.kz',branch:'АО «Казахтелеком»',dept:'ЦА',region:'Центральный',oblast:'—',city:'г. Астана'});return} + // Сначала подтягиваем всех пользователей из Supabase в localStorage + var SBU="https://znexbjafkvyjffffbhlf.supabase.co",SBK="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpuZXhiamFma3Z5amZmZmZiaGxmIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc4MDY0NDE4MiwiZXhwIjoyMDk2MjIwMTgyfQ.5pOYTkL5eCmpSHBY3EwKof6NVKt7tL4Fn8xUAKM8itE"; + fetch(SBU+"/rest/v1/users?select=*",{headers:{"apikey":SBK,"Authorization":"Bearer "+SBK}}).then(function(r){return r.json()}).then(function(sbUsers){ + var users={};try{users=JSON.parse(localStorage.getItem('pab_users')||'{}')}catch(e){} + sbUsers.forEach(function(x){if(!users[x.login])users[x.login]={pass:x.pass,name:x.name,email:x.email,role:x.role,freq:x.freq,branch:x.branch,dept:x.dept,region:x.region,oblast:x.oblast,city:x.city}}); + localStorage.setItem('pab_users',JSON.stringify(users)); + // Проверяем логин + if(users[u]&&users[u].pass===p){doAppLogin(u,users[u]);return} + if(sbUsers.some(function(x){return x.login===u&&x.pass===p})){var ud=sbUsers.find(function(x){return x.login===u});doAppLogin(u,ud);return} + document.getElementById('lerr').style.display='block'; + }).catch(function(){ + var users={};try{users=JSON.parse(localStorage.getItem('pab_users')||'{}')}catch(e){} + if(users[u]&&users[u].pass===p){doAppLogin(u,users[u]);return} + document.getElementById('lerr').style.display='block'; + }); +}; }; document.getElementById('lp').onkeydown=function(e){if(e.key==='Enter')document.getElementById('lb').onclick()}; document.getElementById('rbb').onclick=function(){