diff --git a/src/pages/lesson/list/index.vue b/src/pages/lesson/list/index.vue index c8bdc16..1b3fe3d 100644 --- a/src/pages/lesson/list/index.vue +++ b/src/pages/lesson/list/index.vue @@ -173,6 +173,7 @@ export default { methods: { // 获取列表数据 getData () { + this.loading = true this.$post(this.api.curriculumList, { ...this.form, pageNum: this.page, diff --git a/src/pages/match/add/set.vue b/src/pages/match/add/set.vue index 888bb20..3ab5a88 100644 --- a/src/pages/match/add/set.vue +++ b/src/pages/match/add/set.vue @@ -29,28 +29,30 @@
- + 从课程中选择 从系统中选择
- - - + + + - - +
@@ -67,7 +69,7 @@

已选试卷:{{ form.paperName }} - 预览 +

@@ -96,7 +98,7 @@ @@ -202,12 +204,11 @@ export default { keyword: function (val) { clearTimeout(this.searchTimer); this.searchTimer = setTimeout(() => { - this.initData(); - }, 500); + this.initData() + }, 500) } }, mounted () { - // this.getCourse() this.getSystem() // this.isTheory ? this.getLibrary() : this.getCourse() }, @@ -237,11 +238,23 @@ export default { }, // 获取系统 async getSystem () { - const { data } = await this.$get(this.api.getSystemListOfMall) + const { data } = await this.$get(this.api.getSystemListOfMall, { + type: this.isTheory ? 3 : 1 + }) this.services = data - this.systemId = data[0].systemId - this.loadIns = Loading.service() - this.getProject() + if (data.length) { + this.systemId = this.form.systemId || data[0].systemId + this.getProject() + this.loadIns = Loading.service() + } + }, + // 课程系统切换 + courseSystemChange (val) { + if (val) { + this.getSystem() + } else { + this.isTheory ? this.getLibrary() : this.getCourse() + } }, // 课程选择回调 curChange (val) { @@ -280,27 +293,32 @@ 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 + // 根据系统查询项目 + if (this.courseSystem) { + const { data } = await this.$get(this.api.getProjectListOfSystem, { + systemId: this.systemId }) - this.projects = res.pageList.records - this.total = res.pageList.total - } else { // 实训 - // 根据系统查询项目 - if (this.courseSystem) { - const res = await this.$get(this.api.getProjectListOfSystem, { - systemId: this.systemId + if (this.isTheory) { + data.forEach(e => { + e.name = e.projectName }) - this.projects = res.data - } else { + } + this.projects = data + } 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, pageSize: this.pageSize, @@ -362,34 +380,61 @@ export default { } } }, + // 预览试卷 + previewPaper (row) { + this.$parent.previewPaper(row) + }, + // 试卷选择回调 + paperChange (id) { + const item = this.projects.find(e => e.paperId === id) + if (item) this.form.paperName = item.name + }, // 提交 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 } - console.log(11, form) + if (courseSystem) { + form.mallId = '' + form.cid = '' + } form.startTime = form.time[0] form.endTime = form.time[1] + this.handlePaper() this.$emit('hideSet', this.form) }, + // 复制试卷 + async handlePaper () { + const { form } = this + // 老的试卷名称不等于新的试卷名称,则复制一份试卷,再把新的试卷id替换掉 + 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 + } + }, // 返回 back () { this.$emit('update:form', this.$parent.curOriginForm) diff --git a/src/pages/match/add/step3.vue b/src/pages/match/add/step3.vue index 66d9667..7cf31c2 100644 --- a/src/pages/match/add/step3.vue +++ b/src/pages/match/add/step3.vue @@ -72,8 +72,8 @@
{{ item.paperName }}  - 预览 +
@@ -99,7 +99,7 @@ -

编辑发布成功!

+

编辑发布成功!

温馨提示:报名结束后更改报名时间或赛程规则,不影响已分配的阶段参赛人员且后续添加的人员不会自动分配。如需重新自动分配所有团队,请到报名列表执行全员重新分配操作。

@@ -152,11 +152,13 @@ export default { stageId: '', startTime: '', systemId: '', + paperId: '', + paperName: '', offlineAddress: '', offlineButton: 0, onlineAddress: '', onlineButton: 0, - time: [] + time: [], }, form: [], setVisible: false, @@ -237,6 +239,7 @@ export default { form.method = e.method form.stageId = e.stageId form.stageName = e.stageName + if (form.paperName) form.originPaperName = form.paperName // 先保存原始的试卷名称,发布的时候,如果试卷名称有改变, 则调复制试卷接口 this.form.push(form) }) this.resumeData() @@ -419,11 +422,17 @@ export default { } e.startTime = e.time[0] e.endTime = e.time[1] - if (e.method !== 2 && !e.cid) { + if (e.method === 0 && !e.projectId) { invalid = 1 - Util.errorMsg('请选择课程') + Util.errorMsg('请选择项目') break } + if (e.method === 1 && !e.paperId) { + invalid = 1 + Util.errorMsg('请选择试卷') + break + } + if (e.method === 2) { // 线下 if (!e.offlineAddress) { invalid = 1