diff --git a/test_mini/pages/main/main.wxml b/test_mini/pages/main/main.wxml index 23924ba..a3f58f8 100644 --- a/test_mini/pages/main/main.wxml +++ b/test_mini/pages/main/main.wxml @@ -81,15 +81,14 @@ - - - - - 个人防护用品检测(铅当量) - - - - + + + + + + Ⅲ类自测入口 + + diff --git a/test_mini/pages/my/index.wxml b/test_mini/pages/my/index.wxml index 79baef9..3835256 100644 --- a/test_mini/pages/my/index.wxml +++ b/test_mini/pages/my/index.wxml @@ -63,14 +63,14 @@ 平均分 {{avg_score}} - - - - - - 正式考试入口 - - + + + + + + 个人防护用品检测(铅当量) + + diff --git a/test_server/examtest/views.py b/test_server/examtest/views.py index 8e24748..03319d3 100644 --- a/test_server/examtest/views.py +++ b/test_server/examtest/views.py @@ -118,7 +118,7 @@ class ExamViewSet(ModelViewSet): question_queryset = Question.objects.none() questioncats = workscope.questioncat.order_by('type', 'create_time') if questioncats.count() == 3: - queryset = Question.objects.filter(is_delete=0) + queryset = Question.objects.filter(is_delete=0, enabled=True) a1_set = queryset.filter(questioncat=questioncats[0], type='单选').order_by('?')[:12] a2_set = queryset.filter(questioncat=questioncats[1], type='单选').order_by('?')[:12] a3_set = queryset.filter(questioncat=questioncats[2], type='单选').order_by('?')[:16] @@ -200,7 +200,7 @@ class WorkScopeViewSet(ModelViewSet): a1 = 2*b2 + 2*b3 - 2 a2 = 18 - 2*b2 a3 = 24 - 2*b3 - queryset = Question.objects.filter(is_delete=0) + queryset = Question.objects.filter(is_delete=0, enabled=True) 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] @@ -210,7 +210,7 @@ class WorkScopeViewSet(ModelViewSet): question_queryset = question_queryset|a1_set|a2_set|a3_set|b1_set|b2_set|b3_set elif workscope.name == '辐射安全管理': # 辐射安全管理出卷规则 - queryset = Question.objects.filter(is_delete=0) + queryset = Question.objects.filter(is_delete=0, enabled=True) a1_set = queryset.filter(questioncat=questioncats[0], type='单选').order_by('?')[:16] a2_set = queryset.filter(questioncat=questioncats[1], type='单选').order_by('?')[:24] b1_set = queryset.filter(questioncat=questioncats[0], type='多选').order_by('?')[:4] @@ -218,14 +218,14 @@ class WorkScopeViewSet(ModelViewSet): question_queryset = question_queryset|a1_set|a2_set|b1_set|b2_set elif workscope.name == '科研、生产及其他': # 科研、生产及其他出卷规则 - queryset = Question.objects.filter(is_delete=0) + queryset = Question.objects.filter(is_delete=0, enabled=True) a1_set = queryset.filter(questioncat=questioncats[0], type='单选').order_by('?')[:24] a2_set = queryset.filter(questioncat=questioncats[1], type='单选').order_by('?')[:16] b1_set = queryset.filter(questioncat=questioncats[0], type='多选').order_by('?')[:6] b2_set = queryset.filter(questioncat=questioncats[1], type='多选').order_by('?')[:4] question_queryset = question_queryset|a1_set|a2_set|b1_set|b2_set else: - queryset = Question.objects.filter(is_delete=0,questioncat__in = workscope.questioncat.all()) + queryset = Question.objects.filter(is_delete=0,questioncat__in = workscope.questioncat.all(), enabled=True) if ret['danxuan_count']: danxuan = queryset.filter(type='单选').order_by('?')[:ret['danxuan_count']] question_queryset = question_queryset | danxuan @@ -265,7 +265,7 @@ class WorkScopeViewSet(ModelViewSet): ret['panduan_count'] = rule.panduan_count ret['panduan_score'] = rule.panduan_score question_queryset = Question.objects.none() - queryset = Question.objects.filter(is_delete=0) + queryset = Question.objects.filter(is_delete=0, enabled=True) if ret['danxuan_count']: danxuan = queryset.filter(type='单选').order_by('?')[:ret['danxuan_count']] question_queryset = question_queryset | danxuan diff --git a/test_server/question/migrations/0013_question_enabled.py b/test_server/question/migrations/0013_question_enabled.py new file mode 100644 index 0000000..8b9b4d6 --- /dev/null +++ b/test_server/question/migrations/0013_question_enabled.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.4 on 2021-03-28 07:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('question', '0012_question_img'), + ] + + operations = [ + migrations.AddField( + model_name='question', + name='enabled', + field=models.BooleanField(default=True, verbose_name='是否启用'), + ), + ] diff --git a/test_server/question/migrations/0014_auto_20210328_1515.py b/test_server/question/migrations/0014_auto_20210328_1515.py new file mode 100644 index 0000000..a76e208 --- /dev/null +++ b/test_server/question/migrations/0014_auto_20210328_1515.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.4 on 2021-03-28 07:15 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('question', '0013_question_enabled'), + ] + + operations = [ + migrations.AlterField( + model_name='question', + name='enabled', + field=models.BooleanField(default=False, verbose_name='是否启用'), + ), + ] diff --git a/test_server/question/models.py b/test_server/question/models.py index 8dad351..05b988f 100644 --- a/test_server/question/models.py +++ b/test_server/question/models.py @@ -44,6 +44,7 @@ class Question(SoftCommonModel): options = JSONField(verbose_name='选项') right = JSONField(verbose_name='正确答案') resolution = models.TextField(verbose_name='解析', blank=True) + enabled = models.BooleanField('是否启用', default=False) class Meta: verbose_name = '题目' diff --git a/test_server/question/views.py b/test_server/question/views.py index 37c066b..37d6b92 100644 --- a/test_server/question/views.py +++ b/test_server/question/views.py @@ -258,7 +258,7 @@ class ExerciseView(APIView): perms_map=[{'post':'exercise'}] def post(self, request): questioncat = request.data['questioncat'] - queryset = Question.objects.filter(is_delete=0,questioncat=questioncat).order_by('type','pk', 'name') + queryset = Question.objects.filter(is_delete=0,questioncat=questioncat,enabled=True).order_by('type','pk', 'name') if 'ydtms' in request.data and request.data['ydtms']: queryset = queryset.exclude(id__in = request.data['ydtms']) if 'ydtms_' in request.data and request.data['ydtms_']: