Files
hot_comment_radar/app/templates/partials/task_cards.html
T

45 lines
2.0 KiB
HTML

{% for task in tasks %}
{% set status_label, status_class = status_badge_config(task.status) %}
{% set percent = progress_percent(task.processed_items_count, task.total_items_count) %}
{% set ai_percent = rate_percent(task.analysis_success_rate) %}
<article class="task-card">
<div class="task-card-number">
<strong>{{ task.display_id or loop.index }}</strong>
<span>{{ task.platform | platform_label }}</span>
</div>
<div class="task-card-body">
<div class="task-card-title-row">
<div>
<h3>{{ status_label }}</h3>
<p>{{ task.scale_label }} · {{ task.created_at_label }}</p>
</div>
<span class="badge {{ status_class }}">{{ status_label }}</span>
</div>
<div class="task-card-progress">
<div class="progress-label-row">
<span>已处理 {{ task.processed_items_count }} / 共 {{ task.total_items_count }} 条内容</span>
<span>{{ percent }}%</span>
</div>
<div class="progress task-progress" role="progressbar" aria-label="任务进度" aria-valuenow="{{ percent }}" aria-valuemin="0" aria-valuemax="100">
<div class="progress-bar" style="width: {{ percent }}%"></div>
</div>
</div>
<div class="task-card-meta">
<span>成功 {{ task.successful_items_count }} / 失败 {{ task.failed_items_count }}</span>
<span>评论 {{ task.comments_count or 0 }}</span>
<span>报告 {{ task.reports_count or 0 }}</span>
<span>AI 成功率 {{ ai_percent }}%</span>
{% if task.analysis_status == "insufficient" %}
<span class="text-warning">AI 样本不足</span>
{% endif %}
</div>
{% if task.error_summary %}
<p class="task-card-error">{{ task.error_summary }}</p>
{% endif %}
</div>
<a class="btn btn-sm btn-outline-secondary task-card-action" href="/tasks/{{ task.id }}">查看</a>
</article>
{% else %}
<div class="empty-state text-muted py-5">还没有任何任务,请在上方创建第一个任务</div>
{% endfor %}