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
d4261530
authored
2024-09-02 16:04:39 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
997584ad
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
3 additions
and
989 deletions
src/routerPc/cn.js
src/routerPc/index.js
src/viewsPc/match/detail.vue
src/viewsPc/match/detail_en.vue
src/routerPc/cn.js
View file @
d426153
...
...
@@ -457,7 +457,7 @@ export const constantRoutes = [
},
{
path
:
'list/:id'
,
component
:
()
=>
import
(
'@/viewsPc/match/detail'
),
component
:
()
=>
import
(
'@/viewsPc/match/detail
_en
'
),
name
:
'matchDetail'
,
meta
:
{
title
:
'赛事详情'
}
}
...
...
src/routerPc/index.js
View file @
d426153
...
...
@@ -399,7 +399,7 @@ export const constantRoutes = [
},
{
path
:
'list/:id'
,
component
:
()
=>
import
(
'@/viewsPc/match/detail'
),
component
:
()
=>
import
(
'@/viewsPc/match/detail
_en
'
),
name
:
'matchDetail'
,
meta
:
{
title
:
'赛事详情'
}
},
...
...
src/viewsPc/match/detail.vue
deleted
100644 → 0
View file @
997584a
<
template
>
<!-- 已废弃-->
<div
class=
"app-container"
v-loading=
"loading"
>
<div
class=
"mt30"
/>
<div
v-if=
"error"
>
<el-result
icon=
"error"
title=
"未找到赛事"
>
<template
#
extra
>
</
template
>
</el-result>
</div>
<div
class=
"box mb20 "
v-else
>
<el-card
class=
"mb20"
>
<el-row
:gutter=
"20"
>
<el-col
:lg=
"7"
:md=
"matchData.type=='0'?24:12"
:xl=
"matchData.type=='0'?6:6"
>
<img
class=
"mauto w100"
:src=
"fillImgUrl(matchData.coverUrl)"
>
</el-col>
<el-col
style=
"position: relative"
:lg=
"matchData.type=='0'?9:17"
:md=
"matchData.type=='0'?12:12"
:xl=
"matchData.type=='0'?10:10"
>
<h3
class=
"mtitle"
>
{{ matchData.name }}
</h3>
<p
class=
"ppl"
><label
class=
"bm1"
>
比赛时间:
</label>
{{ matchData.beginTime?.slice(0, 10) }} 至
{{ matchData.endTime?.slice(0, 10) }}
</p>
<p
class=
"ppl"
><label
class=
"bm2"
>
赛事级别:
</label>
{{ matchData.level }}
</p>
<p
class=
"ppl"
v-if=
"matchData.address"
><label
class=
"bm3"
>
地
    
点:
</label>
{{ matchData.address }}
</p>
<!-- <p class="ppl" v-if="matchData.signEndTime"><label class="bm4">报名截止:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>-->
<p
class=
"ppl"
v-if=
"matchData.type=='1'"
>
<label>
<svg
style=
"position: relative;top: 2px;"
t=
"1711708779620"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"7920"
width=
"20"
height=
"20"
><path
d=
"M398.652952 165.692952c-32.280381-46.006857-58.172952-61.318095-92.867047-54.808381-14.969905 2.80381-24.210286 7.850667-41.20381 22.528l-12.946285 11.361524-25.185524 20.894476-6.582857 5.753905c-3.705905 3.413333-6.38781 6.217143-9.825524 10.118095-64 72.46019-81.724952 185.782857-44.470857 292.327619 26.794667 76.55619 74.605714 152.624762 142.774857 228.644572 72.289524 80.62781 133.046857 131.364571 202.922666 168.374857 54.857143 29.013333 96.865524 41.74019 145.676191 43.227429 59.001905 1.828571 110.957714-11.50781 153.648762-39.15581a162.133333 162.133333 0 0 0 19.553524-15.189333l8.289523-7.558095 16.335239-15.213715 5.534476-4.924952 10.922666-9.435429c22.040381-19.651048 29.184-31.939048 30.646858-51.370666 2.194286-29.647238-11.215238-52.736-49.737143-85.699048l-26.063238-21.820952-12.117334-10.581334-11.459047-9.825524c-37.229714-30.744381-64.804571-40.69181-100.205715-35.35238-24.283429 3.632762-38.278095 12.141714-63.073523 38.107428l-10.947048 11.654095c-18.041905 19.017143-28.330667 26.258286-43.544381 29.305905-22.25981 4.461714-44.373333-7.046095-80.262095-36.205714-46.250667-37.546667-84.626286-80.676571-117.613715-131.949714-22.869333-35.766857-31.890286-62.902857-24.941714-87.600762 2.82819-9.99619 9.679238-17.042286 24.064-28.184381l14.994286-11.312762 2.413714-1.877334 22.747429-18.553904c20.114286-16.822857 28.281905-28.281905 32.572952-45.836191 8.899048-36.10819 0.487619-66.072381-32.426667-117.638095l-15.62819-24.234667-5.558857-8.533333-6.436572-9.435429z"
p-id=
"7921"
fill=
"#d3d8d9"
></path></svg>
联系电话:
</label>
{{matchData.contactTelno}}
</p>
<p
class=
"ppl"
v-if=
"matchData.type=='1'"
>
<label>
<svg
style=
"position: relative;top: 2px;"
t=
"1711707785514"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"6578"
width=
"18"
height=
"18"
>
<path
d=
"M780 68H256c-71.6 0-130.2 55.5-130.2 123.2v711.2c1.5 42.8 50 69.3 90.6 50.6l227.2-105c38.5-17.8 83.4-18.5 122.6-1.9l255.4 108.6c34.8 14.8 76.1-2.7 86.3-37.6 1.6-5.4 2.4-11 2.4-16.9v-709C910.2 123.5 851.6 68 780 68zM276.9 231.3h255.9c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41z m386.8 464H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41h386.8c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41z m0-191H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41h386.8c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41z"
p-id=
"6579"
fill=
"#d3d8d9"
></path></svg>
分站赛:
</label>
{{matchData.cpts.length}}
</p>
<div
style=
"height: 30px"
></div>
<div
class=
"ppl_pb"
>
<el-link
class=
"mr20"
v-if=
"matchData.signKnowUrl"
type=
"primary"
:href=
"fillImgUrl(JSON.parse(matchData.signKnowUrl)[0]?.url)"
target=
"_blank"
>
<el-icon
:size=
"20"
>
<Download
/>
</el-icon>
<!-- {{ JSON.parse(matchData.signKnowUrl)[0]?.name}}-->
报名须知
</el-link>
<el-link
class=
"mr20"
v-if=
"matchData.disclaimerUrl"
type=
"primary"
:href=
"fillImgUrl(JSON.parse(matchData.disclaimerUrl)[0]?.url)"
target=
"_blank"
>
<el-icon
:size=
"20"
>
<Download
/>
</el-icon>
免责声明
<!-- {{ JSON.parse(matchData.disclaimerUrl)[0]?.name }}-->
</el-link>
<el-link
v-if=
"matchData.ruleUrl"
type=
"primary"
:href=
"fillImgUrl(JSON.parse(matchData.ruleUrl)[0]?.url)"
target=
"_blank"
>
<el-icon
:size=
"20"
>
<Download
/>
</el-icon>
赛事规程
<!-- {{ JSON.parse(matchData.ruleUrl)[0]?.name }}-->
</el-link>
</div>
</el-col>
<el-col
:lg=
"8"
:md=
"12"
:xl=
"8"
v-if=
"matchData.type=='0'"
>
<p
class=
"countDownTitle"
><span>
报名截止倒计时
</span></p>
<van-count-down
:time=
"startSign>0?startSign:time"
format=
"DD 天 HH 时 mm 分 ss 秒"
>
<
template
#
default=
"timeData"
>
<span
class=
"block"
>
{{
timeData
.
days
}}
</span>
<span
class=
"colon"
>
天
</span>
<span
class=
"block"
>
{{
timeData
.
hours
}}
</span>
<span
class=
"colon"
>
时
</span>
<span
class=
"block"
>
{{
timeData
.
minutes
}}
</span>
<span
class=
"colon"
>
分
</span>
<span
class=
"block"
>
{{
timeData
.
seconds
}}
</span>
<span
class=
"colon"
>
秒
</span>
</
template
>
</van-count-down>
<div
class=
"mt30"
>
<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
v-else-if=
"startSign>0"
style=
"opacity: 0.5;"
class=
"btn-lineG mb20 mauto text-center"
>
报名未开始
</div>
</div>
</el-col>
</el-row>
</el-card>
<quick-row
:match-id=
"matchId"
/>
<el-row
:gutter=
"20"
v-if=
"matchData.type=='0'"
>
<el-col
:lg=
"18"
>
<el-card
:body-style=
"{'padding':'0'}"
>
<div
class=
"lineHead"
>
<ul>
<li
v-for=
"l in menu"
:key=
"l.name"
@
click=
"changeMenu(menu,l)"
:class=
"l.active==1?'active':''"
>
{{ l.name }}
</li>
</ul>
</div>
<matchInfo
:form=
"matchData"
v-if=
"menu[0].active==1"
/>
<div
v-if=
"menu[1].active==1"
>
<match-info-project-list
:match-id=
"matchData.id"
/>
</div>
<match-schedule-list
:match-data=
"matchData"
v-if=
"menu[2].active==1"
/>
<div
v-if=
"menu[3].active==1"
>
<el-row
:gutter=
"20"
v-if=
"matchData.signType == '0'"
>
<el-col
v-for=
"t in signDoneGroupList"
:key=
"t.id"
:span=
"8"
>
<div
class=
"teamItem"
>
<el-avatar
:size=
"60"
:src=
"fillImgUrl(t.imgUrl||t.avatar)"
/>
<span
class=
"name"
>
{{ t.name }}
</span>
</div>
</el-col>
</el-row>
<el-row
:gutter=
"20"
v-else
>
<el-col
:span=
"24"
v-for=
"(t,index) in signDoneGroupList"
:key=
"t.id"
>
<div
class=
"nowteamItem"
>
<span>
{{ index + 1 }}.
</span>
<el-avatar
:size=
"80"
:src=
"fillImgUrl(t.imgUrl||t.avatar)"
:fit=
"cover"
/>
<div
class=
"info"
>
<h3
class=
"name"
>
{{ t.name }}
</h3>
<p
v-if=
"t.extraInfo"
>
<span
v-for=
"(ee,index) in JSON.parse(t.extraInfo)"
:key=
"index"
v-show=
"(ee?.type == '0'||ee?.type == '4')&&index<2"
>
{{ ee.value }}
  
</span>
</p>
</div>
<p
class=
"rr"
><span>
{{ t.renCi }}
</span>
人参赛
</p>
</div>
</el-col>
</el-row>
<el-empty
:image=
"`/img/order_no.png`"
:image-size=
"228"
v-if=
"(signDoneGroupList==null)||(signDoneGroupList.length==0)"
description=
""
/>
</div>
<div
v-if=
"menu[4].active==1"
>
<!-- 成绩-->
<el-empty
:image=
"`/img/order_no.png`"
:image-size=
"228"
/>
</div>
<div
v-if=
"menu[5].active==1"
class=
"pd20"
>
<div
class=
"xzbox"
>
<div
v-html=
"matchData.signKnow"
></div>
<div
v-if=
"matchData.signKnowUrl"
>
{{JSON.parse(matchData.signKnowUrl)}}
<el-link
v-for=
"(item,index) in JSON.parse(matchData.signKnowUrl)"
type=
"primary"
:href=
"fillImgUrl(item.url)"
target=
"_blank"
>
<el-icon
:size=
"20"
>
<Download
/>
</el-icon>
{{ item.name }}
</el-link>
</div>
</div>
</div>
</el-card>
<div
style=
"height: 20px"
></div>
</el-col>
<el-col
:lg=
"6"
>
<match-news
:match-id=
"matchId"
/>
</el-col>
</el-row>
<el-row
v-if=
"matchData.type=='1'"
class=
"mb20"
>
<el-col
:lg=
"24"
>
<el-card
:body-style=
"{'padding':'0'}"
>
<div
class=
"lineHead"
>
<ul>
<li
v-for=
"l in menu1"
:key=
"l.name"
@
click=
"changeMenu(menu1,l)"
:class=
"l.active==1?'active':''"
>
{{ l.name }}
</li>
</ul>
</div>
<!-- 分站赛-->
<substation-list
v-if=
"menu1[0].active==1"
:list=
"matchData.cpts"
/>
<matchInfo
:form=
"matchData"
v-if=
"menu1[1].active==1"
/>
<match-schedule-list
:match-data=
"matchData"
v-if=
"menu1[2].active==1"
/>
</el-card>
</el-col>
</el-row>
</div>
</div>
</template>
<
script
setup
>
import
MatchInfo
from
'@/viewsPc/match/components/matchInfo'
import
MatchScheduleList
from
"@/viewsPc/match/components/matchScheduleList"
;
import
MatchNews
from
"@/viewsPc/match/components/matchNews"
;
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
{
getCurrentInstance
,
ref
}
from
'vue'
import
{
reactive
,
onMounted
}
from
'@vue/runtime-core'
import
{
useRoute
,
useRouter
}
from
'vue-router'
const
route
=
useRoute
()
const
router
=
useRouter
()
const
{
proxy
}
=
getCurrentInstance
()
import
*
as
match
from
'@/apiPc/match'
import
{
toRefs
}
from
'@vueuse/shared'
import
{
dayjs
,
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
useUserStore
from
"@/store/modules/user"
;
import
{
isRelogin
}
from
"@/utils/request"
;
const
data
=
reactive
({
loading
:
false
,
error
:
false
,
matchData
:
{},
matchId
:
'0'
,
groupId
:
''
,
activeName2
:
'first'
,
popupGroupList
:
false
,
menu
:
[{
name
:
'赛事详情'
,
active
:
1
},
{
name
:
'赛事设项'
,
active
:
0
},
{
name
:
'日程'
,
active
:
0
},
{
name
:
'参赛队'
,
active
:
0
},
{
name
:
'成绩'
,
active
:
0
},
{
name
:
'报名须知'
,
active
:
0
}],
menu1
:
[{
name
:
'分站赛'
,
active
:
1
},
{
name
:
'赛事详情'
,
active
:
0
},
{
name
:
'日程'
,
active
:
0
}],
signDoneGroupList
:
[],
time
:
''
,
time2
:
''
,
startSign
:
''
})
const
{
loading
,
error
,
time
,
time2
,
startSign
,
matchData
,
matchId
,
groupId
,
activeName2
,
popupGroupList
,
menu
,
menu1
,
signDoneGroupList
}
=
toRefs
(
data
)
const
group
=
useUserStore
().
group
const
user
=
useUserStore
().
user
onMounted
(()
=>
{
if
(
group
)
{
groupId
.
value
=
group
.
id
}
else
{
groupId
.
value
=
0
}
match
.
getMaList
({
topFlag
:
1
,
status
:
1
}).
then
((
res
)
=>
{
if
(
route
.
params
.
id
!=
0
)
{
matchId
.
value
=
route
.
params
.
id
}
else
{
matchId
.
value
=
res
.
rows
[
0
].
id
}
getMatch
(
matchId
.
value
)
getGroupListByCptId
(
matchId
.
value
)
})
})
function
building
()
{
ElMessage
.
warning
(
'暂未开发,敬请期待!'
)
}
function
getMatch
(
id
)
{
loading
.
value
=
true
match
.
getMatchById
({
id
:
id
}).
then
(
res
=>
{
matchData
.
value
=
res
.
data
loading
.
value
=
false
var
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'
)
}).
catch
(
res
=>
{
error
.
value
=
true
loading
.
value
=
false
})
}
function
getGroupListByCptId
(
id
)
{
match
.
getGroupListByCptId
(
id
).
then
(
res
=>
{
signDoneGroupList
.
value
=
res
.
data
})
}
function
changeMenu
(
menu
,
l
)
{
for
(
const
n
of
menu
)
{
if
(
n
==
l
)
{
n
.
active
=
1
}
else
{
n
.
active
=
0
}
}
}
function
goLogin
()
{
useUserStore
().
setReLogin
()
}
function
choseSignType
()
{
console
.
log
(
matchData
.
value
.
signType
,
user
)
if
(
!
user
)
{
goLogin
()
}
else
{
checkIsSign
().
then
(()
=>
{
switch
(
matchData
.
value
.
signType
)
{
case
'0'
:
if
(
user
.
utype
==
'1'
)
{
goPersonalSign
()
}
else
{
ElMessageBox
.
confirm
(
'当前活动是个人活动,无法报名'
,
'提示'
,
{
confirmButtonText
:
'好的'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
)
}
break
case
'1'
:
if
(
user
.
utype
==
'1'
)
{
ElMessageBox
.
confirm
(
'当前活动是团队活动,无法报名'
,
'提示'
,
{
confirmButtonText
:
'好的'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
)
}
else
{
goTeamSign
()
}
break
case
'2'
:
if
(
user
.
utype
==
'1'
)
{
goPersonalSign
()
}
else
{
goTeamSign
()
}
break
}
})
}
}
function
goTeamSign
()
{
const
routeData
=
router
.
resolve
({
path
:
`
${
matchId
.
value
}
/teamSign`
,
query
:
{
matchId
:
matchId
.
value
,
groupId
:
groupId
.
value
,
signType
:
matchData
.
value
.
signType
}
})
window
.
open
(
routeData
.
href
,
'_blank'
)
}
function
goPersonalSign
()
{
// 选项目
const
routeData
=
router
.
resolve
({
name
:
`chooseProject`
,
query
:
{
matchId
:
matchId
.
value
}
})
window
.
open
(
routeData
.
href
,
'_blank'
)
}
// 获取已报信息
function
checkIsSign
()
{
var
obj
=
{
cptId
:
matchId
.
value
,
groupId
:
groupId
.
value
||
0
}
return
match
.
getMySignInfo
(
obj
).
then
(
res
=>
{
if
(
res
.
data
.
type
==
'1'
)
{
ElMessageBox
.
confirm
(
'已报名,不能重复报名,是否前往个人中心查看'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
).
then
(()
=>
{
router
.
push
({
name
:
'myMatch'
})
})
return
Promise
.
reject
(
'rejected message'
)
}
if
(
res
.
data
.
type
==
'2'
)
{
ElMessageBox
.
confirm
(
'报名审批拒绝,是否重新报名'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
).
then
(()
=>
{
match
.
recoverMySignFromCancel
(
matchId
.
value
).
then
((
res
)
=>
{
switch
(
matchData
.
value
.
signType
)
{
case
'0'
:
if
(
user
.
utype
==
'1'
)
{
goPersonalSign
()
}
else
{
ElMessageBox
.
confirm
(
'当前活动是个人活动,无法报名'
,
'提示'
,
{
confirmButtonText
:
'好的'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
)
}
break
case
'1'
:
if
(
user
.
utype
==
'1'
)
{
ElMessageBox
.
confirm
(
'当前活动是团队活动,无法报名'
,
'提示'
,
{
confirmButtonText
:
'好的'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
)
}
else
{
goTeamSign
()
}
break
case
'2'
:
if
(
user
.
utype
==
'1'
)
{
goPersonalSign
()
}
else
{
goTeamSign
()
}
break
}
})
})
return
Promise
.
reject
(
'rejected message'
)
}
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
.app-container
{
min-height
:
80vh
;}
.mtitle
{
margin
:
5px
0
0
;
line-height
:
1.4
;}
.indexTitle
{
margin
:
20px
0
12px
;
h3
{
font-size
:
20px
;
color
:
var
(
--el-color-primary
);
}
}
.ppl
{
color
:
#29343C
;
margin
:
10px
0
0
;
label
{
color
:
#929AA0
;
}
}
.bm1
{
background
:
url("@/assets/dance/bm1.png")
no-repeat
left
;
background-size
:
contain
;
padding-left
:
24px
;
}
.bm2
{
background
:
url("@/assets/dance/bm2.png")
no-repeat
left
;
background-size
:
contain
;
padding-left
:
24px
;
}
.bm3
{
background
:
url("@/assets/dance/bm3.png")
no-repeat
left
;
background-size
:
contain
;
padding-left
:
24px
;
}
.bm4
{
background
:
url("@/assets/dance/bm4.png")
no-repeat
left
;
background-size
:
contain
;
padding-left
:
24px
;
}
.app-container
{
padding
:
0
;
background
:
#F5F7F9
;
}
.countDownTitle
{
text-align
:
center
;
color
:
#525F6B
;
position
:
relative
;
width
:
100%
;
left
:
0
;
font-size
:
14px
;
}
.countDownTitle
span
{
background
:
#fff
;
padding
:
0
10px
;
position
:
relative
;
z-index
:
1
;
}
.countDownTitle
::after
{
position
:
absolute
;
background
:
#ccc
;
height
:
1px
;
content
:
''
;
top
:
0
;
bottom
:
0
;
margin
:
auto
;
width
:
100%
;
left
:
0
;
}
.typeTag
{
border-radius
:
10px
10px
10px
0px
;
padding
:
2px
12px
;
background
:
#FF8124
;
font-size
:
14px
;
color
:
#fff
;
}
.matchItem
{
cursor
:
pointer
;
margin-bottom
:
40px
;
height
:
180px
;
background
:
#FFFFFF
;
position
:
relative
;
border-radius
:
10px
;
.el-avatar
{
position
:
absolute
;
left
:
20px
;
top
:
30px
;
img
{
background
:
#fff
;
}
}
.info
{
padding
:
12px
0
0
140px
;
p
{
font-size
:
14px
;
}
}
.typeTag
{
position
:
absolute
;
right
:
0
;
top
:
0
;
}
h3
{
font-weight
:
500
;
font-size
:
18px
;
color
:
#000000
;
text-overflow
:
ellipsis
;
}
&
:hover
h3
{
font-weight
:
bold
;
}
}
.el-pagination
{
justify-content
:
center
;
--el-pagination-bg-color
:
none
;
}
.kind
{
background
:
#fff
;
margin
:
0
0
30px
;
ul
{
list-style
:
none
;
padding
:
30px
0
10px
;
li
{
margin
:
0
0
20px
;
display
:
flex
;
align-items
:
center
;
}
}
}
.listTitle
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.match-tabs
{
background
:
#fff
;
padding
:
10px
20px
20px
;
}
.teamItem
{
height
:
80px
;
background
:
#FBFCFD
;
border-radius
:
10px
;
margin
:
10px
0
;
display
:
flex
;
align-items
:
center
;
padding
:
0
20px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
.el-avatar
{
border
:
1px
solid
#EEEEEE
;
}
.name
{
margin-left
:
15px
;
flex
:
1
;
font-size
:
14px
;
}
}
.grid-top
{
background
:
#fff
;
min-height
:
300px
;
padding
:
28px
28px
10px
;
border-radius
:
10px
;
margin
:
30px
auto
;
position
:
relative
;
.cover
{
width
:
420px
;
height
:
250px
;
position
:
absolute
;
border-radius
:
10px
;
background
:
#fff
;
object-fit
:
cover
;
}
.info
{
padding-left
:
440px
;
h3
{
font-weight
:
500
;
color
:
#000000
;
margin
:
0
0
10px
;
font-size
:
24px
;
img
{
margin-right
:
10px
}
.typeTag
{
border-radius
:
13px
13px
13px
0
;
margin-left
:
10px
;
}
}
p
{
color
:
#7B7F83
;
font-size
:
16px
;
}
.countDownTitle
{
font-size
:
14px
;
}
.el-button.el-button--primary
{
background
:
#CA171D
;
border
:
none
;
}
}
}
.gg
{
margin
:
0
0
28px
;
h3
{
border-left
:
2px
solid
#BA2E29
;
padding
:
0
0
0
12px
;
margin
:
20px
0
8px
;
font-weight
:
500
;
font-size
:
16px
;
}
p
{
font-size
:
16px
;
color
:
#000
;
margin
:
0
0
8px
;
line-height
:
24px
;
label
{
color
:
#7D8790
;
}
}
.pp
{
border
:
1px
solid
rgba
(
186
,
46
,
41
,
0.3
);
padding
:
20px
;
}
}
.van-count-down
{
text-align
:
center
;
margin
:
20px
0
;
}
.colon
{
display
:
inline-block
;
font-size
:
16px
;
margin
:
0
8px
;
color
:
#7B7F83
;
}
.block
{
display
:
inline-block
;
width
:
52px
;
color
:
#fff
;
font-size
:
26px
;
font-weight
:
bold
;
border-radius
:
10px
;
background
:
url(@/assets/img/djs_bg.png)
left
;
background-size
:
100%
100%
;
line-height
:
50px
;
text-align
:
center
;
}
.time-address
{
font-size
:
15px
;
margin
:
10px
0
0
;
color
:
#999
;
}
.popList
.teamItem
{
cursor
:
pointer
;
}
.popList
.teamItem
:hover
{
background
:
#e7e7e7
;
}
.richContent
{
overflow
:
hidden
;
}
.richContent
img
{
max-width
:
100%
;
}
.red-center
{
font-size
:
24px
;
text-align
:
center
;
font-family
:
DIN
Alternate
;
padding
:
30px
0
;
font-weight
:
bold
;
color
:
#E60012
;
}
.plist
{
dt
{
font-size
:
14px
;
}
dd
{
display
:
inline-block
;
margin
:
0
15px
0
0
;
}
dd
.t
{
display
:
block
;
margin
:
15px
0
6px
;
border-left
:
3px
solid
#1ec886
;
line-height
:
1
;
padding
:
6px
;
background
:
#f5f5f5
;
}
li
{
line-height
:
40px
;
display
:
flex
;
justify-content
:
space-between
;
padding
:
0
20px
;
align-items
:
center
;
cursor
:
pointer
;
}
li
:hover
{
background
:
#eee
;
}
}
.pp
.el-link
{
margin-right
:
15px
;
font-size
:
16px
;
}
:deep
(
.el-collapse-item__header
)
{
font-weight
:
500
;
font-size
:
16px
;
}
.pobtns
{
position
:
absolute
;
right
:
20px
;
bottom
:
20px
;
}
:deep
(
.el-tabs__item
)
{
font-size
:
16px
;
}
.signButton
{
margin
:
0
0
20px
;
button
{
width
:
90%
;
background
:
var
(
--el-color-primary
);
font-size
:
20px
;
margin
:
30px
auto
0
;
display
:
block
;
height
:
50px
;
}
}
.el-timeline-item__timestamp.is-top
{
font-size
:
16px
;
}
.el-timeline-item__content
{
font-size
:
16px
;
margin
:
10px
0
0
;
}
.typeTag.blue
{
background
:
#00a0e9
;
}
.typeTag.green
{
background
:
#34cf96
;
}
:deep
(
.el-tabs__nav-wrap
::after
)
{
height
:
1px
;
}
.table
{
width
:
100%
;
border-left
:
1px
solid
#e1e1e1
;
border-top
:
1px
solid
#e1e1e1
;
th
{
background
:
#eee
;
padding
:
6px
10px
;
border-right
:
1px
solid
#e1e1e1
;
border-bottom
:
1px
solid
#e1e1e1
;
font-size
:
15px
;
}
td
{
padding
:
6px
10px
;
border-right
:
1px
solid
#e1e1e1
;
font-size
:
15px
;
border-bottom
:
1px
solid
#e1e1e1
;
vertical-align
:
middle
;
text-align
:
center
;
span
{
margin-right
:
10px
}
span
::after
{
content
:
','
}
span
:last-child::after
{
content
:
''
}
}
}
.flexLine
{
display
:
flex
;
label
{
font-weight
:
normal
}
}
.nowteamItem
{
height
:
100px
;
background
:
#FBFCFD
;
border-radius
:
10px
;
margin
:
20px
0
;
display
:
flex
;
align-items
:
center
;
padding
:
0
20px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
.el-avatar
{
margin
:
0
20px
}
.info
{
h3
{
margin
:
0
0
15px
;
}
p
{
margin
:
0
;
color
:
#1ab394
}
}
.rr
{
text-align
:
right
;
flex
:
1
;
span
{
color
:
#1ab394
}
}
}
.collapsebox
{
.el-collapse-item
{
margin-bottom
:
15px
;
--el-collapse-content-bg-color
:
#F4F9FE
;
border
:
2px
solid
#DDECFB
;
.table
{
background
:
#fff
;
}
}
.is-active
{
--el-collapse-header-bg-color
:
#F4F9FE
}
:deep
(
.el-collapse-item__header
)
{
padding
:
0
20px
;
}
}
.funcBtns
{
display
:
flex
;
justify-content
:
space-around
;
div
{
text-align
:
center
;
background
:
#F7FAFF
;
box-shadow
:
0
0
10px
#d4cae4
;
border-radius
:
15px
;
padding
:
0px
10px
5px
;
img
{
}
h4
{
margin
:
0
;
font-size
:
16px
;
}
}
}
.table
{
white-space
:
nowrap
}
.ppl_pb
{
position
:
absolute
;
bottom
:
0
;}
@media
(
max-width
:
1650px
){
.ppl
{
color
:
#29343C
;
margin
:
5px
0
0
;
}
}
@media
(
max-width
:
800px
)
{
.van-count-down
{
.block
{
margin
:
0
10px
;
}
}
.colon
{
display
:
none
;
}
.funcBtns
{
div
{
padding
:
0
0
10px
;
margin
:
0
5px
;
}
}
}
</
style
>
src/viewsPc/match/detail_en.vue
View file @
d426153
...
...
@@ -318,7 +318,7 @@
</div>
</el-dialog>
<!-- <a class="ding" @click="openPickup" v-if="matchData.leagueId==0&&matchId=='1802602359043600385'">{{ language==0?'接 / 送机服务':'Pick-up/drop-off service' }}</a>--
>
<a
class=
"ding"
@
click=
"openPickup"
v-if=
"matchData.leagueId==0&&matchId=='1802602359043600385'"
>
{{ language==0?'接 / 送机服务':'Pick-up/drop-off service' }}
</a
>
<pickup
ref=
"pickupRef"
></pickup>
</div>
</template>
...
...
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