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
00bdea3a
authored
2025-09-28 15:09:46 +0800
by
李婷婷
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
首页配置
1 parent
25d06fa3
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
510 additions
and
58 deletions
src/viewsPc/components/bookingSearch.vue
src/viewsPc/components/masterClass.vue
src/viewsPc/home.vue
src/viewsPc/index.vue
src/viewsPc/index_en.vue
vite.config.js
src/viewsPc/components/bookingSearch.vue
0 → 100644
View file @
00bdea3
<
template
>
<el-dialog
v-model=
"show"
:close-on-click-modal=
"false"
:title=
"language==0?'日程查询':'Schedule inquiry'"
align-center
append-to-body
center
class=
"pcloginpop"
close-icon=
"CircleClose"
destroy-on-close
style=
"min-width:350px;max-width: 500px"
>
<div
v-loading=
"loading"
style=
"min-height: 500px;height: 50vh;"
>
<div
v-if=
"!type||type==''"
>
<div
class=
"rItem"
@
click=
"type='0'"
>
{{
language
==
0
?
'按项目查询'
:
'Query by project'
}}
</div>
<div
class=
"rItem"
@
click=
"type='1'"
>
{{
language
==
0
?
'按团队查询'
:
'Query by team'
}}
</div>
<div
class=
"rItem"
@
click=
"type='2'"
>
{{
language
==
0
?
'按姓名查询'
:
'Query by name'
}}
</div>
</div>
<div
v-if=
"type=='0'"
>
<div
class=
"flex mt30"
>
<el-input
v-model=
"query"
:placeholder=
"language==0?'输入项目/ 项目编号查询':'Enter project name or code to Query'"
clearable
@
blur=
"search"
@
empty=
"search"
@
enter=
"search"
/>
<el-button
class=
"btn-lineG"
style=
"color: #fff"
@
click=
"search"
>
{{
language
==
0
?
'查询'
:
'Search'
}}
</el-button>
</div>
<div
v-if=
"list.length>0"
class=
"mt30 rollY"
>
<el-timeline>
<el-timeline-item
v-for=
"(form, index) in list"
:key=
"index"
:timestamp=
"form.date + ' ' + form.timeStr"
placement=
"top"
>
<div
class=
"text-primary"
>
<span
v-if=
"language==1&&form.projectNameEn"
>
{{
form
.
projectNameEn
}}
</span>
<span
v-else-if=
"form.projectName"
>
{{
form
.
projectName
}}
</span>
<span
class=
"fr"
>
{{
form
.
changCi
}}
<i
v-if=
"form.changCi"
>
/
</i>
{{
language
==
0
?
form
.
lun
:
form
.
lunEn
}}
</span>
</div>
<div>
{{
form
.
danceType
}}
</div>
<div>
{{
form
.
address
}}
</div>
</el-timeline-item>
</el-timeline>
</div>
<div
v-else
>
<el-empty
/>
</div>
</div>
<div
class=
"searchBox"
>
<div
v-if=
"type=='1'"
>
<div
class=
"flex mt20"
>
<el-input
v-model=
"query2"
:placeholder=
"language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'"
clearable
@
blur=
"searchTeam"
@
empty=
"searchTeam"
@
enter=
"searchTeam"
/>
<el-button
class=
"btn-lineG"
style=
"color: #fff"
@
click=
"searchTeam"
>
{{
language
==
0
?
'查询'
:
'Search'
}}
</el-button>
</div>
<span
class=
"tip"
>
*
{{
language
==
0
?
'模糊查询'
:
'Fuzzy query'
}}
</span>
<div
v-if=
"showGroupList"
class=
"text-danger text-center"
>
{{
language
==
0
?
'找到多个团体'
:
'Found multiple teams'
}}
</div>
<div
v-if=
"showGroupList"
class=
"groupList rollY"
>
<ul>
<li
v-for=
"(item, index) in groupList"
:key=
"index"
@
click=
"showDetail(item)"
>
{{
item
}}
<el-icon
class=
"fr"
>
<ArrowRight
/>
</el-icon>
</li>
</ul>
</div>
<div
v-if=
"teamlist.length>0"
class=
"temell mt20 rollY"
>
<el-collapse
accordion
>
<el-collapse-item
v-for=
"(team,index) in teamlist"
:key=
"index"
:name=
"index"
:title=
"team[0].title"
>
<el-timeline>
<el-timeline-item
v-for=
"(form, index) in team"
:key=
"index"
placement=
"top"
>
<div
class=
"text-primary"
style=
"position: relative;top:-15px"
>
{{
form
.
date
+
' '
+
form
.
timeStr
+
' / '
+
form
.
address
}}
<span
v-if=
"form.lunEn"
>
/
{{
form
.
lunEn
}}
</span>
<span
v-else-if=
"form.lun"
>
/
{{
form
.
lun
}}
</span>
<span
v-if=
"form.changCi "
>
/
{{
language
==
0
?
'场次'
:
'Session'
}}
:
{{
form
.
changCi
}}
</span>
</div>
<div
v-if=
"form.projectNameEn"
class=
"tname"
>
{{
form
.
projectNameEn
}}
</div>
<div
v-if=
"form.projectName"
class=
"tname"
>
{{
form
.
projectName
}}
</div>
<div>
{{
form
.
danceType
}}
</div>
</el-timeline-item>
</el-timeline>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div
v-if=
"type=='2'"
>
<div
class=
"flex mt30"
>
<el-input
v-model=
"query3"
:placeholder=
"language==0?'输入选手姓名查询':'Enter the name of the player to Query'"
clearable
@
blur=
"personalSearch"
@
empty=
"personalSearch"
@
enter=
"personalSearch"
/>
<el-button
class=
"btn-lineG"
style=
"color: #fff"
@
click=
"personalSearch"
>
{{
language
==
0
?
'查询'
:
'Search'
}}
</el-button>
</div>
<div
v-if=
"list.length>0"
class=
"temell mt20 rollY"
>
<el-timeline>
<el-timeline-item
v-for=
"(team,j) in list"
:key=
"j"
placement=
"top"
>
<div
v-for=
"(form, index) in team"
v-show=
"index==0"
:key=
"index"
>
<div
class=
"text-primary"
style=
"position: relative;top:-15px"
>
{{
form
.
date
+
' '
+
form
.
timeStr
+
' / '
+
form
.
address
}}
<span
v-if=
"form.lunEn"
>
/
{{
form
.
lunEn
}}
</span>
<span
v-else-if=
"form.lun"
>
/
{{
form
.
lun
}}
</span>
<span
v-if=
"form.changCi "
>
/
{{
language
==
0
?
'场次'
:
'Session'
}}
:
{{
form
.
changCi
}}
</span>
</div>
<div
v-if=
"form.projectNameEn"
class=
"tname"
>
{{
form
.
projectNameEn
}}
</div>
<div
v-if=
"form.projectName"
class=
"tname"
>
{{
form
.
projectName
}}
</div>
<div>
{{
form
.
danceType
}}
</div>
</div>
<div
v-for=
"(form, index) in team"
v-show=
"index>0"
:key=
"index"
style=
"margin: 8px 0 0"
>
{{
form
.
date
+
' '
+
form
.
timeStr
+
' / '
+
form
.
address
}}
<span
v-if=
"form.lunEn"
>
/
{{
form
.
lunEn
}}
</span>
<span
v-else-if=
"form.lun"
>
/
{{
form
.
lun
}}
</span>
<span
v-if=
"form.changCi "
>
/
{{
language
==
0
?
'场次'
:
'Session'
}}
:
{{
form
.
changCi
}}
</span>
</div>
</el-timeline-item>
</el-timeline>
</div>
</div>
</div>
</div>
<div
v-if=
"list.length>0||showGroupList.length>0||teamlist.length>0||groupList.length>0"
class=
"text-center"
>
{{
language
==
0
?
'下滑查看更多'
:
'Scroll down to view more'
}}
</div>
</el-dialog>
</
template
>
<
script
setup
>
import
{
ref
}
from
'vue'
import
{
ElMessage
}
from
'element-plus'
import
{
getquerySchedule2Pre
,
getqySchedule
,
getqySchedule2
,
getTeamBackNumber
,
getTeamBackNumberPre
,
queryScheduleSingle
}
from
'@/apiPc/common'
import
{
useStorage
}
from
'@vueuse/core/index'
const
language
=
useStorage
(
'language'
,
0
)
const
show
=
ref
(
false
)
// const form = ref({})
const
list
=
ref
([])
const
loading
=
ref
(
false
)
const
groupList
=
ref
([])
const
teamlist
=
ref
([])
const
query
=
ref
(
''
)
const
query2
=
ref
(
''
)
const
query3
=
ref
(
''
)
const
type
=
ref
(
''
)
const
showGroupList
=
ref
(
false
)
const
cptId
=
ref
()
const
search
=
()
=>
{
if
(
!
query
.
value
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请输入搜索关键词'
:
'Enter project name or code to Query'
)
return
}
getqySchedule
({
projectName
:
query
.
value
,
cptId
:
cptId
.
value
}).
then
(
res
=>
{
if
(
!
res
.
data
||
res
.
data
.
length
==
0
)
{
list
.
value
=
[]
// 提示 '未找到结果,请重新查询'
ElMessage
.
warning
(
language
.
value
==
0
?
'未找到结果,请重新查询'
:
'No result'
)
return
}
list
.
value
=
res
.
data
}).
catch
(
e
=>
{
loading
.
value
=
false
})
}
const
searchTeam
=
()
=>
{
teamlist
.
value
=
[]
if
(
!
query2
.
value
||
query2
.
value
.
length
<
2
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请输入代表队名称至少两字符'
:
'Enter the representing team name,At least two characters'
)
return
}
loading
.
value
=
true
getquerySchedule2Pre
({
groupName
:
query2
.
value
,
cptId
:
cptId
.
value
}).
then
(
res
=>
{
loading
.
value
=
false
if
(
!
res
.
data
||
res
.
data
.
length
==
0
)
{
groupList
.
value
=
[]
// 提示 '未找到结果,请重新查询'
ElMessage
.
warning
(
language
.
value
==
0
?
'未找到结果,请重新查询'
:
'No result'
)
return
}
groupList
.
value
=
res
.
data
if
(
groupList
.
value
.
length
==
1
)
{
showDetail
(
groupList
.
value
[
0
])
}
if
(
groupList
.
value
.
length
>
1
)
{
showGroupList
.
value
=
true
}
}).
catch
(
e
=>
{
loading
.
value
=
false
})
}
const
personalSearch
=
()
=>
{
if
(
!
query3
.
value
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请输入搜索关键词'
:
'Enter project name or code to Query'
)
return
}
loading
.
value
=
true
queryScheduleSingle
({
query
:
query3
.
value
,
cptId
:
cptId
.
value
}).
then
(
res
=>
{
loading
.
value
=
false
if
(
!
res
.
data
||
res
.
data
.
length
==
0
)
{
list
.
value
=
[]
// 提示 '未找到结果,请重新查询'
ElMessage
.
warning
(
language
.
value
==
0
?
'未找到结果,请重新查询'
:
'No result'
)
return
}
list
.
value
=
res
.
data
})
}
const
open
=
(
param
)
=>
{
console
.
log
(
param
)
cptId
.
value
=
param
.
cptId
show
.
value
=
true
list
.
value
=
[]
teamlist
.
value
=
[]
groupList
.
value
=
[]
query
.
value
=
''
type
.
value
=
''
loading
.
value
=
false
}
defineExpose
({
open
})
function
showDetail
(
name
)
{
query2
.
value
=
name
showGroupList
.
value
=
false
loading
.
value
=
true
getqySchedule2
({
groupName
:
name
,
cptId
:
cptId
.
value
}).
then
(
res
=>
{
loading
.
value
=
false
teamlist
.
value
=
res
.
data
}).
catch
(
e
=>
{
loading
.
value
=
false
})
}
</
script
>
<
style
lang=
"scss"
scoped
>
.tname
{
font-size
:
14px
;
font-weight
:
bold
;
position
:
relative
;
top
:
-8px
}
.tip
{
font-size
:
12px
;
margin
:
4px
0
0
;
display
:
inline-block
;
}
.rItem
{
max-height
:
130px
;
cursor
:
pointer
;
border
:
1px
solid
#e1e1e1
;
border-radius
:
4px
;
max-width
:
350px
;
text-align
:
center
;
line-height
:
130px
;
padding
:
1px
;
font-size
:
30px
;
color
:
#fff
;
margin
:
20px
auto
;
background
:
linear-gradient
(
90deg
,
#8623FC
,
#453DEA
);
&:hover
{
background
:
linear-gradient
(
90deg
,
#453DEA
,
#8623FC
);
box-shadow
:
0
4px
10px
#453DEA
;
border
:
none
;
}
}
.nowteamItem
{
width
:
100%
;
border
:
1px
solid
#c8c5ff
;
margin-top
:
20px
;
position
:
relative
;
border-radius
:
4px
;
padding
:
0
0
20px
;
background
:
#FFFFFF
;
box-sizing
:
border-box
;
.info
{
.nowName
{
font-family
:
"DIN Alternate"
;
font-size
:
60px
;
font-weight
:
bold
;
overflow
:
hidden
;
display
:
block
;
margin
:
10px
;
}
label
{
text-align
:
right
;
font-size
:
14px
;
padding-left
:
7%
}
div
{
font-size
:
14px
;
color
:
#333
;
margin
:
6px
0
0
;
}
}
}
.temell
{
.nowteamItem
{
padding
:
10px
;
margin
:
0
0
10px
;
.nowName
{
font-size
:
15px
;
font-weight
:
bold
;
margin-right
:
10px
}
.text-bold
{
font-weight
:
bold
;
}
.fontsize14
{
font-size
:
14px
;
}
}
}
.groupList
{
max-height
:
70vh
;
overflow
:
auto
;
border
:
1px
solid
#e1e1e1
;
margin-top
:
10px
;
li
{
padding
:
10px
;
border-bottom
:
1px
solid
#e1e1e1
;
cursor
:
pointer
;
}
}
.searchBox
{
height
:
50vh
;
//
overflow-y
:
auto
;
}
.rollY
{
height
:
45vh
;
overflow-y
:
auto
;
}
</
style
>
src/viewsPc/components/masterClass.vue
View file @
00bdea3
...
...
@@ -3,7 +3,7 @@
v-model=
"show"
:close-on-click-modal=
"false"
:title=
"title"
append-to-body
center
class=
"pcloginpop"
close-icon=
"CircleClose"
destroy-on-close
width=
"600px
"
:width=
"isMobile ? '90%' : '600px'
"
>
<div
class=
"boxInvitation pd20"
>
<el-steps
:active=
"activeStep"
align-center
class=
"mb20"
>
...
...
@@ -183,7 +183,7 @@
<
script
setup
>
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
getCurrentInstance
,
watch
}
from
'vue'
import
{
getCurrentInstance
,
watch
,
onMounted
}
from
'vue'
import
{
nextTick
}
from
'@vue/runtime-core'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
{
addInvitation
,
countryList
}
from
'@/apiPc/match'
...
...
@@ -203,6 +203,7 @@ const countrys = ref([])
const
courseList
=
ref
([])
const
loading
=
ref
(
false
)
const
cptId
=
ref
(
''
)
const
isMobile
=
ref
(
false
)
const
rules
=
ref
(
{
nationality
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
}],
...
...
@@ -221,6 +222,13 @@ const open = (params) => {
cptId
.
value
=
params
.
cptId
getCourse
()
}
const
checkMobile
=
()
=>
{
isMobile
.
value
=
window
.
innerWidth
<
768
}
onMounted
(()
=>
{
checkMobile
()
window
.
addEventListener
(
'resize'
,
checkMobile
)
})
defineExpose
({
open
})
watch
(
show
,
(
value
)
=>
{
if
(
!
value
)
{
...
...
@@ -251,6 +259,10 @@ function setActive(n) {
return
}
activeStep
.
value
=
n
// 在移动设备上,切换步骤时滚动到顶部
if
(
isMobile
.
value
)
{
window
.
scrollTo
({
top
:
0
,
behavior
:
'smooth'
})
}
}
function
courseChange
(
e
)
{
...
...
src/viewsPc/home.vue
View file @
00bdea3
...
...
@@ -2,9 +2,9 @@
<div>
<index-Ch
v-if=
"language ==0"
@
backNumber=
"openBackNumber"
@
pickup=
"openPickup"
@
pop=
"openMaster"
@
schSearch=
"openSchSearch"
@
schSearch=
"openSchSearch"
@
reserveSearch=
"bookingSearchOpen"
/>
<index-En
v-else
@
backNumber=
"openBackNumber"
@
pickup=
"openPickup"
@
pop=
"openMaster"
@
schSearch=
"openSchSearch"
/>
<index-En
v-else
@
backNumber=
"openBackNumber"
@
pickup=
"openPickup"
@
pop=
"openMaster"
@
reserveSearch=
"bookingSearchOpen"
@
schSearch=
"openSchSearch"
/>
<div
v-if=
"showgg"
class=
"fixed_gg"
>
<!--天气-->
<el-icon
class=
"cclose"
@
click
.
stop=
"showgg=false"
>
...
...
@@ -80,6 +80,7 @@
<pick-up
ref=
"pickupRef"
/>
<back-number
ref=
"backNumberRef"
/>
<sch-search
ref=
"schSearchRef"
/>
<bookingSearch
ref=
"bookingSearchRef"
/>
</div>
</
template
>
...
...
@@ -92,6 +93,7 @@ import DialogMasterClass from '@/viewsPc/components/masterClass'
import
PickUp
from
'@/viewsPc/components/pickup'
import
BackNumber
from
'@/viewsPc/components/querybackNumber'
import
SchSearch
from
'@/viewsPc/components/schSearch'
import
bookingSearch
from
'@/viewsPc/components/bookingSearch'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
ref
}
from
'vue'
import
{
getWeather
}
from
'@/apiPc/webSite'
...
...
@@ -152,6 +154,14 @@ const openSchSearch = (params) => {
}
proxy
.
$refs
[
'schSearchRef'
].
open
(
obj
)
}
const
bookingSearchOpen
=
(
params
)
=>
{
console
.
log
(
params
)
const
obj
=
{
title
:
'日程查询'
,
cptId
:
params
.
cptId
}
proxy
.
$refs
[
'bookingSearchRef'
].
open
(
obj
)
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/viewsPc/index.vue
View file @
00bdea3
...
...
@@ -48,14 +48,13 @@
style=
"position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around"
>
<a
v-if=
"matchData.liveQrcode"
class=
" btn2"
style=
"z-index: 999999"
@
click
.
stop=
"liveQrcodeShow
=true
"
@
click
.
stop=
"liveQrcodeShow
Btn
"
>
赛事直播
</a>
<a
v-if=
"matchData.isCourseView==1"
class=
" btn2"
@
click
.
stop=
"popMaster"
>
公益课
...
...
@@ -73,7 +72,7 @@
<div
class=
"h100"
style=
"position: relative"
>
<img
v-if=
"n.bgImgUrl"
:src=
"fillImgUrl(n.bgImgUrl)"
class=
"bannerImg"
>
<img
v-else
class=
"bannerImg"
src=
"@/assets/dance/banner.png"
>
<div
style=
"position: absolute;left: 0;right: 0;
bottom: 0
;margin: auto;"
>
<div
style=
"position: absolute;left: 0;right: 0;
top: 100px
;margin: auto;"
>
<div
v-if=
"n.time>0"
class=
"banner-count"
@
click=
"goMatch(n)"
>
距离开始还有
<van-count-down
:time=
"n.time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
...
...
@@ -97,31 +96,7 @@
</van-count-down>
</div>
<div
v-if=
"n.timeEnd<0"
>
<!-- <a target="_blank" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698" class="banner-count" v-if="time>0&&n.id=='1778253367748993026'" @click="goMatch(n)">-->
<!-- <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">-->
<!-- <template #default="timeData">-->
<!-- <div class="block">{{ timeData.days }}-->
<!-- <span class="colon">天</span>-->
<!-- </div>-->
<!-- :-->
<!-- <div class="block">{{ timeData.hours }}-->
<!-- <span class="colon">时</span>-->
<!-- </div>-->
<!-- :-->
<!-- <div class="block">{{ timeData.minutes }}-->
<!-- <span class="colon">分</span>-->
<!-- </div>-->
<!-- :-->
<!-- <div class="block">{{ timeData.seconds }}-->
<!-- <span class="colon">秒</span>-->
<!-- </div>-->
<!-- </template>-->
<!-- </van-count-down>-->
<!-- 开始直播-->
<!-- </a>-->
<!-- <a target="_blank" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698" class="banner-count bb" v-else-if="time<=0&&n.id=='1778253367748993026'" @click="goMatch(n)">-->
<!-- 直播进行中-->
<!-- </a>-->
<div
class=
"banner-count bb"
@
click=
"goMatch(n)"
>
报名已结束
</div>
...
...
@@ -129,6 +104,23 @@
<div
v-if=
"n.time<=0 && n.timeEnd>=0"
class=
"banner-count bb"
@
click=
"goMatch(n)"
>
开始报名
</div>
</div>
<div
style=
"position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around"
>
<a
class=
" btn2-phone"
style=
"z-index: 999999"
@
click
.
stop=
"liveQrcodeShowBtn"
>
赛事直播
</a>
<a
class=
" btn2-phone"
@
click
.
stop=
"popMaster"
>
公益课
</a>
</div>
</div>
</div>
...
...
@@ -148,12 +140,13 @@
<download
/>
</el-icon>
</a>
<!-- <a-->
<!-- v-if="matchData.isCourseView==1" class="zn-btn ml20 btn-q forPc"-->
<!-- @click="popMaster"-->
<!-- >青少年公益课报名</a>-->
<a
v-show=
"matchData?.id"
class=
"zn-btn ml20 btn-q"
class=
"zn-btn ml20 btn-q"
@
click=
"reserveSearch"
>
预定查询
</a>
<br/>
<a
v-show=
"matchData?.id"
class=
"zn-btn btn-q mt20"
@
click=
"backNumberSearch"
>
背号查询
</a>
<a
v-show=
"matchData?.id"
class=
"zn-btn ml20 btn-q"
@
click=
"schSearch"
>
日程查询
</a>
...
...
@@ -440,8 +433,10 @@
<!-- 邀请函-->
<div
class=
"fixed_gg_l yaoQing"
>
<img
src=
"@/assets/logo/Invitation_c.png"
@
click=
"applyInvitation"
>
<div
v-if=
"clubImage"
style=
"padding-left: 7px;"
>
<!-- v-if="maList.invitationSw == '1'" -->
<img
src=
"@/assets/logo/Invitation_c.png"
@
click=
"applyInvitation"
v-if=
"matchData.invitationSw == '1'"
>
<!-- && maList.invitationSw == '1' -->
<div
v-if=
"clubImage && matchData.visaSw == '1'"
style=
"padding-left: 7px;"
>
<el-image
:preview-src-list=
"[clubImage]"
:src=
"clubImage"
...
...
@@ -465,12 +460,12 @@
</div>
<affix-invitation
ref=
"dialogInvitationRef"
/>
<el-dialog
v-model=
"liveQrcodeShow"
:title=
"language==0?'赛事直播' :'Live QR Code'"
width=
"
50
0px"
>
<el-dialog
v-model=
"liveQrcodeShow"
:title=
"language==0?'赛事直播' :'Live QR Code'"
width=
"
35
0px"
>
<div
v-if=
"matchData.liveQrcode"
style=
"display: flex;justify-content: space-between"
>
<el-image
:src=
"fillImgUrl(matchData.liveQrcode)"
fit=
"cover"
style=
"width:
4
50px;"
style=
"width:
3
50px;"
/>
</div>
...
...
@@ -510,7 +505,7 @@ const navigationPic = ref({
})
const
router
=
useRouter
()
const
{
proxy
}
=
getCurrentInstance
()
const
emit
=
defineEmits
([
'pop'
,
'pickup'
,
'backNumber'
,
'schSearch'
])
const
emit
=
defineEmits
([
'pop'
,
'pickup'
,
'backNumber'
,
'schSearch'
,
'reserveSearch'
])
const
time
=
ref
(
0
)
const
etime
=
ref
(
0
)
const
personList
=
ref
([
...
...
@@ -589,6 +584,7 @@ const init = () => {
})
match
.
getMaList
({
topFlag
:
1
}).
then
((
res
)
=>
{
maList
.
value
=
res
.
rows
console
.
log
(
333
,
maList
.
value
)
for
(
const
n
of
maList
.
value
)
{
const
today
=
dayjs
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
if
(
n
.
signBeginTime
)
{
...
...
@@ -668,6 +664,14 @@ const goGuide = () => {
}
})
}
const
liveQrcodeShowBtn
=
()
=>
{
if
(
!
matchData
.
value
.
liveQrcode
){
ElMessage
.
warning
(
'当前赛事暂无直播'
)
return
}
else
{
liveQrcodeShow
.
value
=
true
}
}
const
popMaster
=
()
=>
{
var
params
=
{
cptId
:
matchData
.
value
.
id
...
...
@@ -680,6 +684,12 @@ const backNumberSearch = () => {
}
emit
(
'backNumber'
,
params
)
}
const
reserveSearch
=
()
=>
{
var
params
=
{
cptId
:
matchData
.
value
.
id
}
emit
(
'reserveSearch'
,
params
);
// 向父组件发射事件+参数
};
const
schSearch
=
()
=>
{
var
params
=
{
cptId
:
matchData
.
value
.
id
...
...
@@ -1326,6 +1336,22 @@ function applyInvitation() {
flex-wrap
:
nowrap
;
right
:
5%
;
color
:
#fff
;
border-radius
:
20px
;
}
.btn2-phone
{
cursor
:
pointer
;
padding
:
10px
20px
;
font-size
:
14px
;
align-items
:
center
;
overflow
:
hidden
;
background
:
url(/src/assets/dance/time_bg.png)
no-repeat
center
;
background-size
:
100%
100%
;
border-radius
:
20px
;
//
bottom
:
40%
;
display
:
flex
;
flex-wrap
:
nowrap
;
//
right
:
5%
;
color
:
#fff
;
}
@media
(
max-width
:
767px
)
{
...
...
src/viewsPc/index_en.vue
View file @
00bdea3
...
...
@@ -48,15 +48,13 @@
style=
"position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around"
>
<a
v-if=
"matchData.liveQrcode"
class=
" btn2"
style=
"z-index: 999999"
@
click
.
stop=
"liveQrcodeShow
=true
"
style=
"z-index: 999999"
@
click
.
stop=
"liveQrcodeShow
Btn
"
>
<!-- 赛事直播-->
Live Qrcode
</a>
<a
v-if=
"matchData.isCourseView==1"
class=
" btn2"
@
click
.
stop=
"popMaster"
>
Junior
&
Youth Camp REGISTER
...
...
@@ -73,7 +71,7 @@
<div
class=
"h100"
style=
"position: relative"
>
<img
v-if=
"n.bgImgUrl"
:src=
"fillImgUrl(n.bgImgUrl)"
class=
"bannerImg"
>
<img
v-else
class=
"bannerImg"
src=
"@/assets/dance/banner.png"
>
<div
style=
"position: absolute;left: 0;right: 0;
bottom: 0
;margin: auto;"
>
<div
style=
"position: absolute;left: 0;right: 0;
top: 100px
;margin: auto;"
>
<div
v-if=
"n.time>0"
class=
"banner-count"
>
Countdown
<van-count-down
:time=
"n.time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
...
...
@@ -107,6 +105,22 @@
</div>
</div>
<div
style=
"position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around"
>
<a
class=
" btn2-phone"
style=
"z-index: 999999"
@
click
.
stop=
"liveQrcodeShowBtn"
>
Live Qrcode
</a>
<a
class=
" btn2-phone"
@
click
.
stop=
"popMaster"
>
Junior
&
Youth Camp REGISTER
</a>
</div>
</div>
</div>
</el-carousel-item>
...
...
@@ -127,7 +141,8 @@
<download
/>
</el-icon>
</a>
<a
<a
class=
"zn-btn ml20 btn-q"
@
click=
"popMaster"
>
Booking Inquiry
</a>
<!-- <a
v-if="matchData.isCourseView==1" class="zn-btn ml20 btn-q forPc"
style="font-size: 15px;margin-right: 20px" @click="popMaster"
>
...
...
@@ -135,7 +150,8 @@
<el-icon>
<Edit />
</el-icon>
</a>
</a> -->
<a
class=
"zn-btn ml20 btn-q"
@
click=
"backNumberSearch"
>
Competition
Number
</a>
<a
class=
"zn-btn ml20 btn-q"
@
click=
"schSearchSearch"
>
Schedule
...
...
@@ -421,10 +437,11 @@
<!-- 邀请函-->
<div
class=
"fixed_gg_l yaoQing"
>
<img
src=
"@/assets/logo/Invitation_e.png"
@
click=
"applyInvitation"
>
<img
src=
"@/assets/logo/Invitation_e.png"
@
click=
"applyInvitation"
v-if=
"matchData.invitationSw == '1'"
>
<div
style=
"padding-left: 7px;"
>
<el-image
v-if=
"clubImage"
v-if=
"clubImage
&& matchData.visaSw == '1'
"
:preview-src-list=
"[clubImage]"
:src=
"clubImage"
fit=
"cover"
...
...
@@ -445,13 +462,13 @@
</div>
<affix-invitation
ref=
"dialogInvitationRef"
/>
<el-dialog
v-model=
"liveQrcodeShow"
:title=
"language==0?'赛事直播' :'Live QR Code'"
width=
"
50
0px"
>
<el-dialog
v-model=
"liveQrcodeShow"
:title=
"language==0?'赛事直播' :'Live QR Code'"
width=
"
35
0px"
>
<div
style=
"display: flex;justify-content: space-between"
>
<el-image
v-if=
"matchData.liveQrcode"
:src=
"fillImgUrl(matchData.liveQrcode)"
fit=
"cover"
style=
"
width: 4
50px;"
style=
"
max-width: 3
50px;"
/>
</div>
...
...
@@ -641,6 +658,14 @@ const goGuide = () => {
}
})
}
const
liveQrcodeShowBtn
=
()
=>
{
if
(
!
matchData
.
value
.
liveQrcode
){
ElMessage
.
warning
(
'There is currently no live broadcast of the event'
)
return
}
else
{
liveQrcodeShow
.
value
=
true
}
}
const
popMaster
=
()
=>
{
var
params
=
{
...
...
@@ -779,7 +804,7 @@ function applyInvitation() {
.banner-count
{
position
:
absolute
;
padding
:
20px
40px
;
padding
:
20px
;
font-size
:
20px
;
align-items
:
center
;
overflow
:
hidden
;
...
...
@@ -1450,6 +1475,7 @@ function applyInvitation() {
flex-wrap
:
nowrap
;
right
:
5%
;
color
:
#fff
;
border-radius
:
20px
;
}
...
...
vite.config.js
View file @
00bdea3
...
...
@@ -65,20 +65,20 @@ export default defineConfig(({ mode, command }) => {
// https://cn.vitejs.dev/config/#server-proxy
'/dev-api/ztx-train'
:
{
// target: 'http://192.168.1.118:1896/stage-api',
target
:
'https://
jijin.wt
wuxicenter.com/stage-api'
,
target
:
'https://
wdsf
wuxicenter.com/stage-api'
,
changeOrigin
:
true
,
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api
\/
ztx-train/
,
''
)
},
'/dev-api/ztx-match'
:
{
// target: 'http://192.168.1.118:8081',
target
:
'https://
jijin.wt
wuxicenter.com/stage-api'
,
target
:
'https://
wdsf
wuxicenter.com/stage-api'
,
// target: 'https://wdsfwuxicenter.com/stage-api/',
changeOrigin
:
true
,
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api
\/
ztx-match/
,
''
)
},
'/dev-api/ztx-webSite'
:
{
// target: 'http://192.168.1.118:8081',
target
:
'https://
jijin.wt
wuxicenter.com/stage-api'
,
target
:
'https://
wdsf
wuxicenter.com/stage-api'
,
changeOrigin
:
true
,
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api
\/
ztx-webSite/
,
''
)
},
...
...
@@ -92,7 +92,7 @@ export default defineConfig(({ mode, command }) => {
},
'/ticket'
:
{
// target: 'http://192.168.1.242:8081/',
target
:
'https://
jijin.wt
wuxicenter.com/h5/'
,
target
:
'https://
wdsf
wuxicenter.com/h5/'
,
// target: 'https://ticketh5.wdsfwuxicenter.com/h5/',
changeOrigin
:
true
,
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
ticket/
,
''
)
...
...
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