1c9d32e9 by zhangmeng

成绩查询

1 parent f53d9b64
1 <template>
2 <el-dialog
3 v-model="show"
4 :close-on-click-modal="false"
5 :title="language==0?'成绩查询':'RESULT QUERY'"
6 align-center
7 append-to-body
8 center
9 class="pcloginpop"
10 close-icon="CircleClose"
11 destroy-on-close
12 style="min-width:350px;max-width: 500px"
13 >
14 <div v-loading="loading" style="min-height: 500px;height: 50vh;">
15 <div>
16 <div class="flex mt30">
17 <el-input
18 v-model="query"
19 :placeholder="language==0?'输入项目编号查询':'Enter project name or code to Query'" clearable
20 @blur="search" @empty="search" @enter="search"
21 />
22 <el-button class="btn-lineG" style="color: #fff" @click="search">{{ language == 0 ? '查询' : 'Search' }}
23 </el-button>
24 </div>
25
26 <div v-if="list.length>0" class="mt30 rollY">
27 <div v-for="val in list" :key="val.id">
28 <el-image
29 v-for="obj in val.resultUrl"
30 :key="obj"
31 :src="fillImgUrl(obj)"
32 :preview-teleported="true"
33 :preview-src-list="[fillImgUrl(obj)]"
34 class="resultUrlImag"
35 />
36 </div>
37 </div>
38 <div v-else>
39 <el-empty />
40 </div>
41 </div>
42 </div>
43 <div v-if="list.length>0" class="text-center">
44 {{ language == 0 ? '下滑查看更多' : 'Scroll down to view more' }}
45 </div>
46 </el-dialog>
47 </template>
48
49 <script setup>
50 import { ref } from 'vue'
51 import { ElMessage } from 'element-plus'
52 import {
53 getqySchedule
54 } from '@/apiPc/common'
55 import { useStorage } from '@vueuse/core/index'
56 import { fillImgUrl } from '/@/utils/ruoyi'
57
58 const language = useStorage('language', 0)
59 const show = ref(false)
60 const list = ref([])
61 const loading = ref(false)
62 const groupList = ref([])
63 const teamlist = ref([])
64 const query = ref('')
65 const type = ref('')
66 const cptId = ref()
67
68 const search = () => {
69 if (!query.value) {
70 ElMessage.warning(language.value == 0 ? '请输入项目编号' : 'Please enter the project number')
71 return
72 }
73 getqySchedule({ projectName: query.value, cptId: cptId.value }).then(res => {
74 if (!res.data || res.data.length == 0) {
75 list.value = []
76 // 提示 '未找到结果,请重新查询'
77 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
78 return
79 }
80 list.value = res.data
81 for (const val of list.value) {
82 if (val.resultUrl) val.resultUrl = val.resultUrl.split(',')
83 }
84 }).catch(e => {
85 loading.value = false
86 })
87 }
88
89 const open = (param) => {
90 cptId.value = param.cptId
91 show.value = true
92 list.value = []
93 teamlist.value = []
94 groupList.value = []
95 query.value = ''
96 type.value = ''
97 loading.value = false
98 // search()
99 }
100
101
102 defineExpose({
103 open
104 })
105
106 </script>
107
108 <style lang="scss" scoped>
109 .tname {
110 font-size: 14px;
111 font-weight: bold;
112 position: relative;
113 top: -8px
114 }
115
116 .tip {
117 font-size: 12px;
118 margin: 4px 0 0;
119 display: inline-block;
120 }
121
122 .rItem {
123 max-height: 130px;
124 cursor: pointer;
125 border: 1px solid #e1e1e1;
126 border-radius: 4px;
127 max-width: 350px;
128 text-align: center;
129 line-height: 130px;
130 padding: 1px;
131 font-size: 30px;
132 color: #fff;
133 margin: 20px auto;
134 background: linear-gradient(90deg, #8623FC, #453DEA);
135
136 &:hover {
137 background: linear-gradient(90deg, #453DEA, #8623FC);
138 box-shadow: 0 4px 10px #453DEA;
139 border: none;
140 }
141 }
142
143 .nowteamItem {
144 width: 100%;
145 border: 1px solid #c8c5ff;
146 margin-top: 20px;
147 position: relative;
148 border-radius: 4px;
149 padding: 0 0 20px;
150 background: #FFFFFF;
151 box-sizing: border-box;
152
153 .info {
154 .nowName {
155 font-family: "DIN Alternate";
156 font-size: 60px;
157 font-weight: bold;
158 overflow: hidden;
159 display: block;
160 margin: 10px;
161 }
162
163 label {
164 text-align: right;
165 font-size: 14px;
166 padding-left: 7%
167 }
168
169 div {
170 font-size: 14px;
171 color: #333;
172 margin: 6px 0 0;
173 }
174 }
175 }
176
177 .temell {
178 .nowteamItem {
179 padding: 10px;
180 margin: 0 0 10px;
181
182 .nowName {
183 font-size: 15px;
184 font-weight: bold;
185 margin-right: 10px
186 }
187
188 .text-bold {
189 font-weight: bold;
190 }
191
192 .fontsize14 {
193 font-size: 14px;
194 }
195 }
196 }
197
198 .groupList {
199 max-height: 70vh;
200 overflow: auto;
201 border: 1px solid #e1e1e1;
202 margin-top: 10px;
203
204 li {
205 padding: 10px;
206 border-bottom: 1px solid #e1e1e1;
207 cursor: pointer;
208 }
209 }
210
211 .searchBox {
212 height: 50vh;
213 //overflow-y: auto;
214 }
215
216 .rollY {
217 height: 45vh;
218 overflow-y: auto;
219 }
220
221 .resultUrlImag {
222 width: 100%;
223 margin-bottom: 10px;
224 }
225 </style>
...@@ -2,9 +2,12 @@ ...@@ -2,9 +2,12 @@
2 <div> 2 <div>
3 <index-Ch 3 <index-Ch
4 v-if="language ==0" @backNumber="openBackNumber" @pickup="openPickup" @pop="openMaster" 4 v-if="language ==0" @backNumber="openBackNumber" @pickup="openPickup" @pop="openMaster"
5 @schSearch="openSchSearch" @reserveSearch="bookingSearchOpen" 5 @schSearch="openSchSearch" @reserveSearch="bookingSearchOpen" @performance="openPerformance"
6 />
7 <index-En
8 v-else @backNumber="openBackNumber" @pickup="openPickup" @pop="openMaster" @reserveSearch="bookingSearchOpen"
9 @schSearch="openSchSearch" @performance="openPerformance"
6 /> 10 />
7 <index-En v-else @backNumber="openBackNumber" @pickup="openPickup" @pop="openMaster" @reserveSearch="bookingSearchOpen" @schSearch="openSchSearch" />
8 <div v-if="showgg" class="fixed_gg"> 11 <div v-if="showgg" class="fixed_gg">
9 <!--天气--> 12 <!--天气-->
10 <el-icon class="cclose" @click.stop="showgg=false"> 13 <el-icon class="cclose" @click.stop="showgg=false">
...@@ -81,6 +84,8 @@ ...@@ -81,6 +84,8 @@
81 <back-number ref="backNumberRef" /> 84 <back-number ref="backNumberRef" />
82 <sch-search ref="schSearchRef" /> 85 <sch-search ref="schSearchRef" />
83 <bookingSearch ref="bookingSearchRef" /> 86 <bookingSearch ref="bookingSearchRef" />
87 <performance ref="performanceRef" />
88
84 </div> 89 </div>
85 90
86 </template> 91 </template>
...@@ -93,6 +98,7 @@ import DialogMasterClass from '@/viewsPc/components/masterClass' ...@@ -93,6 +98,7 @@ import DialogMasterClass from '@/viewsPc/components/masterClass'
93 import PickUp from '@/viewsPc/components/pickup' 98 import PickUp from '@/viewsPc/components/pickup'
94 import BackNumber from '@/viewsPc/components/querybackNumber' 99 import BackNumber from '@/viewsPc/components/querybackNumber'
95 import SchSearch from '@/viewsPc/components/schSearch' 100 import SchSearch from '@/viewsPc/components/schSearch'
101 import performance from '@/viewsPc/components/performance'
96 import bookingSearch from '@/viewsPc/components/bookingSearch' 102 import bookingSearch from '@/viewsPc/components/bookingSearch'
97 import { useStorage } from '@vueuse/core/index' 103 import { useStorage } from '@vueuse/core/index'
98 import { ref } from 'vue' 104 import { ref } from 'vue'
...@@ -154,7 +160,15 @@ const openSchSearch = (params) => { ...@@ -154,7 +160,15 @@ const openSchSearch = (params) => {
154 } 160 }
155 proxy.$refs['schSearchRef'].open(obj) 161 proxy.$refs['schSearchRef'].open(obj)
156 } 162 }
157 const bookingSearchOpen= (params) => { 163
164 const openPerformance = (params) => {
165 const obj = {
166 title: '成绩查询',
167 cptId: params.cptId
168 }
169 proxy.$refs['performanceRef'].open(obj)
170 }
171 const bookingSearchOpen = (params) => {
158 console.log(params) 172 console.log(params)
159 const obj = { 173 const obj = {
160 title: '日程查询', 174 title: '日程查询',
......
...@@ -115,20 +115,22 @@ ...@@ -115,20 +115,22 @@
115 <div class="bgbg btn-group"> 115 <div class="bgbg btn-group">
116 <h1 style="color: #fff">{{ matchData?.name }}</h1> 116 <h1 style="color: #fff">{{ matchData?.name }}</h1>
117 <div class="btn-group"> 117 <div class="btn-group">
118
118 <a class="zn-btn ml10" target="_blank" @click="goGuide">参赛指南 119 <a class="zn-btn ml10" target="_blank" @click="goGuide">参赛指南
119 <el-icon> 120 <el-icon>
120 <download /> 121 <download/>
121 </el-icon> 122 </el-icon>
122 </a> 123 </a>
123 <a class="zn-btn ml10 btn-q" @click="reserveSearch">预订查询</a> 124 <a class="zn-btn ml10 btn-q" @click="reserveSearch">预订查询</a>
124 125
125 <a v-show="matchData?.id" class="zn-btn ml10 btn-q " @click="backNumberSearch">背号查询</a> 126 <a v-show="matchData?.id" class="zn-btn ml10 btn-q " @click="backNumberSearch">背号查询</a>
126 <a v-show="matchData?.id" class="zn-btn ml10 btn-q" @click="schSearch">日程查询</a> 127 <a v-show="matchData?.id" class="zn-btn ml10 btn-q" @click="schSearch">日程查询</a>
128 <a v-show="matchData?.id" class="zn-btn ml10 btn-q" @click="handelPerformance">成绩查询</a>
127 </div> 129 </div>
128 </div> 130 </div>
129 </el-col> 131 </el-col>
130 <el-col :lg="14" :sm="24"> 132 <el-col :lg="14" :sm="24">
131 <HomeQuick :cpt-name="matchData?.name" :match-id="matchData?.id" /> 133 <HomeQuick :cpt-name="matchData?.name" :match-id="matchData?.id"/>
132 </el-col> 134 </el-col>
133 </el-row> 135 </el-row>
134 </div> 136 </div>
...@@ -144,7 +146,7 @@ ...@@ -144,7 +146,7 @@
144 </div> 146 </div>
145 <!--赛事日历--> 147 <!--赛事日历-->
146 <el-card :body-style="{ 'padding': '20px 20px' }"> 148 <el-card :body-style="{ 'padding': '20px 20px' }">
147 <home-calendar /> 149 <home-calendar/>
148 </el-card> 150 </el-card>
149 </el-col> 151 </el-col>
150 <el-col :lg="12" :sm="24"> 152 <el-col :lg="12" :sm="24">
...@@ -155,12 +157,12 @@ ...@@ -155,12 +157,12 @@
155 <!--历史排名--> 157 <!--历史排名-->
156 <el-card :body-style="{ 'padding': '10px 20px 18px' }"> 158 <el-card :body-style="{ 'padding': '10px 20px 18px' }">
157 <el-table :data="rank" height="495" stripe @row-click="handleRowClick"> 159 <el-table :data="rank" height="495" stripe @row-click="handleRowClick">
158 <el-table-column align="center" label="名次" prop="index" width="50" /> 160 <el-table-column align="center" label="名次" prop="index" width="50"/>
159 161
160 <el-table-column label="国家" prop="name"> 162 <el-table-column label="国家" prop="name">
161 <template #default="scope"> 163 <template #default="scope">
162 <div> 164 <div>
163 <span v-if="scope.row.code != 'tw'" :class="`flag-icon flag-icon-${scope.row.code}`" /> 165 <span v-if="scope.row.code != 'tw'" :class="`flag-icon flag-icon-${scope.row.code}`"/>
164 <span v-else class="flag-icon"> 166 <span v-else class="flag-icon">
165 <img :src="hkImage" alt="" class="hkimg"> 167 <img :src="hkImage" alt="" class="hkimg">
166 </span> 168 </span>
...@@ -303,7 +305,7 @@ ...@@ -303,7 +305,7 @@
303 <el-col v-for="(n, index) in livelist" v-show="index > 0" :lg="8"> 305 <el-col v-for="(n, index) in livelist" v-show="index > 0" :lg="8">
304 <div class="item" style="padding: 0;margin: 20px 0 0" @click="goDetail(n)"> 306 <div class="item" style="padding: 0;margin: 20px 0 0" @click="goDetail(n)">
305 <div class="imgbox"> 307 <div class="imgbox">
306 <i class="playIcon" /> 308 <i class="playIcon"/>
307 <img :src="fillImgUrl_webSite(n.picUrl)"> 309 <img :src="fillImgUrl_webSite(n.picUrl)">
308 </div> 310 </div>
309 <div class="info"> 311 <div class="info">
...@@ -346,7 +348,7 @@ ...@@ -346,7 +348,7 @@
346 </div> 348 </div>
347 <div class="aboutBox"> 349 <div class="aboutBox">
348 <div class="content"> 350 <div class="content">
349 <div v-html="aboutUsContent" /> 351 <div v-html="aboutUsContent"/>
350 <!-- 无锡WDSF亚洲体育舞蹈节是由世界体育舞蹈(无锡)中心(世界体育舞蹈联合、亚洲体育舞蹈联合、中国体育舞蹈联合会和无锡市人民政府共建)打造面向全球的、长期落户的、城市自主的品牌赛事。--> 352 <!-- 无锡WDSF亚洲体育舞蹈节是由世界体育舞蹈(无锡)中心(世界体育舞蹈联合、亚洲体育舞蹈联合、中国体育舞蹈联合会和无锡市人民政府共建)打造面向全球的、长期落户的、城市自主的品牌赛事。-->
351 <!-- 2023年7月首次举办无锡2023年WDSF亚洲体育舞蹈节,包括2023年WDSF世界标准舞锦标赛、2023年WDSF世界体育舞蹈大奖赛(中国无锡)、2023年全国体育舞蹈公开系列赛(无锡站),共吸引来自全球39个国家及地区的1,716名顶级舞者参与。--> 353 <!-- 2023年7月首次举办无锡2023年WDSF亚洲体育舞蹈节,包括2023年WDSF世界标准舞锦标赛、2023年WDSF世界体育舞蹈大奖赛(中国无锡)、2023年全国体育舞蹈公开系列赛(无锡站),共吸引来自全球39个国家及地区的1,716名顶级舞者参与。-->
352 <!-- 同时,并将世界体育舞蹈(无锡)中心成功落户中国无锡,以“节日有竞赛、竞赛节日化”为发展指导原则,“四方”共同努力服务全球舞者。 <div class="shadowbox"/>--> 354 <!-- 同时,并将世界体育舞蹈(无锡)中心成功落户中国无锡,以“节日有竞赛、竞赛节日化”为发展指导原则,“四方”共同努力服务全球舞者。 <div class="shadowbox"/>-->
...@@ -403,7 +405,7 @@ ...@@ -403,7 +405,7 @@
403 <!-- && maList.invitationSw == '1' --> 405 <!-- && maList.invitationSw == '1' -->
404 <div v-if="clubImage && matchData.visaSw == '1'" style="padding-left: 7px;"> 406 <div v-if="clubImage && matchData.visaSw == '1'" style="padding-left: 7px;">
405 <el-image :preview-src-list="[clubImage]" :src="clubImage" fit="cover" preview-teleported 407 <el-image :preview-src-list="[clubImage]" :src="clubImage" fit="cover" preview-teleported
406 style="width: 120px" /> 408 style="width: 120px"/>
407 </div> 409 </div>
408 410
409 </div> 411 </div>
...@@ -411,13 +413,13 @@ ...@@ -411,13 +413,13 @@
411 <!-- 群聊--> 413 <!-- 群聊-->
412 <div v-if="matchData.chatQrcode" class="fixed_gg_l club"> 414 <div v-if="matchData.chatQrcode" class="fixed_gg_l club">
413 <el-image :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" :src="fillImgUrl(matchData.chatQrcode)" 415 <el-image :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" :src="fillImgUrl(matchData.chatQrcode)"
414 fit="cover" preview-teleported style="width: 120px;height: 120px" /> 416 fit="cover" preview-teleported style="width: 120px;height: 120px"/>
415 </div> 417 </div>
416 418
417 <affix-invitation ref="dialogInvitationRef" /> 419 <affix-invitation ref="dialogInvitationRef"/>
418 <el-dialog v-model="liveQrcodeShow" :title="language == 0 ? '赛事直播' : 'Live QR Code'" width="350px"> 420 <el-dialog v-model="liveQrcodeShow" :title="language == 0 ? '赛事直播' : 'Live QR Code'" width="350px">
419 <div v-if="matchData.liveQrcode" style="display: flex;justify-content: space-between"> 421 <div v-if="matchData.liveQrcode" style="display: flex;justify-content: space-between">
420 <el-image :src="fillImgUrl(matchData.liveQrcode)" fit="cover" style="width: 350px;" /> 422 <el-image :src="fillImgUrl(matchData.liveQrcode)" fit="cover" style="width: 350px;"/>
421 </div> 423 </div>
422 424
423 </el-dialog> 425 </el-dialog>
...@@ -426,26 +428,26 @@ ...@@ -426,26 +428,26 @@
426 <script setup> 428 <script setup>
427 import HomeQuick from '@/viewsPc/components/homeQuick' 429 import HomeQuick from '@/viewsPc/components/homeQuick'
428 import HomeCalendar from '@/viewsPc/components/homeCalendar' 430 import HomeCalendar from '@/viewsPc/components/homeCalendar'
429 import { ref, nextTick, onMounted, watch } from 'vue' 431 import {ref, nextTick, onMounted, watch} from 'vue'
430 import { getCurrentInstance } from '@vue/runtime-core' 432 import {getCurrentInstance} from '@vue/runtime-core'
431 import { getHomePage, getNewsListById, getNewsList, getRank } from '@/apiPc/webSite' 433 import {getHomePage, getNewsListById, getNewsList, getRank} from '@/apiPc/webSite'
432 import { useRouter } from 'vue-router' 434 import {useRouter} from 'vue-router'
433 import clubImage from '@/assets/logo/club.png' 435 import clubImage from '@/assets/logo/club.png'
434 436
435 import { rankList } from '@/assets/js/data' 437 import {rankList} from '@/assets/js/data'
436 import _ from 'lodash' 438 import _ from 'lodash'
437 import { Swiper, SwiperSlide } from 'swiper/vue' 439 import {Swiper, SwiperSlide} from 'swiper/vue'
438 import { Autoplay, Navigation } from 'swiper' 440 import {Autoplay, Navigation} from 'swiper'
439 import 'swiper/css' 441 import 'swiper/css'
440 import { dayjs } from 'element-plus' 442 import {dayjs} from 'element-plus'
441 import * as match from '@/apiPc/match' 443 import * as match from '@/apiPc/match'
442 import { getAboutUs, getppInfo, getZNList } from '@/apiPc/match' 444 import {getAboutUs, getppInfo, getZNList} from '@/apiPc/match'
443 import hkImage from '@/assets/nationalFlag/hk.png' 445 import hkImage from '@/assets/nationalFlag/hk.png'
444 446
445 import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue' 447 import AffixInvitation from '/@/viewsPc/match/components/affix-invitation.vue'
446 import { useStorage } from '@vueuse/core/index' 448 import {useStorage} from '@vueuse/core/index'
447 import useUserStore from '@/store/modules/user' 449 import useUserStore from '@/store/modules/user'
448 import { fillImgUrl } from '/@/utils/ruoyi' 450 import {fillImgUrl} from '/@/utils/ruoyi'
449 451
450 const language = useStorage('language', 0) 452 const language = useStorage('language', 0)
451 const liveQrcodeShow = ref(false) 453 const liveQrcodeShow = ref(false)
...@@ -455,17 +457,17 @@ const navigationPic = ref({ ...@@ -455,17 +457,17 @@ const navigationPic = ref({
455 prevEl: '.picprev' 457 prevEl: '.picprev'
456 }) 458 })
457 const router = useRouter() 459 const router = useRouter()
458 const { proxy } = getCurrentInstance() 460 const {proxy} = getCurrentInstance()
459 const emit = defineEmits(['pop', 'pickup', 'backNumber', 'schSearch', 'reserveSearch']) 461 const emit = defineEmits(['pop', 'pickup', 'backNumber', 'schSearch', 'reserveSearch'])
460 const time = ref(0) 462 const time = ref(0)
461 const etime = ref(0) 463 const etime = ref(0)
462 const personList = ref([ 464 const personList = ref([
463 { name: 'Wolfgang Eliasch', pp: '拉丁舞裁判长 奥地利', src: '/img/1.png' }, 465 {name: 'Wolfgang Eliasch', pp: '拉丁舞裁判长 奥地利', src: '/img/1.png'},
464 { name: 'Nenad Jeftic', pp: '标准舞裁判长 塞尔维亚', src: '/img/2.png' }, 466 {name: 'Nenad Jeftic', pp: '标准舞裁判长 塞尔维亚', src: '/img/2.png'},
465 { name: 'Dorel Bagiu', pp: '罗马尼亚', src: '/img/3.png' }, 467 {name: 'Dorel Bagiu', pp: '罗马尼亚', src: '/img/3.png'},
466 { name: 'Eduard Korotin', pp: ' 爱沙尼亚', src: '/img/4.png' }, 468 {name: 'Eduard Korotin', pp: ' 爱沙尼亚', src: '/img/4.png'},
467 { name: 'Ana Cristina Silva', pp: '葡萄牙', src: '/img/5.png' }, 469 {name: 'Ana Cristina Silva', pp: '葡萄牙', src: '/img/5.png'},
468 { name: 'Dallas Leslie Williams', pp: '记分长 澳大利亚', src: '/img/6.png' } 470 {name: 'Dallas Leslie Williams', pp: '记分长 澳大利亚', src: '/img/6.png'}
469 ]) 471 ])
470 const activeNews = ref(0) 472 const activeNews = ref(0)
471 const rank = ref([]) 473 const rank = ref([])
...@@ -533,7 +535,7 @@ const init = () => { ...@@ -533,7 +535,7 @@ const init = () => {
533 ).then(res => { 535 ).then(res => {
534 newest2.value = res.rows 536 newest2.value = res.rows
535 }) 537 })
536 match.getMaList({ topFlag: 1 }).then((res) => { 538 match.getMaList({topFlag: 1}).then((res) => {
537 maList.value = res.rows 539 maList.value = res.rows
538 console.log(333, maList.value) 540 console.log(333, maList.value)
539 for (const n of maList.value) { 541 for (const n of maList.value) {
...@@ -558,7 +560,7 @@ const getpartners = () => { ...@@ -558,7 +560,7 @@ const getpartners = () => {
558 match.getppInfo('10000001').then((res) => { 560 match.getppInfo('10000001').then((res) => {
559 aboutUsContent.value = res.data.contextZh 561 aboutUsContent.value = res.data.contextZh
560 }) 562 })
561 match.getZNList({ sortId: '2000', language: 1 }).then((res) => { 563 match.getZNList({sortId: '2000', language: 1}).then((res) => {
562 partners.value = res.rows 564 partners.value = res.rows
563 }) 565 })
564 } 566 }
...@@ -647,6 +649,13 @@ const schSearch = () => { ...@@ -647,6 +649,13 @@ const schSearch = () => {
647 } 649 }
648 emit('schSearch', params) 650 emit('schSearch', params)
649 } 651 }
652
653 const handelPerformance=()=>{
654 const params = {
655 cptId: matchData.value.id
656 }
657 emit('performance', params)
658 }
650 const handlePickup = () => { 659 const handlePickup = () => {
651 const params = { 660 const params = {
652 cptId: matchData.value.id 661 cptId: matchData.value.id
...@@ -978,7 +987,8 @@ function applyInvitation() { ...@@ -978,7 +987,8 @@ function applyInvitation() {
978 background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)); 987 background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
979 } 988 }
980 989
981 .btn-lineG {} 990 .btn-lineG {
991 }
982 } 992 }
983 993
984 .mapBox { 994 .mapBox {
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <div class="banner"> 3 <div class="banner">
4 <el-carousel :autoplay="false" :interval="2000" arrow="hover" class="forPc" height="450px" 4 <el-carousel
5 @change="carouselChange"> 5 :autoplay="false" :interval="2000" arrow="hover" class="forPc" height="450px"
6 @change="carouselChange"
7 >
6 <el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;"> 8 <el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;">
7 <div class="bannerItem"> 9 <div class="bannerItem">
8 <div class="h100" @click.stop="goMatch(n)"> 10 <div class="h100" @click.stop="goMatch(n)">
...@@ -42,7 +44,8 @@ ...@@ -42,7 +44,8 @@
42 </div> 44 </div>
43 45
44 <div 46 <div
45 style="position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around"> 47 style="position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around"
48 >
46 <a class=" btn2" style="z-index: 999999" @click.stop="liveQrcodeShowBtn"> 49 <a class=" btn2" style="z-index: 999999" @click.stop="liveQrcodeShowBtn">
47 <!-- 赛事直播--> 50 <!-- 赛事直播-->
48 Live Qrcode 51 Live Qrcode
...@@ -96,7 +99,8 @@ ...@@ -96,7 +99,8 @@
96 99
97 </div> 100 </div>
98 <div 101 <div
99 style="position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around"> 102 style="position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around"
103 >
100 104
101 <a class=" btn2-phone" style="z-index: 999999" @click.stop="liveQrcodeShowBtn"> 105 <a class=" btn2-phone" style="z-index: 999999" @click.stop="liveQrcodeShowBtn">
102 Live Qrcode 106 Live Qrcode
...@@ -134,11 +138,10 @@ ...@@ -134,11 +138,10 @@
134 <Edit /> 138 <Edit />
135 </el-icon> 139 </el-icon>
136 </a> --> 140 </a> -->
137 <br/> 141 <br>
138 <a class="zn-btn btn-q" @click="backNumberSearch">Competition 142 <a class="zn-btn btn-q" @click="backNumberSearch">Competition Number</a>
139 Number</a> 143 <a class="zn-btn btn-q" @click="schSearchSearch">Schedule Inquiry</a>
140 <a class="zn-btn btn-q" @click="schSearchSearch">Schedule 144 <a class="zn-btn btn-q" @click="performanceSearch">RESULT QUERY</a>
141 Inquiry</a>
142 145
143 </div> 146 </div>
144 147
...@@ -299,8 +302,10 @@ ...@@ -299,8 +302,10 @@
299 <el-col :lg="16"> 302 <el-col :lg="16">
300 303
301 <div class="swiperPic forPx"> 304 <div class="swiperPic forPx">
302 <swiper :autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic" 305 <swiper
303 :slides-per-view="3" :space-between="20" class="swiper-wrapper"> 306 :autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic"
307 :slides-per-view="3" :space-between="20" class="swiper-wrapper"
308 >
304 <swiper-slide v-for="(n, i) in picList" :key="i"> 309 <swiper-slide v-for="(n, i) in picList" :key="i">
305 <div class="picbox" @click="goNewsDetail(n)"> 310 <div class="picbox" @click="goNewsDetail(n)">
306 <img :src="fillImgUrl_webSite(n.picUrl)"> 311 <img :src="fillImgUrl_webSite(n.picUrl)">
...@@ -341,7 +346,10 @@ ...@@ -341,7 +346,10 @@
341 <h3 class="leftboderTT">INTRODUCTION OF ADJUDICATORS</h3> 346 <h3 class="leftboderTT">INTRODUCTION OF ADJUDICATORS</h3>
342 </div> 347 </div>
343 <el-row :gutter="20"> 348 <el-row :gutter="20">
344 <el-col v-for="n in personList" :key="n.name" :lg="4" :sm="8" :xl="4" :xs="12"> 349 <el-col
350 v-for="n in personList" :key="n.name" :lg="4" :sm="8" :xl="4"
351 :xs="12"
352 >
345 <div class="teacher"> 353 <div class="teacher">
346 <div class="imgbox"><img :src="n.src"></div> 354 <div class="imgbox"><img :src="n.src"></div>
347 <h3 class="esp">{{ n.name }}</h3> 355 <h3 class="esp">{{ n.name }}</h3>
...@@ -411,24 +419,30 @@ ...@@ -411,24 +419,30 @@
411 419
412 <!-- 邀请函--> 420 <!-- 邀请函-->
413 <div class="fixed_gg_l yaoQing"> 421 <div class="fixed_gg_l yaoQing">
414 <img src="@/assets/logo/Invitation_e.png" @click="applyInvitation" v-if="matchData.invitationSw == '1'"> 422 <img v-if="matchData.invitationSw == '1'" src="@/assets/logo/Invitation_e.png" @click="applyInvitation">
415 <div style="padding-left: 7px;"> 423 <div style="padding-left: 7px;">
416 424
417 <el-image v-if="clubImage && matchData.visaSw == '1'" :preview-src-list="[clubImage]" :src="clubImage" 425 <el-image
418 fit="cover" preview-teleported style="width: 124px" /> 426 v-if="clubImage && matchData.visaSw == '1'" :preview-src-list="[clubImage]" :src="clubImage"
427 fit="cover" preview-teleported style="width: 124px"
428 />
419 </div> 429 </div>
420 </div> 430 </div>
421 <!-- 群聊--> 431 <!-- 群聊-->
422 <div v-if="matchData.chatQrcode" class="fixed_gg_l club"> 432 <div v-if="matchData.chatQrcode" class="fixed_gg_l club">
423 <el-image :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" :src="fillImgUrl(matchData.chatQrcode)" 433 <el-image
424 fit="cover" preview-teleported style="width: 120px;height: 120px" /> 434 :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" :src="fillImgUrl(matchData.chatQrcode)"
435 fit="cover" preview-teleported style="width: 120px;height: 120px"
436 />
425 </div> 437 </div>
426 <affix-invitation ref="dialogInvitationRef" /> 438 <affix-invitation ref="dialogInvitationRef" />
427 439
428 <el-dialog v-model="liveQrcodeShow" :title="language == 0 ? '赛事直播' : 'Live QR Code'" width="350px"> 440 <el-dialog v-model="liveQrcodeShow" :title="language == 0 ? '赛事直播' : 'Live QR Code'" width="350px">
429 <div style="display: flex;justify-content: space-between"> 441 <div style="display: flex;justify-content: space-between">
430 <el-image v-if="matchData.liveQrcode" :src="fillImgUrl(matchData.liveQrcode)" fit="cover" 442 <el-image
431 style="max-width: 350px;" /> 443 v-if="matchData.liveQrcode" :src="fillImgUrl(matchData.liveQrcode)" fit="cover"
444 style="max-width: 350px;"
445 />
432 </div> 446 </div>
433 447
434 </el-dialog> 448 </el-dialog>
...@@ -464,7 +478,7 @@ const navigationPic = ref({ ...@@ -464,7 +478,7 @@ const navigationPic = ref({
464 }) 478 })
465 const router = useRouter() 479 const router = useRouter()
466 const { proxy } = getCurrentInstance() 480 const { proxy } = getCurrentInstance()
467 const emit = defineEmits(['pop', 'backNumber', 'schSearch', 'reserveSearch']) 481 const emit = defineEmits(['pop', 'backNumber', 'schSearch', 'reserveSearch', 'performance'])
468 const time = ref(0) 482 const time = ref(0)
469 const etime = ref(0) 483 const etime = ref(0)
470 const liveQrcodeShow = ref(false) 484 const liveQrcodeShow = ref(false)
...@@ -503,8 +517,8 @@ const reserveSearch = () => { ...@@ -503,8 +517,8 @@ const reserveSearch = () => {
503 var params = { 517 var params = {
504 cptId: matchData.value.id 518 cptId: matchData.value.id
505 } 519 }
506 emit('reserveSearch', params); // 向父组件发射事件+参数 520 emit('reserveSearch', params) // 向父组件发射事件+参数
507 }; 521 }
508 522
509 function handleRowClick(row) { 523 function handleRowClick(row) {
510 console.log(row) 524 console.log(row)
...@@ -626,7 +640,6 @@ const goGuide = () => { ...@@ -626,7 +640,6 @@ const goGuide = () => {
626 const liveQrcodeShowBtn = () => { 640 const liveQrcodeShowBtn = () => {
627 if (!matchData.value.liveQrcode) { 641 if (!matchData.value.liveQrcode) {
628 ElMessage.warning('There is currently no live broadcast of the event') 642 ElMessage.warning('There is currently no live broadcast of the event')
629 return
630 } else { 643 } else {
631 liveQrcodeShow.value = true 644 liveQrcodeShow.value = true
632 } 645 }
...@@ -650,6 +663,15 @@ const schSearchSearch = () => { ...@@ -650,6 +663,15 @@ const schSearchSearch = () => {
650 } 663 }
651 emit('schSearch', params) 664 emit('schSearch', params)
652 } 665 }
666
667 const performanceSearch = () => {
668 const params = {
669 cptId: matchData.value.id
670 }
671 console.log(1111)
672 emit('performance', params)
673 }
674
653 const handlePickup = () => { 675 const handlePickup = () => {
654 const params = { 676 const params = {
655 cptId: matchData.value.id 677 cptId: matchData.value.id
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!