Compare commits

...

4 Commits

Author SHA1 Message Date
60b18545ff add logo file 2026-08-18 09:57:00 +00:00
10af991134 логотип KAZAKHTELECOM 2026-08-18 09:56:01 +00:00
3f8d2fb454 стиль Telecom.kz 2026-08-18 09:51:29 +00:00
b943230116 цифры на диаграмме РДТ 2026-08-18 09:48:43 +00:00
2 changed files with 36 additions and 28 deletions

View File

@ -7,41 +7,44 @@
<script src="https://cdn.jsdelivr.net/npm/pptxgenjs@3.12.0/dist/pptxgen.bundle.js"></script> <script src="https://cdn.jsdelivr.net/npm/pptxgenjs@3.12.0/dist/pptxgen.bundle.js"></script>
<style> <style>
* { margin: 0; box-sizing: border-box; } * { margin: 0; box-sizing: border-box; }
body { font-family: -apple-system, "Segoe UI", Roboto, sans-serif; background: #0f1218; color: #f4f4f5; } body { font-family: "Segoe UI", "Roboto", Arial, sans-serif; background: #ffffff; color: #1a1a1a; }
.slide { display: none; min-height: 100vh; padding: 6vh 8vw; flex-direction: column; justify-content: flex-start; } .slide { display: none; min-height: 100vh; padding: 6vh 8vw; flex-direction: column; justify-content: flex-start; }
.slide.on { display: flex; } .slide.on { display: flex; }
.slide h1 { font-size: clamp(28px, 5vw, 52px); margin-bottom: 20px; color: #00b8cc; } .slide h1 { font-size: clamp(28px, 5vw, 52px); margin-bottom: 20px; color: #0056b3; font-weight: 700; }
.slide h2 { font-size: clamp(22px, 4vw, 38px); margin-bottom: 16px; color: #00b8cc; } .slide h2 { font-size: clamp(22px, 4vw, 38px); margin-bottom: 16px; color: #0056b3; font-weight: 600; }
.slide li { font-size: clamp(16px, 2.4vw, 24px); line-height: 1.5; margin-bottom: 8px; list-style: none; padding-left: 24px; position: relative; } .slide li { font-size: clamp(16px, 2.4vw, 24px); line-height: 1.5; margin-bottom: 8px; list-style: none; padding-left: 24px; position: relative; }
.slide li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 3px; background: #00b8cc; } .slide li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 3px; background: #0056b3; }
.num { position: fixed; bottom: 18px; right: 22px; color: #8a8a92; font-size: 14px; } .num { position: fixed; bottom: 18px; right: 22px; color: #666; font-size: 14px; }
.nav { position: fixed; bottom: 14px; left: 22px; display: flex; gap: 8px; flex-wrap: wrap; max-width: 80vw; } .nav { position: fixed; bottom: 14px; left: 22px; display: flex; gap: 8px; flex-wrap: wrap; max-width: 80vw; }
.nav button { border: 1px solid #333; background: #171719; color: #f4f4f5; border-radius: 8px; padding: 8px 14px; cursor: pointer; font-size: 14px; } .nav button { border: 1px solid #ddd; background: #f5f5f5; color: #333; border-radius: 6px; padding: 8px 14px; cursor: pointer; font-size: 14px; }
.nav .pptx { border-color: #00b8cc; color: #9beeff; } .nav .pptx { border-color: #0056b3; color: #0056b3; background: #e8f0fe; }
.nav .refresh { border-color: #10b981; color: #6ee7b7; } .nav .refresh { border-color: #28a745; color: #28a745; background: #e8f5e9; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 20px; } .metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 20px; }
.metric-card { background: #1a1d24; border-radius: 10px; padding: 20px; border: 1px solid #2a2f3a; } .metric-card { background: #f8f9fa; border-radius: 8px; padding: 20px; border: 1px solid #e9ecef; }
.metric-card h3 { font-size: 14px; color: #8a8a92; margin-bottom: 6px; } .metric-card h3 { font-size: 14px; color: #6c757d; margin-bottom: 6px; }
.metric-card .value { font-size: clamp(24px, 3.5vw, 36px); font-weight: bold; color: #00b8cc; } .metric-card .value { font-size: clamp(24px, 3.5vw, 36px); font-weight: bold; color: #0056b3; }
.metric-card .sub { font-size: 13px; color: #6a6a72; margin-top: 4px; } .metric-card .sub { font-size: 13px; color: #6c757d; margin-top: 4px; }
.chart-placeholder { background: #1a1d24; border-radius: 12px; padding: 30px; text-align: center; margin: 16px 0; border: 1px solid #2a2f3a; } .chart-placeholder { background: #f8f9fa; border-radius: 8px; padding: 30px; text-align: center; margin: 16px 0; border: 1px solid #e9ecef; }
.bar-row { display: flex; align-items: center; margin: 10px 0; } .bar-row { display: flex; align-items: center; margin: 8px 0; }
.bar-label { width: 180px; font-size: 12px; color: #a1a1aa; } .bar-label { width: 180px; font-size: 13px; color: #495057; }
.bar-container { flex: 1; background: #2a2f3a; border-radius: 4px; height: 22px; overflow: hidden; } .bar-container { flex: 1; background: #e9ecef; border-radius: 3px; height: 20px; overflow: hidden; }
.bar { height: 100%; background: linear-gradient(90deg, #00b8cc, #0ea5e9); border-radius: 4px; transition: width 0.3s; } .bar { height: 100%; background: linear-gradient(90deg, #0056b3, #007bff); border-radius: 3px; transition: width 0.3s; }
.bar-value { margin-left: 10px; font-size: 13px; color: #00b8cc; min-width: 70px; text-align: right; font-weight: 600; } .bar-value { margin-left: 10px; font-size: 13px; color: #0056b3; min-width: 70px; text-align: right; font-weight: 600; }
.file-input { margin: 16px 0; } .file-input { margin: 16px 0; }
.file-input input { display: none; } .file-input input { display: none; }
.file-input label { display: inline-block; padding: 8px 16px; background: #00b8cc; color: #0f1218; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 14px; } .file-input label { display: inline-block; padding: 8px 16px; background: #0056b3; color: #fff; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 14px; }
.file-input label:hover { background: #00d4ec; } .file-input label:hover { background: #004494; }
.rdt-section { margin: 20px 0; } .rdt-section { margin: 20px 0; }
.rdt-title { font-size: 18px; color: #00b8cc; margin: 16px 0 10px 0; font-weight: 600; } .rdt-title { font-size: 16px; color: #0056b3; margin: 14px 0 8px 0; font-weight: 600; }
.tariff-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid #2a2f3a; font-size: 13px; } .tariff-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid #e9ecef; font-size: 13px; }
.tariff-row:last-child { border-bottom: none; } .tariff-row:last-child { border-bottom: none; }
.tariff-name { color: #a1a1aa; } .tariff-name { color: #495057; }
.tariff-val { color: #00b8cc; font-weight: 600; } .tariff-val { color: #0056b3; font-weight: 600; }
.summary-box { background: #1a1d24; border: 1px solid #00b8cc; border-radius: 10px; padding: 20px; margin: 16px 0; } .summary-box { background: #f8f9fa; border: 1px solid #0056b3; border-radius: 8px; padding: 20px; margin: 16px 0; }
.summary-box h3 { color: #00b8cc; margin-bottom: 12px; font-size: 18px; } .summary-box h3 { color: #0056b3; margin-bottom: 12px; font-size: 18px; }
.logo { position: fixed; top: 20px; right: 30px; height: 50px; }
.logo img { height: 100%; }
.slide-content { margin-top: 60px; }
@media print { @media print {
.nav, .num, .file-input { display: none; } .nav, .num, .file-input { display: none; }
.slide { display: flex; page-break-after: always; min-height: 100vh; } .slide { display: flex; page-break-after: always; min-height: 100vh; }
@ -49,7 +52,10 @@
</style> </style>
</head> </head>
<body> <body>
<div id="deck"></div> <div class="logo">
<img src="https://b2b.telecom.kz/bitrix/templates/main_theme/img/logo.svg" alt="KAZAKHTELECOM Business">
</div>
<div id="deck" class="slide-content"></div>
<div class="nav"> <div class="nav">
<button onclick="go(-1)">← Назад</button> <button onclick="go(-1)">← Назад</button>
<button onclick="go(1)">Вперёд →</button> <button onclick="go(1)">Вперёд →</button>
@ -132,7 +138,8 @@ function buildSlides() {
var pct = maxVal > 0 ? (d.val / maxVal * 100) : 0; var pct = maxVal > 0 ? (d.val / maxVal * 100) : 0;
return '<div class="bar-row">' + return '<div class="bar-row">' +
'<div class="bar-label" style="min-width:180px;">' + d.rdt + '</div>' + '<div class="bar-label" style="min-width:180px;">' + d.rdt + '</div>' +
'<div class="bar-container" style="position:relative;min-width:60px;"><div class="bar" style="width:' + pct + '%; background:' + t.color + '"></div><span style="position:absolute;left:100%;top:50%;transform:translateY(-50%);color:' + t.color + ';font-size:13px;font-weight:600;margin-left:8px;">' + d.val + '</span></div>' + '<div class="bar-container" style="position:relative;min-width:80px;"><div class="bar" style="width:' + pct + '%; background:' + t.color + '"></div></div>' +
'<div class="bar-value" style="color:' + t.color + ';min-width:30px;">' + d.val + '</div>' +
'</div>'; '</div>';
}).join(''); }).join('');

1
logo.svg Normal file

File diff suppressed because one or more lines are too long