diff --git a/test_mini/pages/test/test.wxml b/test_mini/pages/test/test.wxml
index d7b91c0..eba5daa 100644
--- a/test_mini/pages/test/test.wxml
+++ b/test_mini/pages/test/test.wxml
@@ -14,6 +14,7 @@
{{tm_index+1}}.
{{tm_current.type}}
({{tm_current.total_score}}分)
+ ({{tm_current.questioncat_name}})
{{tm_current.name}}
diff --git a/test_server/examtest/views.py b/test_server/examtest/views.py
index 704c924..efd305a 100644
--- a/test_server/examtest/views.py
+++ b/test_server/examtest/views.py
@@ -84,16 +84,34 @@ class WorkScopeViewSet(ModelViewSet):
ret['panduan_count'] = workscope.rule.panduan_count
ret['panduan_score'] = workscope.rule.panduan_score
question_queryset = Question.objects.none()
- queryset = Question.objects.filter(is_delete=0,questioncat__in = workscope.questioncat.all())
- if ret['danxuan_count']:
- danxuan = queryset.filter(type='单选').order_by('?')[:ret['danxuan_count']]
- question_queryset = question_queryset | danxuan
- if ret['duoxuan_count']:
- duoxuan = queryset.filter(type='多选').order_by('?')[:ret['duoxuan_count']]
- question_queryset = question_queryset | duoxuan
- if ret['panduan_count']:
- panduan = queryset.filter(type='判断').order_by('?')[:ret['panduan_count']]
- question_queryset = question_queryset | panduan
+ questioncats = workscope.questioncat.exclude(name='辐射小知识更新中').order_by('type')
+ if questioncats.count() == 3:
+ import random
+ b2 = random.randint(1,9)
+ b3 = random.randint(1,b2+1)
+ b1 = 10 - b2 -b3
+ a1 = 2*b2 + 2*b3 - 2
+ a2 = 18 - 2*b2
+ a3 = 24 - 2*b3
+ queryset = Question.objects.filter(is_delete=0)
+ a1_set = queryset.filter(questioncat=questioncats[0], type='单选').order_by('?')[:a1]
+ a2_set = queryset.filter(questioncat=questioncats[1], type='单选').order_by('?')[:a2]
+ a3_set = queryset.filter(questioncat=questioncats[2], type='单选').order_by('?')[:a3]
+ b1_set = queryset.filter(questioncat=questioncats[0], type='多选').order_by('?')[:b1]
+ b2_set = queryset.filter(questioncat=questioncats[1], type='多选').order_by('?')[:b2]
+ b3_set = queryset.filter(questioncat=questioncats[2], type='多选').order_by('?')[:b3]
+ question_queryset = question_queryset|a1_set|a2_set|a3_set|b1_set|b2_set|b3_set
+ else:
+ queryset = Question.objects.filter(is_delete=0,questioncat__in = workscope.questioncat.all())
+ if ret['danxuan_count']:
+ danxuan = queryset.filter(type='单选').order_by('?')[:ret['danxuan_count']]
+ question_queryset = question_queryset | danxuan
+ if ret['duoxuan_count']:
+ duoxuan = queryset.filter(type='多选').order_by('?')[:ret['duoxuan_count']]
+ question_queryset = question_queryset | duoxuan
+ if ret['panduan_count']:
+ panduan = queryset.filter(type='判断').order_by('?')[:ret['panduan_count']]
+ question_queryset = question_queryset | panduan
questions = QuestionSerializer(instance=question_queryset.order_by('type'),many=True).data
for i in questions:
if i['type'] == '单选':