提交 ef3294c3 authored 作者: lihuihui's avatar lihuihui

update

上级 8e0e35ab
...@@ -4,7 +4,13 @@ import httpRequest from '@/utils/axios' ...@@ -4,7 +4,13 @@ import httpRequest from '@/utils/axios'
* 获取应用列表 * 获取应用列表
*/ */
export function getAppList(params) { export function getAppList(params) {
return httpRequest.get('/api/permissions/admin/v1/applications', { params }) return httpRequest.get('/qbs/admin/v1/questions', { params })
}
/**
* 获取题目分类树形结构
*/
export function getQuestionCategory(params) {
return httpRequest.get(`/qbs/admin/v1/question-category/tree/${params}`)
} }
/** /**
* 获取应用详情 * 获取应用详情
......
<template>
<div>
<!-- <el-divider content-position="center" class="divider">子题目1</el-divider> -->
<el-form :model="ruleForm" :ruleForm="ruleForm" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="子题目类型" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="难度等级" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="子题目标题" prop="data2">
<el-input v-model="ruleForm.data2"></el-input>
</el-form-item>
<el-form-item label="子题目内容" prop="data2">
<v-editor></v-editor>
</el-form-item>
<el-form-item label="选项">
<radio></radio>
<!-- <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button> -->
<!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
</el-form-item>
<el-form-item label="知识点/标签">
<el-input v-model="ruleForm.data2"></el-input>
</el-form-item>
<el-form-item label="子题目解析" prop="data2">
<v-editor></v-editor>
</el-form-item>
<el-form-item label="试题分类" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option>
<el-option label="多选题" value="questionType2"></el-option>
<el-option label="判断题" value="questionType3"></el-option>
<el-option label="问答题" value="questionType4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">保存子题目</el-button>
<el-button type="primary" @click="resetForm('ruleForm')">删除子题目</el-button>
<!-- <el-input v-model="ruleForm.data2"></el-input> -->
</el-form-item>
</el-form>
</div>
</template>
<script>
import Radio from './QTypeRadio.vue'
import VEditor from '@/components/tinymce/Index.vue'
export default {
components: { VEditor, Radio },
data() {
return {
ruleForm: {}
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template> <template>
<div> <div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="题目类型" prop="name"> <el-form-item label="题目类型" prop="question_type">
<!-- <el-input v-model="ruleForm.name"></el-input> --> <!-- <el-input v-model="ruleForm.name"></el-input> -->
<el-select v-model="ruleForm.name" placeholder="请选择活动区域"> <el-select v-model="ruleForm.question_type" placeholder="请选择活题目类型" @change="changeQuestionType">
<el-option label="区域一" value="shanghai"></el-option> <el-option v-for="(item, index) in qType" :label="item.label" :value="item.value" :key="index"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="难度等级" prop="region"> <el-form-item label="难度等级" prop="question_difficulty">
<el-select v-model="ruleForm.region" placeholder="请选择活动区域"> <el-select v-model="ruleForm.question_difficulty" placeholder="请选择活难度等级">
<el-option label="区域一" value="shanghai"></el-option> <el-option label="易" value="1"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="中" value="2"></el-option>
<el-option label="难" value="3"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="题目标题" required> <el-form-item label="题目标题" prop="question_title">
<el-input v-model="ruleForm.data1"></el-input> <el-input v-model="ruleForm.question_title"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="题干内容" prop="delivery" required> <el-form-item label="题干内容" prop="question_content" required>
<v-editor></v-editor> <v-editor v-model="ruleForm.question_content"></v-editor>
</el-form-item> </el-form-item>
<el-form-item label="选项" prop="delivery" required> <el-form-item label="选项" prop="delivery" required>
<slot></slot> <!-- 单选题 -->
<radio v-if="ruleForm.question_type == 1"></radio>
<!-- 多选题 -->
<checkbox v-if="ruleForm.question_type == 2"></checkbox>
<!-- 判断题 -->
<judgment v-if="ruleForm.question_type == 6"></judgment>
</el-form-item> </el-form-item>
<el-form-item label="标签" prop="type"> <el-form-item label="标签" prop="type">
<el-input v-model="ruleForm.type"></el-input> <el-input v-model="ruleForm.type"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="题目解析" prop="resource"> <el-form-item label="题目解析" prop="question_analysis">
<v-editor></v-editor> <v-editor v-model="ruleForm.question_analysis"></v-editor>
</el-form-item> </el-form-item>
<el-form-item label="试题分类" prop="desc"> <el-form-item label="试题分类" prop="question_category">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域"> <el-select v-model="ruleForm.question_category" placeholder="请选择试题分类">
<el-option label="区域一" value="shanghai"></el-option> <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> <el-option label="区域二" value="beijing"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="知识点" prop="data2"> <el-form-item label="知识点" prop="knowledge_point">
<el-input v-model="ruleForm.data2"></el-input> <el-input v-model="ruleForm.knowledge_point"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button> <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
...@@ -47,31 +52,41 @@ ...@@ -47,31 +52,41 @@
</template> </template>
<script> <script>
import VEditor from '@/components/tinymce/Index.vue' import VEditor from '@/components/tinymce/Index.vue'
import Radio from '../components/QTypeRadio.vue'
import Checkbox from '../components/QTypeCheckbox.vue'
import Judgment from '../components/QTypeJudgment.vue'
export default { export default {
components: { VEditor }, components: { VEditor, Radio, Checkbox, Judgment },
data() { data() {
return { return {
ruleForm: { ruleForm: {
name: '', project_prefix: 'x1',
region: '', question_type: 1,
date1: '', question_difficulty: '',
date2: '', question_title: '',
delivery: false, question_content: '',
type: [], question_options: [],
resource: '', question_analysis: '',
desc: '' question_category: '',
knowledge_point: ''
}, },
qType: [
{ label: '单选题', value: 1 },
{ label: '多选题', value: 2 },
{ label: '简答题', value: 3 },
{ label: '案例题', value: 5 },
{ label: '判断题', value: 6 },
{ label: '实操题', value: 7 },
{ label: '情景题', value: 8 }
],
rules: { rules: {
name: [ question_type: [{ required: true, message: '请选择', trigger: 'change' }],
{ required: true, message: '请输入活动名称', trigger: 'blur' }, question_difficulty: [{ required: true, message: '请选择难度等级', trigger: 'change' }],
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } question_title: [{ required: true, message: '请填写题目标题', trigger: 'blur' }],
], question_content: [{ required: true, message: '请填写题干内容', trigger: 'blur' }],
region: [{ required: true, message: '请选择活动区域', trigger: 'change' }], question_analysis: [{ required: true, message: '请填写题干内容', trigger: 'blur' }],
date1: [{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }], question_category: [{ required: true, message: '请选择试题分类', trigger: 'change' }],
date2: [{ type: 'date', required: true, message: '请选择时间', trigger: 'change' }], knowledge_point: [{ required: true, message: '请输入题目知识点内容', trigger: 'blur' }]
type: [{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }],
resource: [{ required: true, message: '请选择活动资源', trigger: 'change' }],
desc: [{ required: true, message: '请填写活动形式', trigger: 'blur' }]
} }
} }
}, },
...@@ -88,6 +103,9 @@ export default { ...@@ -88,6 +103,9 @@ export default {
}, },
resetForm(formName) { resetForm(formName) {
this.$refs[formName].resetFields() this.$refs[formName].resetFields()
},
changeQuestionType() {
console.log(this.ruleForm.question_type)
} }
} }
} }
......
<template> <template>
<div> <div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form :model="ruleForm" :ruleForm="ruleForm" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="题目类型" prop="desc"> <el-form-item label="题目类型" prop="desc">
<el-select v-model="ruleForm.desc" placeholder="请选择活动区域"> <el-select v-model="ruleForm.desc" placeholder="请选择活动区域">
<el-option label="单选题" value="questionType1"></el-option> <el-option label="单选题" value="questionType1"></el-option>
...@@ -16,15 +16,19 @@ ...@@ -16,15 +16,19 @@
<v-editor></v-editor> <v-editor></v-editor>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<!-- <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button> --> <el-button type="primary" @click="submitForm('ruleForm')">添加子题目</el-button>
<!-- <el-button @click="resetForm('ruleForm')">重置</el-button> --> <el-button type="primary" @click="resetForm('ruleForm')">删除子题目</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<case-chidren></case-chidren>
</div> </div>
</template> </template>
<script> <script>
import CaseChidren from './CaseChidren.vue'
import VEditor from '@/components/tinymce/Index.vue'
export default { export default {
components: { VEditor, CaseChidren },
data() { data() {
return { return {
ruleForm: {} ruleForm: {}
......
<template> <template>
<app-card> <app-card>
<!-- <detail> <detail>
</detail> --> <!-- 单选题 -->
<radio></radio> <!-- <radio></radio> -->
<!-- 多选题 -->
<!-- <checkbox></checkbox> -->
<!-- 判断题 -->
<!-- <judgment></judgment> -->
</detail>
<!-- <v-editor></v-editor> --> <!-- <v-editor></v-editor> -->
</app-card> </app-card>
</template> </template>
<script> <script>
// import Detail from '../components/Detail.vue' import Detail from '../components/Detail.vue'
// import VEditor from '@/components/tinymce/Index.vue' // import VEditor from '@/components/tinymce/Index.vue'
import Radio from '../components/QTypeCase.vue' // import Radio from '../components/QTypeRadio.vue'
// import Checkbox from '../components/QTypeCheckbox.vue'
// import Judgment from '../components/QTypeJudgment.vue'
export default { export default {
components: { Radio } components: { Detail }
} }
</script> </script>
......
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
<el-button type="primary" icon="el-icon-plus" @click="visible = true">批量删除</el-button> <el-button type="primary" icon="el-icon-plus" @click="visible = true">批量删除</el-button>
</template> --> </template> -->
<div class="operate-btn"> <div class="operate-btn">
<el-button type="primary" icon="el-icon-plus" @click="$router.push({ path: '/question/create' })">新建试题</el-button> <el-button type="primary" icon="el-icon-plus" @click="$router.push({ path: '/question/create' })"
>新建试题</el-button
>
<el-button type="primary" icon="el-icon-plus" @click="visible = true">批量导入试题</el-button> <el-button type="primary" icon="el-icon-plus" @click="visible = true">批量导入试题</el-button>
<el-button type="primary" icon="el-icon-plus" @click="visible = true">批量删除</el-button> <el-button type="primary" icon="el-icon-plus" @click="visible = true">批量删除</el-button>
</div> </div>
...@@ -21,7 +23,7 @@ ...@@ -21,7 +23,7 @@
</template> </template>
<script> <script>
import { getAppList } from '../api' import { getAppList, getQuestionCategory } from '../api'
export default { export default {
data() { data() {
...@@ -73,6 +75,9 @@ export default { ...@@ -73,6 +75,9 @@ export default {
} }
} }
}, },
mounted() {
getQuestionCategory('x1').then()
},
methods: { methods: {
// 创建成功刷新列表 // 创建成功刷新列表
handleCreateSuccess() { handleCreateSuccess() {
...@@ -91,7 +96,7 @@ export default { ...@@ -91,7 +96,7 @@ export default {
</script> </script>
<style lang="scss"> <style lang="scss">
.operate-btn{ .operate-btn {
display: flex; display: flex;
padding-bottom: 10px; padding-bottom: 10px;
} }
......
...@@ -20,8 +20,16 @@ export default defineConfig({ ...@@ -20,8 +20,16 @@ export default defineConfig({
key: fs.readFileSync(path.join(__dirname, './https/dev.ezijing.com.key')), key: fs.readFileSync(path.join(__dirname, './https/dev.ezijing.com.key')),
cert: fs.readFileSync(path.join(__dirname, './https/dev.ezijing.com.pem')) cert: fs.readFileSync(path.join(__dirname, './https/dev.ezijing.com.pem'))
}, },
// proxy: {
// '/api': 'https://app.ezijing.com'
// }
proxy: { proxy: {
'/api': 'https://app.ezijing.com' '/api': 'https://app.ezijing.com',
'/qbs': {
target: 'https://question-api.ezijing.com',
changeOrigin: true,
rewrite: path => path.replace(/^\/qbs/, '')
}
} }
}, },
resolve: { resolve: {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论