2c092c1c by 杨炀

no message

1 parent 70684412
...@@ -2,7 +2,7 @@ import request from '@/utils/request' ...@@ -2,7 +2,7 @@ import request from '@/utils/request'
2 2
3 export function getMaList(params) { 3 export function getMaList(params) {
4 return request({ 4 return request({
5 url: `/league/competition/webList?topFlag=1&status=1`, 5 url: `/league/competition/webList`,
6 method: 'get', 6 method: 'get',
7 params: params 7 params: params
8 }) 8 })
......
...@@ -8,7 +8,10 @@ ...@@ -8,7 +8,10 @@
8 <img v-if="n.bgImgUrl" class="bannerImg" :src="fillImgUrl(n.bgImgUrl)"> 8 <img v-if="n.bgImgUrl" class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
9 <img v-else class="bannerImg" src="@/assets/dance/banner.png"> 9 <img v-else class="bannerImg" src="@/assets/dance/banner.png">
10 <div class="box forPc" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;"> 10 <div class="box forPc" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
11 <div class="banner-count"> 11 <div v-if="n.progressStatusCode=='2'" style="position: absolute;bottom: 50%;right: 5%">
12 <el-button class="btn-lineG w200px" style="font-size: 17px;height: 40px" round @click="goMatch(n)" type="primary">开始报名</el-button>
13 </div>
14 <div class="banner-count" v-else-if="n.time>0">
12 距离开始还有 15 距离开始还有
13 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> 16 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
14 <template #default="timeData"> 17 <template #default="timeData">
...@@ -39,7 +42,7 @@ ...@@ -39,7 +42,7 @@
39 42
40 <div class="box zn-bg"> 43 <div class="box zn-bg">
41 <div class="zn-Box"> 44 <div class="zn-Box">
42 <img class="bbbg" v-if="matchData.logoUrl" :src="fillImgUrl(matchData.logoUrl)"/> 45 <img class="bbbg" v-if="matchData?.logoUrl" :src="fillImgUrl(matchData.logoUrl)"/>
43 <el-row style="align-items: center"> 46 <el-row style="align-items: center">
44 <el-col :sm="24" :lg="10"> 47 <el-col :sm="24" :lg="10">
45 <div class="bgbg"> 48 <div class="bgbg">
...@@ -465,7 +468,11 @@ const init = () => { ...@@ -465,7 +468,11 @@ const init = () => {
465 maList.value = res.rows 468 maList.value = res.rows
466 for (let n of maList.value) { 469 for (let n of maList.value) {
467 var today = dayjs().format('YYYY-MM-DD HH:mm:ss') 470 var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
468 n.time = dayjs(n.signEndTime).diff(today, 'millisecond') 471 if(n.signBeginTime){
472 n.time = dayjs(n.signBeginTime).diff(today, 'millisecond')
473 } else {
474 n.time = 0
475 }
469 } 476 }
470 matchData.value = maList.value[0] 477 matchData.value = maList.value[0]
471 }) 478 })
...@@ -500,6 +507,11 @@ const goNews = () => { ...@@ -500,6 +507,11 @@ const goNews = () => {
500 path: `/news/index` 507 path: `/news/index`
501 }) 508 })
502 } 509 }
510 const goMatch = (n) => {
511 router.push({
512 path: `/match/list/${n.id}`
513 })
514 }
503 </script> 515 </script>
504 516
505 <style scoped lang="scss"> 517 <style scoped lang="scss">
......
...@@ -2,15 +2,18 @@ ...@@ -2,15 +2,18 @@
2 <div> 2 <div>
3 <div class="banner"> 3 <div class="banner">
4 <el-carousel height="450px" :autoplay="false" arrow="hover"> 4 <el-carousel height="450px" :autoplay="false" arrow="hover">
5 <el-carousel-item style="height: 450px;"> 5 <el-carousel-item style="height: 450px;" v-for="n in maList" :key="n.id">
6 <div class="bannerItem"> 6 <div class="bannerItem">
7 <div class="h100"> 7 <div class="h100">
8 <img v-if="matchData.bgImgUrl" class="bannerImg" :src="fillImgUrl(matchData.bgImgUrl)"> 8 <img v-if="n.bgImgUrl" class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
9 <img v-else class="bannerImg" src="@/assets/dance/banner.png"> 9 <img v-else class="bannerImg" src="@/assets/dance/banner.png">
10 <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;"> 10 <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
11 <div class="banner-count"> 11 <div v-if="n.progressStatusCode=='2'" style="position: absolute;bottom: 50%;right: 5%">
12 <el-button class="btn-lineG" style="font-size: 17px;height: 40px" round @click="goMatch(n)" type="primary">开始报名</el-button>
13 </div>
14 <div class="banner-count" v-else-if="n.time>0">
12 Countdown 15 Countdown
13 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> 16 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
14 <template #default="timeData"> 17 <template #default="timeData">
15 <div class="block">{{ timeData.days }} 18 <div class="block">{{ timeData.days }}
16 <span class="colon">Days</span> 19 <span class="colon">Days</span>
...@@ -51,29 +54,29 @@ ...@@ -51,29 +54,29 @@
51 <el-row :gutter="20"> 54 <el-row :gutter="20">
52 <el-col :sm="12" :lg="8"> 55 <el-col :sm="12" :lg="8">
53 <div class="item"><img src="@/assets/dance/btn01.png"> 56 <div class="item"><img src="@/assets/dance/btn01.png">
54 <p>EVENT INTRODUCTION</p> 57 <p>Hotel Reservation</p>
55 </div></el-col> 58 </div></el-col>
56 <el-col :sm="12" :lg="8"> 59 <el-col :sm="12" :lg="8">
57 <div class="item"><img src="@/assets/dance/btn02.png"> 60 <div class="item"><img src="@/assets/dance/btn02.png">
58 <p>EVENT NOTIFICATIONS</p> 61 <p>Vehicle Reservation</p>
59 </div></el-col> 62 </div></el-col>
60 <el-col :sm="12" :lg="8"> 63 <el-col :sm="12" :lg="8">
61 <div class="item"><img src="@/assets/dance/btn03.png"> 64 <div class="item"><img src="@/assets/dance/btn03.png">
62 <p>REGISTER TO PARTICIPATE</p> 65 <p>Dining Reservation</p>
63 </div> 66 </div>
64 </el-col> 67 </el-col>
65 <el-col :sm="12" :lg="8"> 68 <el-col :sm="12" :lg="8">
66 <div class="item"><img src="@/assets/dance/btn04.png"> 69 <div class="item"><img src="@/assets/dance/btn04.png">
67 <p>TICKET BOOKING</p> 70 <p>Ticket Booking</p>
68 </div> 71 </div>
69 </el-col> 72 </el-col>
70 <el-col :sm="12" :lg="8"> 73 <el-col :sm="12" :lg="8">
71 <div class="item"><img src="@/assets/dance/btn05.png"> 74 <div class="item"><img src="@/assets/dance/btn05.png">
72 <p> HOTEL RESERVATIONS</p> 75 <p>Makeup Appointment</p>
73 </div></el-col> 76 </div></el-col>
74 <el-col :sm="12" :lg="8"> 77 <el-col :sm="12" :lg="8">
75 <div class="item"><img src="@/assets/dance/btn06.png"> 78 <div class="item"><img src="@/assets/dance/btn06.png">
76 <p>MAKEUP APPOINTMENTS</p> 79 <p>Photography Appointment</p>
77 </div></el-col> 80 </div></el-col>
78 </el-row> 81 </el-row>
79 </div> 82 </div>
...@@ -415,6 +418,7 @@ const hotActivity = ref([]) ...@@ -415,6 +418,7 @@ const hotActivity = ref([])
415 const scores = ref([]) 418 const scores = ref([])
416 const nowscores = ref([]) 419 const nowscores = ref([])
417 const livelist = ref([]) 420 const livelist = ref([])
421 const maList = ref([])
418 const picList = ref([]) 422 const picList = ref([])
419 const calendarValue = ref('2024-07-22') 423 const calendarValue = ref('2024-07-22')
420 const showgg = ref(true) 424 const showgg = ref(true)
...@@ -449,11 +453,12 @@ const init = () => { ...@@ -449,11 +453,12 @@ const init = () => {
449 newest2.value = res.rows 453 newest2.value = res.rows
450 }) 454 })
451 match.getMaList().then((res) => { 455 match.getMaList().then((res) => {
452 match.getMatchById({id: res.rows[0].id}).then(RR => { 456 maList.value = res.rows
453 matchData.value = RR.data 457 for (let n of maList.value) {
454 // var today = dayjs().format('YYYY-MM-DD HH:mm:ss') 458 var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
455 // time.value = dayjs(RR.data.signEndTime).diff(today, 'millisecond') 459 n.time = dayjs(n.signBeginTime).diff(today, 'millisecond')
456 }) 460 }
461 matchData.value = maList.value[0]
457 }) 462 })
458 } 463 }
459 464
...@@ -484,6 +489,11 @@ const goList = (query, name) => { ...@@ -484,6 +489,11 @@ const goList = (query, name) => {
484 query: query 489 query: query
485 }) 490 })
486 } 491 }
492 const goMatch = (n) => {
493 router.push({
494 path: `/match/list/${n.id}`
495 })
496 }
487 </script> 497 </script>
488 498
489 <style scoped lang="scss"> 499 <style scoped lang="scss">
...@@ -524,6 +534,7 @@ const goList = (query, name) => { ...@@ -524,6 +534,7 @@ const goList = (query, name) => {
524 clear: both; 534 clear: both;
525 overflow: hidden; 535 overflow: hidden;
526 } 536 }
537 .banner-pp{ position: absolute; bottom: 40%;right: 5%;width: 200px;}
527 538
528 .bannerItem { 539 .bannerItem {
529 height: 450px; 540 height: 450px;
......
...@@ -64,8 +64,8 @@ ...@@ -64,8 +64,8 @@
64 </van-count-down> 64 </van-count-down>
65 65
66 <div> 66 <div>
67 <a class="btn-lineG mb20" v-if="time>0" @click="choseSignType" style="display: block;text-align: center;">我要报名</a> 67 <a class="btn-lineG mb20" v-if="matchData.progressStatusCode=='2'" @click="choseSignType" style="display: block;text-align: center;">我要报名</a>
68 <div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">报名已结束</div> 68 <div v-else-if="time<=0" style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">报名已结束</div>
69 </div> 69 </div>
70 </el-col> 70 </el-col>
71 </el-row> 71 </el-row>
...@@ -211,7 +211,7 @@ onMounted(() => { ...@@ -211,7 +211,7 @@ onMounted(() => {
211 } else { 211 } else {
212 groupId.value = 0 212 groupId.value = 0
213 } 213 }
214 match.getMaList().then((res) => { 214 match.getMaList({topFlag:1,status:1}).then((res) => {
215 if (route.params.id != 0) { 215 if (route.params.id != 0) {
216 matchId.value = route.params.id 216 matchId.value = route.params.id
217 } else { 217 } else {
......
...@@ -66,10 +66,10 @@ ...@@ -66,10 +66,10 @@
66 </van-count-down> 66 </van-count-down>
67 67
68 <div class="flexCenter"> 68 <div class="flexCenter">
69 <el-button v-if="time>0" ref="RegisterRef" type="primary" round size="large" class="btn-lineG mb20 mt30 w100" 69 <el-button v-if="matchData.progressStatusCode=='2'" ref="RegisterRef" type="primary" round size="large" class="btn-lineG mb20 mt30 w100"
70 @click="choseSignType" style="font-size: 16px">Register 70 @click="choseSignType" style="font-size: 16px">Register
71 </el-button> 71 </el-button>
72 <div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">Registration has ended</div> 72 <div v-else-if="time<=0" style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">Registration has ended</div>
73 </div> 73 </div>
74 </el-col> 74 </el-col>
75 </el-row> 75 </el-row>
...@@ -250,7 +250,7 @@ onMounted(() => { ...@@ -250,7 +250,7 @@ onMounted(() => {
250 } 250 }
251 }) 251 })
252 function getMatchId() { 252 function getMatchId() {
253 match.getMaList().then((res) => { 253 match.getMaList({topFlag:1,status:1}).then((res) => {
254 matchId.value = res.rows[0].id 254 matchId.value = res.rows[0].id
255 getMatch(matchId.value) 255 getMatch(matchId.value)
256 getGroupListByCptId(matchId.value) 256 getGroupListByCptId(matchId.value)
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
11 <el-radio-group v-model="query.type" @change="getList"> 11 <el-radio-group v-model="query.type" @change="getList">
12 <el-radio-button value="-1">{{ language==0?'全部':'All' }}</el-radio-button> 12 <el-radio-button value="-1">{{ language==0?'全部':'All' }}</el-radio-button>
13 <el-radio-button value="0">{{ language==0?'联赛':'League' }}</el-radio-button> 13 <el-radio-button value="0">{{ language==0?'联赛':'League' }}</el-radio-button>
14 <el-radio-button value="1">{{ language==0?'分站赛':'Station race' }}</el-radio-button> 14 <el-radio-button value="1">{{ language==0?'独立赛':'Station race' }}</el-radio-button>
15 </el-radio-group> 15 </el-radio-group>
16 </li> 16 </li>
17 <li> 17 <li>
...@@ -55,56 +55,60 @@ ...@@ -55,56 +55,60 @@
55 </div> 55 </div>
56 </div> 56 </div>
57 57
58 <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)"> 58 <div v-loading="loading">
59 <el-row :gutter="15"> 59 <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)">
60 <el-col :lg="7" :md="24" :xl="6"> 60 <el-row :gutter="15">
61 <img class="mauto w100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)"> 61 <el-col :lg="7" :md="24" :xl="6">
62 </el-col> 62 <img class="mauto w100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)">
63 <el-col :lg="9" :md="12" :xl="12"> 63 </el-col>
64 <div class="info"> 64 <el-col :lg="9" :md="12" :xl="12">
65 <h3>{{ n.name }}</h3> 65 <div class="info">
66 <p class="ppl"><label>{{ language==0?'比赛时间':'Playing Time' }}:</label>{{n.beginTime?.slice(0,10)}} ~ {{ n.endTime?.slice(0,10) }}</p> 66 <h3>{{ n.name }}</h3>
67 <p class="ppl" v-if="n.address"><label>{{ language==0?'地&ensp;&ensp;&ensp;&ensp;点':'Location' }}:</label>{{ n.address }}</p> 67 <p class="ppl"><label>{{ language==0?'比赛时间':'Playing Time' }}:</label>{{n.beginTime?.slice(0,10)}} ~ {{ n.endTime?.slice(0,10) }}</p>
68 <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p> 68 <p class="ppl" v-if="n.address"><label>{{ language==0?'地&ensp;&ensp;&ensp;&ensp;点':'Location' }}:</label>{{ n.address }}</p>
69 <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p>
69 70
70 <p class="ppl" v-if="n.contactPerson"><label>{{ language==0?'联系人员':'Contact Person' }}:</label>{{ n.contactPerson }}</p> 71 <p class="ppl" v-if="n.contactPerson"><label>{{ language==0?'联系人员':'Contact Person' }}:</label>{{ n.contactPerson }}</p>
71 <p class="ppl"><label>{{ language==0?'联系电话':'Phone' }}:</label>{{ n.contactTelno }}</p> 72 <p class="ppl"><label>{{ language==0?'联系电话':'Phone' }}:</label>{{ n.contactTelno }}</p>
72 <p class="ppl" v-if="n.contactEmail"><label>{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'E-mail' }}:</label>{{ n.contactEmail }}</p> 73 <p class="ppl" v-if="n.contactEmail"><label>{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'E-mail' }}:</label>{{ n.contactEmail }}</p>
73 74
74 </div> 75 </div>
75 </el-col> 76 </el-col>
76 <el-col :lg="8" :md="12" :xl="6"> 77 <el-col :lg="8" :md="12" :xl="6">
77 <p class="countDownTitle"> 78 <p class="countDownTitle">
78 <span v-if="language==0">报名截止倒计时</span> 79 <span v-if="language==0">报名截止倒计时</span>
79 <span v-else>Registration deadline countdown</span> 80 <span v-else>Registration deadline countdown</span>
80 </p> 81 </p>
81 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> 82 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
82 <template #default="timeData"> 83 <template #default="timeData">
83 <span class="block">{{ timeData.days }}</span> 84 <span class="block">{{ timeData.days }}</span>
84 <span class="colon">{{ language==0?'天':'Days' }}</span> 85 <span class="colon">{{ language==0?'天':'Days' }}</span>
85 <span class="block">{{ timeData.hours }}</span> 86 <span class="block">{{ timeData.hours }}</span>
86 <span class="colon">{{ language==0?'时':'Hrs' }}</span> 87 <span class="colon">{{ language==0?'时':'Hrs' }}</span>
87 <span class="block">{{ timeData.minutes }}</span> 88 <span class="block">{{ timeData.minutes }}</span>
88 <span class="colon">{{ language==0?'分':'Min' }}</span> 89 <span class="colon">{{ language==0?'分':'Min' }}</span>
89 <span class="block">{{ timeData.seconds }}</span> 90 <span class="block">{{ timeData.seconds }}</span>
90 <span class="colon">{{ language==0?'秒':'Sec' }}</span> 91 <span class="colon">{{ language==0?'秒':'Sec' }}</span>
91 </template> 92 </template>
92 </van-count-down> 93 </van-count-down>
94
95 <div class="text-center mt30">
96 <a class="btn-lineG mb20 mauto" v-if="n.time>0" style="display: block;">
97 {{ language==0?'我要报名':'Register' }}</a>
98 <div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto">{{ language==0?'报名已结束':'Registration has ended' }}</div>
99 </div>
100 </el-col>
101 </el-row>
102 </div>
103 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0" description=" "/>
93 104
94 <div class="text-center mt30">
95 <a class="btn-lineG mb20 mauto" v-if="n.time>0" style="display: block;">
96 {{ language==0?'我要报名':'Register' }}</a>
97 <div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto">{{ language==0?'报名已结束':'Registration has ended' }}</div>
98 </div>
99 </el-col>
100 </el-row>
101 </div> 105 </div>
102 106
107
103 <div v-if="total>10" class="pc-page-box mb20"> 108 <div v-if="total>10" class="pc-page-box mb20">
104 <PaginationPc v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="getList" /> 109 <PaginationPc v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="getList" />
105 </div> 110 </div>
106 <div class="mb20"></div> 111 <div class="mb20"></div>
107
108 </div> 112 </div>
109 </div> 113 </div>
110 </template> 114 </template>
...@@ -124,6 +128,7 @@ const typeList = ref([{ label: '全部', id: '0' }]) ...@@ -124,6 +128,7 @@ const typeList = ref([{ label: '全部', id: '0' }])
124 const list = ref([]) 128 const list = ref([])
125 const projectList = ref([]) 129 const projectList = ref([])
126 const monthList = ref([]) 130 const monthList = ref([])
131 const loading = ref(false)
127 const activeName = ref('') 132 const activeName = ref('')
128 const total = ref(0) 133 const total = ref(0)
129 const query = ref({ 134 const query = ref({
...@@ -167,6 +172,7 @@ function getMonthList() { ...@@ -167,6 +172,7 @@ function getMonthList() {
167 } 172 }
168 173
169 function getList() { 174 function getList() {
175 loading.value = true
170 match.getMaList(query.value).then((res) => { 176 match.getMaList(query.value).then((res) => {
171 list.value = res.rows 177 list.value = res.rows
172 for(let n of list.value){ 178 for(let n of list.value){
...@@ -174,6 +180,7 @@ function getList() { ...@@ -174,6 +180,7 @@ function getList() {
174 n.time = dayjs(n.signEndTime).diff(today, 'millisecond') 180 n.time = dayjs(n.signEndTime).diff(today, 'millisecond')
175 } 181 }
176 total.value = res.total 182 total.value = res.total
183 loading.value = false
177 }) 184 })
178 } 185 }
179 186
......
...@@ -76,8 +76,8 @@ export default defineConfig(({ mode, command }) => { ...@@ -76,8 +76,8 @@ export default defineConfig(({ mode, command }) => {
76 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') 76 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
77 }, 77 },
78 '/dev-api/ztx-webSite': { 78 '/dev-api/ztx-webSite': {
79 // target: 'https://dance.itechtop.cn/stage-api', 79 target: 'https://dance.itechtop.cn/stage-api',
80 target: 'http://192.168.1.96:9083/', 80 // target: 'http://192.168.1.96:9083/',
81 changeOrigin: true, 81 changeOrigin: true,
82 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 82 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
83 }, 83 },
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!