504 lines
20 KiB
Python
504 lines
20 KiB
Python
from django.contrib.auth.decorators import login_required, permission_required
|
||
from django.shortcuts import render
|
||
from common.utils.page_helper import paginate_query_and_assign_numbers
|
||
from .models import *
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentannualperformance', raise_exception=True)
|
||
def department_annual_performance_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentAnnualPerformance.objects.all().order_by('-year')
|
||
|
||
# 获取查询参数
|
||
year = request.GET.get('year', '')
|
||
primary_department = request.GET.get('primary_department', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if year:
|
||
query_set = query_set.filter(year__icontains=year)
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
|
||
# 对查询结果进行分页,每页10条记录
|
||
items = paginate_query_and_assign_numbers(
|
||
request=request,
|
||
queryset=query_set,
|
||
per_page=10
|
||
)
|
||
|
||
# 构建上下文查询参数字符串
|
||
query_params = '&year={}&primary_department={}'.format(year, primary_department)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentAnnualPerformance',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "经营管理", "name": "index"},
|
||
{"title": "年度总体经营指标", "name": "department_annual_performance_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "year", "name": "year", "label": "年份", "placeholder": "请输入年份"},
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_annual_performance_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentmonthlyincome', raise_exception=True)
|
||
def department_monthly_income_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentMonthlyIncome.objects.all().order_by('-year_month')
|
||
|
||
# 获取查询参数
|
||
year_month = request.GET.get('year_month', '')
|
||
primary_department = request.GET.get('primary_department', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if year_month:
|
||
query_set = query_set.filter(year_month__icontains=year_month)
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
|
||
# 对查询结果进行分页,每页10条记录
|
||
items = paginate_query_and_assign_numbers(
|
||
request=request,
|
||
queryset=query_set,
|
||
per_page=10
|
||
)
|
||
|
||
# 构建上下文查询参数字符串
|
||
query_params = '&year_month={}&primary_department={}'.format(year_month, primary_department)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentMonthlyIncome',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "收入管理", "name": "index"},
|
||
{"title": "收入情况", "name": "department_monthly_income_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"},
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_monthly_income_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentmonthlycost', raise_exception=True)
|
||
def department_monthly_cost_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentMonthlyCost.objects.all().order_by('-year_month')
|
||
|
||
# 获取查询参数
|
||
year_month = request.GET.get('year_month', '')
|
||
primary_department = request.GET.get('primary_department', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if year_month:
|
||
query_set = query_set.filter(year_month__icontains=year_month)
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
|
||
# 对查询结果进行分页,每页10条记录
|
||
items = paginate_query_and_assign_numbers(
|
||
request=request,
|
||
queryset=query_set,
|
||
per_page=10
|
||
)
|
||
|
||
# 构建上下文查询参数字符串
|
||
query_params = '&year_month={}&primary_department={}'.format(year_month, primary_department)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentMonthlyCost',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "成本管理", "name": "index"},
|
||
{"title": "成本情况", "name": "department_monthly_cost_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"},
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_monthly_cost_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentmonthlyprofit', raise_exception=True)
|
||
def department_monthly_profit_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentMonthlyProfit.objects.all().order_by('-year_month')
|
||
|
||
# 获取查询参数
|
||
year_month = request.GET.get('year_month', '')
|
||
primary_department = request.GET.get('primary_department', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if year_month:
|
||
query_set = query_set.filter(year_month__icontains=year_month)
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
|
||
# 对查询结果进行分页,每页10条记录
|
||
items = paginate_query_and_assign_numbers(
|
||
request=request,
|
||
queryset=query_set,
|
||
per_page=10
|
||
)
|
||
|
||
# 构建上下文查询参数字符串
|
||
query_params = '&year_month={}&primary_department={}'.format(year_month, primary_department)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentMonthlyProfit',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "利润管理", "name": "index"},
|
||
{"title": "利润情况", "name": "department_monthly_profit_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"},
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_monthly_profit_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentprojectprogress', raise_exception=True)
|
||
def department_project_progress_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentProjectProgress.objects.all().order_by('-contract_date')
|
||
|
||
# 获取查询参数
|
||
primary_department = request.GET.get('primary_department', '')
|
||
project_name = request.GET.get('project_name', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
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 = '&primary_department={}&project_name={}'.format(primary_department, project_name)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentProjectProgress',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "项目管理", "name": "index"},
|
||
{"title": "项目进度", "name": "department_project_progress_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"},
|
||
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
|
||
"placeholder": "请输入项目名称"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_project_progress_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentprojectsettlement', raise_exception=True)
|
||
def department_project_settlement_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentProjectSettlement.objects.all().order_by('-primary_department')
|
||
|
||
# 获取查询参数
|
||
primary_department = request.GET.get('primary_department', '')
|
||
project_name = request.GET.get('project_name', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
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 = '&primary_department={}&project_name={}'.format(primary_department, project_name)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentProjectSettlement',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "项目管理", "name": "index"},
|
||
{"title": "项目结算情况", "name": "department_project_settlement_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"},
|
||
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
|
||
"placeholder": "请输入项目名称"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_project_settlement_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentprojectpayment', raise_exception=True)
|
||
def department_project_payment_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentProjectPayment.objects.all().order_by('-primary_department')
|
||
|
||
# 获取查询参数
|
||
primary_department = request.GET.get('primary_department', '')
|
||
project_name = request.GET.get('project_name', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
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 = '&primary_department={}&project_name={}'.format(primary_department, project_name)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentProjectPayment',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "项目管理", "name": "index"},
|
||
{"title": "项目回款情况", "name": "department_project_payment_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"},
|
||
{"type": "text", "id": "project_name", "name": "project_name", "label": "项目名称",
|
||
"placeholder": "请输入项目名称"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_project_payment_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentrevenuestructure', raise_exception=True)
|
||
def department_revenue_structure_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentRevenueStructure.objects.all().order_by('-year_month')
|
||
|
||
# 获取查询参数
|
||
primary_department = request.GET.get('primary_department', '')
|
||
year_month = request.GET.get('year_month', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
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 = '&primary_department={}&year_month={}'.format(primary_department, year_month)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentRevenueStructure',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "收入管理", "name": "index"},
|
||
{"title": "收入结构", "name": "department_revenue_structure_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"},
|
||
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_revenue_structure_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentprofitstructure', raise_exception=True)
|
||
def department_profit_structure_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentProfitStructure.objects.all().order_by('-year_month')
|
||
|
||
# 获取查询参数
|
||
primary_department = request.GET.get('primary_department', '')
|
||
year_month = request.GET.get('year_month', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
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 = '&primary_department={}&year_month={}'.format(primary_department, year_month)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentProfitStructure',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "利润管理", "name": "index"},
|
||
{"title": "利润结构", "name": "department_profit_structure_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"},
|
||
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_profit_structure_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentprojectmanagerincomecommission', raise_exception=True)
|
||
def department_project_manager_income_commission_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentProjectManagerIncomeCommission.objects.all().order_by('-year_month')
|
||
|
||
# 获取查询参数
|
||
primary_department = request.GET.get('primary_department', '')
|
||
name = request.GET.get('name', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
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 = '&primary_department={}&name={}'.format(primary_department, name)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentProjectManagerIncomeCommission',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "收入管理", "name": "index"},
|
||
{"title": "项目经理收入完成及提成情况",
|
||
"name": "department_project_manager_income_commission_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"},
|
||
{"type": "text", "id": "name", "name": "name", "label": "姓名", "placeholder": "请输入姓名"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_project_manager_income_commission_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|
||
|
||
|
||
@login_required
|
||
@permission_required('busi_tbl.view_departmentattendance', raise_exception=True)
|
||
def department_attendance_list_view(request):
|
||
# 声明查询集
|
||
query_set = DepartmentAttendance.objects.all().order_by('-year_month')
|
||
|
||
# 获取查询参数
|
||
primary_department = request.GET.get('primary_department', '')
|
||
year_month = request.GET.get('year_month', '')
|
||
|
||
# 根据提供的参数进行筛选
|
||
if primary_department:
|
||
query_set = query_set.filter(primary_department__icontains=primary_department)
|
||
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 = '&primary_department={}&year_month={}'.format(primary_department, year_month)
|
||
|
||
# 准备上下文
|
||
context = {
|
||
'items': items,
|
||
'query_params': query_params,
|
||
'model_config': 'busi_tbl.DepartmentAttendance',
|
||
'breadcrumb_list': [{"title": "首页", "name": "index"}, {"title": "考勤管理", "name": "index"},
|
||
{"title": "出勤情况", "name": "department_attendance_list"}],
|
||
'filters': [
|
||
{"type": "text", "id": "primary_department", "name": "primary_department", "label": "一级部门",
|
||
"placeholder": "请输入一级部门"},
|
||
{"type": "text", "id": "year_month", "name": "year_month", "label": "年月", "placeholder": "请输入年月"}
|
||
],
|
||
"table_exclude_field_name": ['id'],
|
||
'form_action_url': 'department_attendance_list'
|
||
}
|
||
|
||
return render(request, 'view_list.html', context)
|