diff --git a/client/src/views/exam/classify.vue b/client/src/views/exam/classify.vue
index 03342a9..d32b342 100644
--- a/client/src/views/exam/classify.vue
+++ b/client/src/views/exam/classify.vue
@@ -23,7 +23,10 @@
-
@@ -35,6 +38,7 @@
取消
确认
+
@@ -84,21 +88,20 @@ export default {
methods: {
checkPermission,
- getList(query = this.listQuery) {
+ getList() {
this.listLoading = true;
- getQuestioncatList(query).then(response => {
+ getQuestioncatList(this.listQuery).then(response => {
this.tableData = response.data.results;
this.total = response.data.count;
this.listLoading = false;
});
},
-
resetFilter() {
- this.search = ""
this.listQuery = listQuery
this.getList();
},
handleFilter() {
+ this.listQuery.page = 1;
this.getList();
},
handleAdd() {
diff --git a/client/src/views/exam/questions.vue b/client/src/views/exam/questions.vue
index 22093fc..0b7d515 100644
--- a/client/src/views/exam/questions.vue
+++ b/client/src/views/exam/questions.vue
@@ -10,8 +10,17 @@
@change="handleFilter">
-
+ -->
+
搜索
刷新重置
@@ -103,16 +112,17 @@
否
-
-
- {{ scope.row.year }}
-
-
+
{{ scope.row.create_time }}
+
+
+ {{ scope.row.year }}
+
+
@@ -122,7 +132,10 @@
-
{{ question.type }}
@@ -164,7 +177,9 @@ const listQuery = {
page: 1,
page_size: 20,
search: '',
- questioncat:''
+ questioncat:'',
+ year:'',
+ type:''
};
export default {
components: { Pagination },
@@ -237,8 +252,8 @@ export default {
});
},
getQuestioncatList() {
- getQuestioncatList().then(response => {
- this.questioncatData = response.data.results;
+ getQuestioncatList({page:0}).then(response => {
+ this.questioncatData = response.data;
});
},
handleImport(){
diff --git a/server/apps/exam/migrations/0006_alter_paper_paper_types.py b/server/apps/exam/migrations/0006_alter_paper_paper_types.py
deleted file mode 100644
index 2e2ac3e..0000000
--- a/server/apps/exam/migrations/0006_alter_paper_paper_types.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Generated by Django 3.2.12 on 2024-06-24 03:16
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('exam', '0005_alter_paper_questions'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='paper',
- name='paper_types',
- field=models.IntegerField(choices=[(10, '押题'), (20, '抽考')], default=10, verbose_name='试卷类型'),
- ),
- ]
diff --git a/server/apps/exam/migrations/0006_auto_20240827_1731.py b/server/apps/exam/migrations/0006_auto_20240827_1731.py
new file mode 100644
index 0000000..a499dd6
--- /dev/null
+++ b/server/apps/exam/migrations/0006_auto_20240827_1731.py
@@ -0,0 +1,28 @@
+# Generated by Django 3.2.12 on 2024-08-27 09:31
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('exam', '0005_alter_paper_questions'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='paper',
+ name='category',
+ field=models.ManyToManyField(blank=True, null=True, related_name='paper_category', to='exam.Questioncat', verbose_name='题库分类'),
+ ),
+ migrations.AlterField(
+ model_name='paper',
+ name='paper_types',
+ field=models.CharField(choices=[('押题', '押题'), ('抽考', '抽考')], default='押题', max_length=50, verbose_name='试卷类型'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='year',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='真题年份'),
+ ),
+ ]
diff --git a/server/apps/exam/migrations/0007_alter_question_year.py b/server/apps/exam/migrations/0007_alter_question_year.py
new file mode 100644
index 0000000..1fba582
--- /dev/null
+++ b/server/apps/exam/migrations/0007_alter_question_year.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2.12 on 2024-08-27 09:45
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('exam', '0006_auto_20240827_1731'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='question',
+ name='year',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='真题年份和备注'),
+ ),
+ ]
diff --git a/server/apps/exam/models.py b/server/apps/exam/models.py
index 04b89d9..d631baa 100644
--- a/server/apps/exam/models.py
+++ b/server/apps/exam/models.py
@@ -40,7 +40,7 @@ class Question(CommonADModel):
right = JSONField(verbose_name='正确答案')
resolution = models.TextField(verbose_name='解析', blank=True)
enabled = models.BooleanField('是否启用', default=False)
- year = models.IntegerField('真题年份', null=True, blank=True)
+ year = models.CharField(max_length=200, verbose_name='真题年份和备注', null=True, blank=True)
class Meta:
verbose_name = '题目'
@@ -56,7 +56,7 @@ class Paper(CommonAModel):
('抽考', '抽考'),
)
- paper_types = models.CharField(default='押题', max_length=50,choices=cate_types, verbose_name='试卷类型')
+ paper_types = models.CharField(default='押题', max_length=50, choices=cate_types, verbose_name='试卷类型')
name = models.CharField(max_length=200, verbose_name='名称', unique=True)
questions = models.ManyToManyField(Question, through='PaperQuestion', null=True, blank=True)
limit = models.IntegerField(default=0, verbose_name='限时(分钟)')
diff --git a/server/apps/exam/views.py b/server/apps/exam/views.py
index 5a530c4..3b294d2 100644
--- a/server/apps/exam/views.py
+++ b/server/apps/exam/views.py
@@ -79,8 +79,9 @@ class QuestionViewSet(CreateUpdateCustomMixin, ModelViewSet):
perms_map = {'get': '*', 'post':'question', 'put':'question', 'delete':'question'}
queryset = Question.objects.all()
serializer_class = QuestionSerializer
- filterset_fields = ['level', 'type', 'year', 'questioncat']
- search_fields = ['name', 'options', 'resolution']
+ filterset_fields = ['level', 'type', 'questioncat']
+ search_fields = ['name', 'options', 'resolution', 'create_time', 'year']
+ ordering = ['-create_time']
def destroy(self, request, *args, **kwargs):
"""