Chưa có đơn vị nào
| Tên đơn vị | Mã | Gói dịch vụ | Ngày tạo |
|---|---|---|---|
| {{ t.name }} | {{ t.code }} | {{ t.service_package?.name || 'Basic' }} | {{ formatDate(t.created_at) }} |
Chưa có giao dịch nào
| Mã hóa đơn | Đơn vị | Số tiền | Trạng thái |
|---|---|---|---|
| {{ p.invoice_code }} | {{ p.tenant_name || 'N/A' }} | {{ formatMoney(p.amount) }} | {{ p.status === 'PAID' ? 'Đã duyệt' : 'Chờ duyệt' }} |
Chưa có cuộc thi hoạt động
| Tên cuộc thi | Mã | Trạng thái |
|---|---|---|
| {{ c.title }} | {{ c.short_code }} | {{ statusLabel(c.status) }} |
Chưa cấu hình domain riêng
| Domain | Trạng thái |
|---|---|
| {{ d.domain }} | {{ d.is_active?'Hoạt động':'Dừng' }} |
Chưa có cuộc thi nào
Nhấn "Tạo cuộc thi" để bắt đầu
| Tên cuộc thi | Mã | Loại | Trạng thái | Thời gian | URL truy cập | Thao tác |
|---|---|---|---|---|---|---|
|
{{ c.title }}
{{ c.description.substring(0,50) }}...
|
{{ c.short_code }} | {{ c.contest_type==='MULTI_STAGE' ? 'Nhiều đợt' : 'Một lần' }} | {{ statusLabel(c.status) }} |
{{ formatDate(c.start_at) }}
đến {{ formatDate(c.end_at) }}
|
|
Chưa có đợt thi
Tạo đợt thi đầu tiên cho cuộc thi này
| Tên đợt thi | Thời gian bắt đầu | Thời gian kết thúc | Số câu hỏi | TG làm bài | Điểm đạt | Thao tác |
|---|---|---|---|---|---|---|
|
{{ r.title }}
{{ r.description }}
Lượt thi: {{ r.max_attempts === 0 ? 'Không giới hạn' : r.max_attempts }}
Trộn đề: {{ r.shuffle_type === 'NONE' ? 'Không' : (r.shuffle_type === 'QUESTIONS_ONLY' ? 'Chỉ câu hỏi' : 'Câu & đáp án') }}
Tính theo: {{ r.attempt_limit_type === 'PER_ROUND' ? 'Đợt' : 'Cuộc thi' }}
Xem KQ:
Chỉ xem điểm
Điểm + các câu đã chọn
Điểm + bài làm + đáp án & lời giải
Xem điểm sau khi kết thúc
Xem điểm & đáp án sau khi kết thúc
|
{{ formatDate(r.start_at) }} | {{ formatDate(r.end_at) }} | {{ r.question_count || '—' }} | {{ r.time_limit_minutes ? r.time_limit_minutes + ' phút' : '—' }} | {{ r.passing_score || '—' }} |
|
Chưa có đơn vị nào
Thêm đơn vị hoặc nhập từ Excel
| Tên đơn vị | Mã | Nhân sự | Trạng thái | Thao tác |
|---|---|---|---|---|
|
{{ node.name }}
|
{{ node.code }}— | {{ node.user_count || 0 }} người | {{ node.status==='ACTIVE' ? 'Hoạt động' : 'Khoá' }} |
|
Không tìm thấy tài khoản
Thử thay đổi bộ lọc
| Họ tên | Email / Tên đăng nhập | Đơn vị | Vai trò | Trạng thái | Đăng nhập cuối | Thao tác |
|---|---|---|---|---|---|---|
|
{{ (u.name||'?').charAt(0).toUpperCase() }}
{{ u.name }}
{{ u.position }}
|
{{ u.email }}
{{ u.username }}
|
{{ u.organization?.name || '—' }} | {{ r }} — | {{ u.status==='ACTIVE' ? 'Hoạt động' : (u.status==='LOCKED' ? 'Bị khoá' : 'Chờ') }} | {{ u.last_login_at ? formatDate(u.last_login_at) : 'Chưa đăng nhập' }} |
|
Chưa có nhật ký
| Thời gian | Người thực hiện | Hành động | Mô tả | IP Address |
|---|---|---|---|---|
| {{ formatDate(log.created_at) }} |
{{ log.user_name || 'Hệ thống' }}
{{ log.user_email }}
|
{{ log.action }} | {{ log.description }} | {{ log.ip_address }} |
Ngân hàng câu hỏi trống
Nhấn "Thêm câu hỏi" hoặc nhập từ Excel để bắt đầu
| Stt | Nội dung câu hỏi | Độ khó | Loại | Các phương án trả lời | Thao tác |
|---|---|---|---|---|---|
| {{ idx + 1 }} |
{{ q.content }}
|
{{ q.difficulty === 'EASY' ? 'Dễ' : (q.difficulty === 'MEDIUM' ? 'Trung bình' : 'Khó') }} | Một đáp án Nhiều đáp án |
{{ opt.option_text }}
|
|
Chưa có dữ liệu thí sinh
| Họ tên | CCCD / SĐT | Đơn vị | Điểm | Thời gian thi | Ngày thi | Thao tác |
|---|---|---|---|---|---|---|
| {{ c.candidate_name || c.name }} | {{ c.cccd || c.phone || '—' }} | {{ c.organic_unit_name || '—' }} | {{ c.score != null ? c.score : '—' }} | {{ c.duration ? Math.floor(c.duration/60)+'p '+c.duration%60+'s' : '—' }} | {{ formatDate(c.submitted_at || c.created_at) }} |
|
Chưa có cuộc thi nào
Vui lòng tạo cuộc thi trước để quản lý tài liệu.
Chưa có tài liệu ôn thi nào
Đăng tài liệu ôn thi đầu tiên (PDF, tài liệu...) cho cuộc thi này
| Tiêu đề tài liệu | Định dạng | Số lượt tải | Đường dẫn file | Thao tác |
|---|---|---|---|---|
| {{ d.title }} | {{ d.file_type || 'PDF' }} | {{ d.download_count || 0 }} | {{ d.file_path }} |
|
Chưa có cuộc thi nào
Vui lòng tạo cuộc thi trước để quản lý thông báo.
Chưa có thông báo nào
Đăng thông báo đầu tiên cho cuộc thi này
| Tiêu đề thông báo | Nội dung tóm tắt | Thời gian đăng | Thao tác |
|---|---|---|---|
| {{ a.title }} | {{ formatDate(a.published_at) }} |
|
Chưa có cuộc thi nào
Vui lòng tạo cuộc thi trước để cấu hình giải thưởng.
Chưa thiết lập cơ cấu giải thưởng
Giải thưởng sẽ giúp kích thích tinh thần thi đua của các thí sinh!
| Hạng giải | Số lượng giải | Giá trị / Phần thưởng | Điều kiện đạt giải | Phân loại | Thao tác |
|---|---|---|---|---|---|
| {{ aw.rank }} | {{ aw.quantity }} giải | {{ aw.prize }} | {{ aw.condition || '—' }} | Tập thể / Tổ chức Cá nhân |
|
| Đơn vị con | Số thí sinh | Số lượt thi | Điểm TB | Điểm cao nhất |
|---|---|---|---|---|
| {{ u.name }} | {{ u.total_candidates_rollup }} | {{ u.exam_count }} | {{ u.average_score }} | {{ u.max_score }} |
| Chưa có dữ liệu thống kê đơn vị | ||||
Chưa có dữ liệu
| Họ tên | Đơn vị | Điểm | Kết quả | Ngày thi | Thao tác |
|---|---|---|---|---|---|
| {{ c.candidate_name || c.name }} | {{ c.organic_unit_name || '—' }} | {{ c.score != null ? c.score : '—' }} | {{ (c.score >= (c.passing_score||50)) ? 'Đạt' : 'Chưa đạt' }} | {{ formatDate(c.submitted_at || c.created_at) }} |
Chưa có domain nào
Thêm domain tùy chỉnh cho đơn vị
| Domain | Đơn vị (Tenant) | Loại | Cuộc thi | CNAME Target | SSL/DNS | Thao tác |
|---|---|---|---|---|---|---|
| {{ d.domain_name }} Chính | {{ d.tenant ? d.tenant.name : '—' }} | {{ d.domain_type === 'CONTEST' ? 'Hiển thị cuộc thi' : 'Trang quản trị' }} | {{ d.contest.title }} ({{ d.contest.short_code }}) — | {{ d.cname_target || 'bns-contest.bnsoft.biz.vn' }} | Đã xác minh Chưa xác minh |
|
Xem trước
Chưa có đối tượng dự thi nào
Tạo đối tượng dự thi để thí sinh đăng ký lựa chọn
| ID | Tên đối tượng | Mã đối tượng | Đơn vị liên kết | Thao tác |
|---|---|---|---|---|
| {{ t.id }} | {{ t.name }} | {{ t.code || '—' }} |
{{ org.name }}
Tất cả đơn vị
|
|
Chưa có Thôn/Bản/Tổ Dân phố nào
Thêm các Thôn/Bản tùy chỉnh thuộc địa bàn
| ID | Tên Thôn/Bản/Tổ | Xã/Phường | Tỉnh/Thành | Thao tác |
|---|---|---|---|---|
| {{ h.id }} | {{ h.name }} | {{ getWardName(h.ward_code) }} | {{ getProvinceName(h.province_code) }} |
|
Chưa có đơn vị nào
| Tên đơn vị | Mã | Gói dịch vụ | Trạng thái | Ngày tạo | Thao tác |
|---|---|---|---|---|---|
|
{{ t.name }}
{{ t.email || 'N/A' }}
{{ t.phone }}
|
{{ t.code }} | {{ t.service_package?.name || 'Basic' }} | {{ formatDate(t.created_at) }} |
|
Chưa có gói cước nào
| Tên gói cước | Thí sinh tối đa | Cuộc thi tối đa | Quản trị viên tối đa | Dung lượng lưu trữ | Hạn dùng | Trạng thái | Thao tác |
|---|---|---|---|---|---|---|---|
| {{ p.name }} | {{ p.max_candidates }} | {{ p.max_contests }} | {{ p.max_admins }} | {{ (p.max_storage_bytes / 1024 / 1024 / 1024).toFixed(1) }} GB | {{ p.expiry_date ? p.expiry_date.substring(0, 10) : 'N/A' }} | {{ p.license_status }} |
|
Chưa có giấy phép nào
| Đơn vị | Gói cước | Mã bản quyền (License Key) | Hạn dùng | Trạng thái | Hành động |
|---|---|---|---|---|---|
| {{ l.tenant_name }} | {{ l.package_name }} | {{ l.license_key }} |
{{ l.expiry }} | {{ l.status }} |
Chưa có giao dịch nào
| Mã hóa đơn | Đơn vị | Phương thức | Số tiền | Ngày tạo | Trạng thái | Thao tác |
|---|---|---|---|---|---|---|
| {{ p.invoice_code }} | {{ p.tenant_name || 'N/A' }} | {{ p.payment_method }} | {{ formatMoney(p.amount) }} | {{ formatDate(p.created_at) }} | {{ p.status === 'PAID' ? 'Đã duyệt' : 'Chờ duyệt' }} |
|
Không có yêu cầu riêng tư nào
Tất cả các yêu cầu sửa/xóa/tải dữ liệu cá nhân của thí sinh sẽ hiển thị ở đây.
| Thí sinh | Loại yêu cầu | Thông tin chi tiết | IP & Trình duyệt | Trạng thái | Ngày tạo | Người xử lý | Thao tác |
|---|---|---|---|---|---|---|---|
|
{{ r.user_name }}
SĐT: {{ r.user_phone }} | Email: {{ r.user_email || '—' }}
|
{{ r.request_type }} |
|
{{ r.ip_address }}
|
{{ r.status === 'APPROVED' ? 'Đã duyệt' : (r.status === 'REJECTED' ? 'Đã từ chối' : 'Đang chờ') }} | {{ formatDate(r.created_at) }} |
{{ r.resolver_name }}
—
{{ formatDate(r.resolved_at) }}
|
|
Không có nhật ký nào
| Người thực hiện | Hành động | Chi tiết hoạt động | IP Address | Thời gian |
|---|---|---|---|---|
| {{ l.user_name || 'Hệ thống' }} | {{ l.action }} | {{ l.description }} | {{ l.ip_address }} |
{{ formatDate(l.created_at) }} |