From 5bfab18e7e8b8772d7cabc934c670c4f8e714de4 Mon Sep 17 00:00:00 2001 From: Dauren777 Date: Wed, 10 Jun 2026 06:51:52 +0000 Subject: [PATCH] v93: multi-branch files + user management panel --- index.html | 122 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 104 insertions(+), 18 deletions(-) diff --git a/index.html b/index.html index b206426..e09bf99 100644 --- a/index.html +++ b/index.html @@ -84,8 +84,9 @@ tr:hover{background:#FAFBFC} Аналитика Отчётность ИИ-помощник -HSE.sk.kz -
+ HSE.sk.kz + Учётные записи +

Мероприятия

@@ -151,6 +152,20 @@ tr:hover{background:#FAFBFC}
+ "; + for(var fi=0;fi("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+")СкачатьУдалить" + } + }catch(ex){} } - }catch(ex){} + } + }else{ + var bk=fk+"_b"+(cu?cu.bg:0); + var fd=localStorage.getItem(bk); + if(fd){ + try{ + var fa=JSON.parse(fd); + for(var fi=0;fi("+(f.s?Math.round(f.s/1024)+"KB":"")+", "+esc(f.u||"")+" "+esc(f.d||"")+")СкачатьУдалить" + } + }catch(ex){} + } } h+="
"; h+=""; @@ -536,8 +573,9 @@ function upFile(id){ if(f.size>3145728){alert("\u0424\u0430\u0439\u043B \u0431\u043E\u043B\u044C\u0448\u0435 3MB");return} var fr=new FileReader(); var subKey=curSub!==null?"_s"+curSub:""; + var brKey="_b"+(cu?cu.bg:0); fr.onload=function(){ - var key="sf_"+id+subKey; + var key="sf_"+id+subKey+brKey; var arr=[]; var ex=localStorage.getItem(key); if(ex){try{arr=JSON.parse(ex)}catch(e){}} @@ -549,7 +587,7 @@ function upFile(id){ fr.readAsDataURL(f) } function dlFile(id,idx){ - var key="sf_"+id+(curSub!==null?"_s"+curSub:""); + var key="sf_"+id+(curSub!==null?"_s"+curSub:"")+"_b"+(cu?cu.bg:0); var ex=localStorage.getItem(key); if(!ex)return; try{ @@ -566,7 +604,7 @@ function dlFile(id,idx){ } function delFile(id,idx){ if(!confirm("\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0444\u0430\u0439\u043B?"))return; - var key="sf_"+id+(curSub!==null?"_s"+curSub:""); + var key="sf_"+id+(curSub!==null?"_s"+curSub:"")+"_b"+(cu?cu.bg:0); var ex=localStorage.getItem(key); if(!ex)return; try{ @@ -923,6 +961,54 @@ function aiResp(q){ addMsg("b",ans,"ИИ-помощник") } +function renderUsers(){ + if(!cu||cu.bg!==0){document.getElementById("tab_users").innerHTML="

Доступ запрещён

";return} + var ub=document.getElementById("uf_branch"); + if(ub&&!ub.options.length){ + for(var i=0;i"+esc(u.n)+""+esc(u.ph||"")+""+esc(brs[u.bg]||"")+""; + h+="" + } + h+=""; + document.getElementById("users_list").innerHTML=h +} +function addUser(){ + var em=document.getElementById("uf_email").value.trim().toLowerCase(); + var nm=document.getElementById("uf_name").value.trim(); + var ph=document.getElementById("uf_phone").value.trim(); + var bg=parseInt(document.getElementById("uf_branch").value,10); + var pw=document.getElementById("uf_pass").value.trim(); + if(!em||!nm){alert("Заполните логин и ФИО");return} + USR[em]={n:nm,bg:bg,ph:ph}; + if(pw)USR[em].pw=pw; + saveUsers(); + renderUsers() +} +function delUser(k){ + if(!confirm("Удалить "+k+"?"))return; + delete USR[k]; + saveUsers(); + renderUsers() +} +function saveUsers(){ + var ex={}; + for(var k in USR){ + if(!USR.hasOwnProperty(k))continue; + if(k!=="curator"&&k!=="admin"&&k!=="dpp")ex[k]=USR[k] + } + try{localStorage.setItem("ext_users",JSON.stringify(ex))}catch(e){} +}