Browse Source

导出考试记录

liu tao 2 years ago
parent
commit
f3f91bdb6e
2 changed files with 26 additions and 0 deletions
  1. 6 0
      apps/api/admin/exam/views.py
  2. 20 0
      uis/admin/examlog/index.html

+ 6 - 0
apps/api/admin/exam/views.py

@@ -125,3 +125,9 @@ class ExamLogViewSet(ReadOnlyModelViewSet):
     def answer_log(self, request, pk):
         rows = ExamAnswerLog.objects.filter(main_id=pk).order_by('detail__order').values_list('status', flat=True)
         return response_ok(list(rows))
+
+    @action(methods=['get'], detail=False)
+    def export(self, request):
+        queryset = self.filter_queryset(self.queryset)
+        serializer = self.get_serializer(queryset, many=True)
+        return response_ok(serializer.data)

+ 20 - 0
uis/admin/examlog/index.html

@@ -63,6 +63,9 @@
             <div class="layui-row layui-col-space15">
                 <div class="layui-col-md12">
                     <div class="LAY-btns" style="margin-bottom: 10px;">
+                        <div style="float: left">
+                            <button class="layui-btn" id="btn_download"><i class="layui-icon layui-icon-download-circle"></i>导出</button>
+                        </div>
                         <form class="layui-form" lay-filter="query-form-element">
                             <div class="seach_items">
                                 <button class="layui-btn" lay-submit lay-filter="query-form-element"><i
@@ -107,6 +110,8 @@
 
 <script src="../../layuiadmin/layui/layui.js"></script>
 <script>
+    var _params = '';
+
     layui.config({
         base: '../../../layuiadmin/' //静态资源所在路径
     }).extend({
@@ -134,6 +139,8 @@
         table.render({
             elem: '#exampaper_datagrid'
             , url: '/admin/exam/examlog/'
+            ,title: '考试记录'
+            ,id: 'exampaper_datagrid'
             , cols: [[
                 {title: '编号', type: 'numbers'}
                 , {field: 'exam_name', title: '考试名称', width: 200}
@@ -177,9 +184,22 @@
                 where: data.field
                 , page: {curr: 1}
             });
+            _params = data.field;
             layer.closeAll();
             return false
         });
+
+        $('#btn_download').on('click', function(){
+        $.get({
+            url: '/admin/exam/examlog/export/',
+            dataType: 'json',
+            data: _params,
+            success: function (res) {
+                table.exportFile('exampaper_datagrid', res.data, 'xls')
+            }
+        })
+    });
+
     });
 
 </script>