提交 080a190e authored 作者: 王鹏飞's avatar 王鹏飞

chore: 新增参赛选手训练计数

上级 da7840f8
......@@ -71,3 +71,8 @@ export function getExperimentRecord(params: { competition_id: string }) {
export function uploadExperimentPicture(data: { competition_id: string; pictures: string }) {
return httpRequest.post('/api/lab/v1/student/competition/save-pictures', data)
}
// 参赛选手训练计数
export function updateTrainCount(data: { competition_id: string }) {
return httpRequest.post('/api/lab/v1/student/competition/train-count', data)
}
......@@ -2,7 +2,7 @@
import type { Contest } from '../types'
import dayjs from 'dayjs'
import { contestMode } from '@/utils/dictionary'
import { updateTrainCount } from '../api'
interface Props {
data: Contest
}
......@@ -19,7 +19,11 @@ const modeText = $computed(() => {
const canTrain = $computed(() => {
return dayjs().isBefore(dayjs(parseInt(props.data.end_range) * 1000))
})
function handleTrain() {
// 训练计数
updateTrainCount({ competition_id: props.data.id })
router.push({ path: `/student/contest/lab/${props.data.id}` })
}
// 是否可以报名
const canJoin = $computed(() => {
return dayjs().isBefore(dayjs(parseInt(props.data.apply_expiration_date) * 1000))
......@@ -45,9 +49,7 @@ function handleJoin() {
<li>参赛形式:{{ modeText }}</li>
<li>所属学校:{{ data.org_name }}</li>
</ul>
<router-link :to="`/student/contest/lab/${data.id}?name=${data.name}`" v-if="canTrain">
<el-button round type="primary">我要训练</el-button>
</router-link>
<el-button round type="primary" @click="handleTrain" v-if="canTrain">我要训练</el-button>
</template>
<template v-else>
<el-button round :disabled="!canJoin" type="primary" @click="handleJoin">我要报名</el-button>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论