samruk-ai-agent/index.html

85 lines
5.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>План ПБ 2026 — Казахтелеком</title>
<style>
*{box-sizing:border-box;margin:0;padding:0}
body{font:14px/1.4 Arial,sans-serif;background:#F1F5F9;color:#0B1A2E}
input,select,textarea,button{font:inherit;outline:none}
.btn{background:#00B4D8;color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;border:none;cursor:pointer}.btn:hover{opacity:.85}
.btn-sm{padding:6px 14px;font-size:12px}.btn-r{background:#EF4444;color:#fff}
#login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0B1A2E,#1a3a5c)}
#login>div{background:#fff;border-radius:20px;padding:40px;width:400px;max-width:90vw;text-align:center}
#login h1{font-size:22px;font-weight:800;margin-bottom:4px}#login h1 span{color:#00B4D8}
#login p{color:#64748B;font-size:13px;margin-bottom:24px}
#login input{display:block;width:100%;padding:12px;border:2px solid #E2E8F0;border-radius:10px;font-size:14px;margin-bottom:12px}
#app{display:none;max-width:1100px;margin:0 auto;padding:20px}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:2px solid #E2E8F0;margin-bottom:20px}
.top h2{font-size:20px;font-weight:700}
.card{background:#fff;border-radius:12px;padding:20px;margin-bottom:14px;border:1px solid #E2E8F0}
.card h3{font-size:16px;font-weight:700;margin-bottom:10px}
table{width:100%;border-collapse:collapse}th,td{padding:8px 12px;font-size:13px;text-align:left;border-bottom:1px solid #E2E8F0}
th{background:#F1F5F9;font-weight:600;font-size:11px;text-transform:uppercase;color:#64748B}
.badge{display:inline-block;padding:3px 8px;border-radius:100px;font-size:11px;font-weight:600}
.badge.g{background:#D1FAE5;color:#065F46}.badge.a{background:#FEF3C7;color:#92400E}.badge.r{background:#FEE2E2;color:#991B1B}.badge.b{background:#DBEAFE;color:#1E40AF}
.fr{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.fr input,.fr select{padding:10px 14px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;background:#fff}.fr input{min-width:220px}
</style>
</head>
<body onload="if(localStorage.getItem('su'))doLogin()">
<div id="login"><div>
<h1><span>План ПБ</span> 2026</h1>
<p>АО «Казахтелеком»</p>
<input id="lem" placeholder="curator@telecom.kz">
<input id="lpw" type="password" placeholder="Пароль">
<p id="lerr" style="color:#EF4444;font-size:12px;display:none">Неверная почта</p>
<button class="btn" style="width:100%" onclick="doLogin()">Войти</button>
</div></div>
<div id="app">
<div class="top"><h2>План ПБ 2026</h2><span id="ul"></span><button class="btn btn-sm btn-r" onclick="doLogout()">Выйти</button></div>
<div class="card" id="content"></div>
</div>
<script>
var U={curator:{n:"Куратор ПБ"},dpp:{n:"Директор ДПБ"}};
var br=["Дирекция ПБ","Дивизион Сеть","Корп. бизнес","Розн. бизнес","Сервисная фабрика","Телеком Комплект","Корп. университет","Упр. проектами","Цифровой бизнес"];
var st={wait:"Не начато",warn:"В процессе",late:"Просрочено",done:"Исполнено"};
var cu=null,ev=null;
function esc(s){return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}
function doLogin(){
var e=document.getElementById("lem").value.trim().toLowerCase();
var k=e.split("@")[0];
if(U[k]){cu={n:U[k].n};localStorage.setItem("su",JSON.stringify(cu));showApp()}else{document.getElementById("lerr").style.display="block"}
}
function doLogout(){localStorage.removeItem("su");cu=null;document.getElementById("login").style.display="flex";document.getElementById("app").style.display="none"}
function showApp(){document.getElementById("login").style.display="none";document.getElementById("app").style.display="block";document.getElementById("ul").textContent=cu.n;renderEv()}
// Load events
var s=localStorage.getItem("se6");
if(s){try{ev=JSON.parse(s)}catch(e){}}
if(!ev||!ev.length){
var x=new XMLHttpRequest();x.open("GET","data.json",true);
x.onload=function(){if(x.status===200){try{ev=JSON.parse(x.responseText);localStorage.setItem("se6",JSON.stringify(ev))}catch(e){ev=[]}};renderEv()};
x.onerror=function(){ev=[];renderEv()};
x.send();
}
function renderEv(){
if(!ev||!ev.length){document.getElementById("content").innerHTML="<p>Загрузка данных...</p>";return}
var h="<div class='fr'><span>Всего: "+ev.length+" мероприятий</span></div><table><tr><th>№</th><th>Мероприятие</th><th>Филиал</th><th>Срок</th><th>Статус</th></tr>";
ev.forEach(function(e){
var cl={done:"g",warn:"a",late:"r",wait:"w"}[e.s]||"w";
h+="<tr><td>"+e.id+"</td><td style='font-size:12px'>"+esc(e.t)+"</td><td style='font-size:11px'>"+br[e.b]+"</td><td>"+e.due+"</td><td><span class='badge "+cl+"'>"+st[e.s]+"</span></td></tr>";
});
h+="</table>";
document.getElementById("content").innerHTML=h;
}
</script>
</body>
</html>