Commit 0d2b602c authored by 张伯涛's avatar 张伯涛

Merge remote-tracking branch 'origin/1.0' into 1.0

parents b9a969b6 6a1992d9
import request from '@/utils/request'
import Qs from 'qs'
/**
* 1. 列表查询
* 2. 查询详细信息
* 3. 新增
* 4. 修改
* 5. 逻辑删除
* 6. 导出
*
*/
// 1. 查询试卷表列表
export function listTeaExamExaminationPaper(query) {
return request({
url: '/teaexamexaminationpaper/queryTeaExamExaminationPaperByPagination',
method: 'get',
params: query
})
}
// 2. 查询试卷表详细信息
export function getTeaExamExaminationPaper(businessId) {
return request({
url: '/teaexamexaminationpaper/detail/' + businessId,
method: 'get'
})
}
// 3. 新增试卷表
export function addTeaExamExaminationPaper(data) {
data = Qs.stringify(data)
return request({
url: '/teaexamexaminationpaper/add',
method: 'post',
data: data
})
}
// 4. 修改试卷表
export function updateTeaExamExaminationPaper(data) {
const businessId = data.businessId
data = Qs.stringify(data)
return request({
url: '/teaexamexaminationpaper/update/' + businessId,
method: 'put',
data
})
}
// 5. 逻辑删除试卷表
export function delTeaExamExaminationPaper(businessId) {
return request({
url: '/teaexamexaminationpaper/deleteLogical/' + businessId,
method: 'delete'
})
}
// 6. 导出试卷表
export function exportTeaExamExaminationPaper(query) {
return request({
url: '/teaexamexaminationpaper/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
import request from '@/utils/request'
import Qs from 'qs'
/**
* 1. 列表查询
* 2. 查询详细信息
* 3. 新增
* 4. 修改
* 5. 逻辑删除
* 6. 导出
*
*/
// 1. 查询试题表列表
export function listTeaExamQuestions(query) {
return request({
url: '/teaexamquestions/queryTeaExamQuestionsByPagination',
method: 'get',
params: query
})
}
// 2. 查询试题表详细信息
export function getTeaExamQuestions(businessId) {
return request({
url: '/teaexamquestions/detail/' + businessId,
method: 'get'
})
}
// 3. 新增试题表
export function addTeaExamQuestions(data) {
data = Qs.stringify(data)
return request({
url: '/teaexamquestions/add',
method: 'post',
data: data
})
}
// 4. 修改试题表
export function updateTeaExamQuestions(data) {
const businessId = data.businessId
data = Qs.stringify(data)
return request({
url: '/teaexamquestions/update/' + businessId,
method: 'put',
data
})
}
// 5. 逻辑删除试题表
export function delTeaExamQuestions(businessId) {
return request({
url: '/teaexamquestions/deleteLogical/' + businessId,
method: 'delete'
})
}
// 6. 导出试题表
export function exportTeaExamQuestions(query) {
return request({
url: '/teaexamquestions/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
...@@ -248,6 +248,7 @@ export default { ...@@ -248,6 +248,7 @@ export default {
res.rows.forEach(item => { res.rows.forEach(item => {
item.srclist = [] item.srclist = []
item.srclist.push(this.imagePath + item.path) item.srclist.push(this.imagePath + item.path)
console.log(item.srclist)
}) })
_this.tableData = res.rows _this.tableData = res.rows
_this.fullscreenLoading = false _this.fullscreenLoading = false
......
...@@ -272,6 +272,7 @@ export default { ...@@ -272,6 +272,7 @@ export default {
}) })
} else { } else {
// 新增 // 新增
form.flag = '1'
addCmsProject(form).then(res => { addCmsProject(form).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message({ this.$message({
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<div style="padding:5px 10px"> <div style="padding:5px 10px">
<el-table class="table" v-loading="loading" border :data="cmsContestList"> <el-table class="table" v-loading="loading" border :data="cmsContestList">
<el-table-column type="index" label="序号" width="60" align="center"/> <el-table-column type="index" label="序号" width="60" align="center"/>
<el-table-column label="封面" prop="contestPicture" :show-overflow-tooltip="true" width="150"> <el-table-column label="封面" prop="contestPicture" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div :id="step(scope.$index)" class="img"> <div :id="step(scope.$index)" class="img">
<el-image @click="handleClickStop(scope.$index)" style="width:100px;height:100%;" :src="imagePath+scope.row.url" :preview-src-list="[imagePath+scope.row.url]"/> <el-image @click="handleClickStop(scope.$index)" style="width:100px;height:100%;" :src="imagePath+scope.row.url" :preview-src-list="[imagePath+scope.row.url]"/>
......
...@@ -98,9 +98,11 @@ ...@@ -98,9 +98,11 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="18" > <el-col :span="18">
<el-form-item label="新闻内容:" prop="remarks"> <el-form-item label="新闻内容:" prop="remarks">
<div class="ql-editor">
<vue-editor id="editorsay" v-model="form.details" :editor-toolbar="customToolbar" @image-added="handleImageAdded" /> <vue-editor id="editorsay" v-model="form.details" :editor-toolbar="customToolbar" @image-added="handleImageAdded" />
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -314,6 +316,7 @@ export default { ...@@ -314,6 +316,7 @@ export default {
}) })
} else { } else {
// 新增 // 新增
form.flag = '1'
addSysContentNewsInformation(form).then(res => { addSysContentNewsInformation(form).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.$message({ this.$message({
......
...@@ -280,7 +280,7 @@ ...@@ -280,7 +280,7 @@
:class="commonField.updateClass" :class="commonField.updateClass"
:type="commonField.typeParent" :type="commonField.typeParent"
:size="commonField.size" :size="commonField.size"
@click="handleExamination(scope.$index)" @click="handleExamination(scope.row)"
>考试管理</el-button> >考试管理</el-button>
<el-button <el-button
:class="commonField.updateClass" :class="commonField.updateClass"
...@@ -622,6 +622,7 @@ export default { ...@@ -622,6 +622,7 @@ export default {
obj.id = i + 1 obj.id = i + 1
obj.tcode = pages[i].code obj.tcode = pages[i].code
obj.tlessonName = pages[i].lessonName obj.tlessonName = pages[i].lessonName
obj.bussinessId = pages[i].businessId
obj.tname = pages[i].name obj.tname = pages[i].name
obj.tsex = (pages[i].sex == '1') ? '女' : '男' obj.tsex = (pages[i].sex == '1') ? '女' : '男'
obj.imageSrc = pages[i].defaultUrl ? pages[i].defaultUrl : require('@/assets/image/test.png') obj.imageSrc = pages[i].defaultUrl ? pages[i].defaultUrl : require('@/assets/image/test.png')
...@@ -762,9 +763,14 @@ export default { ...@@ -762,9 +763,14 @@ export default {
} }
}, },
// 跳转考试管理 // 跳转考试管理
handleExamination(index) { handleExamination(data) {
console.log('data', data)
this.$router.push({ this.$router.push({
path: '/courseInformation/examinationManagement/index' path: '/courseInformation/examinationManagement/index',
query: {
bussinessId: data.bussinessId,
name: data.tlessonName
}
}) })
}, },
// 下载模板 // 下载模板
......
...@@ -5,19 +5,18 @@ ...@@ -5,19 +5,18 @@
<div class="search" style="border-bottom: 14px solid #f4f4f4"> <div class="search" style="border-bottom: 14px solid #f4f4f4">
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true"> <el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="题目编号" prop="title"> <el-form-item label="题目编号" prop="title">
<el-input v-model="queryParams.title" placeholder="请输入标题" :maxlength="15" style="margin-right: 15px" /> <el-input v-model="queryParams.number" placeholder="请输入标题" :maxlength="15" style="margin-right: 15px" />
</el-form-item> </el-form-item>
<el-form-item label="题型" prop="unit"> <el-form-item label="题型" prop="题型">
<el-select v-model="queryParams.unit" placeholder="请选择题型" style="width: 200px"> <el-select v-model="queryParams.questionType" placeholder="请选择题型" style="width: 200px">
<el-option label="单选题" value="1" /> <el-option label="单选题" value="1" />
<el-option label="多选题" value="2" /> <el-option label="多选题" value="2" />
<el-option label="判断题" value="3" /> <el-option label="判断题" value="3" />
<el-option label="填空题" value="4" /> <el-option label="简答题" value="4" />
<el-option label="简答题" value="5" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="题目难度" prop="unit"> <el-form-item label="题目难度" prop="unit">
<el-select v-model="queryParams.unit" placeholder="请选择题目难度" style="width: 200px"> <el-select v-model="queryParams.difficulty" placeholder="请选择题目难度" style="width: 200px">
<el-option label="简单" value="1" /> <el-option label="简单" value="1" />
<el-option label="一般" value="2" /> <el-option label="一般" value="2" />
<el-option label="困难" value="3" /> <el-option label="困难" value="3" />
...@@ -50,12 +49,6 @@ ...@@ -50,12 +49,6 @@
:size="commonField.smallSize" :size="commonField.smallSize"
@click="handleAdd" @click="handleAdd"
>{{ commonField.addName }}</el-button> >{{ commonField.addName }}</el-button>
<el-button
:class="commonField.importClass"
:type="commonField.typeWarning"
:icon="commonField.importIcon"
:size="commonField.smallSize"
>{{ commonField.importName }}</el-button>
<!-- <input id="btn_file" type="file" style="display:none" @change="fileupload">--> <!-- <input id="btn_file" type="file" style="display:none" @change="fileupload">-->
</el-form-item> </el-form-item>
</div> </div>
...@@ -70,10 +63,10 @@ ...@@ -70,10 +63,10 @@
<span>{{ scope.$index + 1 }}</span> <span>{{ scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="title" label="题目编号" width="120" show-overflow-tooltip /> <el-table-column prop="number" label="题目编号" width="120" show-overflow-tooltip />
<el-table-column prop="type" label="题型" width="100" show-overflow-tooltip> <el-table-column prop="questionType" label="题型" width="100" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ typeChange(scope.row.type) }}</span> <span>{{ typeChange(scope.row.questionType) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="difficulty" label="难度" width="100"> <el-table-column prop="difficulty" label="难度" width="100">
...@@ -81,16 +74,16 @@ ...@@ -81,16 +74,16 @@
<span>{{ difficultyChange(scope.row.difficulty) }}</span> <span>{{ difficultyChange(scope.row.difficulty) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="content" label="题干" show-overflow-tooltip /> <el-table-column prop="questionStem" label="题干" show-overflow-tooltip />
<!-- <el-table-column prop="content" label="题目内容" show-overflow-tooltip />-->
<el-table-column prop="answer" label="标准答案" width="100" show-overflow-tooltip /> <el-table-column prop="answer" label="标准答案" width="100" show-overflow-tooltip />
<el-table-column prop="createAt" label="创建时间" width="180" /> <el-table-column prop="createDate" label="创建时间" width="180" />
<el-table-column prop="fraction" label="分数" width="100" /> <el-table-column prop="mark" label="分数" width="100" />
<el-table-column prop="status" label="状态" width="100"> <el-table-column prop="weight" label="权重" width="120" show-overflow-tooltip />
<el-table-column prop="flag" label="状态" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
v-model="scope.row.status" v-model="scope.row.flag"
class="switchDisabledStyle" class="switchDisabledStyle"
inactive-value="0" inactive-value="0"
active-value="1" active-value="1"
...@@ -98,7 +91,7 @@ ...@@ -98,7 +91,7 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"width="150"> <el-table-column label="操作" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
:class="commonField.updateClass" :class="commonField.updateClass"
...@@ -130,62 +123,79 @@ ...@@ -130,62 +123,79 @@
:visible.sync="dialogFormVisible" :visible.sync="dialogFormVisible"
width="50%" width="50%"
> >
<el-form :model="form" :label-position="labelPosition" label-width="80px" :rules="rules"> <el-form ref="form" :model="form" :label-position="labelPosition" label-width="80px" :rules="rules">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="题型" prop="type"> <el-form-item label="题型" prop="questionType">
<el-select v-model="form.type" class="selectClass" placeholder="请选择题目类型"> <el-select v-model="form.questionType" class="selectClass" placeholder="请选择题目类型">
<el-option label="单选题" value="1" /> <el-option
<el-option label="多选题" value="2" /> v-for="item in questionTypeList"
<el-option label="判断题" value="3" /> :key="item.value"
<el-option label="填空题" value="4" /> :label="item.label"
<el-option label="简答题" value="5" /> :value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="题目难度" prop="difficulty"> <el-form-item label="题目难度" prop="difficulty">
<el-select v-model="form.difficulty" class="selectClass" placeholder="请选择题目难度"> <el-select v-model="form.difficulty" class="selectClass" placeholder="请选择题目难度">
<el-option label="简单" value="1" /> <el-option
<el-option label="一般" value="2" /> v-for="item in difficultyList"
<el-option label="困难" value="3" /> :key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="题干" prop="content"> <el-form-item label="题干" prop="questionStem">
<el-input v-model="form.content" type="textarea" :rows="4" placeholder="请输入题干" /> <el-input v-model="form.questionStem" type="textarea" :rows="4" placeholder="请输入题干" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="0"> <el-row>
<el-col :span="12">
<el-col v-if="form.questionType===1||form.questionType===2||form.questionType===3" :span="12">
<!-- //根据条件判断是否表单校验-->
<el-form-item label="选项A" prop="optionA"> <el-form-item label="选项A" prop="optionA">
<el-input v-model="form.optionA" placeholder="请输入" /> <el-input v-model="form.optionA" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col v-if="form.questionType===1||form.questionType===2||form.questionType===3" :span="12">
<el-form-item label="选项B" prop="optionB"> <el-form-item label="选项B" prop="optionB">
<el-input v-model="form.optionB" placeholder="请输入" /> <el-input v-model="form.optionB" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col></el-row> </el-col>
</el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col v-if="form.questionType===1||form.questionType===2" :span="12">
<el-form-item label="选项C" prop="optionC"> <el-form-item label="选项C" prop="optionC">
<el-input v-model="form.optionC" placeholder="请输入" /> <el-input v-model="form.optionC" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col v-if="form.questionType===1||form.questionType===2" :span="12">
<el-form-item label="选项D" prop="optionD"> <el-form-item label="选项D" prop="optionD">
<el-input v-model="form.optionD" placeholder="请输入" /> <el-input v-model="form.optionD" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <!-- 如果是单选题显示单选框-->
<el-col v-if="form.questionType===1" :span="16">
<el-form-item label="题目答案" prop="answer">
<el-radio-group v-model="form.answer">
<el-radio label="A">A</el-radio>
<el-radio label="B">B</el-radio>
<el-radio label="C">C</el-radio>
<el-radio label="D">D</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col v-if="form.questionType===2" :span="16">
<el-form-item label="题目答案" prop="answer"> <el-form-item label="题目答案" prop="answer">
<!-- 四个多选框--> <!-- 四个多选框-->
<el-checkbox-group v-model="form.answer"> <el-checkbox-group v-model="form.answer">
...@@ -196,34 +206,70 @@ ...@@ -196,34 +206,70 @@
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-if="form.questionType===3" :span="16">
<el-form-item label="题目答案" prop="answer">
<el-radio-group v-model="form.answer">
<el-radio label="对"></el-radio>
<el-radio label="错"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col v-if="form.questionType===4" :span="16">
<el-form-item label="题目答案" prop="answer">
<el-input v-model="form.answer" placeholder="请输入答案" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- 题目描述-->
<el-col :span="24">
<el-form-item label="题目描述" prop="remarks">
<el-input v-model="form.remarks" type="textarea" :rows="4" placeholder="请输入题目描述" />
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row :gutter="0"> <el-row>
<!-- 分数-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="分数" prop="fraction"> <el-form-item label="分数" prop="mark">
<el-input v-model="form.fraction" placeholder="请输入" /> <el-input v-model="form.mark" placeholder="请输入分数" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="题目编号" prop="number">
<el-input v-model="form.number" placeholder="请输入题目编号" />
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<!-- 权重-->
<el-col :span="12">
<el-form-item label="权重" prop="weight">
<el-input-number
v-model="form.weight"
placeholder="请输入权重"
controls-position="right"
:min="0"
:max="9999"
class="selectClass"
/>
</el-form-item>
</el-col>
<!-- 状态--> <!-- 状态-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="flag">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.flag">
<el-radio label="1">启用</el-radio> <el-radio label="1">启用</el-radio>
<el-radio label="0">停用</el-radio> <el-radio label="0">停用</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<!-- 题目答案-->
</el-row>
</el-row></el-form> </el-row></el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button> <el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="addQuestion">确 定</el-button> <el-button type="primary" @click="submit">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
...@@ -231,10 +277,21 @@ ...@@ -231,10 +277,21 @@
<script> <script>
import commonField from '@/utils/commonField' import commonField from '@/utils/commonField'
import { updateProjectStatus, delCmsProject, listCmsProject } from '@/api/contentManagement/cmsProject'
import { parseTime } from '@/utils' import { parseTime } from '@/utils'
import {
addTeaExamQuestions,
delTeaExamQuestions,
listTeaExamQuestions,
updateTeaExamQuestions
} from '@/api/examination/teaExamQuestions'
export default { export default {
name: 'ExaminationPaper', name: 'ExaminationPaper',
props: {
bussinessId: {
type: String,
default: ''
}
},
data() { data() {
return { return {
imageSrc: require('@/assets/image/test.png'), imageSrc: require('@/assets/image/test.png'),
...@@ -244,114 +301,59 @@ export default { ...@@ -244,114 +301,59 @@ export default {
courseContent: true, courseContent: true,
curCat: false curCat: false
}, },
tableData: [],
// 对话框 // 对话框
dialogFormVisible: false, dialogFormVisible: false,
dialogVisible: false, dialogVisible: false,
// 新增课程 // 新增课程
form: { form: {
title: '', number: '',
type: '1', questionType: 1,
difficulty: '1', questionStem: '',
status: '1', difficulty: 1,
content: '', content: '',
answer: '' answer: '',
optionA: '',
optionB: '',
optionC: '',
optionD: '',
mark: '',
flag: '1',
remarks: '',
weight: ''
}, },
// 题型lIst
questionTypeList: [
{ label: '单选题', value: 1 },
{ label: '多选题', value: 2 },
{ label: '判断题', value: 3 },
{ label: '简答题', value: 4 }
],
// 难度List
difficultyList: [
{ label: '简单', value: 1 },
{ label: '一般', value: 2 },
{ label: '困难', value: 3 }
],
// 课程方向 // 课程方向
courseDirection: [], courseDirection: [],
formLabelWidth: '90px', formLabelWidth: '90px',
// 表格 // 表格
tableData: [
{
title: 'Q0001',
content: '使用公共链接分享仪表板给用户,仪表板进行修改后,需要再次发送分享链接',
type: '3',
difficulty: '1',
createAt: '2022-01-15 09:30:00',
creator: '管理员',
status: '2',
answer: '对',
fraction: '5'
},
{
title: 'Q0002',
content: '表格相较于图形,特有表头排序和表头过滤功能',
type: '4',
difficulty: '3',
createAt: '2022-01-15 09:30:00',
creator: '管理员',
status: '2',
answer: '我的分析中的数据',
fraction: '10'
},
{
title: 'Q0003',
content: '分组表和交叉表支持设置数据条,明细表和图表不支持',
type: '2',
difficulty: '1',
createAt: '2022-01-15 09:30:00',
creator: '管理员',
status: '1',
answer: 'A,B',
fraction: '5'
},
{
title: 'Q0004',
content: '分析主题不支持不同用户之间进行协作编辑',
type: '4',
difficulty: '1',
createAt: '2022-01-15 09:30:00',
creator: '管理员',
status: '1',
answer: '当前指标百分比为当前细粒度数据占该指标内所有维度的细粒度数据差的百分比',
fraction: '3'
},
{
title: 'Q0005',
content: '如果想让FineBI表格的第一列显示为序号,应该如何设置',
type: '1',
difficulty: '1',
createAt: '2022-01-15 09:30:00',
creator: '管理员',
status: '2',
answer: 'A',
fraction: '5'
}
],
// 表单验证 // 表单验证
rules: { rules: {
title: [ number: [{ required: true, message: '请输入题目编号', trigger: 'blur' }],
{ required: true, message: '请输入题目编号', trigger: 'blur' } questionType: [{ required: true, message: '请选择题目类型', trigger: 'change' }],
], questionStem: [{ required: true, message: '请输入题干', trigger: 'blur' }],
type: [ difficulty: [{ required: true, message: '请选择题目难度', trigger: 'change' }],
{ required: true, message: '请选择题目类型', trigger: 'change' } content: [{ required: true, message: '请输入内容', trigger: 'blur' }],
], answer: [{ required: true, message: '请输入答案', trigger: 'blur' }],
difficulty: [ optionA: [{ required: true, message: '请输入选项A', trigger: 'blur' }],
{ required: true, message: '请选择题目难度', trigger: 'change' } optionB: [{ required: true, message: '请输入选项B', trigger: 'blur' }],
], optionC: [{ required: true, message: '请输入选项C', trigger: 'blur' }],
status: [ optionD: [{ required: true, message: '请输入选项D', trigger: 'blur' }],
{ required: true, message: '请选择状态', trigger: 'change' } mark: [{ required: true, message: '请输入分数', trigger: 'blur' }],
], weight: [{ required: true, message: '请输入权重', trigger: 'blur' }],
content: [ flag: [{ required: true, message: '请选择状态', trigger: 'change' }]
{ required: true, message: '请输入题干', trigger: 'blur' }
],
answer: [
{ required: true, message: '请输入题目答案', trigger: 'change' }
],
optionA: [
{ required: true, message: '请输入选项A', trigger: 'blur' }
],
optionB: [
{ required: true, message: '请输入选项B', trigger: 'blur' }
],
optionC: [
{ required: true, message: '请输入选项C', trigger: 'blur' }
],
optionD: [
{ required: true, message: '请输入选项D', trigger: 'blur' }
],
fraction: [
{ required: true, message: '请输入分数', trigger: 'blur' }
]
}, },
lineindex: 0, lineindex: 0,
teacode: '', teacode: '',
...@@ -377,7 +379,9 @@ export default { ...@@ -377,7 +379,9 @@ export default {
queryParams: { queryParams: {
page: 1, page: 1,
rows: 10, rows: 10,
title: '' number: '',
questionType: '',
difficulty: ''
}, },
// pagination // pagination
total: 10, total: 10,
...@@ -398,15 +402,21 @@ export default { ...@@ -398,15 +402,21 @@ export default {
return commonField return commonField
} }
}, },
watch: {
bussinessId: {
handler: function(val) {
console.log('bussinessId', val)
},
immediate: true
}
},
created() { created() {
console.log('bussinessId', this.bussinessId)
}, },
mounted: function() { mounted: function() {
this.loadData() this.loadData()
}, },
methods: { methods: {
step(index) {
return 'step' + index
},
/** /**
* @description: 点击蒙版关闭预览图片 * @description: 点击蒙版关闭预览图片
* @author: gaoyu * @author: gaoyu
...@@ -425,6 +435,41 @@ export default { ...@@ -425,6 +435,41 @@ export default {
}) })
}) })
}, },
// 保存方法
submit() {
// 拷贝form
const form = JSON.parse(JSON.stringify(this.form))
this.$refs.form.validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
// 编辑
updateTeaExamQuestions(form).then(res => {
if (res.code === 200) {
this.$message({
message: '保存成功',
type: 'success'
})
this.$router.push({
path: '/contentManagement/centralCase/index'
})
}
})
} else {
// 新增
addTeaExamQuestions(form).then(res => {
if (res.code === 200) {
this.$message({
message: '保存成功',
type: 'success'
})
this.cancel()
this.loadData()
}
})
}
}
})
},
// 日期格式转换 // 日期格式转换
replace(time) { replace(time) {
return parseTime(time, '{y}/{m}/{d}:{h}:{i}') return parseTime(time, '{y}/{m}/{d}:{h}:{i}')
...@@ -435,62 +480,62 @@ export default { ...@@ -435,62 +480,62 @@ export default {
this.queryParams = { this.queryParams = {
page: 1, page: 1,
rows: 10, rows: 10,
title: '', number: '',
unit: '' questionType: '',
difficulty: ''
} }
this.loadData() this.loadData()
}, },
// 题目type转换 // 题目type转换
typeChange(type) { typeChange(type) {
if (type === '1') { if (type === 1) {
return '单选题' return '单选题'
} else if (type === '2') { } else if (type === 2) {
return '多选题' return '多选题'
} else if (type === '3') { } else if (type === 3) {
return '判断题' return '判断题'
} else if (type === '4') { } else if (type === 4) {
return '填空题'
} else if (type === '5') {
return '简答题' return '简答题'
} }
}, },
// 难度转换 // 难度转换
difficultyChange(difficulty) { difficultyChange(difficulty) {
if (difficulty === '1') { if (difficulty === 1) {
return '简单' return '简单'
} else if (difficulty === '2') { } else if (difficulty === 2) {
return '一般' return '一般'
} else if (difficulty === '3') { } else if (difficulty === 3) {
return '困难' return '困难'
} }
}, },
// loadData() { loadData() {
// // 列表渲染数据 // 列表渲染数据
// var data = [] var data = []
// const _this = this const _this = this
// this.tableData = [] this.tableData = []
// _this.fullscreenLoading = true _this.fullscreenLoading = true
// const params = { const params = {
// page: _this.queryParams.page, page: _this.queryParams.page,
// rows: _this.queryParams.rows, rows: _this.queryParams.rows,
// title: _this.queryParams.title, number: _this.queryParams.number,
// unit: _this.queryParams.unit questionType: _this.queryParams.questionType,
// } difficulty: _this.queryParams.difficulty
// listCmsProject(params).then(res => { }
// var pages = res.rows// 查询过来的每页数据 listTeaExamQuestions(params).then(res => {
// _this.total = res.total// 总记录数 var pages = res.rows// 查询过来的每页数据
// _this.bussid = [] _this.total = res.total// 总记录数
// res.rows.forEach(item => { _this.bussid = []
// item.srclist = [] res.rows.forEach(item => {
// item.srclist.push(item.path) item.srclist = []
// }) item.srclist.push(item.path)
// _this.tableData = res.rows })
// _this.fullscreenLoading = false _this.tableData = res.rows
// if (res.rows.length === 0) { _this.fullscreenLoading = false
// _this.tableDataTips = '暂无数据' if (res.rows.length === 0) {
// } _this.tableDataTips = '暂无数据'
// }) }
// }, })
},
// 修改状态 // 修改状态
// handleStatusChange(row) { // handleStatusChange(row) {
// const text = row.flag === '1' ? '启用' : '停用' // const text = row.flag === '1' ? '启用' : '停用'
...@@ -536,18 +581,42 @@ export default { ...@@ -536,18 +581,42 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}) })
// .then(function() { .then(function() {
// return delCmsProject(id) return delTeaExamQuestions(id)
// }).then(() => { }).then(() => {
// this.loadData() this.loadData()
// this.$message({ this.$message({
// message: '删除成功', message: '删除成功',
// type: 'success' type: 'success'
// }) })
// }).catch(function() { }).catch(function() {
// }) })
},
cancel() {
this.dialogFormVisible = false
// 重置表单
this.$refs.form.resetFields()
this.resetForm()
},
// 重置表单
resetForm() {
this.form = {
number: '',
questionType: 1,
questionStem: '',
difficulty: 1,
content: '',
answer: '',
optionA: '',
optionB: '',
optionC: '',
optionD: '',
mark: '',
del_flag: '1',
remarks: '',
weight: ''
}
}, },
// 封面图片预览 // 封面图片预览
justEnter(event) { justEnter(event) {
// }); // });
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 标题--> <!-- 标题-->
<div class="examinationTitle">大数据平台核心技术</div> <div class="examinationTitle">{{ name }}</div>
<el-tabs v-model="activeName"> <el-tabs v-model="activeName" @tab-click="tabClick">
<el-tab-pane label="试题管理" name="ExaminationPaper" /> <el-tab-pane label="试题管理" name="ExaminationPaper" />
<el-tab-pane label="试卷管理" name="QuestionManagement" /> <el-tab-pane label="试卷管理" name="QuestionManagement" />
</el-tabs> </el-tabs>
...@@ -23,14 +23,29 @@ export default { ...@@ -23,14 +23,29 @@ export default {
ExaminationPaper, ExaminationPaper,
QuestionManagement QuestionManagement
}, },
// 向子组件QuestionManagement传递参数bussinessId
data() { data() {
return { return {
activeName: 'ExaminationPaper' // 标签默认选中 activeName: 'ExaminationPaper', // 标签默认选中
bussinessId: '', // 业务id
name: '' // 课程名称
} }
}, },
created() { created() {
// 接受路由传递的参数
this.bussinessId = this.$route.query.bussinessId
this.name = this.$route.query.name
console.log(this.bussinessId, this.name)
}, },
methods: { methods: {
tabClick() {
// 在tab切换时更新bussinessId
if (this.activeName === 'ExaminationPaper') {
this.bussinessId = '123' // 传递给ExaminationPaper组件的业务id值
} else if (this.activeName === 'QuestionManagement') {
this.bussinessId = '456' // 传递给QuestionManagement组件的业务id值
}
}
} }
} }
</script> </script>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true"> <el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="填写人"> <el-form-item label="填写人">
<el-input v-model="queryParams.unit" placeholder="请输入填写人" clearable /> <el-input v-model="queryParams.answerName" placeholder="请输入填写人" clearable />
</el-form-item> </el-form-item>
<!-- 状态--> <!-- 状态-->
<el-form-item label="状态"> <el-form-item label="状态">
...@@ -56,17 +56,17 @@ ...@@ -56,17 +56,17 @@
<span>{{ scope.$index + 1 }}</span> <span>{{ scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="studentName" label="填写人" show-overflow-tooltip /> <el-table-column prop="answerName" label="填写人" show-overflow-tooltip />
<el-table-column prop="examDate" label="填写时间" /> <el-table-column prop="fillingTime" label="填写时间" />
<el-table-column prop="status" label="状态"> <el-table-column prop="flag" label="状态">
<template slot-scope="scope"> <template slot-scope="scope">
{{ statusChange(scope.row.status) }} {{ statusChange(scope.row.flag) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 得分--> <!-- 得分-->
<el-table-column prop="score" label="得分"> <el-table-column prop="score" label="得分">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.status === '1'">{{ scope.row.score }}</span> <span v-if="scope.row.flag === '0'">{{ scope.row.score }}</span>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
</el-table-column> </el-table-column>
...@@ -163,6 +163,7 @@ ...@@ -163,6 +163,7 @@
import commonField from '@/utils/commonField' import commonField from '@/utils/commonField'
import { updateProjectStatus, delCmsProject, listCmsProject } from '@/api/contentManagement/cmsProject' import { updateProjectStatus, delCmsProject, listCmsProject } from '@/api/contentManagement/cmsProject'
import { parseTime } from '@/utils' import { parseTime } from '@/utils'
import { listTeaExamExaminationPaper } from '@/api/examination/teaExamExaminationPaper'
export default { export default {
name: 'QuestionManagement', name: 'QuestionManagement',
data() { data() {
...@@ -353,33 +354,31 @@ export default { ...@@ -353,33 +354,31 @@ export default {
return '困难' return '困难'
} }
}, },
// loadData() { loadData() {
// // 列表渲染数据 // 列表渲染数据
// var data = [] var data = []
// const _this = this const _this = this
// this.tableData = [] this.tableData = []
// _this.fullscreenLoading = true _this.fullscreenLoading = true
// const params = { const params = {
// page: _this.queryParams.page, page: _this.queryParams.page,
// rows: _this.queryParams.rows, rows: _this.queryParams.rows
// title: _this.queryParams.title, }
// unit: _this.queryParams.unit listTeaExamExaminationPaper(params).then(res => {
// } var pages = res.rows// 查询过来的每页数据
// listCmsProject(params).then(res => { _this.total = res.total// 总记录数
// var pages = res.rows// 查询过来的每页数据 _this.bussid = []
// _this.total = res.total// 总记录数 res.rows.forEach(item => {
// _this.bussid = [] item.srclist = []
// res.rows.forEach(item => { item.srclist.push(item.path)
// item.srclist = [] })
// item.srclist.push(item.path) _this.tableData = res.rows
// }) _this.fullscreenLoading = false
// _this.tableData = res.rows if (res.rows.length === 0) {
// _this.fullscreenLoading = false _this.tableDataTips = '暂无数据'
// if (res.rows.length === 0) { }
// _this.tableDataTips = '暂无数据' })
// } },
// })
// },
// 修改状态 // 修改状态
// handleStatusChange(row) { // handleStatusChange(row) {
// const text = row.flag === '1' ? '启用' : '停用' // const text = row.flag === '1' ? '启用' : '停用'
......
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
<!-- <span>{{ scope.row.createDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>--> <!-- <span>{{ scope.row.createDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column label="操作" class-name="small-padding fixed-width" width="200px"> <el-table-column label="操作" class-name="small-padding fixed-width" width="130px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
:class="commonField.updateClass" :class="commonField.updateClass"
......
...@@ -51,13 +51,11 @@ ...@@ -51,13 +51,11 @@
<div class="mb12 font-small-bold">讲师信息表列表</div> <div class="mb12 font-small-bold">讲师信息表列表</div>
<el-table v-loading="loading" border :data="cmsLecturerList"> <el-table v-loading="loading" border :data="cmsLecturerList">
<el-table-column type="index" label="序号" width="55" align="center"/> <el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column label="头像" prop="avatarId" :show-overflow-tooltip="true" width="150"> <el-table-column label="头像" prop="avatarId" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div :id="step(scope.$index)" class="img"> <div :id="step(scope.$index)" class="img">
<!-- <el-image @click="handleClickStop(scope.$index)" style="width:100px;height:100%;" :src="imagePath+scope.row.avatarUrl" :preview-src-list="[imagePath+scope.row.avatarUrl]"/>--> <!-- <el-image @click="handleClickStop(scope.$index)" style="width:100px;height:100%;" :src="imagePath+scope.row.avatarUrl" :preview-src-list="[imagePath+scope.row.avatarUrl]"/>-->
<el-avatar fit="fill" :size="30" <el-image @click="handleClickStop(scope.$index)" fit="fill" class="self-avatar" :src="imagePath+scope.row.avatarUrl" :preview-src-list="[imagePath+scope.row.avatarUrl]"/>
:src="imagePath+scope.row.avatarUrl"
></el-avatar>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -97,7 +95,7 @@ ...@@ -97,7 +95,7 @@
<!-- <span>{{ scope.row.createDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>--> <!-- <span>{{ scope.row.createDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column label="操作" class-name="small-padding fixed-width" width="170px"> <el-table-column label="操作" class-name="small-padding fixed-width" width="130px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
:class="commonField.updateClass" :class="commonField.updateClass"
...@@ -125,7 +123,7 @@ ...@@ -125,7 +123,7 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改讲师信息表配置对话框 --> <!-- 添加或修改讲师信息表配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="750px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="90px"> <el-form ref="form" :model="form" :rules="rules" size="small" label-width="90px">
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input v-model.trim="form.name" placeholder="请输入讲师姓名"/> <el-input v-model.trim="form.name" placeholder="请输入讲师姓名"/>
...@@ -447,7 +445,11 @@ export default { ...@@ -447,7 +445,11 @@ export default {
//margin: 10px; //margin: 10px;
//text-align: center!important; //text-align: center!important;
} }
.self-avatar{
width: 30px;
height: 30px;
border-radius: 50%;
}
.placeholder { .placeholder {
height: 1.3vh; height: 1.3vh;
...@@ -483,4 +485,5 @@ export default { ...@@ -483,4 +485,5 @@ export default {
height: 178px; height: 178px;
display: block; display: block;
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment