78da20a7 by zhangmeng

报名

1 parent d082a4b0
......@@ -15,7 +15,7 @@ const useUserStore = defineStore(
state: () => ({
token: getToken(),
user: null, // uType 1个人账号,2团体账号,3游客登录
group: {},
group: {}, // type 0普通院校 1专业舞蹈学院 2培训机构/娱乐部 3地方协会 4国家协会
name: '',
nickName: '',
avatar: '',
......
<template>
<div v-loading="loading" class="app-container">
<div class="mt30"/>
<div class="mt30" />
<div v-if="error">
<el-result
:title="language==0?'未找到赛事':'No Data'"
icon="error"
>
<template #extra/>
<template #extra />
</el-result>
</div>
<div v-else class="box mb20">
......@@ -124,7 +124,7 @@
<label>{{ language == 0 ? '邮&nbsp;&nbsp;&nbsp;&nbsp;箱' : 'EMAIL' }}</label>
{{ matchData.contactEmail }}</p>
</div>
<div style="height: 30px"/>
<div style="height: 30px" />
<div class="ppl_pb">
<el-link
v-if="matchData.signKnowUrl&&JSON.parse(matchData.signKnowUrl)?.length>0"
......@@ -133,7 +133,7 @@
target="_blank" type="primary"
>
<el-icon :size="20">
<Download/>
<Download />
</el-icon>
{{ language == 0 ? '报名须知' : 'Notes' }}
</el-link>
......@@ -145,7 +145,7 @@
target="_blank" type="primary"
>
<el-icon :size="20">
<Download/>
<Download />
</el-icon>
{{ language == 0 ? '免责声明' : 'Disclaimers' }}
</el-link>
......@@ -156,7 +156,7 @@
type="primary"
>
<el-icon :size="20">
<Download/>
<Download />
</el-icon>
{{ language == 0 ? '赛事规程' : 'Competition Regulations' }}
</el-link>
......@@ -210,7 +210,7 @@
</el-card>
<!-- 只联赛有-->
<quick-row v-if="matchData.leagueId==0" :match-id="matchId"/>
<quick-row v-if="matchData.leagueId==0" :match-id="matchId" />
<el-row v-if="matchData.type=='0'" :gutter="20">
<el-col :lg="18">
......@@ -222,11 +222,11 @@
</li>
</ul>
</div>
<matchInfo v-if="menu[0].active==1" :form="matchData"/>
<matchInfo v-if="menu[0].active==1" :form="matchData" />
<div v-if="menu[1].active==1">
<match-info-project-list :is-national="isNational" :match-id="matchData.id"/>
<match-info-project-list :is-national="isNational" :match-id="matchData.id" />
</div>
<match-schedule-list v-if="menu[2].active==1" :match-data="matchData"/>
<match-schedule-list v-if="menu[2].active==1" :match-data="matchData" />
<div v-if="menu[3].active==1">
<div v-if="matchData.showPersonFlag=='1'">
<!-- <el-row :gutter="20" v-if="matchData.signType == '0'">-->
......@@ -299,24 +299,24 @@
</el-row>
</div>
<div v-else>
<el-empty :image="`/img/order_no.png`" :image-size="228" description=""/>
<el-empty :image="`/img/order_no.png`" :image-size="228" description="" />
</div>
</div>
<div v-if="menu[4].active==1">
<!--成绩-->
<el-empty :image="`/img/order_no.png`" :image-size="228" description=""/>
<el-empty :image="`/img/order_no.png`" :image-size="228" description="" />
</div>
<div v-if="menu[5].active==1" class="pd20">
<div class="xzbox">
<div v-html="matchData.signKnow"/>
<div v-html="matchData.signKnow" />
<div v-if="matchData.signKnowUrl">
<el-link
v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" :href="fillImgUrl(item.url)"
v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" :key="index" :href="fillImgUrl(item.url)"
target="_blank" type="primary"
>
<el-icon :size="20">
<Download/>
<Download />
</el-icon>
{{ item.name }}
</el-link>
......@@ -324,11 +324,11 @@
</div>
</div>
</el-card>
<div style="height: 20px"/>
<div style="height: 20px" />
</el-col>
<el-col :lg="6">
<match-news :match-id="matchId"/>
<match-news :match-id="matchId" />
</el-col>
</el-row>
......@@ -343,9 +343,9 @@
</ul>
</div>
<!-- 分站赛-->
<substation-list v-if="menu1[0].active==1" :list="matchData.cpts"/>
<matchInfo v-if="menu1[1].active==1" :form="matchData"/>
<match-schedule-list v-if="menu1[2].active==1" :match-data="matchData"/>
<substation-list v-if="menu1[0].active==1" :list="matchData.cpts" />
<matchInfo v-if="menu1[1].active==1" :form="matchData" />
<match-schedule-list v-if="menu1[2].active==1" :match-data="matchData" />
</el-card>
</el-col>
</el-row>
......@@ -356,8 +356,8 @@
<img v-else src="@/assets/logo/Invitation_e.png">
</div>
<affix-invitation ref="dialogInvitationRef"/>
<div style="height: 50px"/>
<affix-invitation ref="dialogInvitationRef" />
<div style="height: 50px" />
<el-dialog
v-model="signTypePop" center class="pcloginpop"
......@@ -391,9 +391,9 @@
v-if="matchData.isAirView" class="ding"
@click="openPickup"
>{{ language == 0 ? '接 / 送机服务' : 'Pick-up/drop-off service' }}</a>
<pickup ref="pickupRef"/>
<pickup ref="pickupRef" />
<checkAllSportsman ref="checkAllSportsmanRef"/>
<checkAllSportsman ref="checkAllSportsmanRef" />
</div>
</template>
......@@ -405,9 +405,9 @@ import SubstationList from '@/viewsPc/match/components/substation-list'
import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList'
import QuickRow from '@/viewsPc/match/components/quick-row'
import Pickup from '@/viewsPc/components/pickup'
import {getCurrentInstance, ref} from 'vue'
import {reactive, onMounted} from '@vue/runtime-core'
import {useRoute, useRouter} from 'vue-router'
import { getCurrentInstance, ref } from 'vue'
import { reactive, onMounted } from '@vue/runtime-core'
import { useRoute, useRouter } from 'vue-router'
import AffixInvitation from '@/viewsPc/match/components/affix-invitation'
import checkAllSportsman from '@/viewsPc/match/components/checkAllSportsman'
......@@ -415,14 +415,14 @@ import checkAllSportsman from '@/viewsPc/match/components/checkAllSportsman'
const language = useStorage('language', 0)
const route = useRoute()
const router = useRouter()
const {proxy} = getCurrentInstance()
const { proxy } = getCurrentInstance()
import * as match from '@/apiPc/match'
import {toRefs} from '@vueuse/shared'
import {dayjs, ElMessage, ElMessageBox} from 'element-plus'
import { toRefs } from '@vueuse/shared'
import { dayjs, ElMessage, ElMessageBox } from 'element-plus'
import useUserStore from '@/store/modules/user'
import {useStorage} from '@vueuse/core/index'
import {Search} from '@element-plus/icons-vue'
import {preCheckForGroup} from '@/apiPc/match'
import { useStorage } from '@vueuse/core/index'
import { Search } from '@element-plus/icons-vue'
import { preCheckForGroup } from '@/apiPc/match'
const user = useUserStore().user
const group = useUserStore().group
......@@ -434,16 +434,16 @@ const data = reactive({
groupId: '',
activeName2: 'first',
menu: [
{name: 'Event details', cn: '赛事详情', active: 1},
{name: 'Event settings', cn: '赛事设项', active: 0},
{name: 'Schedule', cn: '日程', active: 0},
{name: 'Participating teams', cn: '参赛人员', active: 0},
{name: 'Achievement', cn: '成绩', active: 0},
{name: 'Notes', cn: '报名须知', active: 0}],
{ name: 'Event details', cn: '赛事详情', active: 1 },
{ name: 'Event settings', cn: '赛事设项', active: 0 },
{ name: 'Schedule', cn: '日程', active: 0 },
{ name: 'Participating teams', cn: '参赛人员', active: 0 },
{ name: 'Achievement', cn: '成绩', active: 0 },
{ name: 'Notes', cn: '报名须知', active: 0 }],
menu1: [
{name: 'Tournaments', cn: '分站赛', active: 1},
{name: 'Event details', cn: '赛事详情', active: 0},
{name: 'Schedule', cn: '日程', active: 0}],
{ name: 'Tournaments', cn: '分站赛', active: 1 },
{ name: 'Event details', cn: '赛事详情', active: 0 },
{ name: 'Schedule', cn: '日程', active: 0 }],
signDoneGroupList: [],
signDoneGroupListToTal: 0,
queryGroupList: {
......@@ -468,6 +468,7 @@ const {
} = toRefs(data)
const signTypePop = ref(false)
const upgradePop = ref(false)
onMounted(() => {
if (group) {
groupId.value = group.id
......@@ -484,7 +485,7 @@ onMounted(() => {
})
function getMatchId() {
match.getMaList({topFlag: 1, status: 1}).then((res) => {
match.getMaList({ topFlag: 1, status: 1 }).then((res) => {
matchId.value = res.rows[0].id
getMatch(matchId.value)
getGroupListByCptId()
......@@ -493,10 +494,10 @@ function getMatchId() {
function getMatch(id) {
loading.value = true
match.getMatchById({id: id}).then(res => {
match.getMatchById({ id: id }).then(res => {
matchData.value = res.data
loading.value = false
var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
const today = dayjs().format('YYYY-MM-DD HH:mm:ss')
time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond')
startSign.value = dayjs(res.data.signBeginTime).diff(today, 'millisecond')
if (matchData.value.languageSource == '100') {
......@@ -505,7 +506,7 @@ function getMatch(id) {
isNational.value = true
}
}).catch(res => {
router.push({path: '/match/list'})
router.push({ path: '/match/list' })
loading.value = false
// setTimeout("window.location.reload()", 1000)
})
......@@ -592,7 +593,6 @@ function goTeamSign() {
)
return
}
handelPreCheckForGroup(goTeamSignCn)
} else {
// 国际赛
......@@ -656,7 +656,7 @@ function goGeren() {
// 注册
router.push({
name: 'personalRegister',
query: {matchId: matchId.value}
query: { matchId: matchId.value }
})
}
......@@ -667,7 +667,7 @@ function popChangeType() {
// 获取已报信息
function checkIsSign() {
var obj = {
const obj = {
cptId: matchId.value,
groupId: groupId.value || 0
}
......@@ -786,7 +786,6 @@ function switchSignType() {
break
case '1':// 团体
if (user.utype == '1') {
ElMessageBox.confirm(
language.value == 0 ? '当前活动是团队活动,无法报名' : 'The current event is a team event, cannot register',
......@@ -829,7 +828,7 @@ function switchSignType() {
// 个人报名校验
async function handelGeRenNext() {
const res = await match.preCheckForPerson({type: '1'})
const res = await match.preCheckForPerson({ type: '1' })
// 不给报名
if (res.data == 0) {
await proxy.$modal.confirm(
......@@ -841,7 +840,7 @@ async function handelGeRenNext() {
}
// 正常报名
if (res.data == 1) {
const flag = await getCheckOcr({type: '1'})
const flag = await getCheckOcr({ type: '1' })
if (flag) await goPersonalSign()
}
// 提示
......@@ -851,8 +850,8 @@ async function handelGeRenNext() {
? '运动员的WDSF会员号已变更,是否更新?'
: 'The athlete`s WDSF membership number has been changed. Should it be updated?'
)
await match.preCheckForPerson({type: '2'})
const flag = await getCheckOcr({type: '1'})
await match.preCheckForPerson({ type: '2' })
const flag = await getCheckOcr({ type: '1' })
if (flag) await goPersonalSign()
}
}
......@@ -877,7 +876,7 @@ const openPickup = () => {
async function handelPreCheckForGroup(fn) {
const res = await match.preCheckForGroup(groupId.value, '1')
if (res.data == 1 || res.data == 0) {
const flag = await getCheckOcr({type: '2', groupId: groupId.value})
const flag = await getCheckOcr({ type: '2', groupId: groupId.value })
if (flag) await fn()
}
if (res.data == 2) {
......@@ -886,13 +885,13 @@ async function handelPreCheckForGroup(fn) {
? '运动员的WDSF会员号已变更,是否更新?'
: 'The athlete`s WDSF membership number has been changed. Should it be updated?')
await match.preCheckForGroup(groupId.value, '2')
const flag = await getCheckOcr({type: '2', groupId: groupId.value})
const flag = await getCheckOcr({ type: '2', groupId: groupId.value })
if (flag) await fn()
}
}
async function getCheckOcr(obj) {
const {data} = await match.checkOcr(obj)
const { data } = await match.checkOcr(obj)
if (!data) {
// 人员ocr未通过
await proxy.$modal.confirm(language.value == 0 ? '请完善人员信息' : 'Please complete the personnel information')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!