E-Voting System

🗳️ {{ systemTitle || 'Sistem E-Voting' }}

{{ systemSubtitle || 'Platform pemilihan digital yang aman, transparan, dan real-time. Suaramu menentukan masa depan!' }}

DATA REAL-TIME

{{ results.total_users || 0 }}

Total Pemilih

{{ totalVotesAll }}

Total Suara Masuk

{{ totalCandidatesAll }}

Total Kandidat

{{ elections.length }}

Jabatan Aktif

Belum Ada Pemilihan Aktif

Belum ada jabatan/pemilihan yang sedang berlangsung.

Absensi Kehadiran

Lakukan absensi untuk mengaktifkan akun Anda. Pastikan Anda berada di lokasi yang ditentukan.

Memeriksa izin lokasi…

Sedang mengecek status akses GPS perangkat Anda.

Akses Lokasi Diblokir

Browser Anda memblokir akses lokasi. Absensi membutuhkan GPS aktif. Ikuti langkah berikut untuk mengaktifkannya:

1 Klik ikon 🔒 kunci atau ⓘ info di sebelah kiri address bar browser
2 Cari pengaturan "Lokasi" atau "Location"
3 Ubah dari "Blokir" menjadi "Izinkan"
4 Muat ulang halaman ini (F5 atau refresh)
GPS Tidak Tersedia

Perangkat tidak dapat mendeteksi lokasi Anda saat ini. Kemungkinan penyebab:

HP/Tablet: Pastikan GPS/Lokasi diaktifkan di Pengaturan → Lokasi
Laptop/PC: Coba gunakan HP yang memiliki GPS, atau aktifkan Layanan Lokasi Windows
Pastikan koneksi internet aktif (GPS berbasis Wi-Fi memerlukan koneksi)
Izin Lokasi Diperlukan

Klik tombol di bawah untuk mengizinkan akses lokasi. Saat browser memunculkan dialog, pilih "Izinkan".

Lokasi Aktif

GPS perangkat Anda aktif dan siap digunakan untuk absensi.

{{ geofenceSettings.enabled === '1' ? 'Geofencing Aktif' : 'Geofencing Nonaktif' }}

{{ geofenceSettings.label || 'Lokasi Voting' }} — Radius {{ geofenceSettings.radius }}m

Absensi lokasi tidak diwajibkan saat ini

{{ absenLocationStatus.text }}

Form Absensi

Masukkan nomor anggota Anda untuk melakukan absensi dan mengaktifkan akun.

Absensi Berhasil! Absensi Gagal

{{ absenMessage.text }}

Nama: {{ absenMessage.data.name }}
No. Anggota: {{ absenMessage.data.member_number }}
Jarak: {{ absenMessage.data.distance }}m dari titik lokasi

Informasi

  • Pastikan Anda sudah terdaftar di sistem (registrasi terlebih dahulu)
  • Aktifkan GPS/Lokasi pada perangkat Anda
  • Anda harus berada di dalam jangkauan lokasi yang ditentukan
  • Setelah absensi berhasil, akun Anda akan aktif dan bisa digunakan untuk login & voting
  • Absensi hanya perlu dilakukan satu kali

Daftar Kandidat

Belum Ada Pemilihan Aktif

Daftar Sebagai Calon

Ajukan diri Anda sebagai kandidat dalam pemilihan. Pendaftaran akan ditinjau oleh admin.

{{ candidacyMessage.text }}

Panel Admin

{{ editingCandidateId ? 'Edit Kandidat' : 'Tambah Kandidat Baru' }}

{{ adminMessage.text }}
Total: {{ candidatePager.total }} kandidat
Foto Nama Jabatan Status No. Urut Aksi
{{ c.name ? c.name.charAt(0) : '?' }}
{{ c.name }}
{{ c.email }}
{{ c.election_title || '-' }} {{ c.status }} {{ c.number || '-' }}

Belum Ada Kandidat

Halaman {{ candidatePager.page }} / {{ candidatePager.total_pages }}

{{ editingUserId ? 'Edit User' : 'Tambah User Baru' }}

{{ userMessage.text }}
Total: {{ userPager.total }} pengguna
Nama No. Anggota Email Role Status Aksi
{{ u.name }} {{ u.member_number || '-' }} {{ u.email }} {{ u.role }} {{ u.is_active ? 'Aktif' : 'Nonaktif' }}

Belum Ada Pengguna

Halaman {{ userPager.page }} / {{ userPager.total_pages }}

{{ editingElectionId ? 'Edit Election' : 'Buat Election Baru' }}

Daftar Election

{{ adminElectionMsg.text }}
Total: {{ electionPager.total }} election
Judul Deskripsi Mode Babak Lolos Mulai Selesai Status Aksi
{{ el.title }} {{ el.description || '-' }} {{ el.mode === 'gugur' ? 'Gugur' : 'Standar' }} Babak {{ el.active_round.round_number }} - {{ el.mode === 'gugur' ? (el.runoff_limit || '-') : '-' }} {{ formatDate(el.start_date) }} {{ formatDate(el.end_date) }} {{ el.is_active == 1 ? 'Aktif' : 'Nonaktif' }}

Belum Ada Election

Buat election baru menggunakan form di atas.

Halaman {{ electionPager.page }} / {{ electionPager.total_pages }}

Log Voting

Total: {{ voteLogData.total }} log
Waktu Nama No. Anggota Jabatan Kandidat Dipilih Device IP Address
{{ formatDate(log.voted_at) }} {{ log.user_name }} {{ log.member_number || '-' }} {{ log.election_title }} {{ log.candidate_name }} {{ log.device_type }} {{ log.ip_address }}

Belum Ada Log Voting

Log akan muncul setelah ada yang memilih.

Halaman {{ voteLogData.page }} / {{ voteLogData.total_pages }}

Import User dari Excel/CSV

Upload file CSV atau XLSX dengan kolom: nama, no_anggota, email, password

{{ importMessage.text }}
Detail Error:
  • {{ err }}

Panduan Import

  • Format: CSV atau XLSX
  • Baris pertama = header kolom
  • Kolom wajib: nama, no_anggota, email
  • Kolom opsional: password (default: Password123)
  • Duplikat email/no. anggota akan dilewati

Pengaturan Sistem

Konfigurasi judul sistem dan notifikasi email

{{ settingsMessage.text }}

Identitas Sistem

Icon / Logo

Notifikasi Email

Jangkauan Lokasi Voting

Tentukan area lokasi yang diizinkan untuk melakukan voting. Pemilih di luar jangkauan tidak bisa vote.

Aktif Nonaktif
Latitude/Longitude bisa diisi manual atau pilih lewat peta (klik peta/geser marker).

Laporan Hasil Voting

Download laporan lengkap hasil voting dalam format PDF. Pilih tanggal dan election untuk filter laporan.

Filter Laporan

Isi Laporan PDF

Ringkasan statistik
Diagram perolehan suara
Foto & detail kandidat
Rekapitulasi & pemenang
{{ reportMessage.text }}

Log Absensi Kehadiran

Riwayat absensi pengguna berdasarkan lokasi geofencing.

# Nama No. Anggota Jarak (m) Koordinat IP Address Waktu Absen
Belum ada data absensi
{{ (attendanceLogData.page - 1) * 20 + idx + 1 }} {{ log.user_name }} {{ log.member_number }} {{ log.distance_meters ? parseFloat(log.distance_meters).toFixed(0) + 'm' : '-' }} {{ log.latitude && log.longitude ? parseFloat(log.latitude).toFixed(4) + ', ' + parseFloat(log.longitude).toFixed(4) : '-' }} {{ log.ip_address || '-' }} {{ formatDate(log.attended_at) }}
Halaman {{ attendanceLogData.page }} / {{ attendanceLogData.total_pages }} ({{ attendanceLogData.total }} data)

Profil Saya

{{ profileMessage.text }}
Klik untuk ubah foto
🗳️

Selamat Datang

Masuk ke akun E-Voting Anda

{{ authError }}
Belum punya akun?

Buat Akun Baru

Daftar untuk berpartisipasi dalam voting

{{ authError }}
Upload foto profil
Sudah punya akun?