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)