Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jijin
/
dance-pc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
78da20a7
authored
2025-05-31 01:03:20 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
报名
1 parent
d082a4b0
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
58 deletions
src/store/modules/user.js
src/viewsPc/match/detail_en.vue
src/store/modules/user.js
View file @
78da20a
...
...
@@ -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
:
''
,
...
...
src/viewsPc/match/detail_en.vue
View file @
78da20a
<
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
?
'邮 箱'
:
'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'
)
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment