193 lines
12 KiB
XML
193 lines
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<template id="party_list" name="Party Voter Statistics">
|
|
<t t-call="portal.portal_layout">
|
|
<div class="container-fluid mt-4">
|
|
<!-- Auto-refresh -->
|
|
<meta http-equiv="refresh" content="3600"/>
|
|
|
|
<!-- Header -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<div class="card bg-primary text-white shadow-sm">
|
|
<div class="card-body py-3">
|
|
<div class="row align-items-center">
|
|
<div class="col-md-8">
|
|
<h3 class="mb-0 fw-bold">
|
|
<i class="fa fa-users me-2"/>
|
|
ទម្រង់បញ្ជីតាមការវិភាគលើគណបក្សនយោបាយ
|
|
</h3>
|
|
<small>(មានប្រភេទសមាជិកគណបក្សនយោបាយ)</small>
|
|
</div>
|
|
<div class="col-md-4 text-md-end">
|
|
<h4 class="mb-0 fw-bold">
|
|
<i class="fa fa-clock me-2"/>
|
|
ម៉ោង: <t t-esc="current_dt.strftime('%H:%M')"/>
|
|
</h4>
|
|
<small>ថ្ងៃ: <t t-esc="current_dt.strftime('%d/%m/%Y')"/></small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Filters -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<div class="card shadow-sm">
|
|
<div class="card-body">
|
|
<form method="get" action="/my/cpp_entries/party_list" class="row g-3">
|
|
<div class="col-md-4">
|
|
<label class="form-label fw-bold">ស្រុក/ខណ្ឌ</label>
|
|
<select name="district_id" class="form-select" onchange="this.form.submit()">
|
|
<option value="">-- ទាំងអស់ --</option>
|
|
<t t-foreach="districts" t-as="district">
|
|
<option t-att-value="district.id" t-att-selected="sel_district == str(district.id)">
|
|
<t t-esc="district.location_name"/>
|
|
</option>
|
|
</t>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label class="form-label fw-bold">ឃុំ/សង្កាត់</label>
|
|
<select name="commune_id" class="form-select" onchange="this.form.submit()">
|
|
<option value="">-- ទាំងអស់ --</option>
|
|
<t t-foreach="communes" t-as="commune">
|
|
<option t-att-value="commune.id" t-att-selected="sel_commune == str(commune.id)">
|
|
<t t-esc="commune.location_name"/>
|
|
</option>
|
|
</t>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-4 d-flex align-items-end">
|
|
<a href="/my/cpp_entries/party_list" class="btn btn-outline-primary w-100">
|
|
<i class="fa fa-refresh me-1"/> រីផ្រេស
|
|
</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Info Box -->
|
|
<div class="alert alert-info mb-4">
|
|
<i class="fa fa-info-circle me-2"/>
|
|
<strong>ការព្រមាន:</strong> បញ្ជីនេះបង្ហាញពីចំនួនអ្នកបោះឆ្នោតតាមគណបក្សនយោបាយ។
|
|
ចុចលើឈ្មោះគណបក្ស ដើម្បីមើលបញ្ជីឈ្មោះអ្នកបោះឆ្នោតនីមួយៗ។
|
|
</div>
|
|
|
|
<!-- Party Statistics Table -->
|
|
<div class="row mb-4">
|
|
<div class="col-12">
|
|
<div class="card shadow-sm">
|
|
<div class="card-header bg-success text-white">
|
|
<h5 class="mb-0">
|
|
<i class="fa fa-chart-bar me-2"/>
|
|
ទម្រង់បញ្ជីលទ្ធផលរាប់សន្លឹកឆ្នោត
|
|
</h5>
|
|
</div>
|
|
<div class="card-body p-0">
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered table-hover mb-0">
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th class="text-center" style="width: 10%;">ល.រ.</th>
|
|
<th class="text-center" style="width: 60%;">ឈ្មោះគណបក្សនយោបាយ</th>
|
|
<th class="text-center" style="width: 15%;">សម្គាល់</th>
|
|
<th class="text-center" style="width: 15%;">សកម្មភាព</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="party_stats.items()" t-as="party">
|
|
<tr class="table-hover" style="cursor: pointer;">
|
|
<td class="text-center fw-bold"><t t-esc="party_index + 1"/></td>
|
|
<td class="fw-bold text-primary">
|
|
<a t-attf-href="/my/cpp_entries/party_voters/#{party[0]}"
|
|
class="text-decoration-none"
|
|
style="color: inherit;">
|
|
<i class="fa fa-users me-2"/>
|
|
<t t-esc="party[1]['name']"/>
|
|
</a>
|
|
</td>
|
|
<td class="text-center">
|
|
<span class="badge bg-primary fs-6">
|
|
<t t-esc="party[1]['total']"/> នាក់
|
|
</span>
|
|
</td>
|
|
<td class="text-center">
|
|
<a t-attf-href="/my/cpp_entries/party_voters/#{party[0]}"
|
|
class="btn btn-sm btn-primary">
|
|
<i class="fa fa-eye"/> មើលលម្អិត
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
<tr class="table-primary fw-bold">
|
|
<td class="text-center" colspan="2">សរុបទាំងអស់</td>
|
|
<td class="text-center">
|
|
<span class="badge bg-success fs-6">
|
|
<t t-esc="total_voters"/> នាក់
|
|
</span>
|
|
</td>
|
|
<td/>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Summary Cards -->
|
|
<div class="row mb-4">
|
|
<t t-foreach="party_stats.items()" t-as="party">
|
|
<div class="col-md-4 mb-3">
|
|
<div class="card h-100 shadow-sm border-primary">
|
|
<div class="card-header bg-primary text-white">
|
|
<h6 class="mb-0"><t t-esc="party[1]['name']"/></h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row text-center">
|
|
<div class="col-6 mb-2">
|
|
<h4 class="text-primary"><t t-esc="party[1]['total']"/></h4>
|
|
<small class="text-muted">សរុប</small>
|
|
</div>
|
|
<div class="col-6 mb-2">
|
|
<h4 class="text-success"><t t-esc="party[1]['voted']"/></h4>
|
|
<small class="text-muted">បានបោះឆ្នោត</small>
|
|
</div>
|
|
<div class="col-6">
|
|
<small>ប្រុស: <strong><t t-esc="party[1]['male']"/></strong></small>
|
|
</div>
|
|
<div class="col-6">
|
|
<small>ស្រី: <strong><t t-esc="party[1]['female']"/></strong></small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer bg-white">
|
|
<a t-attf-href="/my/cpp_entries/party_voters/#{party[0]}"
|
|
class="btn btn-sm btn-outline-primary w-100">
|
|
<i class="fa fa-list me-1"/> មើលបញ្ជី
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</div>
|
|
|
|
<!-- Back to Dashboard -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<a href="/my/cpp_entries/dashboard" class="btn btn-secondary">
|
|
<i class="fa fa-arrow-left me-1"/> ត្រឡប់ទៅ Dashboard
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</t>
|
|
</template>
|
|
</odoo> |