|
|
|
@ -28,28 +28,30 @@ |
|
|
|
|
<!-- 理论系统选择试卷库,非理论则选择系统 --> |
|
|
|
|
<el-card shadow="hover" class="m-b-20"> |
|
|
|
|
<div> |
|
|
|
|
<el-radio-group class="m-b-20" v-model="courseSystem"> |
|
|
|
|
<el-radio-group class="m-b-20" v-model="courseSystem" @change="courseSystemChange"> |
|
|
|
|
<el-radio :label="0">从课程中选择</el-radio> |
|
|
|
|
<el-radio :label="1">从系统中选择</el-radio> |
|
|
|
|
</el-radio-group> |
|
|
|
|
|
|
|
|
|
<div class="inline-input"> |
|
|
|
|
<!-- 理论 && 选择课程 --> |
|
|
|
|
<el-select v-if="isTheory && !courseSystem" v-model="libraryId" placeholder="请选择试卷库" @change="getProject"> |
|
|
|
|
<el-option v-for="(item, i) in paperLibraries" :key="i" :label="item.libraryName" :value="item.libraryId"> |
|
|
|
|
<!-- 选择系统 --> |
|
|
|
|
<el-select v-if="courseSystem" v-model="systemId" placeholder="请选择系统" @change="getProject"> |
|
|
|
|
<el-option v-for="(item, i) in services" :key="i" :label="item.systemName" :value="item.systemId"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
<!-- 实训 && 选择课程 --> |
|
|
|
|
<el-cascader v-else-if="!isTheory && !courseSystem" ref="cur" v-model="mallIds" :options="curs" |
|
|
|
|
:props="{ checkStrictly: true, value: 'id' }" popper-class="course-cas" @expand-change="curChange" |
|
|
|
|
@change="curChange"></el-cascader> |
|
|
|
|
<template v-else> |
|
|
|
|
<!-- 理论 && 选择课程 --> |
|
|
|
|
<el-select v-if="isTheory && !courseSystem" v-model="libraryId" placeholder="请选择试卷库" @change="getProject"> |
|
|
|
|
<el-option v-for="(item, i) in paperLibraries" :key="i" :label="item.libraryName" :value="item.libraryId"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
<!-- 实训 && 选择系统 --> |
|
|
|
|
<el-select v-else-if="!isTheory && courseSystem" v-model="systemId" placeholder="请选择系统" @change="getProject"> |
|
|
|
|
<el-option v-for="(item, i) in services" :key="i" :label="item.systemName" :value="item.systemId"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
<!-- 实训 && 选择课程 --> |
|
|
|
|
<el-cascader v-else-if="!isTheory && !courseSystem" ref="cur" v-model="mallIds" :options="curs" |
|
|
|
|
:props="{ checkStrictly: true, value: 'id' }" popper-class="course-cas" @expand-change="curChange" |
|
|
|
|
@change="curChange"></el-cascader> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</el-card> |
|
|
|
@ -154,7 +156,6 @@ |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
import Setting from '@/setting' |
|
|
|
|
import Util from '@/libs/util' |
|
|
|
|
import { Loading } from 'element-ui' |
|
|
|
|
import TestPaperConst from '@/const/testPaper' |
|
|
|
@ -201,12 +202,13 @@ export default { |
|
|
|
|
keyword: function (val) { |
|
|
|
|
clearTimeout(this.searchTimer); |
|
|
|
|
this.searchTimer = setTimeout(() => { |
|
|
|
|
this.initData(); |
|
|
|
|
}, 500); |
|
|
|
|
this.initData() |
|
|
|
|
}, 500) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
mounted () { |
|
|
|
|
this.isTheory ? this.getLibrary() : this.getCourse() |
|
|
|
|
// this.isTheory ? this.getLibrary() : this.getCourse() |
|
|
|
|
this.getSystem() |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
// 获取课程 |
|
|
|
@ -219,8 +221,6 @@ export default { |
|
|
|
|
supplierId: sid ? sid.supplierId : '' |
|
|
|
|
}) |
|
|
|
|
const services = res.serviceList.records |
|
|
|
|
this.services = services |
|
|
|
|
this.systemId = services[0].systemId |
|
|
|
|
|
|
|
|
|
// 查询产品列表 |
|
|
|
|
const { page } = await this.$post(this.api.listOfGoods, { |
|
|
|
@ -256,6 +256,25 @@ export default { |
|
|
|
|
this.getProject() |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 获取系统 |
|
|
|
|
async getSystem () { |
|
|
|
|
const res = await this.$get(this.api.getServiceOfType, { |
|
|
|
|
type: this.isTheory ? 3 : 1 |
|
|
|
|
}) |
|
|
|
|
res.serviceList.forEach(e => e.systemId = +e.systemId) |
|
|
|
|
this.services = res.serviceList |
|
|
|
|
this.systemId = this.form.systemId || this.services[0].systemId |
|
|
|
|
this.loadIns = Loading.service() |
|
|
|
|
this.getProject() |
|
|
|
|
}, |
|
|
|
|
// 课程系统切换 |
|
|
|
|
courseSystemChange (val) { |
|
|
|
|
if (val) { |
|
|
|
|
this.getSystem() |
|
|
|
|
} else { |
|
|
|
|
this.isTheory ? this.getLibrary() : this.getCourse() |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 课程选择回调 |
|
|
|
|
curChange (val) { |
|
|
|
|
const id = val[0] |
|
|
|
@ -293,25 +312,31 @@ export default { |
|
|
|
|
// 查询项目/试卷 |
|
|
|
|
async getProject () { |
|
|
|
|
try { |
|
|
|
|
// 理论查询试卷 |
|
|
|
|
if (this.isTheory) { |
|
|
|
|
const res = await this.$post(this.api.examPaperList, { |
|
|
|
|
pageNum: this.page, |
|
|
|
|
pageSize: this.pageSize, |
|
|
|
|
type: 1, |
|
|
|
|
keyWord: this.keyword, |
|
|
|
|
libraryId: this.libraryId, |
|
|
|
|
isDisable: 0, |
|
|
|
|
status: 1 |
|
|
|
|
}) |
|
|
|
|
this.projects = res.pageList.records |
|
|
|
|
this.total = res.pageList.total |
|
|
|
|
} else { // 实训 |
|
|
|
|
// 根据系统查询项目 |
|
|
|
|
if (this.courseSystem) { |
|
|
|
|
const res = await this.$get(`${this.api.getInternalProjectBySystemId}?permissions=2&systemId=${this.systemId}&keyword=${this.keyword}`) |
|
|
|
|
this.projects = res |
|
|
|
|
} else { |
|
|
|
|
// 根据系统查询项目 |
|
|
|
|
if (this.courseSystem) { |
|
|
|
|
const res = await this.$get(`${this.api.getInternalProjectBySystemId}?permissions=2&systemId=${this.systemId}&keyword=${this.keyword}`) |
|
|
|
|
if (this.isTheory) { |
|
|
|
|
res.forEach(e => { |
|
|
|
|
e.name = e.paperName |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
this.projects = res |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
if (this.isTheory) { |
|
|
|
|
// 理论查询试卷 |
|
|
|
|
const res = await this.$post(this.api.examPaperList, { |
|
|
|
|
pageNum: this.page, |
|
|
|
|
pageSize: this.pageSize, |
|
|
|
|
type: 1, |
|
|
|
|
keyWord: this.keyword, |
|
|
|
|
libraryId: this.libraryId, |
|
|
|
|
isDisable: 0, |
|
|
|
|
status: 1 |
|
|
|
|
}) |
|
|
|
|
this.projects = res.pageList.records |
|
|
|
|
this.total = res.pageList.total |
|
|
|
|
} else { // 实训 |
|
|
|
|
// 根据课程查询项目 |
|
|
|
|
const { data } = await this.$post(this.api.getProjectAssessmentByCompetition, { |
|
|
|
|
pageNum: this.page, |
|
|
|
@ -383,29 +408,33 @@ export default { |
|
|
|
|
}, |
|
|
|
|
// 提交 |
|
|
|
|
save () { |
|
|
|
|
const { form } = this |
|
|
|
|
const { form, courseSystem } = this |
|
|
|
|
if (!form.time.length) return Util.warningMsg('请选择比赛时间') |
|
|
|
|
const { playStartTime, playEndTime } = this.step1 |
|
|
|
|
if (new Date(form.time[0]) < new Date(playStartTime) || new Date(form.time[1]) > new Date(playEndTime)) return Util.warningMsg('设置的阶段比赛时间必须要在第一步设置的竞赛时间范围内,请重新设置。') |
|
|
|
|
// 理论试卷存试卷库等 |
|
|
|
|
if (this.isTheory) { |
|
|
|
|
if (!this.libraryId) return Util.warningMsg('请选择试卷库') |
|
|
|
|
// if (!this.libraryId) return Util.warningMsg('请选择试卷库') |
|
|
|
|
if (!form.paperId) return Util.warningMsg('请选择试卷') |
|
|
|
|
|
|
|
|
|
form.libraryId = this.libraryId |
|
|
|
|
form.libraryId = courseSystem ? '' : this.libraryId |
|
|
|
|
form.systemId = courseSystem ? this.systemId : '' |
|
|
|
|
const curPaper = this.projects.find(e => e.paperId === form.paperId) |
|
|
|
|
if (curPaper) form.paperName = curPaper.name |
|
|
|
|
} else { |
|
|
|
|
if (!form.cid) return Util.warningMsg('请选择课程') |
|
|
|
|
// if (!form.cid) return Util.warningMsg('请选择课程') |
|
|
|
|
if (!form.projectId) return Util.warningMsg('请选择项目') |
|
|
|
|
const { systemId, systemName, projectName } = this.projects.find(e => e.projectId == form.projectId) |
|
|
|
|
if (systemId) form.systemId = systemId |
|
|
|
|
if (projectName) form.projectName = projectName |
|
|
|
|
if (systemName) form.systemName = systemName |
|
|
|
|
} |
|
|
|
|
if (courseSystem) { |
|
|
|
|
form.mallId = '' |
|
|
|
|
form.cid = '' |
|
|
|
|
} |
|
|
|
|
form.startTime = form.time[0] |
|
|
|
|
form.endTime = form.time[1] |
|
|
|
|
|
|
|
|
|
this.handlePaper() |
|
|
|
|
this.$emit('hideSet', this.form) |
|
|
|
|
}, |
|
|
|
@ -413,15 +442,13 @@ export default { |
|
|
|
|
async handlePaper () { |
|
|
|
|
const { form } = this |
|
|
|
|
// 老的试卷名称不等于新的试卷名称,则复制一份试卷,再把新的试卷id替换掉 |
|
|
|
|
if (form.paperName !== form.originPaperName) { |
|
|
|
|
if (this.isTheory && form.paperName !== form.originPaperName) { |
|
|
|
|
const res = await this.$post(this.api.copyExamPaper, { |
|
|
|
|
associatedID: form.stageId, |
|
|
|
|
paperId: form.paperId, |
|
|
|
|
typeId: 1 |
|
|
|
|
}) |
|
|
|
|
if (res.examPaper) { |
|
|
|
|
form.paperId = res.examPaper.paperId |
|
|
|
|
} |
|
|
|
|
if (res.examPaper) form.paperId = res.examPaper.paperId |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 返回 |
|
|
|
|