增加题目启用功能完成

This commit is contained in:
caoqianming 2021-03-28 15:41:24 +08:00
parent 3545c29c45
commit d65c17c793
3 changed files with 51 additions and 7 deletions

View File

@ -121,4 +121,12 @@ export function exportQuestion(query) {
method: 'get', method: 'get',
params: query params: query
}) })
}
export function enableQuestions(data) {
return request({
url: '/question/question/enable/',
method: 'post',
data
})
} }

View File

@ -44,6 +44,9 @@
>刷新重置</el-button> >刷新重置</el-button>
<div style="margin-top:10px"> <div style="margin-top:10px">
<el-button type="primary" slot="reference" @click="handleAdd()">新增</el-button> <el-button type="primary" slot="reference" @click="handleAdd()">新增</el-button>
<el-button
@click="handleEnabled"
>启用</el-button>
<el-popover <el-popover
placement="top" placement="top"
width="160" width="160"
@ -79,20 +82,27 @@
highlight-current-row highlight-current-row
max-height="600" max-height="600"
@sort-change="changeSort" @sort-change="changeSort"
@selection-change="handleSelectionChange"
> >
<el-table-column type="index" width="50"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column align="left" label="题干" sortable="custom" prop="name"> <el-table-column label="题干" sortable="custom" prop="name">
<template slot-scope="scope">{{ scope.row.name }}</template> <template slot-scope="scope">{{ scope.row.name }}</template>
</el-table-column> </el-table-column>
<el-table-column align="left" label="所属题库"> <el-table-column label="所属题库">
<template slot-scope="scope">{{ scope.row.questioncat_name }}</template> <template slot-scope="scope">{{ scope.row.questioncat_name }}</template>
</el-table-column> </el-table-column>
<el-table-column align="left" label="题型"> <el-table-column label="题型">
<template slot-scope="scope">{{ scope.row.type }}</template> <template slot-scope="scope">{{ scope.row.type }}</template>
</el-table-column> </el-table-column>
<el-table-column align="left" label="难易度"> <el-table-column label="难易度">
<template slot-scope="scope">{{ scope.row.level }}</template> <template slot-scope="scope">{{ scope.row.level }}</template>
</el-table-column> </el-table-column>
<el-table-column label="是否启用">
<template slot-scope="scope">
<el-tag v-if="scope.row.enabled" type="success"></el-tag>
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="创建日期"> <el-table-column label="创建日期">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.create_time }}</span> <span>{{ scope.row.create_time }}</span>
@ -137,7 +147,7 @@
<div>{{question.type}}</div> <div>{{question.type}}</div>
<div >{{question.name}}</div> <div >{{question.name}}</div>
<ul id="repeat"> <ul id="repeat">
<li v-for="(value,key,index) in question.options"> <li v-for="(value,key) in question.options" v-bind:key="key">
{{ key }}: {{ key }}:
<span>{{value}}</span> <span>{{value}}</span>
</li> </li>
@ -157,7 +167,8 @@ import {
getQuestionList, getQuestionList,
deleteQuestion, deleteQuestion,
importQuestion, importQuestion,
exportQuestion exportQuestion,
enableQuestions
} from "@/api/question"; } from "@/api/question";
import { genTree, deepClone } from "@/utils"; import { genTree, deepClone } from "@/utils";
import checkPermission from "@/utils/permission"; import checkPermission from "@/utils/permission";
@ -202,6 +213,7 @@ export default {
], ],
question:{}, question:{},
questioncatC:[], questioncatC:[],
selects:[],
}; };
}, },
computed: {}, computed: {},
@ -313,6 +325,23 @@ export default {
this.getList(); this.getList();
}, },
handleSelectionChange(val) {
let selects = [];
for (var i = 0; i < val.length; i++) {
selects.push(val[i].id);
}
this.selects = selects;
},
handleEnabled() {
if (this.selects.length) {
enableQuestions({ids:this.selects}).then(res=>{
this.$message.success("成功");
this.getList();
})
} else {
this.$message.warning("请先选择题目");
}
}
} }
}; };
</script> </script>

View File

@ -143,6 +143,13 @@ class QuestionViewSet(ModelViewSet):
i.save() i.save()
return Response() return Response()
@action(methods=['post'], detail=False, url_name='enable_question', permission_classes=[IsAuthenticated])
def enable(self, request):
ids = request.data.get('ids',None)
if ids:
Question.objects.filter(pk__in=ids).update(enabled=True)
return Response(status=status.HTTP_200_OK)
@action(methods=['post'], detail=False, @action(methods=['post'], detail=False,
url_path='import', url_name='import_question',perms_map=[{'post':'question_import'}]) url_path='import', url_name='import_question',perms_map=[{'post':'question_import'}])
def import_question(self, request): def import_question(self, request):