55 lines
2.1 KiB
HTML
55 lines
2.1 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}申诉管理{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="card shadow-sm">
|
|
<div class="card-header">
|
|
<h2 class="mb-0">申诉管理</h2>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover align-middle">
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th>#ID</th>
|
|
<th>申诉人</th>
|
|
<th>关联用户名</th>
|
|
<th>状态</th>
|
|
<th>最后更新</th>
|
|
<th>操作</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for appeal in appeals.items %}
|
|
<tr>
|
|
<td>{{ appeal.id }}</td>
|
|
<td>{{ appeal.appealer.username if appeal.appealer else '未知用户' }}</td>
|
|
<td>{{ appeal.blacklist_entry.uid }}</td>
|
|
<td>
|
|
<span class="badge
|
|
{% if 'closed' in appeal.status %} bg-secondary
|
|
{% elif 'user' in appeal.status %} bg-warning text-dark
|
|
{% else %} bg-info text-dark {% endif %}">
|
|
{{ appeal.status | translate_status }}
|
|
</span>
|
|
</td>
|
|
<td>{{ (appeal.updated_at | to_beijing_time).strftime('%Y-%m-%d %H:%M') }}</td>
|
|
<td>
|
|
<a href="{{ url_for('main.appeal_detail', appeal_id=appeal.id) }}" class="btn btn-sm btn-outline-primary">查看详情</a>
|
|
</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr>
|
|
<td colspan="6" class="text-center text-muted">暂无申诉记录。</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer">
|
|
<!-- 分页逻辑 -->
|
|
</div>
|
|
</div>
|
|
{% endblock %} |