<template>
|
<div class="app-container">
|
<div style="display: flex">
|
<div>
|
<span style="font-size: 14px;margin-right:10px">题库名称:</span>
|
<el-input v-model="queryParams.name" style="width: 200px" placeholder="请输入题库名称" clearable></el-input>
|
<span style="font-size: 14px;margin: 0 20px">平台:</span>
|
<el-select v-model="queryParams.institutionId" placeholder="请选择平台" clearable>
|
<el-option
|
v-for="item in platformList"
|
:key="item.id"
|
:label="item.institutionalName"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
<el-button
|
size="small"
|
type="primary"
|
style="margin-bottom: 10px;margin-left: 20px"
|
@click="handleQuery()"
|
>查询</el-button>
|
<el-button
|
plain
|
size="small"
|
type="primary"
|
style="margin-bottom: 10px"
|
@click="resetQuery()"
|
>重置</el-button>
|
</div>
|
</div>
|
<el-table v-loading="loading" :data="dataList">
|
<el-table-column label="序号" align="center" type="index" width="80" />
|
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
<el-table-column label="平台名称" align="center" prop="institutionName" />
|
<el-table-column label="题库名称" align="center" prop="name" />
|
<el-table-column label="题库题目总数" align="center" prop="totalCount" />
|
<el-table-column label="单选题数量" align="center" prop="singleCount" />
|
<el-table-column label="多选题数量" align="center" prop="multiCount" />
|
<el-table-column label="判断题数量" align="center" prop="judgeCount" />
|
<el-table-column label="简答题数量" align="center" prop="easyCount" />
|
<el-table-column label="混合题数量" align="center" prop="mixCount" />
|
<el-table-column label="其他题目数量" align="center" prop="otherCount" />
|
<el-table-column label="删除标识" align="center">
|
<template #default="scope">
|
{{scope.row.delFlag == 0 ? '未删除' : scope.row.delFlag == 2 ?'已删除' : ''}}
|
</template>
|
</el-table-column>
|
<el-table-column label="模拟考核组卷" align="center" class-name="small-padding fixed-width">
|
<template #default="scope">
|
<el-button
|
:loading="btnLoading"
|
type="primary"
|
@click="groupExam(scope.row)"
|
>立即组卷</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination
|
v-show="total>0"
|
:total="total"
|
:page.sync="queryParams.pageNum"
|
:limit.sync="queryParams.pageSize"
|
@pagination="getList"
|
/>
|
<el-dialog
|
:visible.sync="showDialog"
|
width="500px"
|
:before-close="handleClose">
|
<div style="font-size: 16px">
|
<div>已向 <span class="titleText">{{chooseItem.institutionName}}</span> 发送基于题库 <span class="titleText">{{chooseItem.name}}</span> 的组卷要求,学员可登录平台进行模拟考试。</div>
|
</div>
|
<span slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="handleClose">确 定</el-button>
|
</span>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
|
import { delPlat, listPlatSelect } from '@/api/onlineEducation/plat'
|
import { getQuestion } from '@/api/onlineEducation/question'
|
|
export default {
|
name: "nPeopleManage",
|
dicts: [],
|
components: {},
|
data() {
|
return {
|
loading: false,
|
single: true,
|
multiple: true,
|
showSearch: true,
|
addForm: false,
|
total: 0,
|
expertTypes: [],
|
dataList: [],
|
queryParams: {
|
name: '',
|
institutionId: null,
|
pageNum: 1,
|
pageSize: 10,
|
},
|
platformList: [],
|
btnLoading:false,
|
showDialog:false,
|
chooseItem: {}
|
};
|
},
|
created() {
|
this.getPlat();
|
this.getList();
|
},
|
methods: {
|
getList(){
|
this.loading = true;
|
getQuestion(this.queryParams).then(res => {
|
if(res.code === 200){
|
this.dataList = res.rows
|
this.total = res.total
|
this.loading = false;
|
}else {
|
this.$message({
|
message: res.msg,
|
type: 'warning'
|
})
|
}
|
})
|
},
|
getPlat() {
|
listPlatSelect().then((res) => {
|
if (res.code == 200) {
|
this.platformList = res.data
|
}
|
})
|
|
},
|
handleChange(){
|
|
},
|
handleQuery(){
|
this.getList();
|
},
|
resetQuery(){
|
this.queryParams = {
|
pageNum: 1,
|
pageSize: 10,
|
institutionId: '',
|
name: ''
|
}
|
this.getList();
|
},
|
groupExam(row){
|
this.$confirm('确认立即组卷该题库?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
this.btnLoading = true
|
setTimeout(() => {
|
this.chooseItem = row
|
console.log('row',row)
|
this.showDialog = true
|
this.btnLoading = false
|
}, 1500);
|
})
|
},
|
handleClose() {
|
this.chooseItem = {}
|
this.showDialog = false
|
}
|
}
|
};
|
</script>
|
<style lang="scss" scoped>
|
.titleText{
|
font-size: 16px;
|
font-weight: 600;
|
color: #1890ff;
|
}
|
.dialog-footer{
|
display: flex;
|
justify-content: center;
|
}
|
</style>
|