Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
杨炀
/
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
2c092c1c
authored
2024-03-29 17:33:13 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
70684412
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
99 additions
and
69 deletions
src/apiPc/match.js
src/viewsPc/index.vue
src/viewsPc/index_en.vue
src/viewsPc/match/detail.vue
src/viewsPc/match/detail_en.vue
src/viewsPc/match/index.vue
vite.config.js
src/apiPc/match.js
View file @
2c092c1
...
...
@@ -2,7 +2,7 @@ import request from '@/utils/request'
export
function
getMaList
(
params
)
{
return
request
({
url
:
`/league/competition/webList
?topFlag=1&status=1
`
,
url
:
`/league/competition/webList`
,
method
:
'get'
,
params
:
params
})
...
...
src/viewsPc/index.vue
View file @
2c092c1
...
...
@@ -8,7 +8,10 @@
<img
v-if=
"n.bgImgUrl"
class=
"bannerImg"
:src=
"fillImgUrl(n.bgImgUrl)"
>
<img
v-else
class=
"bannerImg"
src=
"@/assets/dance/banner.png"
>
<div
class=
"box forPc"
style=
"position: absolute;top: 0;left: 0;right: 0;margin: auto;"
>
<div
class=
"banner-count"
>
<div
v-if=
"n.progressStatusCode=='2'"
style=
"position: absolute;bottom: 50%;right: 5%"
>
<el-button
class=
"btn-lineG w200px"
style=
"font-size: 17px;height: 40px"
round
@
click=
"goMatch(n)"
type=
"primary"
>
开始报名
</el-button>
</div>
<div
class=
"banner-count"
v-else-if=
"n.time>0"
>
距离开始还有
<van-count-down
:time=
"n.time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
<template
#
default=
"timeData"
>
...
...
@@ -39,7 +42,7 @@
<div
class=
"box zn-bg"
>
<div
class=
"zn-Box"
>
<img
class=
"bbbg"
v-if=
"matchData.logoUrl"
:src=
"fillImgUrl(matchData.logoUrl)"
/>
<img
class=
"bbbg"
v-if=
"matchData
?
.logoUrl"
:src=
"fillImgUrl(matchData.logoUrl)"
/>
<el-row
style=
"align-items: center"
>
<el-col
:sm=
"24"
:lg=
"10"
>
<div
class=
"bgbg"
>
...
...
@@ -465,7 +468,11 @@ const init = () => {
maList
.
value
=
res
.
rows
for
(
let
n
of
maList
.
value
)
{
var
today
=
dayjs
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
n
.
time
=
dayjs
(
n
.
signEndTime
).
diff
(
today
,
'millisecond'
)
if
(
n
.
signBeginTime
){
n
.
time
=
dayjs
(
n
.
signBeginTime
).
diff
(
today
,
'millisecond'
)
}
else
{
n
.
time
=
0
}
}
matchData
.
value
=
maList
.
value
[
0
]
})
...
...
@@ -500,6 +507,11 @@ const goNews = () => {
path
:
`/news/index`
})
}
const
goMatch
=
(
n
)
=>
{
router
.
push
({
path
:
`/match/list/
${
n
.
id
}
`
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/viewsPc/index_en.vue
View file @
2c092c1
...
...
@@ -2,15 +2,18 @@
<div>
<div
class=
"banner"
>
<el-carousel
height=
"450px"
:autoplay=
"false"
arrow=
"hover"
>
<el-carousel-item
style=
"height: 450px;"
>
<el-carousel-item
style=
"height: 450px;"
v-for=
"n in maList"
:key=
"n.id"
>
<div
class=
"bannerItem"
>
<div
class=
"h100"
>
<img
v-if=
"
matchData.bgImgUrl"
class=
"bannerImg"
:src=
"fillImgUrl(matchData
.bgImgUrl)"
>
<img
v-if=
"
n.bgImgUrl"
class=
"bannerImg"
:src=
"fillImgUrl(n
.bgImgUrl)"
>
<img
v-else
class=
"bannerImg"
src=
"@/assets/dance/banner.png"
>
<div
class=
"box"
style=
"position: absolute;top: 0;left: 0;right: 0;margin: auto;"
>
<div
class=
"banner-count"
>
<div
v-if=
"n.progressStatusCode=='2'"
style=
"position: absolute;bottom: 50%;right: 5%"
>
<el-button
class=
"btn-lineG"
style=
"font-size: 17px;height: 40px"
round
@
click=
"goMatch(n)"
type=
"primary"
>
开始报名
</el-button>
</div>
<div
class=
"banner-count"
v-else-if=
"n.time>0"
>
Countdown
<van-count-down
:time=
"time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
<van-count-down
:time=
"
n.
time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
<template
#
default=
"timeData"
>
<div
class=
"block"
>
{{
timeData
.
days
}}
<span
class=
"colon"
>
Days
</span>
...
...
@@ -51,29 +54,29 @@
<el-row
:gutter=
"20"
>
<el-col
:sm=
"12"
:lg=
"8"
>
<div
class=
"item"
><img
src=
"@/assets/dance/btn01.png"
>
<p>
EVENT INTRODUCTION
</p>
<p>
Hotel Reservation
</p>
</div></el-col>
<el-col
:sm=
"12"
:lg=
"8"
>
<div
class=
"item"
><img
src=
"@/assets/dance/btn02.png"
>
<p>
EVENT NOTIFICATIONS
</p>
<p>
Vehicle Reservation
</p>
</div></el-col>
<el-col
:sm=
"12"
:lg=
"8"
>
<div
class=
"item"
><img
src=
"@/assets/dance/btn03.png"
>
<p>
REGISTER TO PARTICIPATE
</p>
<p>
Dining Reservation
</p>
</div>
</el-col>
<el-col
:sm=
"12"
:lg=
"8"
>
<div
class=
"item"
><img
src=
"@/assets/dance/btn04.png"
>
<p>
T
ICKET BOOKING
</p>
<p>
T
icket Booking
</p>
</div>
</el-col>
<el-col
:sm=
"12"
:lg=
"8"
>
<div
class=
"item"
><img
src=
"@/assets/dance/btn05.png"
>
<p>
HOTEL RESERVATIONS
</p>
<p>
Makeup Appointment
</p>
</div></el-col>
<el-col
:sm=
"12"
:lg=
"8"
>
<div
class=
"item"
><img
src=
"@/assets/dance/btn06.png"
>
<p>
MAKEUP APPOINTMENTS
</p>
<p>
Photography Appointment
</p>
</div></el-col>
</el-row>
</div>
...
...
@@ -415,6 +418,7 @@ const hotActivity = ref([])
const
scores
=
ref
([])
const
nowscores
=
ref
([])
const
livelist
=
ref
([])
const
maList
=
ref
([])
const
picList
=
ref
([])
const
calendarValue
=
ref
(
'2024-07-22'
)
const
showgg
=
ref
(
true
)
...
...
@@ -449,11 +453,12 @@ const init = () => {
newest2
.
value
=
res
.
rows
})
match
.
getMaList
().
then
((
res
)
=>
{
match
.
getMatchById
({
id
:
res
.
rows
[
0
].
id
}).
then
(
RR
=>
{
matchData
.
value
=
RR
.
data
// var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
// time.value = dayjs(RR.data.signEndTime).diff(today, 'millisecond')
})
maList
.
value
=
res
.
rows
for
(
let
n
of
maList
.
value
)
{
var
today
=
dayjs
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
n
.
time
=
dayjs
(
n
.
signBeginTime
).
diff
(
today
,
'millisecond'
)
}
matchData
.
value
=
maList
.
value
[
0
]
})
}
...
...
@@ -484,6 +489,11 @@ const goList = (query, name) => {
query
:
query
})
}
const
goMatch
=
(
n
)
=>
{
router
.
push
({
path
:
`/match/list/
${
n
.
id
}
`
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -524,6 +534,7 @@ const goList = (query, name) => {
clear
:
both
;
overflow
:
hidden
;
}
.banner-pp
{
position
:
absolute
;
bottom
:
40%
;
right
:
5%
;
width
:
200px
;}
.bannerItem
{
height
:
450px
;
...
...
src/viewsPc/match/detail.vue
View file @
2c092c1
...
...
@@ -64,8 +64,8 @@
</van-count-down>
<div>
<a
class=
"btn-lineG mb20"
v-if=
"
time>0
"
@
click=
"choseSignType"
style=
"display: block;text-align: center;"
>
我要报名
</a>
<div
v-else
style=
"opacity: 0.5;"
class=
"btn-lineG mb20 mauto text-center"
>
报名已结束
</div>
<a
class=
"btn-lineG mb20"
v-if=
"
matchData.progressStatusCode=='2'
"
@
click=
"choseSignType"
style=
"display: block;text-align: center;"
>
我要报名
</a>
<div
v-else
-if=
"time<=0"
style=
"opacity: 0.5;"
class=
"btn-lineG mb20 mauto text-center"
>
报名已结束
</div>
</div>
</el-col>
</el-row>
...
...
@@ -211,7 +211,7 @@ onMounted(() => {
}
else
{
groupId
.
value
=
0
}
match
.
getMaList
().
then
((
res
)
=>
{
match
.
getMaList
(
{
topFlag
:
1
,
status
:
1
}
).
then
((
res
)
=>
{
if
(
route
.
params
.
id
!=
0
)
{
matchId
.
value
=
route
.
params
.
id
}
else
{
...
...
src/viewsPc/match/detail_en.vue
View file @
2c092c1
...
...
@@ -66,10 +66,10 @@
</van-count-down>
<div
class=
"flexCenter"
>
<el-button
v-if=
"time>0
"
ref=
"RegisterRef"
type=
"primary"
round
size=
"large"
class=
"btn-lineG mb20 mt30 w100"
<el-button
v-if=
"matchData.progressStatusCode=='2'
"
ref=
"RegisterRef"
type=
"primary"
round
size=
"large"
class=
"btn-lineG mb20 mt30 w100"
@
click=
"choseSignType"
style=
"font-size: 16px"
>
Register
</el-button>
<div
v-else
style=
"opacity: 0.5;"
class=
"btn-lineG mb20 mauto text-center"
>
Registration has ended
</div>
<div
v-else
-if=
"time<=0"
style=
"opacity: 0.5;"
class=
"btn-lineG mb20 mauto text-center"
>
Registration has ended
</div>
</div>
</el-col>
</el-row>
...
...
@@ -250,7 +250,7 @@ onMounted(() => {
}
})
function
getMatchId
()
{
match
.
getMaList
().
then
((
res
)
=>
{
match
.
getMaList
(
{
topFlag
:
1
,
status
:
1
}
).
then
((
res
)
=>
{
matchId
.
value
=
res
.
rows
[
0
].
id
getMatch
(
matchId
.
value
)
getGroupListByCptId
(
matchId
.
value
)
...
...
src/viewsPc/match/index.vue
View file @
2c092c1
...
...
@@ -11,7 +11,7 @@
<el-radio-group
v-model=
"query.type"
@
change=
"getList"
>
<el-radio-button
value=
"-1"
>
{{
language
==
0
?
'全部'
:
'All'
}}
</el-radio-button>
<el-radio-button
value=
"0"
>
{{
language
==
0
?
'联赛'
:
'League'
}}
</el-radio-button>
<el-radio-button
value=
"1"
>
{{
language
==
0
?
'
分站
赛'
:
'Station race'
}}
</el-radio-button>
<el-radio-button
value=
"1"
>
{{
language
==
0
?
'
独立
赛'
:
'Station race'
}}
</el-radio-button>
</el-radio-group>
</li>
<li>
...
...
@@ -55,56 +55,60 @@
</div>
</div>
<div
class=
"matchItem"
v-for=
"n in list"
:key=
"n.id"
@
click=
"goDetail(n.id)"
>
<el-row
:gutter=
"15"
>
<el-col
:lg=
"7"
:md=
"24"
:xl=
"6"
>
<img
class=
"mauto w100 coverLimitHeight"
:src=
"fillImgUrl(n.coverUrl)"
>
</el-col>
<el-col
:lg=
"9"
:md=
"12"
:xl=
"12"
>
<div
class=
"info"
>
<h3>
{{ n.name }}
</h3>
<p
class=
"ppl"
><label>
{{ language==0?'比赛时间':'Playing Time' }}:
</label>
{{n.beginTime?.slice(0,10)}} ~ {{ n.endTime?.slice(0,10) }}
</p>
<p
class=
"ppl"
v-if=
"n.address"
><label>
{{ language==0?'地
    
点':'Location' }}:
</label>
{{ n.address }}
</p>
<p
class=
"ppl"
><label>
{{ language==0?'报名截止':'Registration Deadline' }}:
</label>
{{ n.signEndTime?.slice(0,10) }}
</p>
<div
v-loading=
"loading"
>
<div
class=
"matchItem"
v-for=
"n in list"
:key=
"n.id"
@
click=
"goDetail(n.id)"
>
<el-row
:gutter=
"15"
>
<el-col
:lg=
"7"
:md=
"24"
:xl=
"6"
>
<img
class=
"mauto w100 coverLimitHeight"
:src=
"fillImgUrl(n.coverUrl)"
>
</el-col>
<el-col
:lg=
"9"
:md=
"12"
:xl=
"12"
>
<div
class=
"info"
>
<h3>
{{ n.name }}
</h3>
<p
class=
"ppl"
><label>
{{ language==0?'比赛时间':'Playing Time' }}:
</label>
{{n.beginTime?.slice(0,10)}} ~ {{ n.endTime?.slice(0,10) }}
</p>
<p
class=
"ppl"
v-if=
"n.address"
><label>
{{ language==0?'地
    
点':'Location' }}:
</label>
{{ n.address }}
</p>
<p
class=
"ppl"
><label>
{{ language==0?'报名截止':'Registration Deadline' }}:
</label>
{{ n.signEndTime?.slice(0,10) }}
</p>
<p
class=
"ppl"
v-if=
"n.contactPerson"
><label>
{{ language==0?'联系人员':'Contact Person' }}:
</label>
{{ n.contactPerson }}
</p>
<p
class=
"ppl"
><label>
{{ language==0?'联系电话':'Phone' }}:
</label>
{{ n.contactTelno }}
</p>
<p
class=
"ppl"
v-if=
"n.contactEmail"
><label>
{{ language==0?'邮
    
箱':'E-mail' }}:
</label>
{{ n.contactEmail }}
</p>
<p
class=
"ppl"
v-if=
"n.contactPerson"
><label>
{{ language==0?'联系人员':'Contact Person' }}:
</label>
{{ n.contactPerson }}
</p>
<p
class=
"ppl"
><label>
{{ language==0?'联系电话':'Phone' }}:
</label>
{{ n.contactTelno }}
</p>
<p
class=
"ppl"
v-if=
"n.contactEmail"
><label>
{{ language==0?'邮
    
箱':'E-mail' }}:
</label>
{{ n.contactEmail }}
</p>
</div>
</el-col>
<el-col
:lg=
"8"
:md=
"12"
:xl=
"6"
>
<p
class=
"countDownTitle"
>
<span
v-if=
"language==0"
>
报名截止倒计时
</span>
<span
v-else
>
Registration deadline countdown
</span>
</p>
<van-count-down
:time=
"n.time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
<
template
#
default=
"timeData"
>
<span
class=
"block"
>
{{
timeData
.
days
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'天'
:
'Days'
}}
</span>
<span
class=
"block"
>
{{
timeData
.
hours
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'时'
:
'Hrs'
}}
</span>
<span
class=
"block"
>
{{
timeData
.
minutes
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'分'
:
'Min'
}}
</span>
<span
class=
"block"
>
{{
timeData
.
seconds
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'秒'
:
'Sec'
}}
</span>
</
template
>
</van-count-down>
</div>
</el-col>
<el-col
:lg=
"8"
:md=
"12"
:xl=
"6"
>
<p
class=
"countDownTitle"
>
<span
v-if=
"language==0"
>
报名截止倒计时
</span>
<span
v-else
>
Registration deadline countdown
</span>
</p>
<van-count-down
:time=
"n.time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
<
template
#
default=
"timeData"
>
<span
class=
"block"
>
{{
timeData
.
days
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'天'
:
'Days'
}}
</span>
<span
class=
"block"
>
{{
timeData
.
hours
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'时'
:
'Hrs'
}}
</span>
<span
class=
"block"
>
{{
timeData
.
minutes
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'分'
:
'Min'
}}
</span>
<span
class=
"block"
>
{{
timeData
.
seconds
}}
</span>
<span
class=
"colon"
>
{{
language
==
0
?
'秒'
:
'Sec'
}}
</span>
</
template
>
</van-count-down>
<div
class=
"text-center mt30"
>
<a
class=
"btn-lineG mb20 mauto"
v-if=
"n.time>0"
style=
"display: block;"
>
{{ language==0?'我要报名':'Register' }}
</a>
<div
v-else
style=
"opacity: 0.5;"
class=
"btn-lineG mb20 mauto"
>
{{ language==0?'报名已结束':'Registration has ended' }}
</div>
</div>
</el-col>
</el-row>
</div>
<el-empty
:image=
"`/img/order_no.png`"
:image-size=
"228"
v-if=
"list?.length == 0"
description=
" "
/>
<div
class=
"text-center mt30"
>
<a
class=
"btn-lineG mb20 mauto"
v-if=
"n.time>0"
style=
"display: block;"
>
{{ language==0?'我要报名':'Register' }}
</a>
<div
v-else
style=
"opacity: 0.5;"
class=
"btn-lineG mb20 mauto"
>
{{ language==0?'报名已结束':'Registration has ended' }}
</div>
</div>
</el-col>
</el-row>
</div>
<div
v-if=
"total>10"
class=
"pc-page-box mb20"
>
<PaginationPc
v-model:page=
"query.pageNum"
v-model:limit=
"query.pageSize"
:total=
"total"
@
pagination=
"getList"
/>
</div>
<div
class=
"mb20"
></div>
</div>
</div>
</template>
...
...
@@ -124,6 +128,7 @@ const typeList = ref([{ label: '全部', id: '0' }])
const
list
=
ref
([])
const
projectList
=
ref
([])
const
monthList
=
ref
([])
const
loading
=
ref
(
false
)
const
activeName
=
ref
(
''
)
const
total
=
ref
(
0
)
const
query
=
ref
({
...
...
@@ -167,6 +172,7 @@ function getMonthList() {
}
function
getList
()
{
loading
.
value
=
true
match
.
getMaList
(
query
.
value
).
then
((
res
)
=>
{
list
.
value
=
res
.
rows
for
(
let
n
of
list
.
value
){
...
...
@@ -174,6 +180,7 @@ function getList() {
n
.
time
=
dayjs
(
n
.
signEndTime
).
diff
(
today
,
'millisecond'
)
}
total
.
value
=
res
.
total
loading
.
value
=
false
})
}
...
...
vite.config.js
View file @
2c092c1
...
...
@@ -76,8 +76,8 @@ export default defineConfig(({ mode, command }) => {
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api
\/
ztx-match/
,
''
)
},
'/dev-api/ztx-webSite'
:
{
//
target: 'https://dance.itechtop.cn/stage-api',
target
:
'http://192.168.1.96:9083/'
,
target
:
'https://dance.itechtop.cn/stage-api'
,
//
target: 'http://192.168.1.96:9083/',
changeOrigin
:
true
,
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api
\/
ztx-webSite/
,
''
)
},
...
...
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