zoukankan      html  css  js  c++  java
  • Django项目:CRM(客户关系管理系统)--80--70PerfectCRM实现CRM业务流程(bpm)课程排行分页

      1 # coursetop_views.py
      2 # ————————64PerfectCRM实现CRM课程排名详情————————
      3 #————班级学生详情——#计算#{学员ID:分数}——#计算 #{学员ID: [分数, 排名] }————#
      4 #班级学生详情#计算#{学员ID:分数}
      5 from django.db.models import Sum #返回数组中所有值的和
      6 def get_course_grades(class_obj):#返回整个班级的成绩
      7     c=models.StudyRecord.objects.filter(course_record__from_class=class_obj).values_list('student')
      8     a=Sum('score')#Sum返回数组中所有值的和   #学习成绩
      9     e=c.annotate(a) #annotate数据库的数据聚合函数
     10     class_grade_dic=dict(e)#{1: 285, 16: 190}#{学员ID:分数}
     11     print( '全班成绩:', class_grade_dic)
     12     return class_grade_dic   #as class_grade_dic
     13 
     14 #班级学生详情#计算 #{学员ID: [分数, 排名] }
     15 def get_course_ranking(class_grade_dic):#返回整个班级的排名数据
     16     ranking_list = sorted(class_grade_dic.items(),key=lambda x:x[1],reverse=True)#进行排序后的列表#以第2个参数对比#倒序
     17     print('成绩排序:',ranking_list)
     18     ranking_dic = {}
     19     for item in ranking_list:
     20         ranking_dic[item[0]] = [item[1], ranking_list.index(item)+1] #循环添加 排名数 到 排序后的列表
     21     print( '全班排名:', ranking_dic)#{1: [285, 1], 10: [280, 2], }#{学员ID: [分数, 排名] }
     22     return ranking_dic
     23 #————班级学生详情——#计算#{学员ID:分数}——#计算 #{学员ID: [分数, 排名] }————#
     24 
     25 from django.contrib.auth.decorators import login_required  # 登陆后页面才能访问
     26 from django.shortcuts import render #页面返回
     27 from crm import models #数据库
     28 
     29 # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
     30 from bpm.bpm_auxiliary.pagination import Page #分页
     31 # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
     32 
     33 #班级学生详情
     34 @login_required  # 登陆后页面才能访问
     35 def coursetop_details(request,class_id):
     36     classes_obj = models.ClassList.objects.get(id=class_id)#通过ID获取02班级表
     37     enrollmentlist=classes_obj.enrollment_set.all()#通过班级ID,获取06学员报名信息表
     38 
     39     class_grade_dic=get_course_grades(classes_obj.id)#{学员ID:分数}        #全班成绩 # coursetop_tags.py 根据id 找对应的分数
     40     ranking_dic=get_course_ranking(class_grade_dic)#{学员ID: [分数, 排名] } #全班排名 # coursetop_tags.py 根据id 找对应的排名
     41 
     42     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
     43     page = Page( request.GET.get( 'p', 1 ), len( enrollmentlist ) )  # 当前页数 默认为1 #总数量
     44     enrollmentlist = enrollmentlist[page.start:page.end]  # 切片取当前页的数据
     45     page_str = page.page_str('/bpm/coursetop_details/%s/'%(class_id)) # 总页数 传入url
     46     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
     47 
     48     return render(request,'bpm_coursetop/coursetop_details.html',locals())
     49 # ————————64PerfectCRM实现CRM课程排名详情————————
     50 
     51 
     52 
     53 # ————————65PerfectCRM实现CRM课程分数排名————————
     54 #———— 班级学生详情——#计算 #{排名: (ID, 分数)}#排名查名字————#
     55 def get_ranking_name(class_grade_dic):
     56     lists=[]
     57     ranking_list = sorted(class_grade_dic.items(),key=lambda x:x[1],reverse=True)#进行排序后的列表#以第2个参数对比#倒序
     58     #ranking_list [(1, 285), (10, 280)] #按分高排序的ID顺序
     59     for item in ranking_list:
     60         temp={}
     61         temp[ranking_list.index(item) + 1] = item  # 循环添加 排名数 到 排序后的列表
     62         lists.append(temp)
     63     print( '排名查名字:', lists )#[{1: (1, 285)}, {2: (10, 280)}]#[{排名: (学员ID, 分数)}]
     64     return lists
     65 #———— 班级学生详情——#计算 #{排名: (ID, 分数)}#排名查名字————#
     66 
     67 #班级学生详情#全班成绩排名 #通过#{排名: (ID, 分数)}#排名查名字
     68 @login_required  # 登陆后页面才能访问
     69 def coursetop_score(request,class_id):
     70     classes_obj = models.ClassList.objects.get(id=class_id)#通过ID获取02班级表
     71     class_grade_dic=get_course_grades(classes_obj.id)#{学员ID:分数}        #全班成绩
     72     lists=get_ranking_name(class_grade_dic)#计算#[{排名: (学员ID, 分数)}]  #按分高排序的ID顺序
     73 
     74     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
     75     page = Page( request.GET.get( 'p', 1 ), len( lists ) )  # 当前页数 默认为1 #总数量
     76     lists = lists[page.start:page.end]  # 切片取当前页的数据
     77     page_str = page.page_str('/bpm/coursetop_score/%s/'%(class_id)) # 总页数 传入url
     78     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
     79 
     80     return render(request,'bpm_coursetop/coursetop_score.html',locals())
     81 
     82 # ————————65PerfectCRM实现CRM课程分数排名————————
     83 
     84 # ————————66PerfectCRM实现CRM课程作业排名————————
     85 #————#班级学生详情#计算#学员已交作业的数量————#
     86 #班级学生详情#计算#学员已交作业的数量
     87 def get_already_homework(class_id):
     88     score_list = models.StudyRecord.objects.select_related().filter(student=class_id ).values_list( 'score' )#学习成绩
     89     number = 0
     90     for score in score_list:
     91         if score != (0,):  # (0,"N/A")
     92             number += 1  #通过 学习成绩 不等于0 计算#已交作业的数量
     93     return number
     94 #————#班级学生详情#计算#学员已交作业的数量————#
     95 
     96 #班级学生详情#学员已交作业的数量#作业查名字
     97 @login_required  # 登陆后页面才能访问
     98 def coursetop_homework(request,class_id):
     99     classes_obj = models.ClassList.objects.get(id=class_id)#通过ID获取02班级表
    100     class_grade_dic=get_course_grades(classes_obj.id)#{学员ID:分数}        #全班成绩
    101     ranking_dic=get_course_ranking(class_grade_dic)#{学员ID: [分数, 排名] } #全班排名
    102     enrollmentlist=classes_obj.enrollment_set.all()#通过班级ID,获取06学员报名信息表
    103 
    104     dict = {}#{1: 3, 4: 2,}#{学员ID: 数量}
    105     for item in enrollmentlist:
    106         d = get_already_homework( item.id )#根据06学员报名信息表#学员ID #计算#学员已交作业的数量
    107         dict[item.id]= d
    108 
    109     list = sorted(dict.items(),key=lambda x:x[1])#进行排序后的列表#以第2个参数对比
    110     #list[ (4, 2), (16, 2)]    #list[ (学员ID, 数量)]
    111 
    112     lists=[] #[{1: (19, 0)}, {2: (20, 0)}]#[{排名: (学员ID, 数量)}]
    113     for item in list:
    114         temp={}
    115         temp[list.index( item ) + 1] = item  # 循环添加 排名数 到 排序后的列表 #按已交作业数量少到多排序
    116         lists.append(temp)
    117     print('已交作业:',lists)
    118 
    119     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
    120     page = Page( request.GET.get( 'p', 1 ), len( lists ) )  # 当前页数 默认为1 #总数量
    121     lists = lists[page.start:page.end]  # 切片取当前页的数据
    122     page_str = page.page_str('/bpm/coursetop_homework/%s/'%(class_id)) # 总页数 传入url
    123     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
    124 
    125     return render(request,'bpm_coursetop/coursetop_homework.html',locals())
    126 # ————————66PerfectCRM实现CRM课程作业排名————————
    127 
    128 # ————————67PerfectCRM实现CRM课程出勤排名————————
    129 #————#班级学生详情#学员出勤次数 #出勤次数查名字————#
    130 #班级学生详情#计算#学员出勤次数
    131 def get_stu_attendance(enroll_obj_id):
    132     attendance_list=models.StudyRecord.objects.select_related().filter(student=enroll_obj_id).values_list('attendance')
    133     number=0
    134     for attendance in attendance_list:
    135         if attendance == (0,) :
    136             number += 1
    137     return number
    138 #————#班级学生详情#学员出勤次数 #出勤次数查名字————#
    139 
    140 #班级学生详情#学员出勤次数 #出勤次数查名字
    141 @login_required  # 登陆后页面才能访问
    142 def coursetop_attendance(request,class_id):
    143     classes_obj = models.ClassList.objects.get(id=class_id)#通过ID获取02班级表
    144     class_grade_dic=get_course_grades(classes_obj.id)#{学员ID:分数}        #全班成绩
    145     ranking_dic=get_course_ranking(class_grade_dic)#{学员ID: [分数, 排名] } #全班排名
    146     enrollmentlist=classes_obj.enrollment_set.all()#通过班级ID,获取06学员报名信息表
    147 
    148     dict = {} #{1: 3, 4: 2,}#{学员ID: 次数}
    149     for item in enrollmentlist:
    150         d = get_stu_attendance( item.id )#根据06学员报名信息表#学员ID #计算#学员学员出勤次数
    151         dict[item.id]= d # 循环添加 {学员ID: 次数} #排序后的字典
    152 
    153     list = sorted(dict.items(),key=lambda x:x[1])#进行排序后的列表#以第2个参数对比 #按出勤次数少到多排序
    154     #list[ (4, 2), (16, 2)]    #list[ (学员ID, 次数)]
    155 
    156     lists=[]#[{1: (19, 3)}, {2: (20, 1)}]#[{排名: (学员ID, 次数)}]
    157     for item in list:
    158         temp={}
    159         temp[list.index( item ) + 1] = item  # 循环添加 排名数 #排序后的列表
    160         lists.append(temp)
    161     print('全班出勤',lists)
    162 
    163     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
    164     page = Page( request.GET.get( 'p', 1 ), len( lists ) )  # 当前页数 默认为1 #总数量
    165     lists = lists[page.start:page.end]  # 切片取当前页的数据
    166     page_str = page.page_str('/bpm/coursetop_attendance/%s/'%(class_id)) # 总页数 传入url
    167     # ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————
    168 
    169     return render(request,'bpm_coursetop/coursetop_attendance.html',locals())
    170 # ————————67PerfectCRM实现CRM课程出勤排名————————
    # coursetop_views.py

      1 {#coursetop_details.html#}
      2 {## ————————64PerfectCRM实现CRM课程排名详情————————#}
      3 {% extends 'bpm_master/bpm_sample.html' %}
      4 {% load coursetop_tags %} {#计算课程排名#}
      5 {% block right-container-content %} {#自定义内容开始 右边页面内容#}
      6     <div class="panel-default">
      7         <div class="panel-default">
      8             <div class="panel-body">
      9                 <h4>当前用户: {{ request.user }} | 讲师名字:{{ request.user.stu_account.name }} |
     10                     讲师QQ:{{ request.user.stu_account }} </h4>
     11                 <ol class="breadcrumb">
     12                     <li><a href="{% url 'teacher_class' %}">我的班级</a></li>
     13                     <li><a href="{% url 'teacher_class_detail' classes_obj.id %}">{{ classes_obj }}</a></li>
     14                     <li><a href="{% url 'coursetop_details' classes_obj.id %}">课程排行</a></li>
     15                 </ol>
     16                 <table class="table table-striped table-responsive">
     17                     <thead>
     18                     <tr>
     19                         <th>学员ID</th>
     20                         <th><a target="_blank" href="/king_admin/crm/enrollment/?enrolled_class={{ class_id }}">学员姓名</a>
     21                         </th>
     22                         <th>学员QQ</th>
     23                         <th>报名日期</th>
     24                         <th>
     25                             {## ————————65PerfectCRM实现CRM课程分数排名————————#}
     26                             <a href="{% url 'coursetop_score' classes_obj.id %}">
     27                                 {## ————————65PerfectCRM实现CRM课程分数排名————————#}
     28                                 课程成绩
     29                             </a>
     30                         </th>
     31                         <th>
     32                             {## ————————65PerfectCRM实现CRM课程分数排名————————#}
     33                             <a href="{% url 'coursetop_score' classes_obj.id %}">
     34                                 {## ————————65PerfectCRM实现CRM课程分数排名————————#}
     35                                 班级排名
     36                             </a>
     37                         </th>
     38                         <th>
     39                             {## ————————66PerfectCRM实现CRM课程作业排名————————#}
     40                             <a href="{% url 'coursetop_homework' classes_obj.id %}">
     41                                 {## ————————66PerfectCRM实现CRM课程作业排名————————#}
     42                                 已交作业
     43                             </a>
     44                         </th>
     45                         <th>
     46                             {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
     47                             <a href="{% url 'coursetop_attendance' classes_obj.id %}">
     48                                 {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
     49                                 出勤次数
     50                             </a>
     51                         </th>
     52                         <th>迟到次数</th>
     53                         <th>缺勤次数</th>
     54                         <th>早退次数</th>
     55                     </tr>
     56                     </thead>
     57 
     58 
     59                     <tbody>
     60                     {% for enroll_obj  in  enrollmentlist %}
     61                         <tr>
     62                             <td style="color: #ff0f00">{{ enroll_obj.id }}</td>
     63                             {# 学员id#}
     64                             <td>{{ enroll_obj.customer.name }}</td>
     65                             {# 学员姓名#}
     66                             <td>{{ enroll_obj.customer.qq }}</td>
     67                             {# 学员QQ#}
     68                             <td>{{ enroll_obj.date }}</td>
     69                             {# 报名日期#}
     70                             <td>
     71                                 {% fetch_stu_course_score class_grade_dic enroll_obj.id %} {# 得到 学员 课程 分数#}
     72                             </td>
     73                             <td>
     74                                 {% get_stu_grade_ranking ranking_dic enroll_obj.id %} {# 得到 学员 课程 排名#}
     75                             </td>
     76                             <td>
     77                                 {% get_already_homework enroll_obj.id %}{# 已交作业#}
     78                             </td>
     79                             <td>
     80                                 {% get_stu_attendance enroll_obj.id %} {# 得到 学员出勤次数#}
     81                             </td>
     82                             <td>
     83                                 {% get_stu_late enroll_obj.id %} {# 得到 学员出勤次数#}
     84                             </td>
     85                             <td>
     86                                 {% get_stu_absenteeism enroll_obj.id %} {# 得到 学员出勤次数#}
     87                             </td>
     88                             <td>
     89                                 {% get_stu_early enroll_obj.id %} {# 得到 学员早退次数#}
     90                             </td>
     91                         </tr>
     92                     {% endfor %}
     93                     </tbody>
     94                 </table>
     95 
     96                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
     97                 {% include 'bpm_components/page_str.html' %}
     98                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
     99 
    100             </div>
    101         </div>
    102     </div>
    103 {% endblock %}
    104 {## ————————64PerfectCRM实现CRM课程排名详情————————#}
    {#coursetop_details.html#}

     1 {#coursetop_score.html#}
     2 {## ————————65PerfectCRM实现CRM课程分数排名————————#}
     3 {% extends 'bpm_master/bpm_sample.html' %}
     4 {% load coursetop_tags %}
     5 {% block right-container-content %} {#自定义内容开始 右边页面内容#}
     6     <div class="panel-default">
     7         <div class="panel-default">
     8             <div class="panel-body">
     9                 <h4>当前用户: {{ request.user }} | 讲师名字:{{ request.user.stu_account.name }} |
    10                     讲师QQ:{{ request.user.stu_account }} </h4>
    11                 <ol class="breadcrumb">
    12                     <li><a href="{% url 'teacher_class' %}">我的班级</a></li>
    13                     <li><a href="{% url 'teacher_class_detail' classes_obj.id %}">{{ classes_obj }}</a></li>
    14                     <li><a href="{% url 'coursetop_score' classes_obj.id %}">分数排名</a></li>
    15                 </ol>
    16                 <table class="table table-striped table-responsive">
    17                     <thead>
    18                     <tr>
    19                         <th><a href="{% url 'coursetop_details' classes_obj.id %}">学员ID</a></th>
    20                         <th><a target="_blank" href="/king_admin/crm/enrollment/?enrolled_class={{ class_id }}">学员姓名</a>
    21                         </th>
    22                         <th>学员QQ</th>
    23                         <th>报名日期</th>
    24                         <th>课程成绩</th>
    25                         <th>班级排名</th>
    26                         <th>
    27                             {## ————————66PerfectCRM实现CRM课程作业排名————————#}
    28                             <a href="{% url 'coursetop_homework' classes_obj.id %}">
    29                                 {## ————————66PerfectCRM实现CRM课程作业排名————————#}
    30                                 已交作业
    31                             </a>
    32                         </th>
    33                         <th>
    34                             {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
    35                             <a href="{% url 'coursetop_attendance' classes_obj.id %}">
    36                                 {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
    37                                 出勤次数
    38                             </a>
    39                         </th>
    40                         <th>迟到次数</th>
    41                         <th>缺勤次数</th>
    42                         <th>早退次数</th>
    43                     </tr>
    44                     </thead>
    45 
    46 
    47                     <tbody>
    48                     {% for enroll_objs  in  lists %}
    49                         {% for top,enroll_obj in enroll_objs.items %}{#分离提取K,V#[{排名: (学员ID, 分数)}]#}
    50                             {% id_enrollment enroll_obj.0 as enrollment %}{#enroll_obj.0 #学员ID#}{#通过学员ID查06学员报名信息表#}
    51                             <tr>
    52                                 <td>{{ enroll_obj.0 }}</td>
    53                                 {#学员ID#}
    54                                 <td>{{ enrollment.customer.name }}</td>
    55                                 {#学员姓名#}
    56                                 <td>{{ enrollment.customer.qq }}</td>
    57                                 {#学员QQ#}
    58                                 <td>{{ enrollment.date }}</td>
    59                                 {#报名日期#}
    60                                 <td style="color: #ff0f00"> {{ enroll_obj.1 }}{#课程成绩#} </td>
    61                                 <td style="color: #ff0f00">
    62                                     {{ top }}{#班级排名#}
    63                                 </td>
    64                                 <td>{% get_already_homework enroll_obj.0 %}</td>
    65                                 {#已交作业#}
    66                                 <td>
    67                                     {% get_stu_attendance enroll_obj.0 %}{#出勤次数#}
    68                                 </td>
    69                                 <td>
    70                                     {% get_stu_late enroll_obj.0 %}{#迟到次数#}
    71                                 </td>
    72                                 <td>
    73                                     {% get_stu_absenteeism enroll_obj.0 %}{#缺勤次数#}
    74                                 </td>
    75                                 <td>
    76                                     {% get_stu_early enroll_obj.0 %}{#早退次数#}
    77                                 </td>
    78                             </tr>
    79                         {% endfor %}
    80                     {% endfor %}
    81                     </tbody>
    82                 </table>
    83 
    84                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
    85                 {% include 'bpm_components/page_str.html' %}
    86                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
    87 
    88             </div>
    89         </div>
    90     </div>
    91 {% endblock %}
    92 {## ————————65PerfectCRM实现CRM课程分数排名————————#}
    {#coursetop_score.html#}

     1 {#coursetop_homework.html#}
     2 {## ————————66PerfectCRM实现CRM课程作业排名————————#}
     3 {% extends 'bpm_master/bpm_sample.html' %}
     4 {% load coursetop_tags %}
     5 {% block right-container-content %} {#自定义内容开始 右边页面内容#}
     6     <div class="panel-default">
     7         <div class="panel-default">
     8             <div class="panel-body">
     9                 <h4>当前用户: {{ request.user }} | 讲师名字:{{ request.user.stu_account.name }} |
    10                     讲师QQ:{{ request.user.stu_account }} </h4>
    11                 <ol class="breadcrumb">
    12                     <li><a href="{% url 'teacher_class' %}">我的班级</a></li>
    13                     <li><a href="{% url 'teacher_class_detail' classes_obj.id %}">{{ classes_obj }}</a></li>
    14                     <li><a href="{% url 'coursetop_homework' classes_obj.id %}">作业排名</a></li>
    15                 </ol>
    16                 <table class="table table-striped table-responsive">
    17                     <thead>
    18                     <tr>
    19                         <th><a href="{% url 'coursetop_details' classes_obj.id %}">学员ID</a></th>
    20                         <th><a target="_blank" href="/king_admin/crm/enrollment/?enrolled_class={{ class_id }}">学员姓名</a>
    21                         </th>
    22                         <th>学员QQ</th>
    23                         <th>报名日期</th>
    24                         <th><a href="{% url 'coursetop_score' classes_obj.id %}">课程成绩</a></th>
    25                         <th><a href="{% url 'coursetop_score' classes_obj.id %}">班级排名</a></th>
    26                         <th>已交作业</th>
    27                         <th>
    28                             {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
    29                             <a href="{% url 'coursetop_attendance' classes_obj.id %}">
    30                                 {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
    31                                 出勤次数
    32                             </a>
    33                         </th>
    34                         <th>迟到次数</th>
    35                         <th>缺勤次数</th>
    36                         <th>早退次数</th>
    37                     </tr>
    38                     </thead>
    39 
    40 
    41                     <tbody>
    42                     {% for enroll_objs  in  lists %}
    43                         {% for top,enroll_obj in enroll_objs.items %}{#分离提取K,V#[{排名: (学员ID, 分数)}]#}
    44                             {% id_enrollment enroll_obj.0 as enrollment %}{#enroll_obj.0 #学员ID#}{#通过学员ID查06学员报名信息表#}
    45                             <tr>
    46                                 <td>{{ enroll_obj.0 }}</td>
    47                                 {#学员id#}
    48                                 <td>{{ enrollment.customer.name }}</td>
    49                                 {#学员姓名#}
    50                                 <td>{{ enrollment.customer.qq }}</td>
    51                                 {#学员QQ#}
    52                                 <td>{{ enrollment.date }}</td>
    53                                 {#报名日期#}
    54                                 <td>
    55                                     {% fetch_stu_course_score class_grade_dic enroll_obj.0 %} {# 获取 学员 课程 分数#}
    56                                 </td>
    57                                 <td>
    58                                     {% get_stu_grade_ranking ranking_dic enroll_obj.0 %} {# 得到 学员 年级 排名#}
    59                                 </td>
    60                                 <td style="color: #ff0f00">
    61                                     {% get_already_homework enroll_obj.0 %}{#已交作业#}
    62                                 </td>
    63                                 <td>
    64                                     {% get_stu_attendance enroll_obj.0 %}{#出勤次数#}
    65                                 </td>
    66                                 <td>
    67                                     {% get_stu_late enroll_obj.0 %}{#迟到次数#}
    68                                 </td>
    69                                 <td>
    70                                     {% get_stu_absenteeism enroll_obj.0 %}{#缺勤次数#}
    71                                 </td>
    72                                 <td>
    73                                     {% get_stu_early enroll_obj.0 %}{#早退次数#}
    74                                 </td>
    75                             </tr>
    76                         {% endfor %}
    77                     {% endfor %}
    78                     </tbody>
    79                 </table>
    80 
    81 
    82                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
    83                 {% include 'bpm_components/page_str.html' %}
    84                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
    85 
    86             </div>
    87         </div>
    88     </div>
    89 {% endblock %}
    90 {## ————————66PerfectCRM实现CRM课程作业排名————————#}
    {#coursetop_homework.html#}

     1 {#coursetop_attendance.html#}
     2 {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
     3 {% extends 'bpm_master/bpm_sample.html' %}
     4 {% load coursetop_tags %}
     5 {% block right-container-content %} {#自定义内容开始 右边页面内容#}
     6     <div class="panel-default">
     7         <div class="panel-default">
     8             <div class="panel-body">
     9                 <h4>当前用户: {{ request.user }} | 讲师名字:{{ request.user.stu_account.name }} |
    10                     讲师QQ:{{ request.user.stu_account }} </h4>
    11                 <ol class="breadcrumb">
    12                     <li><a href="{% url 'teacher_class' %}">我的班级</a></li>
    13                     <li><a href="{% url 'teacher_class_detail' classes_obj.id %}">{{ classes_obj }}</a></li>
    14                     <li><a href="{% url 'coursetop_attendance' classes_obj.id %}">出勤排名</a></li>
    15                 </ol>
    16                 <table class="table table-striped table-responsive">
    17                     <thead>
    18                     <tr>
    19                         <th><a href="{% url 'coursetop_details' classes_obj.id %}">学员ID</a></th>
    20                         <th><a target="_blank" href="/king_admin/crm/enrollment/?enrolled_class={{ class_id }}">学员姓名</a>
    21                         </th>
    22                         <th>学员QQ</th>
    23                         <th>报名日期</th>
    24                         <th><a href="{% url 'coursetop_score' classes_obj.id %}">课程成绩</a></th>
    25                         <th><a href="{% url 'coursetop_score' classes_obj.id %}">班级排名</a></th>
    26                         <th><a href="{% url 'coursetop_homework' classes_obj.id %}">已交作业</a></th>
    27                         <th>出勤次数</th>
    28                         <th>迟到次数</th>
    29                         <th>缺勤次数</th>
    30                         <th>早退次数</th>
    31                     </tr>
    32                     </thead>
    33 
    34 
    35                     <tbody>
    36                     {% for enroll_objs  in  lists %}
    37                         {% for top,enroll_obj in enroll_objs.items %}{#分离提取K,V#[{排名: (学员ID, 分数)}]#}
    38                             {% id_enrollment enroll_obj.0 as enrollment %}{#enroll_obj.0 #学员ID#}{#通过学员ID查06学员报名信息表#}
    39                             <tr>
    40                                 <td>{{ enroll_obj.0 }}</td>
    41                                 {#学员id#}
    42                                 <td>{{ enrollment.customer.name }}</td>
    43                                 {#学员姓名#}
    44                                 <td>{{ enrollment.customer.qq }}</td>
    45                                 {#学员QQ#}
    46                                 <td>{{ enrollment.date }}</td>
    47                                 {#报名日期#}
    48                                 <td>
    49                                     {% fetch_stu_course_score class_grade_dic enroll_obj.0 %} {# 获取 学员 课程 分数#}
    50                                 </td>
    51                                 <td>
    52                                     {% get_stu_grade_ranking ranking_dic enroll_obj.0 %} {# 得到 学员 年级 排名#}
    53                                 </td>
    54                                 <td>
    55                                     {% get_already_homework enroll_obj.0 %}{#已交作业#}
    56                                 </td>
    57                                 <td style="color: #ff0f00">
    58                                     {% get_stu_attendance enroll_obj.0 %}{#出勤次数#}
    59                                 </td>
    60                                 <td>
    61                                     {% get_stu_late enroll_obj.0 %}{#迟到次数#}
    62                                 </td>
    63                                 <td>
    64                                     {% get_stu_absenteeism enroll_obj.0 %}{#缺勤次数#}
    65                                 </td>
    66                                 <td>
    67                                     {% get_stu_early enroll_obj.0 %}{#早退次数#}
    68                                 </td>
    69                             </tr>
    70                         {% endfor %}
    71                     {% endfor %}
    72                     </tbody>
    73                 </table>
    74 
    75                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
    76                 {% include 'bpm_components/page_str.html' %}
    77                 {## ————————70PerfectCRM实现CRM业务流程(bpm)课程排行分页————————#}
    78 
    79 
    80             </div>
    81         </div>
    82     </div>
    83 {% endblock %}
    84 {## ————————67PerfectCRM实现CRM课程出勤排名————————#}
    {#coursetop_attendance.html#}


     

    如果感觉本章博客对您有帮助,请尽情打赏吧!

  • 相关阅读:
    修复 Visual Studio Error “No exports were found that match the constraint”
    RabbitMQ Config
    Entity Framework Extended Library
    Navisworks API 简单二次开发 (自定义工具条)
    NavisWorks Api 简单使用与Gantt
    SQL SERVER 竖表变成横表
    SQL SERVER 多数据导入
    Devexpress GridControl.Export
    mongo DB for C#
    Devexress XPO xpPageSelector 使用
  • 原文地址:https://www.cnblogs.com/ujq3/p/9036687.html
Copyright © 2011-2022 走看看