From a92fcb50b5b6417787bbe5d0fbed1bc58bc842fa Mon Sep 17 00:00:00 2001 From: xiaji Date: Thu, 4 Dec 2025 17:33:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E8=90=A5=E4=B8=9A=E9=83=A8=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=B3=BB=E7=BB=9F=E7=B1=BB=E5=9E=8B=E9=87=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=B8=80=E8=A1=8C=E7=BB=9F=E8=AE=A1=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../huodong/__pycache__/views.cpython-311.pyc | Bin 28189 -> 28596 bytes fzjgact/huodong/templates/branch_detail.html | 2 +- fzjgact/huodong/templates/branch_info.html | 124 ++++++++++-------- fzjgact/huodong/views.py | 15 ++- 4 files changed, 79 insertions(+), 62 deletions(-) diff --git a/fzjgact/huodong/__pycache__/views.cpython-311.pyc b/fzjgact/huodong/__pycache__/views.cpython-311.pyc index 80f06efec8f01eab83caafdf5070dbcbdfb6f11e..87f3c1d3fc407f676e76b6b6a95b6bf5a507f0b7 100644 GIT binary patch delta 3072 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 diff --git a/fzjgact/huodong/templates/branch_detail.html b/fzjgact/huodong/templates/branch_detail.html index a0d0007..392e738 100644 --- a/fzjgact/huodong/templates/branch_detail.html +++ b/fzjgact/huodong/templates/branch_detail.html @@ -51,7 +51,7 @@ {% if budgets %} {% for budget in budgets %}
-

{{ budget.activity.name }} - 总预算: ¥{{ budget.total_budget }}

+

{{ budget.name }} - 总预算: ¥{{ budget.total_budget }}

diff --git a/fzjgact/huodong/templates/branch_info.html b/fzjgact/huodong/templates/branch_info.html index 39a61c6..2b4996e 100644 --- a/fzjgact/huodong/templates/branch_info.html +++ b/fzjgact/huodong/templates/branch_info.html @@ -1,59 +1,67 @@ -{% extends 'base.html' %} - - -{% block content %} - - - - - - - - - - {% for item in branches %} - - - - - - - {% endfor %} - - - - - - -
- 分支机构名称 -
- 基础信息 -
- 信息系统类别 -
- - {{ item.name }} - - - {{ item.category }} -
- -
- -
+{% extends 'base.html' %} + + +{% block content %} + + + + + + + + + + {% for item in branches %} + + + + + + + {% endfor %} + + + + + + + + + + +
+ 分支机构名称 +
+ 基础信息 +
+ 信息系统类别 +
+ + {{ item.name }} + + + {{ item.category }} +
+ 分支机构类别统计 + + A型: {{ type_a_count }}家 | B型: {{ type_b_count }}家 | C型: {{ type_c_count }}家 +
+ +
+ +
{% endblock %} \ No newline at end of file diff --git a/fzjgact/huodong/views.py b/fzjgact/huodong/views.py index dd7f4d0..93d831e 100644 --- a/fzjgact/huodong/views.py +++ b/fzjgact/huodong/views.py @@ -56,7 +56,7 @@ def branch_detail(request, branch_id): public_screens = branch.public_screens.all() # 获取预算数据 - budgets = Budget.objects.filter(branch=branch).select_related('activity').prefetch_related('equipment_budgets', 'infrastructure_budgets').order_by('-created_at') + budgets = Budget.objects.filter(branch=branch).prefetch_related('equipment_budgets', 'infrastructure_budgets').order_by('-created_at') # 获取预算模板 budget_templates = BudgetTemplate.objects.all() @@ -228,8 +228,17 @@ def BranchAll(request): # 生成branchinfo的视图 def Branchinfo(request): - branches = Branch.objects.all - context = {'branches': branches, } + branches = Branch.objects.all() + # 统计A型、B型、C型分支机构的数量 + type_a_count = branches.filter(category='A型').count() + type_b_count = branches.filter(category='B型').count() + type_c_count = branches.filter(category='C型').count() + context = { + 'branches': branches, + 'type_a_count': type_a_count, + 'type_b_count': type_b_count, + 'type_c_count': type_c_count, + } return render(request, 'branch_info.html', context)