f23375cd by zhangmeng

官网

1 parent 45b4252e
<template>
<div class="itemBox" v-if="language === 0">
<div v-if="language === 0" class="itemBox">
<el-row :gutter="20">
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">签证服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">酒店预订</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">接送服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(10)"><img src="@/assets/dance/btn04.png">票务服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">媒体注册</div>
</el-col>
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">周边活动</div>-->
<!-- </el-col>-->
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">赛事直播</div>-->
<!-- </el-col>-->
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">周边活动</div>-->
<!-- </el-col>-->
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">赛事直播</div>-->
<!-- </el-col>-->
</el-row>
</div>
<div class="itemBox_en" v-else>
<div v-else class="itemBox_en">
<el-row :gutter="20" justify="space-around">
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">Visa Services</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">HOTEL RESERVATION</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">TRANSPORTATION RESERVATION</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(10)"><img src="@/assets/dance/btn04.png">TICKET SERVICES</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">Media Registration</div>
</el-col>
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">Around Activity</div>-->
<!-- </el-col>-->
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">live streaming</div>-->
<!-- </el-col>-->
<!-- <div class="item" @click="goAround"><img src="@/assets/dance/btn06.png">Around Activity</div>-->
<!-- </el-col>-->
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
<!-- <div class="item" @click="liveClick"><img src="@/assets/dance/btn05.png">live streaming</div>-->
<!-- </el-col>-->
</el-row>
</div>
<order-remark ref="orderRemarkRef" @submit="goBooking"/>
<affix-invitation ref="dialogInvitationRef"/>
<!-- 媒体注册-->
<!-- 媒体注册-->
<media-register ref="mediaRegisterRef"/>
</template>
......@@ -94,22 +94,23 @@ watch(matchId, (val) => {
if (val && val != '0') {
getBaseInfoByActiveId(props.matchId).then(res => {
form.value = res.data || null
console.log(form.value)
}).catch(err => {
console.log(err)
form.value = null
})
match.getInfoByCptId({ cptId:props.matchId }).then((res) => {
match.getInfoByCptId({cptId: props.matchId}).then((res) => {
liveData.value = res.data || {}
})
}
})
const liveClick = () => {
if (liveData.value.videoStatus=="1") {
if(language.value==0){
if (liveData.value.videoStatus == "1") {
if (language.value == 0) {
window.open(liveData.value.videoUrlCn)
} else {
window.open(liveData.value.videoUrlEn)
......@@ -124,7 +125,7 @@ const goAbout = () => {
}
const goAround = () => {
//周边活动
router.push({path: `/about/wuDao`,query: {activeIndex: '2'}})
router.push({path: `/about/wuDao`, query: {activeIndex: '2'}})
}
onMounted(() => {
......@@ -133,8 +134,9 @@ onMounted(() => {
function building() {
ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.')
return
}
function applyInvitation() {
var obj = {
title: language.value == 0 ? '邀请函申请' : 'Visa Invitation Letter ',
......@@ -142,9 +144,15 @@ function applyInvitation() {
}
proxy.$refs['dialogInvitationRef'].open(obj)
}
const user = useUserStore().user
function goMedia() {
//如果没登录
if (form.value.isMedia == 0) {
building()
return
}
if (!user) {
ElMessage({
type: 'warning',
......@@ -152,7 +160,7 @@ function goMedia() {
})
return
}
proxy.$refs['mediaRegisterRef'].open({cptId: matchId.value})
}
......@@ -161,13 +169,18 @@ function popRemark(type) {
building()
return
}
if(type == '0'){
if (type == '0') {
// 签证
if(language.value === 0){
if (language.value === 0) {
ElMessage.warning('请切换英文页面办理')
return
} else {
if (form.value.isVisa == 0) {
building()
return
}
if (!user) {
ElMessage({
type: 'warning',
......@@ -175,18 +188,19 @@ function popRemark(type) {
})
return
}
applyInvitation()
return
}
}
if ((form.value.isJdView == 0 && type == '1')
|| (form.value.isCarView == 0 && type == '2')
|| (form.value.isFoodView == 0 && type == '3')
|| (form.value.isMealView == 0 && type == '4')
|| (form.value.isPhotoView == 0 && type == '5')
|| (form.value.isTicketView == 0 && type == '10')
|| (form.value.isCarView == 0 && type == '2')
|| (form.value.isFoodView == 0 && type == '3')
|| (form.value.isMealView == 0 && type == '4')
|| (form.value.isPhotoView == 0 && type == '5')
|| (form.value.isTicketView == 0 && type == '10')
) {
building()
return
......@@ -204,11 +218,11 @@ function goBooking(n) {
switch (n) {
case 10:
// 票务
// router.push({
// path: `/booking/ticket/${props.matchId}`,
// params: {id:props.matchId},
// query: {id: props.matchId}
// path: `/booking/ticket/${props.matchId}`,
// params: {id:props.matchId},
// query: {id: props.matchId}
// })
break;
case 1:
......@@ -235,42 +249,56 @@ function goBooking(n) {
}
</script>
<style scoped lang="scss">
.itemBox,.itemBox_en {
padding: 20px;background: #fff;box-shadow: 0 0 46px 0 rgba(1,16,64,0.08);
<style lang="scss" scoped>
.itemBox, .itemBox_en {
padding: 20px;
background: #fff;
box-shadow: 0 0 46px 0 rgba(1, 16, 64, 0.08);
border-radius: 20px;
}
:deep(.el-col){ max-width: 20%;flex: 0 0 20%;}
:deep(.el-col) {
max-width: 20%;
flex: 0 0 20%;
}
.item {
//box-shadow: 0px 0px 21px 0px rgba(41, 23, 101, 0.14);
padding: 10px 0;
display: flex;
align-items: center;justify-content: center;
align-items: center;
justify-content: center;
font-size: 20px;
background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF;
background-size: 100% 100%;
border-radius: 15px;gap: 10px;
img {object-fit: contain;
width: 75px;height: 75px;
border-radius: 15px;
gap: 10px;
img {
object-fit: contain;
width: 75px;
height: 75px;
}
}
.itemBox_en .item {
flex-direction: column;text-align: center;text-transform: uppercase;
height: 100%;
flex-direction: column;
text-align: center;
text-transform: uppercase;
height: 100%;
img {
position: relative;
transition: all 0.2s;
}
&:hover {
box-shadow: 0 0 10px #eee;
img {
transform: rotateY(180deg);
}
p {
color: #000;
}
......@@ -278,11 +306,23 @@ height: 100%;
}
@media screen and (max-width: 768px) {
.itemBox,.itemBox_en{padding: 0 20px 0}
.item{font-size: 16px;height: auto !important;
padding: 15px 0;margin: 10px 0;
img{width: 50px;height: 50px}
.itemBox, .itemBox_en {
padding: 0 20px 0
}
.item {
font-size: 16px;
height: auto !important;
padding: 15px 0;
margin: 10px 0;
img {
width: 50px;
height: 50px
}
}
:deep(.el-col) {
max-width: 50%;
flex: 0 0 50%;
}
:deep(.el-col){ max-width: 50%;flex: 0 0 50%;}
}
</style>
......
<template>
<div class="syBg">
<div class="banner">
<el-carousel class="forPc" autoplay :interval="2000" height="450px" :autoplay="false" arrow="hover"
<el-carousel :autoplay="false" :interval="2000" arrow="hover" autoplay class="forPc" height="450px"
@change="carouselChange">
<el-carousel-item style="height: 450px;" v-for="n in maList" :key="n.id">
<el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;">
<div class="bannerItem">
<div class="h100" @click.stop="goMatch(n)">
<img class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
<img :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
<div class="box forPc" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
<img class="slogen" src="@/assets/logo/banner-text.png"/>
<div class="btabs">
<div v-for="tab in tabList" @click.stop="goMatchWithTab(n,tab.id)">{{tab.customTitle}}</div>
<div v-for="tab in tabList" @click.stop="goMatchWithTab(n,tab.id)">{{ tab.customTitle }}</div>
</div>
<div v-if="!liveData || liveData.videoStatus==0">
<!-- <div class="banner-count bb"></div>-->
<!-- <div class="banner-count bb"></div>-->
</div>
<div class="banner-count" v-if="currentDateTime < liveData.videoStart" @click.stop="goliveUrl">
<div v-if="currentDateTime < liveData.videoStart&&form.isLiveVideo==1" class="banner-count"
@click.stop="goliveUrl">
距离直播开始
<van-count-down :time="liveStartTime" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
......@@ -42,29 +43,34 @@
</div>
<!--如果有直播-->
<div v-if="liveData&& liveData.videoStatus==1" @click.stop="goliveUrl">
<div class="banner-count bb" v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)">直播进行中</div>
<div class="banner-count bb" v-if="currentDateTime > liveData.videoEnd">直播已结束</div>
<!-- <div class="banner-count bb" v-if="currentDateTime < liveData.videoStart">直播即将开始</div>-->
<div v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)"
class="banner-count bb">直播进行中
</div>
<div v-if="currentDateTime > liveData.videoEnd" class="banner-count bb">直播已结束</div>
<!-- <div class="banner-count bb" v-if="currentDateTime < liveData.videoStart">直播即将开始</div>-->
</div>
<div v-if="liveData&& liveData.picStatus==1" @click.stop="gopicliveUrl">
<div class="picliveBtn" v-if="(currentDateTime>liveData.picStart)&&(currentDateTime<liveData.picEnd)">图片直播中</div>
<div class="picliveBtn" v-if="currentDateTime > liveData.picEnd">图片直播</div>
<div class="picliveBtn" v-if="currentDateTime < liveData.picStart">图片直播</div>
<div v-if="liveData&& liveData.picStatus==1&&form.isLivePic==1" @click.stop="gopicliveUrl">
<div v-if="(currentDateTime>liveData.picStart)&&(currentDateTime<liveData.picEnd)" class="picliveBtn">
图片直播中
</div>
<div v-if="currentDateTime > liveData.picEnd" class="picliveBtn">图片直播</div>
<div v-if="currentDateTime < liveData.picStart" class="picliveBtn">图片直播</div>
</div>
</div>
</div>
</div>
</el-carousel-item>
</el-carousel>
<el-carousel class="forWei" height="160px" autoplay arrow="hover" @change="carouselChange">
<el-carousel-item style="height: 160px;" v-for="n in maList" :key="n.id">
<el-carousel arrow="hover" autoplay class="forWei" height="160px" @change="carouselChange">
<el-carousel-item v-for="n in maList" :key="n.id" style="height: 160px;">
<div class="bannerItem" style="height:100%">
<div class="h100" style="position: relative">
<img class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
<img :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
<div style="position: absolute;left: 0;right: 0;bottom: 0;margin: auto;">
<!-- <img class="slogen" src="@/assets/logo/banner-text.png"/>-->
<div class="banner-count" v-if="currentDateTime < liveData.videoStart" @click="goliveUrl">
<!-- <img class="slogen" src="@/assets/logo/banner-text.png"/>-->
<div v-if="currentDateTime < liveData.videoStart" class="banner-count" @click="goliveUrl">
距离直播开始
<van-count-down :time="liveStartTime" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
......@@ -87,8 +93,10 @@
</van-count-down>
</div>
<div v-if="liveData&& liveData.videoStatus==1" @click.stop="goliveUrl">
<div class="banner-count" v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)">直播进行中</div>
<div class="banner-count" v-if="currentDateTime > liveData.videoEnd">直播已结束</div>
<div v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)"
class="banner-count">直播进行中
</div>
<div v-if="currentDateTime > liveData.videoEnd" class="banner-count">直播已结束</div>
</div>
</div>
</div>
......@@ -96,30 +104,30 @@
</el-carousel-item>
</el-carousel>
</div>
<div class="mb30">
<home-weather-bar/>
</div>
<div class="box">
<HomeQuick :match-id="matchData?.id" :cpt-name="matchData?.name"/>
<HomeQuick :cpt-name="matchData?.name" :match-id="matchData?.id"/>
</div>
<div id="part0" class="box part">
<el-row :gutter="20">
<el-col :sm="24" :lg="12">
<el-col :lg="12" :sm="24">
<div class="indexTitle">
<h3 class="leftboderTT">通知公告</h3>
<a class="more" href="#/notice">MORE</a>
</div>
<el-card :body-style="{'padding':'10px 20px 18px'}">
<div v-for="(n,index) in newsList" :key="index" class="newline" @click="goDetail(n)">
<h3>{{ n.name }}</h3>
<span class="date">{{n.belongTime}}</span>
<h3>{{ n.name }}</h3>
<span class="date">{{ n.belongTime }}</span>
</div>
</el-card>
</el-col>
<el-col :sm="24" :lg="12">
<el-col :lg="12" :sm="24">
<div class="indexTitle">
<h3 class="leftboderTT">竞赛日程</h3>
<a class="more" href="#/saiC">MORE</a>
......@@ -129,12 +137,12 @@
<home-calendar/>
</el-card>
</el-col>
</el-row>
</div>
<!-- 新闻 -->
<div id="part1" class="part">
<div class="box">
<div class="indexTitle">
<h3 class="leftboderTT">新闻资讯</h3>
......@@ -142,9 +150,9 @@
</div>
<el-row :gutter="20">
<el-col
v-for="(n,index) in newest2"
:key="n.id" :xs="24" :sm="8"
:lg="8"
v-for="(n,index) in newest2"
:key="n.id" :lg="8" :sm="8"
:xs="24"
>
<div class="activeItem" @click="goDetail(n)">
<div class="imgbox">
......@@ -175,30 +183,30 @@
<el-row :gutter="20">
<el-col :lg="8">
<a class="liveImgbox" target="_blank" @click="golive(livelist[0])">
<!-- <div class="livetimecount" v-if="time>0">-->
<!-- <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">-->
<!-- <template #default="timeData">-->
<!-- <div class="block">{{ timeData.days }}-->
<!-- </div>-->
<!-- <span class="colon">天</span>-->
<!-- <div class="block">{{ timeData.hours }}-->
<!-- </div>-->
<!-- <span class="colon">时</span>-->
<!-- <div class="block">{{ timeData.minutes }}-->
<!-- </div>-->
<!-- <span class="colon">分</span>-->
<!-- <div class="block">{{ timeData.seconds }}-->
<!-- </div>-->
<!-- <span class="colon">秒后开播 </span>-->
<!-- </template>-->
<!-- </van-count-down>-->
<!-- </div>-->
<!-- <i class="ii" v-else-if="etime>0&&time<=0">直播中</i>-->
<!-- <div class="livetimecount" v-if="time>0">-->
<!-- <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">-->
<!-- <template #default="timeData">-->
<!-- <div class="block">{{ timeData.days }}-->
<!-- </div>-->
<!-- <span class="colon">天</span>-->
<!-- <div class="block">{{ timeData.hours }}-->
<!-- </div>-->
<!-- <span class="colon">时</span>-->
<!-- <div class="block">{{ timeData.minutes }}-->
<!-- </div>-->
<!-- <span class="colon">分</span>-->
<!-- <div class="block">{{ timeData.seconds }}-->
<!-- </div>-->
<!-- <span class="colon">秒后开播 </span>-->
<!-- </template>-->
<!-- </van-count-down>-->
<!-- </div>-->
<!-- <i class="ii" v-else-if="etime>0&&time<=0">直播中</i>-->
<!-- <i class="livetimecount" v-if="etime<=0">直播已结束</i>-->
<div class="imgBox">
<img :src="fillImgUrl_webSite(livelist[0]?.picUrl)">
</div>
<!-- <h3 class="esp" v-if="time>0">世锦赛</h3>-->
<!-- <h3 class="esp" v-if="time>0">世锦赛</h3>-->
<h3 class="esp">
{{ livelist[0]?.name }}
</h3>
......@@ -207,9 +215,9 @@
<el-col :lg="16">
<div class="swiperPic">
<swiper
class="swiper-wrapper" :modules="modules" :slides-per-view="3" :space-between="20"
:navigation="navigationPic"
:autoplay="true" :loop="true"
:autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic"
:slides-per-view="3"
:space-between="20" class="swiper-wrapper"
>
<swiper-slide v-for="(n,i) in picList" :key="i">
<div class="picbox" @click="goDetail(n)">
......@@ -223,14 +231,14 @@
</el-col>
</el-row>
<el-row class="news-l-r">
<el-col v-for="(n,index) in livelist" :lg="8" v-show="index>0">
<el-col v-for="(n,index) in livelist" v-show="index>0" :lg="8">
<div class="item" style="padding: 0;margin: 20px 0 0" @click="goDetail(n)">
<div class="imgbox">
<i class="playIcon"></i>
<img :src="fillImgUrl_webSite(n.picUrl)"></div>
<div class="info">
<div class="small-size text-gray">
<!-- <span v-if="n.subName">{{ n.subName + ' | ' }}</span>-->
<!-- <span v-if="n.subName">{{ n.subName + ' | ' }}</span>-->
{{ n.belongTime }}
</div>
<h2 class="esp_2">{{ n.name }}</h2>
......@@ -241,7 +249,7 @@
</el-card>
</div>
</div>
<div class="box">
<el-row :gutter="20">
<el-col :lg="12">
......@@ -255,9 +263,9 @@
</div>
<div class="mt30 text-center">
<a class="btn-black" href="#/about/wuDao" style="display: inline-flex;align-items: center;">了解更多<img
style="filter: brightness(2);height: 8px" src="@/assets/v1/more.png"/></a>
src="@/assets/v1/more.png" style="filter: brightness(2);height: 8px"/></a>
</div>
</div>
</el-col>
<el-col :lg="12">
......@@ -284,13 +292,13 @@
</el-col>
</el-row>
</div>
<div class="box">
<div class="indexTitle">
<h3 class="leftboderTT">合作伙伴</h3>
</div>
<el-row :gutter="20">
<el-col :lg="6" :sm="6" :xs="12" v-for="p in partners">
<el-col v-for="p in partners" :lg="6" :sm="6" :xs="12">
<div class="logobox">
<img :src="fillImgUrl(JSON.parse(p.picUrl))">
</div>
......@@ -313,8 +321,10 @@ import {Autoplay, Navigation} from 'swiper'
import 'swiper/css'
import {dayjs, ElMessage} from 'element-plus'
import * as match from "@/apiPc/match";
import {getAboutUs, getInfoByCptId, getppInfo, getZNList} from "@/apiPc/match";
// import {getAboutUs, getInfoByCptId, getppInfo, getZNList} from "@/apiPc/match";
import HomeWeatherBar from "@/viewsPc/components/homeWeatherBar";
import {getBaseInfoByActiveId} from "@/apiPc/booking";
const modules = [Autoplay, Navigation]
const navigationPic = ref({
......@@ -346,6 +356,7 @@ const partners = ref([])
const liveData = ref({})
const aboutUsContent = ref('')
const liveStartTime = ref(0)
const form = ref({})
onMounted(() => {
init()
......@@ -353,38 +364,44 @@ onMounted(() => {
const init = () => {
var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
time.value = dayjs('2024-07-17 07:00:00').diff(today, 'millisecond')
etime.value = dayjs('2024-07-22 12:00:00').diff(today, 'millisecond')
time.value = dayjs('2025-07-17 07:00:00').diff(today, 'millisecond')
etime.value = dayjs('2025-07-22 12:00:00').diff(today, 'millisecond')
getNewsListById({
pageSize: time.value > 0 ? 3 : 4,
pageNum: 1,
sortId: '30000006'
}
pageSize: time.value > 0 ? 3 : 4,
pageNum: 1,
sortId: '30000006'
}
).then(res => {
livelist.value = res.rows
})
getNewsListById({
pageSize: 5,
pageNum: 1,
sortId: '30000007'
}
pageSize: 5,
pageNum: 1,
sortId: '30000007'
}
).then(res => {
picList.value = res.rows
})
getNewsList({
pageSize: 3,
pageNum: 1,
language: 1,
code: '1000'
}
pageSize: 3,
pageNum: 1,
language: 1,
code: '1000'
}
).then(res => {
newest2.value = res.rows
})
getNewsListById({pageSize: 6, pageNum: 1,sortId: '20000000'}).then(res => {
getNewsListById({pageSize: 6, pageNum: 1, sortId: '20000000'}).then(res => {
newsList.value = res.rows
})
async function getMatchSet(id) {
const res = await getBaseInfoByActiveId(id)
form.value = res.data ?? null
console.log(form.value)
}
match.getMaList({topFlag: 1}).then((res) => {
maList.value = res.rows
for (let n of maList.value) {
......@@ -402,17 +419,18 @@ const init = () => {
}
matchData.value = maList.value[0]
getMatchInfo(matchData.value.id)
getMatchSet(matchData.value.id)
})
match.getLabelList().then(res=> {
match.getLabelList().then(res => {
tabList.value = res.data
})
getpartners()
}
const getMatchInfo = (id) => {
match.getInfoByCptId({ cptId:id }).then((res) => {
match.getInfoByCptId({cptId: id}).then((res) => {
liveData.value = res.data || {}
if(liveData.value.videoStart){
if (liveData.value.videoStart) {
liveStartTime.value = dayjs(liveData.value.videoStart).diff(currentDateTime.value, 'millisecond')
}
})
......@@ -508,36 +526,53 @@ const handlePickup = () => {
}
const goliveUrl = () => {
if (liveData.value.videoStatus=="1") {
window.open(liveData.value.videoUrlCn)
if (liveData.value.videoStatus == "1") {
window.open(liveData.value.videoUrlCn)
} else {
ElMessage.warning( '暂无直播' )
ElMessage.warning('暂无直播')
}
}
const gopicliveUrl = () => {
if (liveData.value.picStatus=="1") {
window.open(liveData.value.picUrlCn)
if (liveData.value.picStatus == "1") {
window.open(liveData.value.picUrlCn)
} else {
ElMessage.warning( '暂无直播' )
ElMessage.warning('暂无直播')
}
}
</script>
<style scoped lang="scss">
.syBg{
<style lang="scss" scoped>
.syBg {
background: url("@/assets/dance/logo_l.png") no-repeat bottom left,
url("@/assets/dance/logo_r1.png") no-repeat bottom right;
}
.btabs{display: flex;position: absolute;bottom: 60px;gap: 10px;
div{color: #fff; background-color: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);border: 2px solid #9ba6d4;border-radius: 50px;
padding:6px 20px;
.btabs {
display: flex;
position: absolute;
bottom: 60px;
gap: 10px;
div {
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);
border: 2px solid #9ba6d4;
border-radius: 50px;
padding: 6px 20px;
}
div:hover {
cursor: pointer;
background: #fff;
color: #000;
border: 2px solid #fff;
}
div:hover{cursor: pointer;background: #fff;color: #000;border:2px solid #fff;}
}
.zn-bg {
background: #FFFFFF;margin-bottom: 22px;
background: #FFFFFF;
margin-bottom: 22px;
box-shadow: 0px 0px 46px 0px rgba(1, 16, 64, 0.08);
border-radius: 20px;
}
......@@ -545,18 +580,18 @@ const gopicliveUrl = () => {
.zn-Box {
.bgbg {
padding: 5%;
img {
margin: 5% 0
}
}
.itemBox {
padding: 20px 0;
}
border-radius: 15px;
.zn-btn {
background: #FFFFFF;
font-size: 18px;
......@@ -566,8 +601,8 @@ const gopicliveUrl = () => {
display: inline-flex;
align-items: center;
}
}
.app-main {
......@@ -584,16 +619,24 @@ const gopicliveUrl = () => {
height: 450px;
background: #000;
position: relative;
.slogen{position: relative;top: 130px;}
.picliveBtn{ position: absolute;cursor: pointer;
.slogen {
position: relative;
top: 130px;
}
.picliveBtn {
position: absolute;
cursor: pointer;
bottom: 24%;
font-size: 20px;
padding: 10px 25px;
right: 5%;
color: #fff;
border: 2px solid rgba(255,255,255,0.5);
border-radius: 50px;}
border: 2px solid rgba(255, 255, 255, 0.5);
border-radius: 50px;
}
.banner-count {
cursor: pointer;
position: absolute;
......@@ -608,7 +651,7 @@ const gopicliveUrl = () => {
flex-wrap: nowrap;
right: 5%;
color: #fff;
.van-count-down {
display: flex;
color: #fff;
......@@ -616,7 +659,7 @@ const gopicliveUrl = () => {
width: 360px;
font-size: 41px;
}
.block {
color: #fff;
text-align: center;
......@@ -624,7 +667,7 @@ const gopicliveUrl = () => {
font-size: 41px;
font-family: DIN Alternate;
}
.colon {
color: #fff;
display: block;
......@@ -632,27 +675,27 @@ const gopicliveUrl = () => {
font-size: 20px;
}
}
.bb {
width: 580px;
justify-content: center;
height: 100px;
font-size: 30px;
}
.banner-count.bb:hover {
box-shadow: 0 0 20px #453DEA;
border-radius: 100px;
background: #000
}
.box {
position: absolute;
height: 100%;
left: 0;
right: 0;
}
h3 {
position: absolute;
color: #fff;
......@@ -661,7 +704,7 @@ const gopicliveUrl = () => {
bottom: 50px;
font-size: 3vw;
}
video {
width: 100%;
height: 100%;
......@@ -676,26 +719,26 @@ const gopicliveUrl = () => {
.banner {
position: relative;
margin: 0 0 30px;
:deep(.el-carousel__arrow) {
border-radius: 0;
.el-icon {
color: transparent;
}
&:hover {
filter: brightness(1.5)
}
}
:deep(.el-carousel__arrow--left) {
background: url("@/assets/images/prev2@2x.png") no-repeat center;
width: 78px;
height: 45px;
background-size: contain;
}
:deep(.el-carousel__arrow--right) {
background: url("@/assets/images/next2@2x.png") no-repeat center;
width: 78px;
......@@ -716,7 +759,7 @@ const gopicliveUrl = () => {
.ggbond {
height: 230px;
position: relative;
img {
height: 100%;
object-fit: cover;
......@@ -734,17 +777,17 @@ const gopicliveUrl = () => {
position: relative;
border-radius: 10px;
overflow: hidden;
.imgbox {
background: linear-gradient(0, #C8AAFC, #fff)
}
img {
height: 350px;
width: 100%;
object-fit: cover;
}
h3 {
color: #fff;
background: url("@/assets/dance/name_bg.png") no-repeat center;
......@@ -757,7 +800,7 @@ const gopicliveUrl = () => {
width: 100%;
bottom: 30px;
}
p {
text-align: center;
margin: 25px 0 0;
......@@ -768,7 +811,7 @@ const gopicliveUrl = () => {
@media screen and (max-width: 1650px) {
.teacher {
height: 320px;
.imgbox {
img {
height: 260px
......@@ -781,7 +824,7 @@ const gopicliveUrl = () => {
.teacher {
height: 450px;
margin: 0 0 20px;
.imgbox {
img {
height: 390px
......@@ -794,7 +837,7 @@ const gopicliveUrl = () => {
.teacher {
height: 400px;
margin: 0 0 20px;
.imgbox {
img {
height: 340px
......@@ -807,7 +850,7 @@ const gopicliveUrl = () => {
.teacher {
height: 400px;
margin: 0 0 20px;
.imgbox {
img {
height: 260px
......@@ -822,7 +865,7 @@ const gopicliveUrl = () => {
background-size: cover;
padding: 40px 60px;
position: relative;
.content {
font-size: 18px;
line-height: 2.2;
......@@ -831,7 +874,7 @@ const gopicliveUrl = () => {
text-align: left;
text-indent: 2em;
}
.shadowbox {
position: absolute;
left: 0;
......@@ -840,7 +883,7 @@ const gopicliveUrl = () => {
width: 100%;
background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}
.btn-lineG {
}
}
......@@ -852,7 +895,7 @@ const gopicliveUrl = () => {
padding: 1px;
position: relative;
display: flex;
.content {
background: #fff;
width: 60%;
......@@ -864,33 +907,33 @@ const gopicliveUrl = () => {
bottom: 0;
margin: auto;
}
div {
padding-left: 60px;
}
.phone {
background: url("@/assets/dance/map01.png") no-repeat left;
background-size: 30px;
}
.address {
background: url("@/assets/dance/map02.png") no-repeat left;
background-size: 30px;
margin: 50px 0;
}
.email {
background: url("@/assets/dance/map03.png") no-repeat left;
background-size: 30px;
}
h4 {
margin: 0;
font-size: 16px;
color: #AAAAAA;
}
p {
margin: 13px 0 0;
}
......@@ -901,7 +944,7 @@ const gopicliveUrl = () => {
height: 180px;
border-radius: 10px;
margin: 0 0 30px;
img {
width: 100%;
height: 100%;
......@@ -914,7 +957,7 @@ const gopicliveUrl = () => {
position: relative;
height: 100%;
padding: 20px 45px;
.picprev {
position: absolute;
left: 5px;
......@@ -923,12 +966,12 @@ const gopicliveUrl = () => {
margin: auto;
height: 33px;
cursor: pointer;
&:hover {
filter: brightness(2)
}
}
.picnext {
position: absolute;
right: 5px;
......@@ -937,7 +980,7 @@ const gopicliveUrl = () => {
margin: auto;
height: 33px;
cursor: pointer;
&:hover {
filter: brightness(2)
}
......@@ -948,7 +991,7 @@ const gopicliveUrl = () => {
.teacher {
height: 460px;
margin: 0 0 20px;
img {
height: 400px
}
......@@ -959,11 +1002,11 @@ const gopicliveUrl = () => {
.box {
width: 94%
}
.calendarList {
padding: 0;
ul {
li {
margin: 10px
......@@ -979,7 +1022,7 @@ const gopicliveUrl = () => {
.teacher {
height: 320px;
margin: 0 0 20px;
img {
height: 260px
}
......@@ -991,17 +1034,17 @@ const gopicliveUrl = () => {
div {
padding-left: 40px;
}
.content {
width: 80%;
left: 10%;
padding: 10px 20px 0 20px;
}
.address {
margin: 30px 0;
}
p {
text-align: left;
word-break: break-all;
......@@ -1016,19 +1059,19 @@ const gopicliveUrl = () => {
width: auto;
left: 0;
right: 0;
.van-count-down {
margin: 30px 0 0;
}
}
.bgbg {
text-align: center;
img {
max-width: 100%;
}
h1 {
text-align: center
}
......@@ -1041,7 +1084,7 @@ const gopicliveUrl = () => {
z-index: 2;
background: #F04035;
padding: 2px 4px;
&::after {
content: '';
width: 0;
......@@ -1052,12 +1095,12 @@ const gopicliveUrl = () => {
border-top: 24px solid #F04035;
border-right: 15px solid transparent;
}
.van-count-down {
display: flex;
color: #fff;
font-size: 14px;
.block {
color: #fff;
text-align: center;
......@@ -1067,15 +1110,31 @@ const gopicliveUrl = () => {
}
}
.newline{display: flex;align-items: center;height: 56px;justify-content: space-between;
.newline {
display: flex;
align-items: center;
height: 56px;
justify-content: space-between;
cursor: pointer;
h3{font-weight: 400;margin: 0;width: 80%;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;
h3 {
font-weight: 400;
margin: 0;
width: 80%;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-size: 18px;
color: #030303;}
span{font-weight: 400;
color: #030303;
}
span {
font-weight: 400;
font-size: 14px;
color: #B4B6B8;}
&:hover{
color: #B4B6B8;
}
&:hover {
background: #F7F8FC;
}
}
......@@ -1087,9 +1146,17 @@ const gopicliveUrl = () => {
.logobox {
height: 60px;
}
.newline{height: 40px;
h3{width: 70%;font-size: 14px;}
span{font-size: 12px;}
.newline {
height: 40px;
h3 {
width: 70%;
font-size: 14px;
}
span {
font-size: 12px;
}
}
}
......
<template>
<div class="syBg">
<div class="banner">
<el-carousel height="450px" autoplay :interval="2000" class="forPc" :autoplay="false" arrow="hover" @change="carouselChange">
<el-carousel-item style="height: 450px;" v-for="n in maList" :key="n.id">
<el-carousel :autoplay="false" :interval="2000" arrow="hover" autoplay class="forPc" height="450px"
@change="carouselChange">
<el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;">
<div class="bannerItem">
<div class="h100" @click.stop="goMatch(n)">
<img class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
<div class="h100" @click.stop="goMatch(n)">
<img :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
<div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
<img class="slogen" src="@/assets/logo/banner-text.png"/>
<div class="btabs">
<div v-for="tab in tabList" @click.stop="goMatchWithTab(n,tab.id)">{{tab.customTitle}}</div>
<div v-for="tab in tabList" @click.stop="goMatchWithTab(n,tab.id)">{{ tab.customTitle }}</div>
</div>
<div class="banner-count" v-if="currentDateTime < liveData.videoStart" @click.stop="goliveUrl">
<div v-if="currentDateTime < liveData.videoStart&&form.isLiveVideo==1" class="banner-count"
@click.stop="goliveUrl">
Live Countdown
<van-count-down :time="liveStartTime" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
......@@ -34,12 +36,13 @@
</template>
</van-count-down>
</div>
<div v-if="liveData&& liveData.videoStatus==1" @click.stop="goliveUrl">
<div class="banner-count" v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)">
<div v-if="liveData&& liveData.videoStatus==1&&form.isLivePic==1" @click.stop="goliveUrl">
<div v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)"
class="banner-count">
Live Now
</div>
<div class="banner-count" v-if="currentDateTime > liveData.videoEnd">
<div v-if="currentDateTime > liveData.videoEnd" class="banner-count">
Live End
</div>
</div>
......@@ -48,36 +51,40 @@
</div>
</el-carousel-item>
</el-carousel>
<el-carousel class="forWei" height="160px" autoplay arrow="hover" @change="carouselChange">
<el-carousel-item style="height: 160px;" v-for="n in maList" :key="n.id">
<el-carousel arrow="hover" autoplay class="forWei" height="160px" @change="carouselChange">
<el-carousel-item v-for="n in maList" :key="n.id" style="height: 160px;">
<div class="bannerItem" style="height:100%">
<div class="h100" style="position: relative">
<img class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
<img :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
<div style="position: absolute;left: 0;right: 0;bottom: 0;margin: auto;">
<div class="banner-count" v-if="currentDateTime < liveData.videoStart" @click="goliveUrl">
<div v-if="currentDateTime < liveData.videoStart" class="banner-count" @click="goliveUrl">
Live Countdown
<van-count-down :time="liveStartTime" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
<div class="block">{{ timeData.days }}
<span class="colon">Days</span>
</div>
</div>
<div class="block">{{ timeData.hours }}
<span class="colon">Hrs</span>
</div>
</div>
<div class="block">{{ timeData.minutes }}
<span class="colon">Min</span>
</div>
</div>
<div class="block">{{ timeData.seconds }}
<span class="colon">Sec</span>
</div>
</template>
</van-count-down>
</div>
<div v-if="liveData&& liveData.videoStatus==1" @click.stop="goliveUrl">
<div class="banner-count" v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)">
<div v-if="liveData&& liveData.videoStatus==1&&form.isLivePic==1" @click.stop="goliveUrl">
<div v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)"
class="banner-count">
Live Now
</div>
<div class="banner-count" v-if="currentDateTime > liveData.videoEnd">
<div v-if="currentDateTime > liveData.videoEnd" class="banner-count">
Live End
</div>
</div>
......@@ -87,19 +94,19 @@
</el-carousel-item>
</el-carousel>
</div>
<div class="mb30">
<home-weather-bar :lang="1"/>
</div>
<div class="box">
<HomeQuick :match-id="matchData?.id" :cpt-name="matchData?.name"/>
<HomeQuick :cpt-name="matchData?.name" :match-id="matchData?.id"/>
</div>
<div id="part0" class="box part">
<el-row :gutter="20">
<el-col :sm="24" :lg="12">
<el-col :lg="12" :sm="24">
<div class="indexTitle">
<h3 class="leftboderTT">NOTICEBOARD</h3>
<a class="more" href="#/notice">MORE</a>
......@@ -107,11 +114,11 @@
<el-card :body-style="{'padding':'10px 20px 18px'}">
<div v-for="(n,index) in newsList" :key="index" class="newline" @click="goDetail(n)">
<h3>{{ n.name }}</h3>
<span class="date">{{n.belongTime}}</span>
<span class="date">{{ n.belongTime }}</span>
</div>
</el-card>
</el-col>
<el-col :sm="24" :lg="12">
<el-col :lg="12" :sm="24">
<div class="indexTitle">
<h3 class="leftboderTT">COMPETITION SCHEDULE</h3>
<a class="more" @click="gosaiC">MORE</a>
......@@ -121,12 +128,12 @@
<home-calendar/>
</el-card>
</el-col>
</el-row>
</div>
<!-- NEWS -->
<div id="part1" class="part">
<div class="box">
<div class="indexTitle">
<h3 class="leftboderTT">NEWS</h3>
......@@ -135,20 +142,20 @@
<el-row :gutter="20">
<el-col
v-for="(n,index) in newest2"
:key="n.id" :xs="24" :sm="8"
:lg="8"
:key="n.id" :lg="8" :sm="8"
:xs="24"
>
<div class="activeItem" @click="goNewsDetail(n)">
<div class="activeItem" @click="goNewsDetail(n)">
<div class="imgbox">
<img :src="fillImgUrl_webSite(n.picUrl)">
</div>
<div class="info">
<div class="date">
{{ n.sortName }} | {{ n.belongTime }}
{{ n.sortName }} | {{ n.belongTime }}
</div>
<h3 class="esp">{{ n.name }}</h3>
<p class="esp_2" style="height: 40px">
{{n.subName}}
{{ n.subName }}
</p>
<a>DETAIL</a>
</div>
......@@ -176,14 +183,14 @@
</a>
</el-col>
<el-col :lg="16">
<div class="swiperPic forPx">
<swiper
class="swiper-wrapper" :modules="modules" :slides-per-view="3" :space-between="20"
:navigation="navigationPic"
:autoplay="true" :loop="true"
:autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic"
:slides-per-view="3"
:space-between="20" class="swiper-wrapper"
>
<swiper-slide v-for="(n,i) in picList" :key="i" >
<swiper-slide v-for="(n,i) in picList" :key="i">
<div class="picbox" @click="goNewsDetail(n)">
<img :src="fillImgUrl_webSite(n.picUrl)">
</div>
......@@ -192,29 +199,30 @@
<div class="picprev"><img src="@/assets/dance/prev1.png"></div>
<div class="picnext"><img src="@/assets/dance/next1.png"></div>
</div>
</el-col>
</el-row>
<el-row class="news-l-r">
<el-col v-for="(n,index) in livelist" v-show="index>0" :lg="8">
<div class="item" style="padding: 0;margin: 20px 0 0" @click="goNewsDetail(n)">
<div class="imgbox">
<i class="playIcon" />
<i class="playIcon"/>
<img :src="fillImgUrl_webSite(n.picUrl)"></div>
<div class="info">
<div class="text-primary small-size">
<span v-if="n.subName">{{n.subName + ' | '}}</span>
{{ n.belongTime }}</div>
<span v-if="n.subName">{{ n.subName + ' | ' }}</span>
{{ n.belongTime }}
</div>
<h2 class="esp_2">{{ n.name }}</h2>
</div>
</div>
</el-col>
</el-row>
</el-card>
</div>
</div>
<div hidden>
<div class="box">
<div class="indexTitle">
......@@ -222,8 +230,8 @@
</div>
<el-row :gutter="20">
<el-col
v-for="n in personList" :key="n.name" :sm="8" :xl="4" :xs="12"
:lg="4"
v-for="n in personList" :key="n.name" :lg="4" :sm="8" :xl="4"
:xs="12"
>
<div class="teacher">
<div class="imgbox"><img :src="n.src"></div>
......@@ -234,7 +242,7 @@
</el-row>
</div>
</div>
<div class="box">
<el-row :gutter="20">
<el-col :lg="12">
......@@ -245,18 +253,19 @@
<div class="aboutBox">
<div class="content">
<div v-html="aboutUsContent"></div>
<div class="shadowbox" />
<div class="shadowbox"/>
</div>
<div class="mt30 text-center">
<a class="btn-lineG" href="#/about/wuDao" style="display: inline-flex;align-items: center;">Learn more <img style="filter: brightness(2);height: 8px;margin-left: 10px" src="@/assets/v1/more.png"></a>
<a class="btn-lineG" href="#/about/wuDao" style="display: inline-flex;align-items: center;">Learn more
<img src="@/assets/v1/more.png" style="filter: brightness(2);height: 8px;margin-left: 10px"></a>
</div>
</div>
</el-col>
<el-col :lg="12">
<div class="indexTitle">
<h3 class="leftboderTT">CONTACT US</h3>
<a class="more" style="filter: brightness(10)" href="#/about/wuDao">MORE</a>
<a class="more" href="#/about/wuDao" style="filter: brightness(10)">MORE</a>
</div>
<div class="mapBox">
<div class="content">
......@@ -277,33 +286,33 @@
</el-col>
</el-row>
</div>
<div class="box">
<div class="indexTitle">
<h3 class="leftboderTT">PARTNERS</h3>
</div>
<el-row :gutter="20">
<el-col :lg="6" :sm="12" :xs="6" v-for="p in partners">
<el-col v-for="p in partners" :lg="6" :sm="12" :xs="6">
<div class="logobox">
<img :src="fillImgUrl(JSON.parse(p.picUrl))">
</div>
</el-col>
</el-row>
</div>
</div>
</template>
<script setup>
import { ref, nextTick, onMounted, watch } from 'vue'
import { getCurrentInstance } from '@vue/runtime-core'
import { getNewsListById, getNewsList,getWeather} from '@/apiPc/webSite'
import { useRouter } from 'vue-router'
import {ref, nextTick, onMounted, watch} from 'vue'
import {getCurrentInstance} from '@vue/runtime-core'
import {getNewsListById, getNewsList, getWeather} from '@/apiPc/webSite'
import {useRouter} from 'vue-router'
import _ from 'lodash'
import HomeQuick from '@/viewsPc/components/homeQuick'
import HomeCalendar from '@/viewsPc/components/homeCalendar'
import { Swiper, SwiperSlide } from 'swiper/vue'
import { Autoplay, Navigation } from 'swiper'
import {Swiper, SwiperSlide} from 'swiper/vue'
import {Autoplay, Navigation} from 'swiper'
import 'swiper/css'
import {dayjs, ElMessage} from 'element-plus'
import * as match from "@/apiPc/match";
......@@ -311,24 +320,26 @@ import HomeWeatherBar from "@/viewsPc/components/homeWeatherBar";
import {rankList} from '@/assets/js/data'
import {getBaseInfoByActiveId} from "/@/apiPc/booking";
const modules = [Autoplay, Navigation]
const navigationPic = ref({
nextEl: '.picnext',
prevEl: '.picprev'
})
const router = useRouter()
const { proxy } = getCurrentInstance()
const emit = defineEmits(['pop','backNumber','schSearch'])
const {proxy} = getCurrentInstance()
const emit = defineEmits(['pop', 'backNumber', 'schSearch'])
const time = ref(0)
const etime = ref(0)
const personList = ref([
{ name: 'Wolfgang Eliasch', pp: 'Chairperson for Latin AUT', src: '/img/1.png' },
{ name: 'Nenad Jeftic', pp: 'Chairperson for Standard SRB', src: '/img/2.png' },
{ name: 'Dorel Bagiu', pp: 'ROU', src: '/img/3.png' },
{ name: 'Eduard Korotin', pp: ' EST', src: '/img/4.png' },
{ name: 'Ana Cristina Silva', pp: 'POR', src: '/img/5.png'},
{ name: 'Dallas Leslie Williams', pp: 'Scrutineer AUS', src: '/img/6.png' }
{name: 'Wolfgang Eliasch', pp: 'Chairperson for Latin AUT', src: '/img/1.png'},
{name: 'Nenad Jeftic', pp: 'Chairperson for Standard SRB', src: '/img/2.png'},
{name: 'Dorel Bagiu', pp: 'ROU', src: '/img/3.png'},
{name: 'Eduard Korotin', pp: ' EST', src: '/img/4.png'},
{name: 'Ana Cristina Silva', pp: 'POR', src: '/img/5.png'},
{name: 'Dallas Leslie Williams', pp: 'Scrutineer AUS', src: '/img/6.png'}
])
const activeNews = ref(0)
const banners = ref([])
......@@ -352,7 +363,7 @@ const newsList = ref([])
const currentDateTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
const liveStartTime = ref(0)
const liveData = ref({})
const form = ref({})
const matchData = ref({})
onMounted(() => {
init()
......@@ -360,53 +371,68 @@ onMounted(() => {
const init = () => {
var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
getNewsListById({pageSize: 6, pageNum: 1,sortId: '20000001'}).then(res => {
getNewsListById({pageSize: 6, pageNum: 1, sortId: '20000001'}).then(res => {
newsList.value = res.rows
})
getNewsListById(
{ pageSize: 4,
{
pageSize: 4,
pageNum: 1,
sortId: '30000008' }
sortId: '30000008'
}
).then(res => {
livelist.value = res.rows
})
getNewsListById({ pageSize: 5,
getNewsListById({
pageSize: 5,
pageNum: 1,
sortId: '30000009' }
sortId: '30000009'
}
).then(res => {
picList.value = res.rows
})
getNewsList({ pageSize: 3,
pageNum: 1,
language:2,
code: '1000' }
getNewsList({
pageSize: 3,
pageNum: 1,
language: 2,
code: '1000'
}
).then(res => {
newest2.value = res.rows
})
match.getMaList({topFlag:1}).then((res) => {
match.getMaList({topFlag: 1}).then((res) => {
maList.value = res.rows
matchData.value = maList.value[0]
getMatchInfo(matchData.value.id)
getMatchSet(matchData.value.id)
})
match.getLabelList().then(res=> {
match.getLabelList().then(res => {
tabList.value = res.data
})
getpartners()
}
const getMatchInfo = (id) => {
match.getInfoByCptId({ cptId:id }).then((res) => {
match.getInfoByCptId({cptId: id}).then((res) => {
liveData.value = res.data || {}
if(liveData.value.videoStart){
console.log(333333, liveData.value)
if (liveData.value.videoStart) {
liveStartTime.value = dayjs(liveData.value.videoStart).diff(currentDateTime.value, 'millisecond')
}
})
}
async function getMatchSet(id) {
const res = await getBaseInfoByActiveId(id)
form.value = res.data ?? null
console.log(form.value)
}
const getpartners = () => {
match.getAboutUs().then((res) => {
aboutUsContent.value = res.data.contextEn
})
match.getZNList({sortId:'2000',language:2}).then((res) => {
match.getZNList({sortId: '2000', language: 2}).then((res) => {
partners.value = res.rows
})
}
......@@ -459,48 +485,48 @@ const building = () => {
const goGuide = () => {
router.push({
path: `/guide`,
query:{
index:8
query: {
index: 8
}
})
}
const popMaster = () => {
var params = {
cptId:matchData.value.id
cptId: matchData.value.id
}
emit('pop',params)
emit('pop', params)
}
const backNumberSearch = () => {
var params = {
cptId:matchData.value.id
cptId: matchData.value.id
}
emit('backNumber',params)
emit('backNumber', params)
}
const schSearchSearch = () => {
var params = {
cptId:matchData.value.id
cptId: matchData.value.id
}
emit('schSearch',params)
emit('schSearch', params)
}
const handlePickup=()=>{
const params={
cptId :matchData.value.id
const handlePickup = () => {
const params = {
cptId: matchData.value.id
}
emit('pickup',params)
emit('pickup', params)
}
const goliveUrl = () => {
if (liveData.value.videoStatus=="1") {
if (liveData.value.videoStatus == "1") {
window.open(liveData.value.videoUrlCn)
} else {
ElMessage.warning('No live' )
ElMessage.warning('No live')
}
}
const gopicliveUrl = () => {
if (liveData.value.picStatus=="1") {
if (liveData.value.picStatus == "1") {
window.open(liveData.value.picUrlCn)
} else {
ElMessage.warning( 'No live' )
ElMessage.warning('No live')
}
}
......@@ -515,46 +541,110 @@ const goDetail = (n) => {
}
</script>
<style scoped lang="scss">
.syBg{
<style lang="scss" scoped>
.syBg {
background: url("@/assets/dance/logo_l.png") no-repeat left 98%,
url("@/assets/dance/logo_r1.png") no-repeat right 98%;
background-size: 30%;
}
.btabs{display: flex;position: absolute;bottom: 60px;gap: 10px;
div{color: #fff; background-color: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);border: 2px solid #9ba6d4;border-radius: 50px;
padding:6px 20px;
.btabs {
display: flex;
position: absolute;
bottom: 60px;
gap: 10px;
div {
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);
border: 2px solid #9ba6d4;
border-radius: 50px;
padding: 6px 20px;
}
div:hover{cursor: pointer;background: #fff;color: #000;border:2px solid #fff;}
div:hover {
cursor: pointer;
background: #fff;
color: #000;
border: 2px solid #fff;
}
}
.zn-bg {
background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC);
border-radius: 15px;
}
.zn-bg{background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC);
border-radius: 15px;}
.zn-Box{background-size: contain;position: relative;overflow: hidden;
.bbbg{position: absolute;width: 100%;height: 100%;object-fit: cover;}
.bgbg{height: 100%;
padding: 5%;display: flex;
.zn-Box {
background-size: contain;
position: relative;
overflow: hidden;
.bbbg {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
}
.bgbg {
height: 100%;
padding: 5%;
display: flex;
flex-direction: column;
justify-content: center;
img{margin: 5% 0}
img {
margin: 5% 0
}
}
.itemBox{
.itemBox {
padding: 20px 40px;
p{margin: 0;height: 40px;line-height: 20px;display: flex;align-items: center;}
p {
margin: 0;
height: 40px;
line-height: 20px;
display: flex;
align-items: center;
}
}
border-radius: 15px;
.zn-btn{background: #FFFFFF;text-transform: uppercase;
font-size: 16px; width: fit-content; margin: 5px 5px 5px 0;
.zn-btn {
background: #FFFFFF;
text-transform: uppercase;
font-size: 16px;
width: fit-content;
margin: 5px 5px 5px 0;
color: #453DEA;
border-radius: 23px;padding: 10px 20px;display: inline-flex;align-items: center;}
.item{box-shadow: 0px 0px 21px 0px rgba(41,23,101,0.14);margin: 40px 0 0;
display: flex;align-items: center;text-align: center;
font-size: 18px; flex-direction: column;padding: 35px 10px 20px;
background:url("@/assets/dance/znbb.png") no-repeat left #FFFFFF;
border-radius: 23px;
padding: 10px 20px;
display: inline-flex;
align-items: center;
}
.item {
box-shadow: 0px 0px 21px 0px rgba(41, 23, 101, 0.14);
margin: 40px 0 0;
display: flex;
align-items: center;
text-align: center;
font-size: 18px;
flex-direction: column;
padding: 35px 10px 20px;
background: url("@/assets/dance/znbb.png") no-repeat left #FFFFFF;
background-size: cover;
position: relative;
border-radius: 15px;
img{position: absolute;top: -30px}
img {
position: absolute;
top: -30px
}
}
}
......@@ -567,14 +657,29 @@ const goDetail = (n) => {
clear: both;
overflow: hidden;
}
.banner-pp{ position: absolute; bottom: 40%;right: 5%;width: 200px;}
.banner-pp {
position: absolute;
bottom: 40%;
right: 5%;
width: 200px;
}
.bannerItem {
height: 450px;
background: #000;position: relative;
.slogen{position: relative;top: 130px;}
.banner-count{position: absolute;padding: 20px 40px;
font-size: 20px;align-items: center;
background: #000;
position: relative;
.slogen {
position: relative;
top: 130px;
}
.banner-count {
position: absolute;
padding: 20px 40px;
font-size: 20px;
align-items: center;
overflow: hidden;
background: url("@/assets/dance/time_bg.png") no-repeat center;
background-size: 100% 100%;
......@@ -584,29 +689,56 @@ const goDetail = (n) => {
//border-image-width:4px;
//border-image-outset:4px;
//background: rgba(0,0,0,0.3);
bottom: 40%;display: flex;flex-wrap: nowrap;
bottom: 40%;
display: flex;
flex-wrap: nowrap;
right: 5%;
color: #fff;
.van-count-down{display: flex;color: #fff;margin: 0 0 0 20px;
.van-count-down {
display: flex;
color: #fff;
margin: 0 0 0 20px;
width: 360px;
font-size: 41px;}
.block{ color: #fff;text-align: center;width: 3em;
font-size: 41px;
font-family: DIN Alternate;}
.colon{ color: #fff;display: block;margin: 20px 0 0;
font-size: 20px;}
}
.block {
color: #fff;
text-align: center;
width: 3em;
font-size: 41px;
font-family: DIN Alternate;
}
.colon {
color: #fff;
display: block;
margin: 20px 0 0;
font-size: 20px;
}
}
.bb {
width: 580px;
justify-content: center;
height: 100px;
font-size: 30px;
}
.bb{width: 580px;justify-content: center;height: 100px;font-size: 30px;}
.banner-count.bb:hover{box-shadow: 0 0 20px #453DEA;border-radius: 100px;
.banner-count.bb:hover {
box-shadow: 0 0 20px #453DEA;
border-radius: 100px;
background: #000
}
.box {
position: absolute;
height: 100%;
left: 0;
right: 0;
}
h3 {
position: absolute;
color: #fff;
......@@ -615,7 +747,7 @@ const goDetail = (n) => {
bottom: 50px;
font-size: 3vw;
}
video {
width: 100%;
height: 100%;
......@@ -628,27 +760,28 @@ const goDetail = (n) => {
}
.banner {
position: relative;margin:0 0 30px;
position: relative;
margin: 0 0 30px;
:deep(.el-carousel__arrow) {
border-radius: 0;
.el-icon {
color: transparent;
}
&:hover {
filter: brightness(1.5)
}
}
:deep(.el-carousel__arrow--left) {
background: url("@/assets/images/prev2@2x.png") no-repeat center;
width: 78px;
height: 45px;
background-size: contain;
}
:deep(.el-carousel__arrow--right) {
background: url("@/assets/images/next2@2x.png") no-repeat center;
width: 78px;
......@@ -656,41 +789,121 @@ const goDetail = (n) => {
background-size: contain
}
}
.el-calendar{--el-calendar-border:none;--el-calendar-cell-width:40px;text-align:center;
--el-text-color-regular:#8E8D94;
:deep(.el-calendar__header){justify-content: center;padding: 0 0 10px}
:deep(.el-calendar__body){border: 1px solid #F0F0F0;padding: 0}
:deep(.el-calendar-table .el-calendar-day){padding: 1px;}
:deep(.el-calendar-table td.is-selected){background: transparent;}
:deep(.el-calendar__button-group){display: none;}
:deep(.el-calendar-table thead th){padding: 5px 0 0}
.primaryDate{color: #fff;
background: #000;}
.date{ margin:auto;border-radius: 50%;width: 30px;height: 30px;line-height: 30px;
.el-calendar {
--el-calendar-border: none;
--el-calendar-cell-width: 40px;
text-align: center;
--el-text-color-regular: #8E8D94;
:deep(.el-calendar__header) {
justify-content: center;
padding: 0 0 10px
}
:deep(.el-calendar__body) {
border: 1px solid #F0F0F0;
padding: 0
}
:deep(.el-calendar-table .el-calendar-day) {
padding: 1px;
}
:deep(.el-calendar-table td.is-selected) {
background: transparent;
}
:deep(.el-calendar__button-group) {
display: none;
}
:deep(.el-calendar-table thead th) {
padding: 5px 0 0
}
.primaryDate {
color: #fff;
background: #000;
}
.date {
margin: auto;
border-radius: 50%;
width: 30px;
height: 30px;
line-height: 30px;
font-weight: bold;
}
}
.calendarList{border: 1px solid #F0F0F0;padding:12px 20px;overflow: auto;height: 233px;
ul{
li{background: #F6F9FE;margin:7px 0 7px 0;position: relative;padding: 13px;
.calendarList {
border: 1px solid #F0F0F0;
padding: 12px 20px;
overflow: auto;
height: 233px;
ul {
li {
background: #F6F9FE;
margin: 7px 0 7px 0;
position: relative;
padding: 13px;
border-radius: 10px;
font-weight: 500;
font-size: 15px;
label{color: #000;margin-right: 15px;
&::before{content: '';background:#fff;left: -17px;top: 0px;bottom: 0;margin: auto;
border-radius: 50%;width: 2px;height: 2px;position: absolute;z-index: 1}
label {
color: #000;
margin-right: 15px;
&::before {
content: '';
background: #fff;
left: -17px;
top: 0px;
bottom: 0;
margin: auto;
border-radius: 50%;
width: 2px;
height: 2px;
position: absolute;
z-index: 1
}
}
}
li::before{content: '';background: #000;
border-radius: 50%;width: 8px;height: 8px;position: absolute;
left: -20px;top: 0;bottom: 0;margin: auto;z-index: 1;
li::before {
content: '';
background: #000;
border-radius: 50%;
width: 8px;
height: 8px;
position: absolute;
left: -20px;
top: 0;
bottom: 0;
margin: auto;
z-index: 1;
}
li::after {
content: '';
left: -16px;
width: 1px;
height: 100%;
background: #EBEBEB;
position: absolute;
top: 20px
}
li::after{content: ''; left: -16px;width: 1px;height: 100%;
background: #EBEBEB; position: absolute;top: 20px}
li:hover{color: #fff;
li:hover {
color: #fff;
background: #000;
label{color: #fff;}
label {
color: #fff;
}
}
}
}
......@@ -704,7 +917,7 @@ const goDetail = (n) => {
.ggbond {
height: 230px;
position: relative;
img {
height: 100%;
object-fit: cover;
......@@ -716,131 +929,336 @@ const goDetail = (n) => {
}
}
.teacher{height: 410px;background: #fff;
position: relative;border-radius: 10px;overflow: hidden;
.imgbox{background: linear-gradient(0,#C8AAFC,#fff)}
img{height: 350px;width: 100%;object-fit: cover;}
h3{color: #fff;background: url("@/assets/dance/name_bg.png") no-repeat center;
background-size:110% 100%;text-align: center;height: 30px;line-height: 30px;
font-size: 18px;position: absolute;width: 100%;bottom: 30px;}
p{text-align: center;margin: 25px 0 0;
font-size: 14px;}
.teacher {
height: 410px;
background: #fff;
position: relative;
border-radius: 10px;
overflow: hidden;
.imgbox {
background: linear-gradient(0, #C8AAFC, #fff)
}
img {
height: 350px;
width: 100%;
object-fit: cover;
}
h3 {
color: #fff;
background: url("@/assets/dance/name_bg.png") no-repeat center;
background-size: 110% 100%;
text-align: center;
height: 30px;
line-height: 30px;
font-size: 18px;
position: absolute;
width: 100%;
bottom: 30px;
}
p {
text-align: center;
margin: 25px 0 0;
font-size: 14px;
}
}
@media screen and (max-width: 1650px) {
.teacher{height: 320px;
.imgbox{
img{height: 260px}
.teacher {
height: 320px;
.imgbox {
img {
height: 260px
}
}
}
}
@media screen and (max-width: 1200px) {
.teacher{height: 450px;margin: 0 0 20px;
.imgbox{
img{height: 390px}
.teacher {
height: 450px;
margin: 0 0 20px;
.imgbox {
img {
height: 390px
}
}
}
}
@media screen and (max-width: 900px) {
.teacher{height: 400px;margin: 0 0 20px;
.imgbox{
img{height: 340px}
.teacher {
height: 400px;
margin: 0 0 20px;
.imgbox {
img {
height: 340px
}
}
}
}
@media screen and (max-width: 800px) {
.teacher{height: 400px;margin: 0 0 20px;
.imgbox{
img{height: 260px}
.teacher {
height: 400px;
margin: 0 0 20px;
.imgbox {
img {
height: 260px
}
}
}
}
.aboutBox{background: url("@/assets/dance/about_bg.png") no-repeat center;height: 375px;
background-size: cover;padding: 40px 60px; position: relative;
.content{font-size: 18px;line-height: 2.2;height: 240px;overflow: hidden;
text-align: left;text-indent: 2em;}
.shadowbox{position: absolute;left: 0;bottom: 90px;height: 100px;width: 100%;
background: linear-gradient(0deg,rgba(255,255,255,1),rgba(255,255,255,0));
.aboutBox {
background: url("@/assets/dance/about_bg.png") no-repeat center;
height: 375px;
background-size: cover;
padding: 40px 60px;
position: relative;
.content {
font-size: 18px;
line-height: 2.2;
height: 240px;
overflow: hidden;
text-align: left;
text-indent: 2em;
}
.shadowbox {
position: absolute;
left: 0;
bottom: 90px;
height: 100px;
width: 100%;
background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}
.btn-lineG {
}
.btn-lineG{}
}
.mapBox{background: url("@/assets/dance/map.png") no-repeat center;height: 375px;
background-size: cover;padding: 1px;position: relative;display: flex;
.content{background: #fff;width: 60%;left: 40px;padding: 30px;
position: absolute;height: 90%;top: 0;bottom: 0;margin: auto;
.mapBox {
background: url("@/assets/dance/map.png") no-repeat center;
height: 375px;
background-size: cover;
padding: 1px;
position: relative;
display: flex;
.content {
background: #fff;
width: 60%;
left: 40px;
padding: 30px;
position: absolute;
height: 90%;
top: 0;
bottom: 0;
margin: auto;
}
div {
padding-left: 60px;
}
.phone {
background: url("@/assets/dance/map01.png") no-repeat left;
background-size: 30px;
}
div{padding-left: 60px;}
.phone{background: url("@/assets/dance/map01.png") no-repeat left;background-size: 30px;}
.address{background: url("@/assets/dance/map02.png") no-repeat left;background-size: 30px;
margin:50px 0;
.address {
background: url("@/assets/dance/map02.png") no-repeat left;
background-size: 30px;
margin: 50px 0;
}
.email{background: url("@/assets/dance/map03.png") no-repeat left;background-size: 30px;}
h4{margin: 0;
.email {
background: url("@/assets/dance/map03.png") no-repeat left;
background-size: 30px;
}
h4 {
margin: 0;
font-size: 16px;
color: #AAAAAA;}
p{margin: 13px 0 0;}
color: #AAAAAA;
}
p {
margin: 13px 0 0;
}
}
.logobox{background: #fff;height: 180px;border-radius: 10px;margin: 0 0 30px;
img{width: 100%;height: 100%;object-fit: contain;}
.logobox {
background: #fff;
height: 180px;
border-radius: 10px;
margin: 0 0 30px;
img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
.swiperPic{background: #F3F1FE;position: relative; height: 100%;
.swiperPic {
background: #F3F1FE;
position: relative;
height: 100%;
padding: 20px 45px;
.picprev{position: absolute; left: 5px;top: 0;bottom:0;margin: auto;height: 33px;
.picprev {
position: absolute;
left: 5px;
top: 0;
bottom: 0;
margin: auto;
height: 33px;
cursor: pointer;
&:hover{filter:brightness(2)}
&:hover {
filter: brightness(2)
}
}
.picnext{position: absolute;right: 5px;top: 0;bottom:0;margin: auto;height: 33px;
.picnext {
position: absolute;
right: 5px;
top: 0;
bottom: 0;
margin: auto;
height: 33px;
cursor: pointer;
&:hover{filter:brightness(2)}}
&:hover {
filter: brightness(2)
}
}
}
.newline{display: flex;align-items: center;height: 56px;justify-content: space-between;
.newline {
display: flex;
align-items: center;
height: 56px;
justify-content: space-between;
cursor: pointer;
h3{font-weight: 400;margin: 0;width: 80%;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;
h3 {
font-weight: 400;
margin: 0;
width: 80%;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-size: 18px;
color: #030303;}
span{font-weight: 400;
color: #030303;
}
span {
font-weight: 400;
font-size: 14px;
color: #B4B6B8;}
&:hover{
color: #B4B6B8;
}
&:hover {
background: #F7F8FC;
}
}
@media (max-width: 800px) {
.newline{height: 40px;
h3{width: 70%;font-size: 14px;}
span{font-size: 12px;}
.newline {
height: 40px;
h3 {
width: 70%;
font-size: 14px;
}
span {
font-size: 12px;
}
}
.box{width: 94%}
.calendarList{padding: 0;
ul{
li{margin: 10px}
.box {
width: 94%
}
.calendarList {
padding: 0;
ul {
li {
margin: 10px
}
}
}
.aboutBox{padding: 20px 30px;}
.indexTitle{margin: 30px 0 20px}
.teacher{height: 320px;margin: 0 0 20px;
img{height: 260px}
.aboutBox {
padding: 20px 30px;
}
.activeItem{margin: 0 0 20px;}
.mapBox{
div{padding-left: 40px;}
.content{ width: 80%;left: 10%;padding:10px 20px 0 20px;}
.address{margin: 30px 0;}
p{text-align: left;word-break: break-all;}
.indexTitle {
margin: 30px 0 20px
}
.teacher {
height: 320px;
margin: 0 0 20px;
img {
height: 260px
}
}
.activeItem {
margin: 0 0 20px;
}
.mapBox {
div {
padding-left: 40px;
}
.content {
width: 80%;
left: 10%;
padding: 10px 20px 0 20px;
}
.address {
margin: 30px 0;
}
p {
text-align: left;
word-break: break-all;
}
}
.fixed_gg {
display: none;
}
.bannerItem .banner-count{flex-direction: column;
transform: scale(0.5); width: auto;
.bannerItem .banner-count {
flex-direction: column;
transform: scale(0.5);
width: auto;
left: 0;
right: 0;
.van-count-down{margin: 30px 0 0;}
.van-count-down {
margin: 30px 0 0;
}
}
.bgbg{ text-align: center;
h1{text-align: center}
.bgbg {
text-align: center;
h1 {
text-align: center
}
}
}
:deep(.btn-q) {
//background: #FFFFFF;
//font-size: 18px;
......@@ -849,7 +1267,7 @@ const goDetail = (n) => {
//padding: 10px 20px;
//display: inline-flex;
//align-items: center;
padding: 20px 40px;
font-size: 20px;
align-items: center;
......@@ -863,16 +1281,16 @@ const goDetail = (n) => {
box-sizing: inherit;
}
.btn-q:hover{
.btn-q:hover {
box-shadow: 0 0 20px #453DEA;
border-radius: 100px;
background: #000 !important;
}
.ding{
.ding {
position: fixed;
right:0px;
z-index:99;
right: 0px;
z-index: 99;
top: 40%;
background: #000 !important;
box-shadow: none;
......@@ -881,16 +1299,34 @@ const goDetail = (n) => {
//height: 100px;
padding: 20px;
}
.mb30{margin-bottom: 30px;}
.livetimecount{position: absolute;top: 0;z-index: 2;background: #F04035;
.mb30 {
margin-bottom: 30px;
}
.livetimecount {
position: absolute;
top: 0;
z-index: 2;
background: #F04035;
padding: 2px 4px;
&::after{content: ''; width: 0;
height: 0;position: absolute;right: -15px;top: 0;
&::after {
content: '';
width: 0;
height: 0;
position: absolute;
right: -15px;
top: 0;
border-top: 24px solid #F04035;
border-right: 15px solid transparent;}
.van-count-down { display: flex;
border-right: 15px solid transparent;
}
.van-count-down {
display: flex;
color: #fff;
font-size: 14px;
.block {
color: #fff;
text-align: center;
......@@ -899,13 +1335,23 @@ const goDetail = (n) => {
}
}
}
@media (max-width: 500px) {
.forPc{display: none!important;}
.zn-Box .bgbg{padding: 10px 0 0;
.mb30{margin: 0}
.zn-btn{margin-top: 10px}
.forPc {
display: none !important;
}
.zn-Box .bgbg {
padding: 10px 0 0;
.mb30 {
margin: 0
}
.zn-btn {
margin-top: 10px
}
}
.logobox{
.logobox {
height: 60px;
}
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!