保存{{ releaseType ? '草稿' : '' }}
@@ -44,6 +45,7 @@ import util from "@/libs/util";
import quill from "@/components/quill";
import step1 from './step1'
import step2 from './step2'
+import step3 from './step3'
export default {
name: "add",
data() {
@@ -59,7 +61,8 @@ export default {
components: {
quill,
step1,
- step2
+ step2,
+ step3
},
mounted() {
@@ -70,10 +73,14 @@ export default {
// if (this.submiting) return false
this.$refs['step' + this.step].save(status, next, this.releaseType)
},
- // 下一步
- next(id) {
- this.setupId = id
- this.step++
+ // 发布后的逻辑
+ next(next, id) {
+ if (!next) {
+ this.$router.push(`/match?page=${this.$store.state.matchPage}`)
+ } else if (next === 2) {
+ if (id) this.setupId = id
+ this.step++
+ }
},
// 预览
preview() {
diff --git a/src/views/match/add/set.vue b/src/views/match/add/set.vue
new file mode 100644
index 0000000..8cc1a0b
--- /dev/null
+++ b/src/views/match/add/set.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
比赛名称
+ {{ form.stageName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ permissionsKeys[scope.row.permissions] }}
+
+
+
+
+
+ {{ scope.row.createUser }}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/match/add/step1.vue b/src/views/match/add/step1.vue
index 54b541b..22b738c 100644
--- a/src/views/match/add/step1.vue
+++ b/src/views/match/add/step1.vue
@@ -559,14 +559,6 @@ export default {
const id = this.form.competitionAnnexList.find(e => e.fileName === name).id
id && this.$post(`${this.api.deleteAnnex}?id=${id}`).then(res => {}).catch(res => {})
},
- // 发布后的逻辑
- done(next, id) {
- !next ?
- this.$router.push(`/match?page=${this.$store.state.matchPage}`) :
- next === 2 ?
- this.$emit('next', id) :
- ''
- },
/**
* @description 提交
* status 0:草稿,1发布
@@ -598,12 +590,12 @@ export default {
if (this.form.id) {
this.$post(this.api.editCompetition, form).then(res => {
util.successMsg("修改成功");
- this.done(next)
+ this.$emit('next', next)
}).catch(err => {});
} else {
this.$post(this.api.addCompetition, form).then(({ setupId }) => {
util.successMsg("创建成功");
- this.done(next, setupId)
+ this.$emit('next', next, setupId)
}).catch(err => {});
}
},
diff --git a/src/views/match/add/step2.vue b/src/views/match/add/step2.vue
index a5905ef..44de9c2 100644
--- a/src/views/match/add/step2.vue
+++ b/src/views/match/add/step2.vue
@@ -280,7 +280,7 @@ export default {
this.form.competitionStageList = list
},
// 提交
- save(status, frame) {
+ save(status, next = 0) {
const { form } = this
if (form.rule === 1) {
form.competitionStageList.map(e => {
@@ -294,10 +294,9 @@ export default {
}).catch(err => {})
} else {
form.setupId = this.setupId
- debugger
-
this.$post(this.api.addCompetitionRule, form).then(res => {
util.successMsg("创建成功");
+ this.$emit('next', next)
}).catch(err => {})
}
},
diff --git a/src/views/match/add/step3.vue b/src/views/match/add/step3.vue
index 6f2dfed..10aabbf 100644
--- a/src/views/match/add/step3.vue
+++ b/src/views/match/add/step3.vue
@@ -1,132 +1,73 @@
-
+
-
大赛信息
+
比赛内容设置
-
- 团队赛(2-4人/队) (如需修改,请返回上一步。)
+
+
+ {{ item.stageName }}(第{{ nums[i] }}阶段) | {{ methods.find(e => e.id === item.method).name }}
+ 设置
+
+
+ {{ item.startTime + ' 至 ' + item.endTime }}
+
+
-
- {{ rule.name }}
- 积分赛——包含多个竞赛阶段,每个阶段的成绩都包含在最终总成绩里,最后一轮结束后总成绩排名靠前的参赛者得到获奖资格。
- 淘汰赛——包含多个竞赛阶段,每个阶段结束后之后只有部分参赛者能晋级下一阶段,晋级最后一轮且在最后一轮排名靠前的参赛者得到获奖资格。
- 单项赛——仅包含一个竞赛阶段,单项的成绩排名即为最终排名,排名靠前的参赛者得到获奖资格。
- 注:系统默认排名规则,优先按分数排名(分数高则排名靠前),分数相同则按用时排名(用时短则排名靠前)。
-
-
-
-
-
-
-
-
- (团队赛是否限制队内每个成员只能参加一个阶段赛项?
- 是
- 否
- )
-
-
-
- 各阶段成绩加权求和
- 各阶段成绩直接求和
- 各阶段成绩取平均值
- (若选择加权求和,则需要设置每个阶段成绩所占权重,且权重总和须为100%)
-
-
-
-
- 第一阶段
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.sysName }}
+
+
+ {{ item.projectName }}
+
+
- *
- 比赛方式:
- {{ item.name }}
+ 线上
+
- *
- 团队参赛人数限制:
- 不限制
- 自定义
- 人
- (可限制本阶段单个团队的出战人数)
+ 线下
+
-
- *
- 团队成绩计算方式:
- {{ item.name }}
- (可设置本阶段的团队取分规则)
-
-
-
- *晋级规则:
-
-
-
- 本阶段成绩排名前
-
- 队,可晋级下一阶段比赛
-
-
- 本阶段成绩排名前
-
- %,可晋级下一阶段比赛
-
-
- 本阶段成绩
-
-
-
-
- 分,可晋级下一阶段比赛
-
-
-
-
- *
- 占总成绩权重:
- %
-
-
-
-
- (阶段)比赛结束后
-
- 小时,公布(阶段)比赛成绩。
-
-
- 是
- 否
- 若选择“是”,则公布成绩详情,竞赛结束后参赛者可查看自己的比赛成绩得分详情;
- 若选择“否”,则不公布成绩详情,参赛者只能知晓自己的分数及排名,不能查看得分详情。
-
+
+
+
+
+