Programming
3. blockc_home_temp
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% load static %}
{% block content %}
<style>
.risk-card {
border: none;
border-radius: 15px;
transition: transform 0.2s ease, box-shadow 0.2s ease;
color: white;
height: 100%;
position: relative; /* Required for stretched-link */
text-decoration: none; /* Removes underline from text */
}
.risk-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 24px rgba(0,0,0,0.2);
color: white; /* Keeps text white on hover */
}
.card-icon {
font-size: 2.5rem;
opacity: 0.7;
}
.kpi-badge {
font-size: 0.75rem;
background: rgba(255,255,255,0.25);
border-radius: 4px;
padding: 3px 10px;
display: inline-block;
}
/* Subdued Gradients */
.bg-credit { background: linear-gradient(135deg, #5a7be2, #3a56ad); }
.bg-aggr { background: linear-gradient(135deg, #42c2d4, #2d8b99); }
.bg-liq { background: linear-gradient(135deg, #f7ca54, #e2ae25); }
.bg-ins { background: linear-gradient(135deg, #32d49a, #209e73); }
.bg-mkt { background: linear-gradient(135deg, #ee5f52, #c93b2d); }
/* Стили иерархии строк (Индексация) */
.indent-level-0 {
text-align: center;
background-color: #a3b1c5 !important;
font-weight: 900; /* Optional: higher weight to contrast with level 1 */
}
.indent-level-1 {
font-weight: 800;
background-color: #eaedf1 !important;
}
.indent-level-2 {
font-weight: 700;
padding-left: 1.5rem !important;
background-color: #f4f6f8 !important;
}
.indent-level-3 {
padding-left: 2.5rem !important;
}
.indent-level-4 {
padding-left: 4.2rem !important;
color: #55637d;
font-style: italic;
}
/* Банковский стиль таблицы */
.bank-table th { background-color: #1e4620 !important; color: white !important; font-weight: 600; text-transform: uppercase; font-size: 0.85rem; }
.font-mono-custom { font-family: 'Courier New', Courier, monospace; font-weight: 600; }
/* Formula bor satrlar ustiga kelganda yordamchi kursor */
.has-formula { cursor: help; position: relative; }
.has-formula:hover { background-color: #f1f8f5 !important; }
</style>
<div class="container py-5">
<div class="row mb-5 text-center">
<div class="col-12">
<h1 class="fw-bold">С Блок</h1>
<p class="text-muted">Выберите категорию для детального анализа</p>
<hr class="w-25 mx-auto">
</div>
</div>
<!-- Row: 3 Cards -->
<div class="row g-4 mb-5">
<div class="col-md-4">
<a href="?type=tier1" class="card risk-card bg-credit p-4">
<div class="d-flex justify-content-between">
<div>
<h5 class="fw-bold">Капитал I уровня</h5>
<p class="small mb-2">Основной и дополнительный</p>
<div class="kpi-badge">Tier 1 Ratio</div>
</div>
<i class="fas fa-gem card-icon"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="?type=tier2" class="card risk-card bg-aggr p-4">
<div class="d-flex justify-content-between">
<div>
<h5 class="fw-bold">Капитал II уровня</h5>
<p class="small mb-2">Вторичный капитал и резервы</p>
<div class="kpi-badge">Tier 2 Ratio</div>
</div>
<i class="fas fa-coins card-icon"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="?type=ratios" class="card risk-card bg-liq p-4">
<div class="d-flex justify-content-between">
<div>
<h5 class="fw-bold">Регулятив & Пруденциал</h5>
<p class="small mb-2">Коэффициенты адекватности</p>
<div class="kpi-badge">Левераж</div>
</div>
<i class="fas fa-landmark card-icon"></i>
</div>
</a>
</div>
</div>
<!-- Секция Таблицы (Полностью на Bootstrap) -->
<div class="card shadow-sm border-0 rounded-3 overflow-hidden">
<!-- Шапка отчета -->
<div class="card-header p-4 text-white d-flex justify-content-between align-items-center" style="background-color: #1e4620;">
<div>
<span class="badge bg-success bg-opacity-25 text-white mb-1">5-жадвал</span>
<h4 class="mb-0 fw-bold text-uppercase" style="letter-spacing: 0.5px;">Банкнинг регулятив капитали ҳисоб-китоби</h4>
</div>
<div class="text-end">
<div class="fw-bold text-warning">{{ bank_name }}</div>
<small class="text-white-50">{{ report_date }}</small>
</div>
<button onclick="downloadExcel()" class="btn btn-light btn-sm fw-bold d-flex align-items-center gap-2 px-3 py-2 shadow-sm rounded-2">
<i class="fas fa-file-excel text-success fs-5"></i> Excel yuklab olish
</button>
</div>
<!-- Сама таблица -->
<div class="table-responsive">
<table id="bankReportTable" class="table table-bordered table-hover bank-table mb-0">
<thead>
<tr class="text-center align-middle">
<th style="width: 80px;">№</th>
<th class="text-start">Кўрсаткичлар</th>
<th style="width: 250px;" class="text-end">Жами капитал (Сумда)</th>
</tr>
</thead>
<tbody>
{% for row in table_data %}
<!-- Если у строки есть формула, сработает ваш Bootstrap Tooltip -->
<tr class="align-middle {% if row.is_header %}fw-bold{% endif %}"
{% if row.formula %}
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Формула расчета: {{ row.formula }}"
{% endif %}>
<!-- Номер -->
<td class="text-center text-muted fw-bold bg-light" style="font-size: 0.85rem;">
{{ row.no }}
</td>
<!-- Наименование показателя с динамическим отступом -->
<td class="indent-level-{{ row.level }}">
{{ row.name }}
</td>
<!-- Значение капитала -->
<td class="text-end font-mono-custom text-dark" style="font-size: 0.95rem;">
{% if row.value != "" %}
{{ row.value }}
{% else %}
<span class="text-muted">-</span>
{% endif %}
</td>
</tr>
{% empty %}
<tr>
<td colspan="3" class="text-center text-muted py-4">Данные по выбранному фильтру отсутствуют.</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<script>
function downloadExcel() {
var table = document.getElementById("bankReportTable");
if (!table) {
alert("Ошибка: Таблица с id='bankReportTable' не найдена!");
return;
}
// Конвертируем HTML структуру в книгу Excel
var wb = XLSX.utils.table_to_book(table, { sheet: "Регулятив капитал" });
// Скачиваем готовый файл с текущей датой
XLSX.writeFile(wb, "Otchet_Capital_" + new Date().toISOString().slice(0,10) + ".xlsx");
}
</script>
{% endblock %}
PO
powerty
Muallif
· Staff
Sen. 15, 2026
Sen. 15, 2026
2
Ko'rishlar
0
Yoqishlar
3m
O'qildi