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 %}
Foydali bo'ldimi? Yoqmadi 0 Baholash uchun kiring