105 lines
4.8 KiB
HTML
105 lines
4.8 KiB
HTML
{% extends 'base.html' %}
|
|
|
|
{% block title %}通知公告 - 图书管理系统{% endblock %}
|
|
|
|
{% block head %}
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/announcement-list.css') }}">
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="announcement-container">
|
|
<div class="page-header">
|
|
<h1>通知公告</h1>
|
|
</div>
|
|
|
|
<div class="announcement-list">
|
|
{% if pagination.items %}
|
|
{% for announcement in pagination.items %}
|
|
<div class="announcement-item {% if announcement.is_top %}pinned{% endif %}">
|
|
{% if announcement.is_top %}
|
|
<div class="pin-badge">
|
|
<i class="fas fa-thumbtack"></i> 置顶
|
|
</div>
|
|
{% endif %}
|
|
<div class="announcement-header">
|
|
<h3><a href="{{ url_for('announcement.announcement_detail', announcement_id=announcement.id) }}">{{ announcement.title }}</a></h3>
|
|
<span class="date">{{ announcement.created_at }}</span>
|
|
</div>
|
|
<div class="announcement-preview">
|
|
{{ announcement.content|striptags|truncate(150) }}
|
|
</div>
|
|
<div class="announcement-footer">
|
|
<span class="publisher">发布者: {{ announcement.publisher.username if announcement.publisher else '系统' }}</span>
|
|
<a href="{{ url_for('announcement.announcement_detail', announcement_id=announcement.id) }}" class="read-more">阅读更多 <i class="fas fa-arrow-right"></i></a>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
|
|
<!-- 分页 -->
|
|
<div class="pagination-container">
|
|
{% if pagination.pages > 1 %}
|
|
<nav aria-label="Page navigation">
|
|
<ul class="pagination">
|
|
{% if pagination.has_prev %}
|
|
<li class="page-item">
|
|
<a class="page-link" href="{{ url_for('announcement.announcement_list', page=pagination.prev_num) }}" aria-label="Previous">
|
|
<span aria-hidden="true">«</span>
|
|
</a>
|
|
</li>
|
|
{% else %}
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#" aria-label="Previous">
|
|
<span aria-hidden="true">«</span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% for page_num in pagination.iter_pages(left_edge=2, right_edge=2, left_current=2, right_current=2) %}
|
|
{% if page_num %}
|
|
{% if page_num == pagination.page %}
|
|
<li class="page-item active">
|
|
<a class="page-link" href="{{ url_for('announcement.announcement_list', page=page_num) }}">{{ page_num }}</a>
|
|
</li>
|
|
{% else %}
|
|
<li class="page-item">
|
|
<a class="page-link" href="{{ url_for('announcement.announcement_list', page=page_num) }}">{{ page_num }}</a>
|
|
</li>
|
|
{% endif %}
|
|
{% else %}
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#">...</a>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if pagination.has_next %}
|
|
<li class="page-item">
|
|
<a class="page-link" href="{{ url_for('announcement.announcement_list', page=pagination.next_num) }}" aria-label="Next">
|
|
<span aria-hidden="true">»</span>
|
|
</a>
|
|
</li>
|
|
{% else %}
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#" aria-label="Next">
|
|
<span aria-hidden="true">»</span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
</nav>
|
|
{% endif %}
|
|
</div>
|
|
{% else %}
|
|
<div class="no-records">
|
|
<i class="fas fa-info-circle"></i>
|
|
<p>目前没有通知公告</p>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script src="{{ url_for('static', filename='js/announcement-list.js') }}"></script>
|
|
{% endblock %}
|