diff --git a/script.js b/script.js index 1ad677a..964d51a 100644 --- a/script.js +++ b/script.js @@ -724,49 +724,6 @@ var brs=["Дирекция производственной безопаснос var stn={warn:"В процессе",late:"Просрочено",done:"Исполнено"}; var stc={warn:"a",late:"r",done:"g"}; var USR={curator:{n:"Куратор ПБ",bg:0},admin:{n:"Администратор",bg:0},dpp:{n:"Директор ДПБ",bg:0},ivanov:{n:"Иванов Иван",bg:1},petrov:{n:"Петров Петр",bg:2},sidorov:{n:"Сидоров Сидор",bg:3},kozhin:{n:"Кожин А.М.",bg:4},ismailov:{n:"Исмаилов Р.К.",bg:1},nurpeisov:{n:"Нурпеисов Д.А.",bg:5},suleimenov:{n:"Сулейменов К.Т.",bg:6},kassenov:{n:"Касенов Б.Б.",bg:7},serikov:{n:"Сериков Е.С.",bg:8},zhunusov:{n:"Жунусов А.А.",bg:2},muratov:{n:"Муратов А.Т.",bg:3},bakirov:{n:"Бакиров Т.Н.",bg:4}}; -var DBNAME="hse_fv3";var DBVER=1;var gdb=null; -function openDB(cb){ - if(gdb){cb(gdb);return} - var r=indexedDB.open(DBNAME,DBVER); - r.onupgradeneeded=function(e){e.target.result.createObjectStore("files",{keyPath:"id"})}; - r.onsuccess=function(e){gdb=e.target.result;cb(gdb)}; - r.onerror=function(){cb(null)} -} -function idbPut(id,file,name,size,type,cb){ - var fr=new FileReader(); - fr.onload=function(){ - openDB(function(db){if(!db){cb(false);return} - var tx=db.transaction("files","readwrite");var st=tx.objectStore("files"); - st.put({id:id,name:name,size:size,type:type,data:fr.result}); - tx.oncomplete=function(){cb(true)};tx.onerror=function(){cb(false)} - }) - }; - fr.onerror=function(){cb(false)}; - fr.readAsArrayBuffer(file) -} -function idbGetAll(prefix,cb){ - openDB(function(db){if(!db){cb([]);return} - var tx=db.transaction("files","readonly");var st=tx.objectStore("files"); - var rq=st.getAll();rq.onsuccess=function(){ - var all=rq.result||[];var res=[]; - for(var i=0;i/g,">").replace(/"/g,""") @@ -816,11 +773,8 @@ function init(){ function doLogin(){ var e=document.getElementById("lem").value.trim().toLowerCase(); var k=e.split("@")[0]; - var u=USR[k]; - if(!u){ - var ex=localStorage.getItem("ext_users");if(ex){try{var eu=JSON.parse(ex);if(eu[k])u=eu[k];if(!u&&eu[e])u=eu[e]}catch(e){}} - } - if(!u)u=USR[e]; + var u=USR[k]||USR[e]; + if(!u){var ex=localStorage.getItem("ext_users");if(ex){try{var eu=JSON.parse(ex);if(eu[k])u=eu[k];if(!u&&eu[e])u=eu[e]}catch(e){}}} if(u){ cu={n:u.n,bg:u.bg,role:u.role!==undefined?u.role:(u.bg===0?0:1)}; localStorage.setItem("su",JSON.stringify(cu)); @@ -1025,11 +979,11 @@ function openEv(id,subIdx){ h+="
AI-анализ: "+esc(e.ai||"\u2014")+"
"; h+="
Отчётность:
"; h+="
"; + h+="Количество: "; var now=new Date(); var curMonth=now.getMonth(); var savedMonth=localStorage.getItem("evmonth_"+e.id); var selMonth=savedMonth!==null?parseInt(savedMonth,10):curMonth; - h+="Количество: "; h+="Месяц:
"; - h+="
"; + h+="
"; h+="
Файлы:"; if(cu&&cu.bg===0){ for(var bi=0;biСохранить"; h+="
"; h+=""; - showModal(h); - var fk2=fk+"_m"+selMonth; - idbGetAll(fk2,function(files){ - var fdiv=document.getElementById("fl_"+e.id);if(!fdiv)return; - if(!files||!files.length){fdiv.innerHTML="\u041D\u0435\u0442 \u0444\u0430\u0439\u043B\u043E\u0432";return} - var fh="";var groups={}; - for(var i=0;i"+esc(brs[bi])+":"; - for(var j=0;j100000){var dd=new Date(ts);ds=dd.getDate()+"."+String(dd.getMonth()+1).padStart(2,"0")+"."+dd.getFullYear()} - fh+="" - } - } - fdiv.innerHTML=fh||"\u041D\u0435\u0442 \u0444\u0430\u0439\u043B\u043E\u0432" - }) + showModal(h) } function showModal(html){ @@ -1120,9 +1053,13 @@ function closeModal(){ function saveEvModal(id){ var sel=document.getElementById("evs_"+id); + var inq=document.getElementById("evq_"+id); + var inn=document.getElementById("evn_"+id); for(var i=0;i3145728){alert("\u0424\u0430\u0439\u043B \u0431\u043E\u043B\u044C\u0448\u0435 3MB");return} + var fr=new FileReader(); + var subKey=curSub!==null?"_s"+curSub:""; var inm=document.getElementById("evm_"+id); - var mk=inm?"_m"+inm.value:"_m0"; - var sk=curSub!==null?"_s"+curSub:""; - var bk="_b"+(cu?cu.bg:0); - var fileId="sf_"+id+mk+sk+bk+"_"+Date.now(); - idbPut(fileId,f,f.name,f.size,f.type,function(ok){ - if(ok){openEv(id,curSub!==null?curSub:undefined)} - else{alert("\u041E\u0448\u0438\u0431\u043A\u0430 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F")} - }) + var monthKey=inm?"_m"+inm.value:""; + var brKey="_b"+(cu?cu.bg:0); + fr.onload=function(){ + var key="sf_"+id+monthKey+subKey+brKey; + var arr=[]; + var ex=localStorage.getItem(key); + if(ex){try{arr=JSON.parse(ex)}catch(e){}} + var d=new Date(); + arr.push({n:f.name,s:f.size,d:d.getDate()+"."+String(d.getMonth()+1).padStart(2,"0")+"."+d.getFullYear(),u:cu?cu.n:"",data:fr.result}); + try{localStorage.setItem(key,JSON.stringify(arr))}catch(e){alert("\u041E\u0448\u0438\u0431\u043A\u0430 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F")} + openEv(id,curSub!==null?curSub:undefined) + }; + fr.readAsDataURL(f) } function dlFile(id,idx){ var inm=document.getElementById("evm_"+id); @@ -1622,7 +1554,7 @@ function addUser(){ var pw=document.getElementById("reg_pass").value.trim(); var rlSel=document.getElementById("reg_role"); var rl=rlSel?parseInt(rlSel.value,10):1; - if(!k||!nm){alert("\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u043B\u043E\u0433\u0438\u043D \u0438 \u0424\u0418\u041E");return} + if(!em||!nm){alert("\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u043B\u043E\u0433\u0438\u043D \u0438 \u0424\u0418\u041E");return} if(USR[k]){alert("\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442");return} USR[k]={n:nm,bg:bg,ph:ph,role:rl}; if(pw)USR[k].pw=pw;