path('student_list//',views.student_list,name='student_list'),
views.py
paginator = Paginator(employee_list, 10)
@login_required
def student_list(request,page):
'''整体看板-明细查询'''
employee_dept = request.POST.get('employee_dept', '')
employee_id = request.POST.get('employee_id', '')
EmployeeUser_all = EmployeeUser.objects.all()
print('employee_dept',employee_dept)
print('employee_id',employee_id)
#查看用户权限
u = User.objects.get(username=request.user)
#如果是超级管理员,就全部查看;否则就按部门查看和role
if u.is_superuser:
EmployeeUser_self1 = EmployeeUser_all
elif u.last_name == 'HR':
#如果是一般管理员,根据权限来查看的数据
EmployeeUser_self1 = EmployeeUser_all.filter(site=u.first_name)
else:
# 非管理员默认只能查自己工号的数据
EmployeeUser_self1 = EmployeeUser_all.filter(Q(employee_id=request.user.employeeuser.employee_id))
# 处理下employee_dept,去掉最后的0
employee_dept = employee_dept.strip('0')
# 根据筛选条件来得出object
if employee_dept == '' and employee_id == '':
employee_list = EmployeeUser_all & EmployeeUser_self1
elif employee_dept == '' and employee_id != '':
employee_list = EmployeeUser_all.filter(Q(employee_id=employee_id)) & EmployeeUser_self1
elif employee_dept != '' and employee_id == '':
employee_list = EmployeeUser_all.filter(Q(employee_dept__istartswith=employee_dept)) & EmployeeUser_self1
elif employee_dept != '' and employee_id != '':
employee_list = EmployeeUser_all.filter(Q(employee_dept__istartswith=employee_dept) & Q(employee_id=employee_id)) & EmployeeUser_self1
# 添加分页功能
paginator = Paginator(employee_list, 10)
try:
pageInfo = paginator.page(page)
except PageNotAnInteger:
# 如果参数page 的数据类型不是整型,就返回第一页数据
pageInfo = paginator.page(1)
except EmptyPage:
# 若用户访问的页数大于实际页数,则返回最后一页的数据
pageInfo = paginator.page(paginator.num_pages)
return render(request, 'student_list.html',locals())
student_list.html新增上下页及中间循环部分{% for employee in pageInfo.object_list %}
{% extends 'base.html' %}
{% load static %}
{% block body_block %}
学员名单列表
{% if request.user.last_name == 'HR' or request.user.is_superuser %}
{% endif %}
点击查看
site
厂别
部门
姓名
工号
IDL离职率是否达成
个人目标是否达成
团队目标是否达成
KPI是否达成
个人是否参加年度竞赛
是否参加各Site绩效辅导工作坊
一对一访谈是否都完成
是否参加领导力个案甄选
是否完成酷领导线上课程
课级主管课程是否完成
{% for employee in pageInfo.object_list %}
MORE
{{ employee.site |default_if_none:''}}
{{ employee.plantid |default_if_none:''}}
{{ employee.employee_dept |default_if_none:''}}
{{ employee.employee_name |default_if_none:''}}
{{ employee.employee_id |default_if_none:''}}
{{ employee.turnoverrate_finished_or_not |default_if_none:''}}
{{ employee.Personal_goal_finished_or_not |default_if_none:''}}
{{ employee.Group_goal_finished_or_not |default_if_none:''}}
{{ employee.KPI_finished_or_not |default_if_none:''}}
{{ employee.competition_finished_or_not |default_if_none:''}}
{{ employee.workshop_finished_or_not |default_if_none:''}}
{{ employee.oneonone_finished_or_not |default_if_none:''}}
{{ employee.leadership_case_finished_or_not |default_if_none:''}}
{{ employee.ddi_training_finished_or_not |default_if_none:''}}
{{ employee.manager_training_finished_or_not |default_if_none:''}}
{% empty %}
No data yet.
{% endfor %}
{% if pageInfo.has_previous %}
上一页
{% endif %}
{% if pageInfo.object_list %}
{% for page in pageInfo.paginator.page_range %}
{% if pageInfo.number == page %}
{{ page }}
{% else %}
{{ page }}
{% endif %}
{% endfor %}
{% endif %}
{% if pageInfo.has_next %}
下一页
{% endif %}
{% endblock %}
student_list_query.html
< form action=“/student_list/1/” method=“post” >
{% extends 'base.html' %}
{% load static %}
{% block body_block %}
{% endblock %}



