onclick прямо в HTML кнопок — как в рабочей тестовой странице

This commit is contained in:
Dauren777 2026-06-04 04:41:01 +00:00
parent 603def833d
commit 1c5348083a

View File

@ -81,11 +81,11 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s
<div id="logScreen" class="ls">
<div class="lc">
<div class="logo"><span class="icon">🛡️</span><h1>Поведенческий аудит безопасности</h1><p>Система учёта и аналитики ПАБ</p></div>
<div class="ltab"><button class="lt ac" id="tL">Вход</button><button class="lt" id="tR">Регистрация</button></div>
<div class="ltab"><button class="lt ac" id="tL" onclick="showLoginTab()">Вход</button><button class="lt" id="tR" onclick="showRegTab()">Регистрация</button></div>
<div id="fL" class="lf ac">
<div class="fg"><label>Логин</label><input type="text" id="lu" placeholder="Введите логин"></div>
<div class="fg"><label>Пароль</label><input type="password" id="lp" placeholder="Введите пароль"></div>
<button class="btn bp bw" id="lb">Войти</button>
<button class="btn bp bw" id="lb" onclick="loginUser()">Войти</button>
<div class="em" id="le">Неверный логин или пароль</div>
</div>
<div id="fR" class="lf">
@ -95,11 +95,68 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s
<div class="fr"><div class="fg"><label>Филиал</label><input type="text" id="rb" placeholder="АО «Казахтелеком»"></div><div class="fg"><label>Подразделение</label><input type="text" id="rd" placeholder="ЦТО МС"></div></div>
<div class="fr"><div class="fg"><label>Регион</label><input type="text" id="rg" placeholder="Алматинский"></div><div class="fg"><label>Область</label><input type="text" id="ro" placeholder="Алматинская обл."></div></div>
<div class="fg"><label>Город / село</label><input type="text" id="rc" placeholder="г. Алматы"></div>
<button class="btn bp bw" id="rbb">Зарегистрироваться</button>
<button class="btn bp bw" id="rbb" onclick="regUser()">Зарегистрироваться</button>
<div class="em" id="rerr"></div><div class="ok" id="rok">Регистрация успешна! Теперь войдите.</div>
</div>
</div>
</div>
<script>
// Login function - globally accessible for onclick
function loginUser(){
var u = document.getElementById("lu").value.trim().toLowerCase();
var p = document.getElementById("lp").value.trim();
if (u === "admin" && p === "admin") {
doAppLogin({login:"admin",name:"Администратор",role:"Руководитель",email:"admin@telecom.kz",branch:"АО «Казахтелеком»",dept:"ЦА",region:"Центральный",oblast:"—",city:"г. Астана"});
return;
}
var users = {}; try{ users = JSON.parse(localStorage.getItem("pab_users")||"{}"); }catch(e){}
if (users[u] && users[u].pass === p) {
doAppLogin({login:u,name:users[u].name,role:users[u].role,email:users[u].email||"",branch:users[u].branch||"",dept:users[u].dept||"",region:users[u].region||"",oblast:users[u].oblast||"",city:users[u].city||""});
return;
}
document.getElementById("le").style.display = "block";
}
function regUser(){
var login = document.getElementById("rl").value.trim().toLowerCase();
var pass = document.getElementById("rp").value.trim();
var name = document.getElementById("rn").value.trim();
var email = document.getElementById("re").value.trim();
var role = document.getElementById("rr").value;
var branch = document.getElementById("rb").value.trim();
var dept = document.getElementById("rd").value.trim();
var region = document.getElementById("rg").value.trim();
var oblast = document.getElementById("ro").value.trim();
var city = document.getElementById("rc").value.trim();
var e = document.getElementById("rerr"), ok = document.getElementById("rok"); ok.style.display="none";
if(!login||login.length<2){e.textContent="Логин минимум 2 символа";e.style.display="block";return}
if(!pass||pass.length<3){e.textContent="Пароль минимум 3 символа";e.style.display="block";return}
if(!name){e.textContent="Укажите ФИО";e.style.display="block";return}
if(!role){e.textContent="Выберите должность";e.style.display="block";return}
if(!email||email.indexOf("@")<0){e.textContent="Укажите Email";e.style.display="block";return}
if(!branch){e.textContent="Укажите филиал";e.style.display="block";return}
if(!region){e.textContent="Укажите регион";e.style.display="block";return}
if(!city){e.textContent="Укажите город";e.style.display="block";return}
if(!dept){e.textContent="Укажите подразделение";e.style.display="block";return}
var users = {}; try{users=JSON.parse(localStorage.getItem("pab_users")||"{}")}catch(e){}
if(users[login]){e.textContent="Логин занят";e.style.display="block";return}
e.style.display="none";
users[login]={pass:pass,name:name,email:email,role:role,branch:branch,dept:dept,region:region,oblast:oblast,city:city};
localStorage.setItem("pab_users",JSON.stringify(users));
ok.style.display="block";document.getElementById("rl").value="";document.getElementById("rp").value="";document.getElementById("rn").value="";document.getElementById("re").value="";document.getElementById("rb").value="";document.getElementById("rd").value="";document.getElementById("rg").value="";document.getElementById("ro").value="";document.getElementById("rc").value="";
document.getElementById("lu").value=login;
setTimeout(function(){ok.style.display="none";showLoginTab()},2000);
}
function showLoginTab(){
document.getElementById("fL").classList.add("ac"); document.getElementById("fR").classList.remove("ac");
document.getElementById("tL").classList.add("ac"); document.getElementById("tR").classList.remove("ac");
document.getElementById("le").style.display="none"; document.getElementById("rerr").style.display="none"; document.getElementById("rok").style.display="none";
}
function showRegTab(){
document.getElementById("fL").classList.remove("ac"); document.getElementById("fR").classList.add("ac");
document.getElementById("tL").classList.remove("ac"); document.getElementById("tR").classList.add("ac");
document.getElementById("le").style.display="none"; document.getElementById("rerr").style.display="none"; document.getElementById("rok").style.display="none";
}
</script>
<!-- APP -->
<div class="app" id="appScreen">
<header class="ah"><div class="la"><span class="icon">🛡️</span>ПАБ Система</div><nav><a data-p="NA" class="ac">Новый аудит</a><a data-p="MS">Мой график</a><a data-p="DB">Дашборд</a><a data-p="VL">Нарушения</a><a data-p="HS">История</a></nav><div class="ua"><span class="role" id="dn"></span><button class="btn bo bs" style="color:#9aa3b2;border-color:#3a4452" id="lo">Выход</button></div></header>
@ -134,65 +191,6 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s
<div class="tw"><table class="dt"><thead><tr><th>Бланк №</th><th>Дата</th><th>Время</th><th>Место</th><th>Наблюдатель</th><th>Статус</th><th>Нарушений</th><th></th></tr></thead><tbody id="hbdy"></tbody></table></div><div class="nd" id="hnd" style="display:none"><span class="icon">📭</span><p>Нет записей</p></div></div>
</div></div>
<script>
// ===== SIMPLE LOGIN (guaranteed to work) =====
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") {
doAppLogin({login:"admin",name:"Администратор",role:"Руководитель",email:"admin@telecom.kz",branch:"АО «Казахтелеком»",dept:"ЦА",region:"Центральный",oblast:"—",city:"г. Астана"});
return;
}
var users = {}; try{ users = JSON.parse(localStorage.getItem("pab_users")||"{}"); }catch(e){}
if (users[u] && users[u].pass === p) {
doAppLogin({login:u,name:users[u].name,role:users[u].role,email:users[u].email||"",branch:users[u].branch||"",dept:users[u].dept||"",region:users[u].region||"",oblast:users[u].oblast||"",city:users[u].city||""});
return;
}
document.getElementById("le").style.display = "block";
};
document.getElementById("lp").onkeydown = function(e){ if(e.key==="Enter") document.getElementById("lb").onclick(); };
document.getElementById("tL").onclick = function(){
document.getElementById("fL").classList.add("ac"); document.getElementById("fR").classList.remove("ac");
this.classList.add("ac"); document.getElementById("tR").classList.remove("ac");
document.getElementById("le").style.display="none"; document.getElementById("rerr").style.display="none"; document.getElementById("rok").style.display="none";
};
document.getElementById("tR").onclick = function(){
document.getElementById("fL").classList.remove("ac"); document.getElementById("fR").classList.add("ac");
this.classList.add("ac"); document.getElementById("tL").classList.remove("ac");
document.getElementById("le").style.display="none"; document.getElementById("rerr").style.display="none"; document.getElementById("rok").style.display="none";
};
document.getElementById("rbb").onclick = function(){
var login = document.getElementById("rl").value.trim().toLowerCase();
var pass = document.getElementById("rp").value.trim();
var name = document.getElementById("rn").value.trim();
var email = document.getElementById("re").value.trim();
var role = document.getElementById("rr").value;
var branch = document.getElementById("rb").value.trim();
var dept = document.getElementById("rd").value.trim();
var region = document.getElementById("rg").value.trim();
var oblast = document.getElementById("ro").value.trim();
var city = document.getElementById("rc").value.trim();
var e = document.getElementById("rerr"), ok = document.getElementById("rok"); ok.style.display="none";
if(!login||login.length<2){e.textContent="Логин минимум 2 символа";e.style.display="block";return}
if(!pass||pass.length<3){e.textContent="Пароль минимум 3 символа";e.style.display="block";return}
if(!name){e.textContent="Укажите ФИО";e.style.display="block";return}
if(!role){e.textContent="Выберите должность";e.style.display="block";return}
if(!email||email.indexOf("@")<0){e.textContent="Укажите Email";e.style.display="block";return}
if(!branch){e.textContent="Укажите филиал";e.style.display="block";return}
if(!region){e.textContent="Укажите регион";e.style.display="block";return}
if(!city){e.textContent="Укажите город";e.style.display="block";return}
if(!dept){e.textContent="Укажите подразделение";e.style.display="block";return}
var users = {}; try{users=JSON.parse(localStorage.getItem("pab_users")||"{}")}catch(e){}
if(users[login]){e.textContent="Логин занят";e.style.display="block";return}
e.style.display="none";
users[login]={pass:pass,name:name,email:email,role:role,branch:branch,dept:dept,region:region,oblast:oblast,city:city};
localStorage.setItem("pab_users",JSON.stringify(users));
ok.style.display="block";document.getElementById("rl").value="";document.getElementById("rp").value="";document.getElementById("rn").value="";document.getElementById("re").value="";document.getElementById("rb").value="";document.getElementById("rd").value="";document.getElementById("rg").value="";document.getElementById("ro").value="";document.getElementById("rc").value="";
document.getElementById("lu").value=login;
setTimeout(function(){ok.style.display="none";document.getElementById("tL").onclick()},2000);
};
// ===== INIT APP =====
function doAppLogin(user){
U = user;