|
|
@@ -1,12 +1,16 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
+ <el-form-item label="ID" prop="题目ID">
|
|
|
+ <el-input v-model="queryParams.id" placeholder="请输入题目ID" clearable
|
|
|
+ @keyup.enter="handleQuery"/>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="题干" prop="title">
|
|
|
<el-input v-model="queryParams.title" placeholder="请输入题干关键词" clearable
|
|
|
@keyup.enter="handleQuery"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="类型" prop="qtpye">
|
|
|
- <!-- <el-input v-model="queryParams.qtpye" placeholder="请输入类型" clearable @keyup.enter="handleQuery" /> -->
|
|
|
+ <el-form-item label="题型" prop="qtpye">
|
|
|
+ <!-- <el-input v-model="queryParams.qtpye" placeholder="请输入题型" clearable @keyup.enter="handleQuery" /> -->
|
|
|
<!-- <dict-tag :options="question_type" :value="queryParams.qtpye"/> -->
|
|
|
<el-select v-model="queryParams.typeId" clearable @change="handleQuery" style="width: 172px">
|
|
|
<el-option v-for="q in question_type" :label="q.label" :value="q.value"/>
|
|
|
@@ -22,9 +26,9 @@
|
|
|
:render-after-expand="false" style="" :props="{ label: 'name', children: 'children' }"
|
|
|
placeholder="请选择知识点" class="w-[172px]!" @change="handleQuery"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="难度" prop="diff">
|
|
|
+ <!-- <el-form-item label="难度" prop="diff">
|
|
|
<el-input v-model="queryParams.diff" placeholder="请输入难度" clearable @keyup.enter="handleQuery"/>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<!-- <el-form-item label="相似度" prop="similarity">
|
|
|
<el-input v-model="queryParams.similarity" placeholder="请输入试题在题库中的相似度" clearable @keyup.enter="handleQuery" />
|
|
|
</el-form-item> -->
|
|
|
@@ -39,9 +43,14 @@
|
|
|
<el-form-item label="来源" prop="source">
|
|
|
<el-input v-model="queryParams.source" placeholder="请输入来源" clearable @keyup.enter="handleQuery"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="试题来源" prop="fromSite">
|
|
|
+ <!-- <el-form-item label="试题来源" prop="fromSite">
|
|
|
<el-input v-model="queryParams.fromSite" placeholder="请输入试题来源" clearable
|
|
|
@keyup.enter="handleQuery"/>
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="包含子题" prop="isSubType">
|
|
|
+ <el-select v-model="queryParams.isSubType" placeholder="请选择包含子题" clearable style="width: 172px">
|
|
|
+ <el-option v-for="item in bool_values" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
@@ -79,33 +88,40 @@
|
|
|
|
|
|
<el-table v-loading="loading" :data="questionsList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" fixed="left"/>
|
|
|
- <!-- <el-table-column label="id" align="center" prop="id" fixed="left" /> -->
|
|
|
- <el-table-column label="试题-题干" align="left" prop="title" min-width="450" header-align="center"
|
|
|
+ <el-table-column label="ID" align="center" prop="id" fixed="left" />
|
|
|
+ <el-table-column label="试题-题干" align="left" prop="title" min-width="350" header-align="center"
|
|
|
show-overflow-tooltip fixed="left"/>
|
|
|
- <el-table-column label="类型" align="center" prop="qtpye"/>
|
|
|
- <el-table-column label="学科Id" align="center" prop="subjectId"/>
|
|
|
+ <el-table-column label="题型" align="center" prop="qtpye"/>
|
|
|
+ <el-table-column label="学科" align="center" prop="subjectId">
|
|
|
+ <template #default="scope">
|
|
|
+ <span v-if="scope.row.subjectId">
|
|
|
+ {{ getSubjectName(scope.row.subjectId) }}
|
|
|
+ </span>
|
|
|
+ <span v-else>-</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="知识点" align="center" prop="knowledgeId"/>
|
|
|
<el-table-column label="选项A" align="center" prop="optionA" show-overflow-tooltip/>
|
|
|
<el-table-column label="选项B" align="center" prop="optionB" show-overflow-tooltip/>
|
|
|
<el-table-column label="选项C" align="center" prop="optionC" show-overflow-tooltip/>
|
|
|
<el-table-column label="选项D" align="center" prop="optionD" show-overflow-tooltip/>
|
|
|
<el-table-column label="选项E" align="center" prop="optionE" show-overflow-tooltip/>
|
|
|
- <el-table-column label="选项D" align="center" prop="optionF" show-overflow-tooltip/>
|
|
|
- <el-table-column label="选项E" align="center" prop="optionG" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="选项F" align="center" prop="optionF" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="选项G" align="center" prop="optionG" show-overflow-tooltip/>
|
|
|
<el-table-column label="标准答案" align="center" prop="answer1" show-overflow-tooltip/>
|
|
|
<el-table-column label="答案2" align="center" prop="answer2" show-overflow-tooltip/>
|
|
|
- <el-table-column label="试卷Id" align="center" prop="paperId"/>
|
|
|
- <el-table-column label="难易度" align="center" prop="diff"/>
|
|
|
- <el-table-column label="相似度" align="center" prop="similarity"/>
|
|
|
+ <!-- <el-table-column label="试卷Id" align="center" prop="paperId"/> -->
|
|
|
+ <!-- <el-table-column label="难易度" align="center" prop="diff"/> -->
|
|
|
+ <!-- <el-table-column label="相似度" align="center" prop="similarity"/> -->
|
|
|
<el-table-column label="试题解析" align="center" prop="parse" min-width="250" show-overflow-tooltip/>
|
|
|
<!-- <el-table-column label="knowId" align="center" prop="knowId" /> -->
|
|
|
- <el-table-column label="年级ID" align="center" prop="gradeId"/>
|
|
|
+ <!-- <el-table-column label="年级ID" align="center" prop="gradeId"/> -->
|
|
|
<!-- <el-table-column label="knowledges" align="center" prop="knowledges" /> -->
|
|
|
- <el-table-column label="试题区域" align="center" prop="area"/>
|
|
|
+ <!-- <el-table-column label="试题区域" align="center" prop="area"/> -->
|
|
|
<el-table-column label="试题年份" align="center" prop="year"/>
|
|
|
- <el-table-column label="试题类型" align="center" prop="paperTpye"/>
|
|
|
+ <!-- <el-table-column label="试题类型" align="center" prop="paperTpye"/> -->
|
|
|
<el-table-column label="来源" align="center" prop="source"/>
|
|
|
- <el-table-column label="试题来源" align="center" prop="fromSite"/>
|
|
|
+ <!-- <el-table-column label="试题来源" align="center" prop="fromSite"/> -->
|
|
|
<el-table-column label="图片水印" align="center" prop="isSub"/>
|
|
|
<el-table-column label="常规题" align="center" prop="isNormal"/>
|
|
|
<el-table-column label="匹配知识点" align="center" prop="isKonw" min-width="120"/>
|
|
|
@@ -113,17 +129,25 @@
|
|
|
<!-- <el-table-column label="试题题干的md5值" align="center" prop="md5" /> -->
|
|
|
<el-table-column label="是否唯一" align="center" prop="isunique"/>
|
|
|
<!-- <el-table-column label="md52" align="center" prop="md52" /> -->
|
|
|
- <el-table-column label="得分" align="center" prop="score"/>
|
|
|
+ <el-table-column label="分值" align="center" prop="score"/>
|
|
|
<el-table-column label="选项" align="center" prop="options"/>
|
|
|
<!-- <el-table-column label="number" align="center" prop="number" /> -->
|
|
|
<!-- <el-table-column label="paperTypeTitle" align="center" prop="paperTypeTitle" /> -->
|
|
|
<el-table-column label="选项" align="center" prop="options0"/>
|
|
|
- <el-table-column label="试题-材料题题干" align="center" prop="title0" min-width="130"/>
|
|
|
- <el-table-column label="试题-材料题题干" align="center" prop="title1" min-width="130"/>
|
|
|
+ <el-table-column label="试题-材料题题干" align="center" prop="title0" min-width="130" show-overflow-tooltip/>
|
|
|
+ <el-table-column label="试题-材料题题干" align="center" prop="title1" min-width="130" show-overflow-tooltip/>
|
|
|
<el-table-column label="试题解析" align="left" prop="parse0" header-align="center" show-overflow-tooltip/>
|
|
|
<el-table-column label="answer0" align="center" prop="answer0"/>
|
|
|
- <el-table-column label="是否更新" align="center" prop="isUpdate"/>
|
|
|
- <el-table-column label="子题类型" align="center" prop="isSubType"/>
|
|
|
+ <el-table-column label="是否更新" align="center" prop="isUpdate">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="bool_values" :value="scope.row.isUpdate" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="包含子题" align="center" prop="isSubType">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="bool_values" :value="scope.row.isSubType" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="140"
|
|
|
fixed="right">
|
|
|
<template #default="scope">
|
|
|
@@ -143,6 +167,9 @@
|
|
|
<!-- 添加或修改试题对话框 -->
|
|
|
<el-dialog :title="title" v-model="open" width="700px" append-to-body>
|
|
|
<el-form ref="questionsRef" :model="form" :rules="rules" label-width="140px">
|
|
|
+ <el-form-item label="题型" prop="qtpye">
|
|
|
+ <el-input v-model="form.qtpye" type="text" placeholder="请输入内容"/>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="试题-题干" prop="title">
|
|
|
<el-input v-model="form.title" type="textarea" placeholder="请输入内容"/>
|
|
|
</el-form-item>
|
|
|
@@ -179,8 +206,10 @@
|
|
|
<el-option v-for="q in question_type" :label="q.label" :value="q.value"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学科Id" prop="subjectId">
|
|
|
- <el-input v-model="form.subjectId" placeholder="请输入学科Id"/>
|
|
|
+ <el-form-item label="学科" prop="subjectId">
|
|
|
+ <el-select v-model="form.subjectId" placeholder="请选择学科">
|
|
|
+ <el-option v-for="s in subjectList" :label="s.subjectName" :value="s.subjectId"/>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="${comment}" prop="paperId">
|
|
|
<el-input v-model="form.paperId" placeholder="请输入${comment}" />
|
|
|
@@ -245,8 +274,8 @@
|
|
|
<!-- <el-form-item label="${comment}" prop="md52">
|
|
|
<el-input v-model="form.md52" placeholder="请输入${comment}" />
|
|
|
</el-form-item> -->
|
|
|
- <el-form-item label="得分" prop="score">
|
|
|
- <el-input v-model="form.score" placeholder="请输入得分"/>
|
|
|
+ <el-form-item label="分值" prop="score">
|
|
|
+ <el-input v-model="form.score" placeholder="请输入分值"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="选项" prop="options">
|
|
|
<el-input v-model="form.options" type="textarea" placeholder="请输入内容"/>
|
|
|
@@ -307,10 +336,12 @@ import {listQuestions, getQuestions, delQuestions, addQuestions, updateQuestions
|
|
|
import {listKnowledgeTree} from "@/api/learn/knowledgeTree"
|
|
|
import {listAllSubject} from "@/api/dz/subject"
|
|
|
import {ElMessage} from "element-plus";
|
|
|
+import DictTag from '@/components/DictTag/index.vue'
|
|
|
|
|
|
const {proxy} = getCurrentInstance()
|
|
|
const {question_type} = proxy.useDict('question_type')
|
|
|
const {paper_type} = proxy.useDict('paper_type')
|
|
|
+const {bool_values} = proxy.useDict('bool_values')
|
|
|
const questionsList = ref([])
|
|
|
const open = ref(false)
|
|
|
const loading = ref(true)
|
|
|
@@ -334,6 +365,7 @@ const data = reactive({
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
+ id: null,
|
|
|
title: null,
|
|
|
optionA: null,
|
|
|
optionB: null,
|
|
|
@@ -408,6 +440,15 @@ function getSubjectList() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+/** 根据学科ID获取学科名称 */
|
|
|
+function getSubjectName(subjectId) {
|
|
|
+ if (!subjectId || !subjectList.value || subjectList.value.length === 0) {
|
|
|
+ return '-'
|
|
|
+ }
|
|
|
+ const subject = subjectList.value.find(s => s.subjectId === subjectId)
|
|
|
+ return subject ? subject.subjectName : '-'
|
|
|
+}
|
|
|
+
|
|
|
// 取消按钮
|
|
|
function cancel() {
|
|
|
open.value = false
|