XH_Digital_Management/application/exec_tbl/views.py

316 lines
10 KiB
Python
Raw Normal View History

from django.shortcuts import render
2024-06-06 15:08:38 +08:00
from django.urls import reverse
2024-06-06 15:08:38 +08:00
from common.utils.page_helper import paginate_query_and_assign_numbers
from .models import *
def financial_data_list_view(request):
# 声明查询集
query_set = FinancialData.objects.all().order_by('-year')
# 获取查询参数
year = request.GET.get('year', '')
# 根据提供的参数进行筛选
if year:
query_set = query_set.filter(year__icontains=year)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&year={}'.format(year)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.FinancialData',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司整体经营情况", "name": "financial_data_list"}],
'filters': [
{"type": "text", "id": "year", "name": "year", "label": "年份", "placeholder": "请输入年份"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'financial_data_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)
2024-06-06 15:08:38 +08:00
def monthly_financial_data_list_view(request):
# 声明查询集
query_set = MonthlyFinancialData.objects.all().order_by('-year_month')
# 获取查询参数
year_month = request.GET.get('year_month', '')
# 根据提供的参数进行筛选
if year_month:
query_set = query_set.filter(year_month__icontains=year_month)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&year_month={}'.format(year_month)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.MonthlyFinancialData',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司整体收入情况", "name": "monthly_financial_data_list"}],
'filters': [
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'monthly_financial_data_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)
2024-06-06 15:08:38 +08:00
def receivables_data_list_view(request):
# 声明查询集
query_set = ReceivablesData.objects.all().order_by('-total_receivables')
# 获取查询参数
total_receivables = request.GET.get('total_receivables', '')
# 根据提供的参数进行筛选
if total_receivables:
query_set = query_set.filter(total_receivables__icontains=total_receivables)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&total_receivables={}'.format(total_receivables)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.ReceivablesData',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司应收账款情况", "name": "receivables_data_list"}],
'filters': [
{"type": "number", "id": "total_receivables", "name": "total_receivables", "label": "应收账款总额",
"placeholder": "请输入应收账款总额"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'receivables_data_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)
2024-06-06 15:08:38 +08:00
def receivables_detail_list_view(request):
# 声明查询集
query_set = ReceivablesDetail.objects.all().order_by('-outstanding_amount')
# 获取查询参数
project_name = request.GET.get('project_name', '')
# 根据提供的参数进行筛选
if project_name:
query_set = query_set.filter(project_name__icontains=project_name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&project_name={}'.format(project_name)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.ReceivablesDetail',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司应收账款明细", "name": "receivables_detail_list"}],
'filters': [
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
"placeholder": "请输入项目名称"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'receivables_detail_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)
2024-06-06 15:08:38 +08:00
def employee_status_list_view(request):
# 声明查询集
query_set = EmployeeStatus.objects.all().order_by('-total_employees')
# 获取查询参数
total_employees = request.GET.get('total_employees', '')
# 根据提供的参数进行筛选
if total_employees:
query_set = query_set.filter(total_employees__icontains=total_employees)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&total_employees={}'.format(total_employees)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.EmployeeStatus',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司人员情况", "name": "employee_status_list"}],
'filters': [
{"type": "text", "id": "total_employees", "name": "total_employees", "label": "员工总数",
"placeholder": "请输入员工总数"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'employee_status_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)
2024-06-06 15:08:38 +08:00
def employee_performance_list_view(request):
# 声明查询集
query_set = EmployeePerformance.objects.all().order_by('-year')
# 获取查询参数
year = request.GET.get('year', '')
# 根据提供的参数进行筛选
if year:
2024-06-06 23:35:02 +08:00
query_set = query_set.filter(year__icontains(year))
2024-06-06 15:08:38 +08:00
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&year={}'.format(year)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.EmployeePerformance',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "员工业绩及提成情况", "name": "employee_performance_list"}],
'filters': [
{"type": "text", "id": "year", "name": "year", "label": "年份", "placeholder": "请输入年份"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'employee_performance_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)
2024-06-06 15:08:38 +08:00
def employee_attendance_list_view(request):
# 声明查询集
query_set = EmployeeAttendance.objects.all().order_by('-name')
# 获取查询参数
name = request.GET.get('name', '')
# 根据提供的参数进行筛选
if name:
query_set = query_set.filter(name__icontains=name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&name={}'.format(name)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.EmployeeAttendance',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "员工出勤情况", "name": "employee_attendance_list"}],
'filters': [
{"type": "text", "id": "name", "name": "name", "label": "姓名", "placeholder": "请输入姓名"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'employee_attendance_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)
2024-06-06 15:08:38 +08:00
def project_ledger_list_view(request):
# 声明查询集
query_set = ProjectLedger.objects.all().order_by('-project_id')
# 获取查询参数
project_name = request.GET.get('project_name', '')
# 根据提供的参数进行筛选
if project_name:
query_set = query_set.filter(project_name__icontains=project_name)
# 对查询结果进行分页每页10条记录
items = paginate_query_and_assign_numbers(
request=request,
queryset=query_set,
per_page=10
)
# 构建上下文查询参数字符串
query_params = '&project_name={}'.format(project_name)
# 准备上下文
context = {
'items': items,
'query_params': query_params,
2024-06-06 23:35:02 +08:00
'model_config': 'exec_tbl.ProjectLedger',
2024-06-06 15:08:38 +08:00
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司项目台账", "name": "project_ledger_list"}],
'filters': [
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
"placeholder": "请输入项目名称"}
],
2024-06-06 23:43:04 +08:00
"table_exclude_field_name": ['id'],
2024-06-06 23:35:02 +08:00
'form_action_url': 'project_ledger_list'
2024-06-06 15:08:38 +08:00
}
2024-06-06 23:43:04 +08:00
return render(request, 'items_list.html', context)