更新了年份显示和统计周期的显示

This commit is contained in:
2026-01-05 11:40:08 +08:00
parent 9cbc90cc37
commit 51286ae181
5 changed files with 138 additions and 100 deletions

Binary file not shown.

View File

@@ -1,101 +1,103 @@
<!DOCTYPE html> <!DOCTYPE html>
{% load static %} {% load static %}
{% load custom_filters %} {% load custom_filters %}
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="{% static 'huodong/output.css' %}"> <link rel="stylesheet" href="{% static 'huodong/output.css' %}">
<title>分支机构活动管理</title> <title>分支机构活动管理</title>
<script src="https://unpkg.com/alpinejs@3.14.1/dist/cdn.min.js" defer></script> <script src="https://unpkg.com/alpinejs@3.14.1/dist/cdn.min.js" defer></script>
</head> </head>
<body class="font-sans text-gray-900"> <body class="font-sans text-gray-900">
<!-- 顶部标题 --> <!-- 顶部标题 -->
<header class="bg-gray-50 dark:bg-gray-800 dark:border-gray-700 p-4 text-center text-xl font-bold"> <header class="bg-gray-50 dark:bg-gray-800 dark:border-gray-700 p-4 text-center text-xl font-bold">
分支机构活动管理 分支机构活动管理
<br> <br>
2025 {{ ''|get_current_year }}
</header> <br>
统计周期:{{ ''|get_statistic_period }}
<!-- 主体内容:左右两侧栏布局 --> </header>
<div class="flex">
<!-- 左侧边栏 --> <!-- 主体内容:左右两侧栏布局 -->
<aside class="w-27 bg-gray-300 p-4 "> <div class="flex">
{% block sidebar %} <!-- 左侧边栏 -->
<ul class="flex flex-col space-y-8 text-lg"> <aside class="w-27 bg-gray-300 p-4 ">
{% if request.resolver_match.view_name != 'branch-all' %} {% block sidebar %}
<li> <ul class="flex flex-col space-y-8 text-lg">
<a href="{% url 'branch-all' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md"> {% if request.resolver_match.view_name != 'branch-all' %}
返回首页 <li>
</a> <a href="{% url 'branch-all' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md">
</li> 返回首页
{% endif %} </a>
<li> </li>
<a href="{% url 'branchinfo' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md"> {% endif %}
系统类型 <li>
</a> <a href="{% url 'branchinfo' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md">
</li> 系统类型
<li> </a>
<a href="{% url 'statistics' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md"> </li>
活动的统计数据 <li>
</a> <a href="{% url 'statistics' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md">
</li> 活动的统计数据
<li> </a>
<a href="{% url 'contact-list' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md"> </li>
联系人信息 <li>
</a> <a href="{% url 'contact-list' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md">
</li> 联系人信息
<li> </a>
<a href="{% url 'equipment-images' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md"> </li>
设备间图片列表 <li>
</a> <a href="{% url 'equipment-images' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md">
</li> 设备间图片列表
<li> </a>
<a href="{% url 'public-screens' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md"> </li>
公共电子屏列表 <li>
</a> <a href="{% url 'public-screens' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md">
</li> 公共电子屏列表
<li> </a>
<a href="{% url 'video-terminals' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md"> </li>
视频设备终端 <li>
</a> <a href="{% url 'video-terminals' %}" class="bg-transparent hover:bg-blue-900 hover:text-white p-2 rounded-md">
</li> 视频设备终端
<li> </a>
<a href="/admin/" class="bg-gradient-to-r from-gray-700 to-gray-900 hover:from-gray-800 hover:to-black text-white p-3 rounded-md font-medium shadow-lg transition-all duration-300 flex items-center justify-between border-l-4 border-amber-500" target="_blank"> </li>
<div class="flex items-center"> <li>
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-3 text-amber-400" viewBox="0 0 20 20" fill="currentColor"> <a href="/admin/" class="bg-gradient-to-r from-gray-700 to-gray-900 hover:from-gray-800 hover:to-black text-white p-3 rounded-md font-medium shadow-lg transition-all duration-300 flex items-center justify-between border-l-4 border-amber-500" target="_blank">
<path d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z" /> <div class="flex items-center">
</svg> <svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 mr-3 text-amber-400" viewBox="0 0 20 20" fill="currentColor">
<span>后台管理</span> <path d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z" />
</div> </svg>
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 text-amber-400" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <span>后台管理</span>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /> </div>
</svg> <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 text-amber-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">
</a> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</li> </svg>
</ul> </a>
</li>
{% endblock %} </ul>
</aside>
{% endblock %}
<!-- 主要内容区域 --> </aside>
<main class="flex-1 bg-white p-4">
{% block content %} <!-- 主要内容区域 -->
{% endblock %} <main class="flex-1 bg-white p-4">
</main> {% block content %}
{% endblock %}
<!-- 右侧边栏 --> </main>
<!-- 注意:如果需要右侧边栏,请取消下方注释,并相应调整主内容区域的宽度 -->
<!-- <aside class="w-1/3 bg-gray-300 p-4"> <!-- 右侧边栏 -->
Right Sidebar <!-- 注意:如果需要右侧边栏,请取消下方注释,并相应调整主内容区域的宽度 -->
</aside> --> <!-- <aside class="w-1/3 bg-gray-300 p-4">
</div> Right Sidebar
</aside> -->
<!-- 页脚 --> </div>
<footer class="bg-gray-200 p-4 text-center mt-4">
© 2025 My Website. All rights reserved. <!-- 页脚 -->
</footer> <footer class="bg-gray-200 p-4 text-center mt-4">
© 2025 My Website. All rights reserved.
</body> </footer>
</body>
</html> </html>

View File

@@ -28,3 +28,39 @@ def format_chinese_full_date(value):
weekdays = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"] weekdays = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
weekday = weekdays[date_obj.weekday()] weekday = weekdays[date_obj.weekday()]
return f"{date_obj.year}{date_obj.month}{date_obj.day}{weekday}" return f"{date_obj.year}{date_obj.month}{date_obj.day}{weekday}"
@register.filter
def get_current_year(value=None):
"""
获取当前年份
"""
now = datetime.now() if value is None else value
return now.year
@register.filter
def get_statistic_period(value=None):
"""
计算统计周期
规则:
- 在2026年1月实际统计的是2025年11月至2026年1月
- 在2026年2月实际统计的是2025年12月至2026年2月
- 以此类推
"""
now = datetime.now() if value is None else value
current_year = now.year
current_month = now.month
# 计算统计周期的开始月份和年份
if current_month <= 2:
start_year = current_year - 1
start_month = 11 + current_month
else:
start_year = current_year
start_month = current_month - 2
# 构建统计周期字符串
period = f"{start_year}{start_month}月至{current_year}{current_month}"
return period