XH_Digital_Management/application/exec_tbl/views.py

333 lines
11 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.contrib.auth.decorators import login_required
from django.shortcuts import render
from common.auth import custom_permission_required
from common.utils.page_helper import paginate_query_and_assign_numbers
from .models import *
@login_required
@custom_permission_required('exec_tbl.view_financialdata')
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,
'model_config': 'exec_tbl.FinancialData',
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司整体经营情况", "name": "financial_data_list"}],
'filters': [
{"type": "text", "id": "year", "name": "year", "label": "年份", "placeholder": "请输入年份"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'financial_data_list'
}
return render(request, 'view_list.html', context)
@login_required
@custom_permission_required('exec_tbl.view_monthlyfinancialdata')
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,
'model_config': 'exec_tbl.MonthlyFinancialData',
'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": "请输入年月"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'monthly_financial_data_list'
}
return render(request, 'view_list.html', context)
@login_required
@custom_permission_required('exec_tbl.view_receivablesdata')
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,
'model_config': 'exec_tbl.ReceivablesData',
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司应收账款情况", "name": "receivables_data_list"}],
'filters': [
{"type": "number", "id": "total_receivables", "name": "total_receivables", "label": "应收账款总额",
"placeholder": "请输入应收账款总额"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'receivables_data_list'
}
return render(request, 'view_list.html', context)
@login_required
@custom_permission_required('exec_tbl.view_receivablesdetail')
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,
'model_config': 'exec_tbl.ReceivablesDetail',
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司应收账款明细", "name": "receivables_detail_list"}],
'filters': [
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
"placeholder": "请输入项目名称"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'receivables_detail_list'
}
return render(request, 'view_list.html', context)
@login_required
@custom_permission_required('exec_tbl.view_employeesstatus')
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,
'model_config': 'exec_tbl.EmployeeStatus',
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司人员情况", "name": "employee_status_list"}],
'filters': [
{"type": "text", "id": "total_employees", "name": "total_employees", "label": "员工总数",
"placeholder": "请输入员工总数"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'employee_status_list'
}
return render(request, 'view_list.html', context)
@login_required
@custom_permission_required('exec_tbl.view_employeesperformance')
def employee_performance_list_view(request):
# 声明查询集
query_set = EmployeePerformance.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,
'model_config': 'exec_tbl.EmployeePerformance',
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "员工业绩及提成情况", "name": "employee_performance_list"}],
'filters': [
{"type": "text", "id": "year", "name": "year", "label": "年份", "placeholder": "请输入年份"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'employee_performance_list'
}
return render(request, 'view_list.html', context)
@login_required
@custom_permission_required('exec_tbl.view_employeeattendance')
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,
'model_config': 'exec_tbl.EmployeeAttendance',
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "员工出勤情况", "name": "employee_attendance_list"}],
'filters': [
{"type": "text", "id": "name", "name": "name", "label": "姓名", "placeholder": "请输入姓名"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'employee_attendance_list'
}
return render(request, 'view_list.html', context)
@login_required
@custom_permission_required('exec_tbl.view_projectledger')
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,
'model_config': 'exec_tbl.ProjectLedger',
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "董事会、总经办", "name": "index"},
{"title": "公司项目台账", "name": "project_ledger_list"}],
'filters': [
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
"placeholder": "请输入项目名称"}
],
"table_exclude_field_name": ['id'],
'form_action_url': 'project_ledger_list'
}
return render(request, 'view_list.html', context)