From fd1c5ef8be1785436c22f3cdc582e5def1bc082a Mon Sep 17 00:00:00 2001
From: yujialong <479214531@qq.com>
Date: Tue, 24 Dec 2024 17:22:00 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=B5=9B=E4=BA=8B=E6=8E=A5?=
=?UTF-8?q?=E5=85=A5=E7=90=86=E8=AE=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/lesson/list/index.vue | 1 +
src/pages/match/add/set.vue | 137 +++++++++++++++++++++-----------
src/pages/match/add/step3.vue | 21 +++--
3 files changed, 107 insertions(+), 52 deletions(-)
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