File size: 2,591 Bytes
ce0719e 02a8414 ce0719e 02a8414 ce0719e 02a8414 ce0719e 02a8414 ce0719e 02a8414 ce0719e 02a8414 ce0719e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | {% extends 'base.html' %}
{% block content %}
<section class="hero-card">
<div>
<p class="eyebrow">Welcome Back</p>
<h2>{{ user.full_name }},和你的小组一起继续前进吧</h2>
<p class="lead">
当前小组:<strong>{{ user.group.name if user.group else '暂未分组' }}</strong>
</p>
</div>
<div class="hero-badges">
<span class="pill">学号 {{ user.student_id }}</span>
<span class="pill">{{ activity_cards|length }} 个活动</span>
<span class="pill">共享进度模式</span>
</div>
</section>
<section class="card-grid activity-grid">
{% for card in activity_cards %}
<article class="glass-card activity-card">
<div class="card-topline">
<span class="eyebrow">Activity {{ loop.index }}</span>
{% if card.is_overdue %}
<span class="status-badge status-rejected">已截止</span>
{% elif card.is_active %}
<span class="status-badge status-approved">进行中</span>
{% else %}
<span class="status-badge">未开始</span>
{% endif %}
</div>
<h3>{{ card.activity.title }}</h3>
<p class="muted">{{ card.activity.description or '管理员暂未填写活动说明。' }}</p>
<div class="meta-grid">
<div>
<span>开始时间</span>
<strong>{{ card.activity.start_at|datetime_local }}</strong>
</div>
<div>
<span>截止时间</span>
<strong>{{ card.activity.deadline_at|datetime_local }}</strong>
</div>
<div>
<span>已完成点位</span>
<strong>{{ card.approved_count }}/{{ card.total_tasks }}</strong>
</div>
<div>
<span>待审核点位</span>
<strong>{{ card.pending_count }}</strong>
</div>
</div>
<div class="progress-line">
<div style="width: {{ 0 if card.total_tasks == 0 else (card.approved_count / card.total_tasks * 100)|round(0) }}%"></div>
</div>
<div class="card-footer">
<span class="mini-note">驳回 {{ card.rejected_count }} 项 · 小组共享</span>
<a class="btn btn-primary" href="/activities/{{ card.activity.id }}">查看任务</a>
</div>
</article>
{% else %}
<article class="empty-state">
<h3>还没有活动</h3>
<p>管理员发布活动后,这里会展示你所在小组的共享任务进度。</p>
</article>
{% endfor %}
</section>
{% endblock %}
|