todo_list
This commit is contained in:
@@ -100,20 +100,45 @@
|
||||
<div class="row">
|
||||
<div class="col-5">
|
||||
<div class="icon-big text-center">
|
||||
<i class="fas fa-play-circle"></i>
|
||||
<i class="fas fa-tasks"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-7">
|
||||
<div class="numbers">
|
||||
<p class="card-category">活跃内容</p>
|
||||
<h3 class="card-title">{{ active_content_count }}</h3>
|
||||
<p class="card-category">待办事项</p>
|
||||
<h3 class="card-title">{{ todo_count }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="stats">
|
||||
<i class="fas fa-chart-line"></i> 活跃率: {{ ((active_content_count / content_count * 100) | round(1) if content_count > 0 else 0) }}%
|
||||
<i class="fas fa-check-circle"></i> 完成率: {{ ((completed_todo_count / todo_count * 100) | round(1) if todo_count > 0 else 0) }}%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xl-3 col-md-6 mb-4">
|
||||
<div class="card card-stats bg-danger text-white shadow-sm">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-5">
|
||||
<div class="icon-big text-center">
|
||||
<i class="fas fa-exclamation-triangle"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-7">
|
||||
<div class="numbers">
|
||||
<p class="card-category">待完成</p>
|
||||
<h3 class="card-title">{{ pending_todo_count }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="stats">
|
||||
<i class="fas fa-clock"></i> 待处理任务
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -172,36 +197,44 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 最近创建的内容 -->
|
||||
<!-- 最近待办事项 -->
|
||||
<div class="col-lg-6 mb-4">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-white py-3 d-flex flex-row align-items-center justify-content-between">
|
||||
<h6 class="m-0 font-weight-bold text-primary">
|
||||
<i class="fas fa-clock me-2"></i>最近创建的内容
|
||||
<i class="fas fa-tasks me-2"></i>最近待办事项
|
||||
</h6>
|
||||
<a href="/admin/contents" class="btn btn-sm btn-primary">
|
||||
<a href="/admin/todos" class="btn btn-sm btn-primary">
|
||||
<i class="fas fa-list me-1"></i>查看全部
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if recent_contents %}
|
||||
{% if recent_todos %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th><i class="fas fa-barcode me-1"></i>设备ID</th>
|
||||
<th><i class="fas fa-heading me-1"></i>标题</th>
|
||||
<th><i class="fas fa-code-branch me-1"></i>版本</th>
|
||||
<th><i class="fas fa-mobile-alt me-1"></i>设备</th>
|
||||
<th><i class="fas fa-check me-1"></i>状态</th>
|
||||
<th><i class="fas fa-calendar me-1"></i>创建时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for content in recent_contents %}
|
||||
{% for item in recent_todos %}
|
||||
{% set todo = item.todo %}
|
||||
{% set device = item.device %}
|
||||
<tr>
|
||||
<td><a href="/admin/devices/{{ content.device_id }}" class="text-decoration-none"><code>{{ content.device_id }}</code></a></td>
|
||||
<td><a href="/admin/devices/{{ content.device_id }}/contents/{{ content.version }}" class="text-decoration-none">{{ content.title }}</a></td>
|
||||
<td><span class="badge bg-info">v{{ content.version }}</span></td>
|
||||
<td>{{ content.created_at.strftime('%Y-%m-%d %H:%M') }}</td>
|
||||
<td><a href="/admin/todos/{{ todo.id }}" class="text-decoration-none">{{ todo.title }}</a></td>
|
||||
<td><a href="/admin/devices/{{ device.device_id }}" class="text-decoration-none">{{ device.name or device.device_id }}</a></td>
|
||||
<td>
|
||||
{% if todo.is_completed %}
|
||||
<span class="badge bg-success"><i class="fas fa-check me-1"></i>已完成</span>
|
||||
{% else %}
|
||||
<span class="badge bg-warning"><i class="fas fa-clock me-1"></i>待完成</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ todo.created_at.strftime('%Y-%m-%d %H:%M') }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
@@ -209,8 +242,8 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-4">
|
||||
<i class="fas fa-inbox fa-3x text-muted mb-3"></i>
|
||||
<p class="text-muted">暂无内容</p>
|
||||
<i class="fas fa-clipboard-list fa-3x text-muted mb-3"></i>
|
||||
<p class="text-muted">暂无待办事项</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -240,13 +273,13 @@
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<a href="/admin/upload" class="btn btn-success btn-lg btn-block">
|
||||
<i class="fas fa-upload me-2"></i> 上传图片
|
||||
<a href="/admin/todos/add" class="btn btn-warning btn-lg btn-block">
|
||||
<i class="fas fa-plus me-2"></i> 添加待办
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-3 mb-3">
|
||||
<a href="/admin/devices" class="btn btn-warning btn-lg btn-block">
|
||||
<i class="fas fa-tv me-2"></i> 设备管理
|
||||
<a href="/admin/todos" class="btn btn-success btn-lg btn-block">
|
||||
<i class="fas fa-tasks me-2"></i> 待办管理
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user