瀏覽代碼

考试记录

jiaweiqi 3 年之前
父節點
當前提交
ccb02498bc
共有 3 個文件被更改,包括 23 次插入4 次删除
  1. 7 0
      apps/examination/exam/serializers.py
  2. 1 1
      uis/admin/examlog/index.html
  3. 15 3
      utils/format.py

+ 7 - 0
apps/examination/exam/serializers.py

@@ -5,6 +5,7 @@ from rest_framework import serializers
 from .models import Exam, ExamLog, ExamAnswerLog, ExamAnswerOptionLog, ExamAnswerFillLog
 from .models import Exam, ExamLog, ExamAnswerLog, ExamAnswerOptionLog, ExamAnswerFillLog
 from apps.examination.examquestion.models import ExamQuestion
 from apps.examination.examquestion.models import ExamQuestion
 from utils.exceptions import CustomError
 from utils.exceptions import CustomError
+from utils.format import strfsecond
 
 
 
 
 class ExamSerializer(serializers.ModelSerializer):
 class ExamSerializer(serializers.ModelSerializer):
@@ -65,11 +66,17 @@ class FormalExamLogSerializer(serializers.ModelSerializer):
     fill_scores = serializers.IntegerField(source='exampaper.fill_total_scores', read_only=True)
     fill_scores = serializers.IntegerField(source='exampaper.fill_total_scores', read_only=True)
     judgment_count = serializers.IntegerField(source='exampaper.judgment_total_count', read_only=True)
     judgment_count = serializers.IntegerField(source='exampaper.judgment_total_count', read_only=True)
     judgment_scores = serializers.IntegerField(source='exampaper.judgment_total_scores', read_only=True)
     judgment_scores = serializers.IntegerField(source='exampaper.judgment_total_scores', read_only=True)
+    use_time = serializers.SerializerMethodField()
 
 
     class Meta:
     class Meta:
         model = ExamLog
         model = ExamLog
         fields = "__all__"
         fields = "__all__"
 
 
+    def get_use_time(self, obj):
+        if obj.use_time:
+            return strfsecond(obj.use_time)
+        return ''
+
 
 
 class StaffExamLogSerializer(serializers.ModelSerializer):
 class StaffExamLogSerializer(serializers.ModelSerializer):
     exampaper_name = serializers.CharField(source='exampaper.name', read_only=True)
     exampaper_name = serializers.CharField(source='exampaper.name', read_only=True)

+ 1 - 1
uis/admin/examlog/index.html

@@ -146,7 +146,7 @@
                 , {field: 'scores', title: '分数', width: 80}
                 , {field: 'scores', title: '分数', width: 80}
                 , {field: 'rank', title: '排名', width: 80}
                 , {field: 'rank', title: '排名', width: 80}
                 , {field: 'submit_time', title: '交卷时间', width: 165}
                 , {field: 'submit_time', title: '交卷时间', width: 165}
-                , {field: 'use_time', title: '用时', width: 120}
+                , {field: 'use_time', title: '用时', width: 150}
                 , {title: '操作', width: 80, align: 'center', fixed: 'right', toolbar: '#exam_question-operate-bar'}
                 , {title: '操作', width: 80, align: 'center', fixed: 'right', toolbar: '#exam_question-operate-bar'}
             ]]
             ]]
             , page: true
             , page: true

+ 15 - 3
utils/format.py

@@ -20,11 +20,23 @@ def strfsecond(second):
     d = datetime.datetime(1,1,1) + sec
     d = datetime.datetime(1,1,1) + sec
     if d.hour > 0:
     if d.hour > 0:
         if d.minute > 0:
         if d.minute > 0:
-            retval = "%d小时%d分钟" % (d.hour, d.minute)
+            if d.second > 0:
+                retval = "%d小时%d分钟%d秒" % (d.hour, d.minute, d.second)
+            else:
+                retval = "%d小时%d分钟" % (d.hour, d.minute)
         else:
         else:
-            retval = "%d小时" % (d.hour)
+            if d.second > 0:
+                retval = "%d小时%d秒" % (d.hour, d.second)
+            else:
+                retval = "%d小时" % (d.hour)
     else:
     else:
-        retval = "%d分钟" % (d.minute)
+        if d.minute > 0:
+            if d.second > 0:
+                retval = "%d分钟%d秒" % (d.minute, d.second)
+            else:
+                retval = "%d分钟" % (d.minute)
+        else:
+            retval = "%d秒" % (d.second)
     return retval
     return retval