2a7aa630 by 李婷婷

预定查询

1 parent 00bdea3a
...@@ -185,4 +185,40 @@ export function queryTicket(qy) { ...@@ -185,4 +185,40 @@ export function queryTicket(qy) {
185 params: qy 185 params: qy
186 }) 186 })
187 } 187 }
188 188 // 酒店
189 export function orderRoomList(qy) {
190 return request({
191 url: `/ota/orderRoom/getReservationRecordList`,
192 method: 'get',
193 params: qy
194 })
195 }
196 // 接送
197 export function orderCarList(qy) {
198 return request({
199 url: `/ota/orderCar/getReservationRecordList`,
200 method: 'get',
201 params: qy
202 })
203 }
204 export function orderMealList(qy) {
205 return request({
206 url: `/ota/orderMeal/getReservationRecordList`,
207 method: 'get',
208 params: qy
209 })
210 }
211 export function orderScenicList(qy) {
212 return request({
213 url: `/ota/orderScenic/getReservationRecordList`,
214 method: 'get',
215 params: qy
216 })
217 }
218 export function orderTicketList(qy) {
219 return request({
220 url: `/ota/orderTicket/getReservationRecordList`,
221 method: 'get',
222 params: qy
223 })
224 }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
16 <div class="box"> 16 <div class="box">
17 <el-row :gutter="20"> 17 <el-row :gutter="20">
18 <el-col v-for="(h,index) in list" :span="12" class="mb20"> 18 <el-col v-for="(h,index) in list" :span="12" class="mb20">
19 <el-card> 19 <el-card>
20 <el-row :gutter="20" align="middle" class="hotel"> 20 <el-row :gutter="20" align="middle" class="hotel">
21 <el-col :span="12"> 21 <el-col :span="12">
22 <el-image :src="fillImgUrl(h.photos?.split(',')[0])" class="w100 as16_9" fit="cover" /> 22 <el-image :src="fillImgUrl(h.photos?.split(',')[0])" class="w100 as16_9" fit="cover" />
...@@ -75,7 +75,7 @@ onMounted(() => { ...@@ -75,7 +75,7 @@ onMounted(() => {
75 function getList() { 75 function getList() {
76 query.value.activityId = route.params.cptId 76 query.value.activityId = route.params.cptId
77 getActivityRestaurantList(query.value).then(res => { 77 getActivityRestaurantList(query.value).then(res => {
78 list.value = res.rows 78 list.value = res.rows.filter(item => item.viewStatus == '1');
79 }) 79 })
80 } 80 }
81 81
......
...@@ -75,7 +75,7 @@ onMounted(()=>{ ...@@ -75,7 +75,7 @@ onMounted(()=>{
75 function getList() { 75 function getList() {
76 loading.value = true 76 loading.value = true
77 booking.getMakeUpList(query.value).then(res=>{ 77 booking.getMakeUpList(query.value).then(res=>{
78 list.value = res.rows 78 list.value = res.rows.filter(item => item.viewStatus == 1)
79 loading.value = false 79 loading.value = false
80 }).catch(e=>{ 80 }).catch(e=>{
81 loading.value = false 81 loading.value = false
......
...@@ -75,7 +75,7 @@ onMounted(()=>{ ...@@ -75,7 +75,7 @@ onMounted(()=>{
75 function getList() { 75 function getList() {
76 loading.value = true 76 loading.value = true
77 booking.getShootList(query.value).then(res=>{ 77 booking.getShootList(query.value).then(res=>{
78 list.value = res.rows 78 list.value = res.rows.filter(item => item.viewStatus == 1)
79 loading.value = false 79 loading.value = false
80 }).catch(e=>{ 80 }).catch(e=>{
81 loading.value = false 81 loading.value = false
......
...@@ -159,17 +159,20 @@ ...@@ -159,17 +159,20 @@
159 </div> 159 </div>
160 </div> 160 </div>
161 <div class="select_item_box"> 161 <div class="select_item_box">
162 <div class="select_item"> 162 <div class="select_item-tag">
163 <div 163 <div
164 v-for="it in tickList[selectForm.sessionType]" 164 v-for="it in tickList[selectForm.sessionType]"
165 :key="it.id" 165 :key="it.id"
166 :class="[ 166
167 it.id == selectForm.latstId ? 'tagActive' : 'tag', 167
168 it.isView==0?'forbid':''
169 ]"
170 @click="selectTick(it)" 168 @click="selectTick(it)"
171 > 169 >
172 {{ it.name }} 170 <span v-if="it.viewStatus === '1'" :class="[
171 it.id == selectForm.latstId ? 'tagActive' : 'tag',
172 it.isView==0?'forbid':''
173 ]" >
174 {{ it.name}}
175 </span>
173 </div> 176 </div>
174 <div class="father"> 177 <div class="father">
175 <el-image 178 <el-image
...@@ -665,6 +668,65 @@ getmatchData() ...@@ -665,6 +668,65 @@ getmatchData()
665 cursor: no-drop; 668 cursor: no-drop;
666 } 669 }
667 } 670 }
671 .select_item-tag{
672 display: flex;
673 flex-wrap: wrap;
674 // gap: 10px;
675 user-select: none;
676
677 .tag_t {
678 padding: 1px 15px;
679 font-weight: 400;
680 font-size: 14px;
681 color: #493ceb;
682 border-radius: 6px;
683 border: 1px solid #453dea;
684 margin-left: 5px;
685 }
686
687 .tag {
688 display: flex;
689 padding: 12px 18px;
690 background: #eeeeee;
691 border-radius: 4px;
692 border: 1px solid #29343c;
693 font-size: 14px;
694 color: #4a4a4a;
695 margin-right: 10px;
696 margin-bottom: 10px;
697 cursor: pointer;
698 }
699
700 .tagActive {
701 display: flex;
702 padding: 12px 18px;
703 background: #fff;
704 border-radius: 4px;
705 border: 1px solid #493ceb;
706 font-size: 14px;
707 color: #493ceb;
708 margin-right: 10px;
709 margin-bottom: 10px;
710 cursor: pointer;
711 }
712
713 .tao {
714 border: 1px solid #493ceb;
715 font-size: 14px;
716 color: #493ceb;
717 margin-left: 10px;
718 }
719
720 .tagDisabled {
721 padding: 12px 18px;
722 background: #878787;
723 border-radius: 4px;
724 border: 1px solid #29343c;
725 font-size: 14px;
726 color: #4a4a4a;
727 cursor: no-drop;
728 }
729 }
668 } 730 }
669 731
670 .btn { 732 .btn {
...@@ -871,4 +933,11 @@ getmatchData() ...@@ -871,4 +933,11 @@ getmatchData()
871 } 933 }
872 } 934 }
873 } 935 }
936 .view-status-mark {
937 color: #493ceb; /* 与票档主题色一致 */
938 font-size: 12px; /* 小于票型名称字号,避免突兀 */
939 margin-left: 4px; /* 与名称保持间距 */
940 font-weight: 500;
941
942 }
874 </style> 943 </style>
......
...@@ -100,7 +100,7 @@ onMounted(() => { ...@@ -100,7 +100,7 @@ onMounted(() => {
100 function getList() { 100 function getList() {
101 loading.value = true 101 loading.value = true
102 booking.getScenicList(query.value).then(res => { 102 booking.getScenicList(query.value).then(res => {
103 list.value = res.rows 103 list.value = res.rows.filter(item => item.viewStatus == '1');
104 loading.value = false 104 loading.value = false
105 console.log(list.value) 105 console.log(list.value)
106 }).catch(e => { 106 }).catch(e => {
......
1 <template> 1 <template>
2 <el-dialog 2 <el-dialog v-model="show" :close-on-click-modal="false" :title="language === 0 ? '预订查询' : 'Reservation Inquiry'"
3 v-model="show" 3 align-center append-to-body center class="booking-inquiry-dialog" close-icon="CircleClose" destroy-on-close>
4 :close-on-click-modal="false" 4 <!-- 查询区域 -->
5 :title="language==0?'日程查询':'Schedule inquiry'" 5 <div class="search-container">
6 align-center 6 <el-input v-model="query" :placeholder="language === 0 ? '输入邮箱号查询' : 'Enter email to Query'" clearable
7 append-to-body 7 @blur="handleSearch" @empty="handleSearch" @enter="handleSearch" class="search-input" />
8 center 8 <el-button class="btn-lineG" style="color: #fff" @click="handleSearch">{{
9 class="pcloginpop" 9 language == 0 ? '查询' : 'Search'
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
16 <div v-if="!type||type==''">
17 <div class="rItem" @click="type='0'">{{ language == 0 ? '按项目查询' : 'Query by project' }}</div>
18 <div class="rItem" @click="type='1'">{{ language == 0 ? '按团队查询' : 'Query by team' }}</div>
19 <div class="rItem" @click="type='2'">{{ language == 0 ? '按姓名查询' : 'Query by name' }}</div>
20 </div>
21
22 <div v-if="type=='0'">
23 <div class="flex mt30">
24 <el-input
25 v-model="query"
26 :placeholder="language==0?'输入项目/ 项目编号查询':'Enter project name or code to Query'" clearable
27 @blur="search" @empty="search" @enter="search"
28 />
29 <el-button class="btn-lineG" style="color: #fff" @click="search">{{
30 language == 0 ? '查询' : 'Search'
31 }}
32 </el-button>
33 </div>
34
35 <div v-if="list.length>0" class="mt30 rollY">
36 <el-timeline>
37 <el-timeline-item
38 v-for="(form, index) in list"
39 :key="index" :timestamp="form.date + ' ' + form.timeStr"
40 placement="top"
41 >
42 <div class="text-primary">
43 <span v-if="language==1&&form.projectNameEn">{{ form.projectNameEn }}</span>
44 <span v-else-if="form.projectName">{{ form.projectName }}</span>
45 <span class="fr">{{ form.changCi }} <i
46 v-if="form.changCi"
47 >/ </i> {{ language == 0 ? form.lun : form.lunEn }} </span>
48 </div>
49 <div>{{ form.danceType }}</div>
50 <div>{{ form.address }}</div>
51 </el-timeline-item>
52 </el-timeline>
53 </div>
54 <div v-else>
55 <el-empty />
56 </div>
57 </div>
58 <div class="searchBox">
59 <div v-if="type=='1'">
60 <div class="flex mt20">
61 <el-input
62 v-model="query2"
63 :placeholder="language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'"
64 clearable
65 @blur="searchTeam" @empty="searchTeam" @enter="searchTeam"
66 />
67 <el-button class="btn-lineG" style="color: #fff" @click="searchTeam">
68 {{ language == 0 ? '查询' : 'Search' }}
69 </el-button>
70 </div>
71 <span class="tip">*{{ language == 0 ? '模糊查询' : 'Fuzzy query' }}</span>
72 <div v-if="showGroupList" class="text-danger text-center">
73 {{ language == 0 ? '找到多个团体' : 'Found multiple teams' }}
74 </div>
75 <div v-if="showGroupList" class="groupList rollY">
76 <ul>
77 <li v-for="(item, index) in groupList" :key="index" @click="showDetail(item)">{{ item }}
78 <el-icon class="fr">
79 <ArrowRight />
80 </el-icon>
81 </li>
82 </ul>
83 </div>
84 <div v-if="teamlist.length>0" class="temell mt20 rollY">
85 <el-collapse accordion>
86 <el-collapse-item v-for="(team,index) in teamlist" :key="index" :name="index" :title="team[0].title">
87 <el-timeline>
88 <el-timeline-item v-for="(form, index) in team" :key="index" placement="top">
89
90 <div class="text-primary" style="position: relative;top:-15px">
91 {{ form.date + ' ' + form.timeStr + ' / ' + form.address }}
92 <span v-if="form.lunEn"> / {{ form.lunEn }}</span>
93 <span v-else-if="form.lun"> / {{ form.lun }}</span>
94 <span v-if="form.changCi "> / {{ language == 0 ? '场次' : 'Session' }}{{ form.changCi }}</span>
95 </div>
96 <div v-if="form.projectNameEn" class="tname">{{ form.projectNameEn }}</div>
97 <div v-if="form.projectName" class="tname">{{ form.projectName }}</div>
98 <div>{{ form.danceType }}</div>
99 </el-timeline-item>
100 </el-timeline>
101 </el-collapse-item>
102 </el-collapse>
103 </div>
104 </div>
105
106 <div v-if="type=='2'">
107 <div class="flex mt30">
108 <el-input
109 v-model="query3"
110 :placeholder="language==0?'输入选手姓名查询':'Enter the name of the player to Query'" clearable
111 @blur="personalSearch" @empty="personalSearch" @enter="personalSearch"
112 />
113 <el-button class="btn-lineG" style="color: #fff" @click="personalSearch">{{
114 language == 0 ? '查询' : 'Search'
115 }}
116 </el-button>
117 </div>
118 <div v-if="list.length>0" class="temell mt20 rollY">
119 <el-timeline>
120 <el-timeline-item v-for="(team,j) in list" :key="j" placement="top">
121 <div v-for="(form, index) in team" v-show="index==0" :key="index">
122 <div class="text-primary" style="position: relative;top:-15px">
123 {{ form.date + ' ' + form.timeStr + ' / ' + form.address }}
124 <span v-if="form.lunEn"> / {{ form.lunEn }}</span>
125 <span v-else-if="form.lun"> / {{ form.lun }}</span>
126 <span v-if="form.changCi "> / {{ language == 0 ? '场次' : 'Session' }}{{ form.changCi }}</span>
127 </div>
128 <div v-if="form.projectNameEn" class="tname">{{ form.projectNameEn }}</div>
129 <div v-if="form.projectName" class="tname">{{ form.projectName }}</div>
130 <div>{{ form.danceType }}</div>
131 </div>
132 <div v-for="(form, index) in team" v-show="index>0" :key="index" style="margin: 8px 0 0">
133 {{ form.date + ' ' + form.timeStr + ' / ' + form.address }}
134 <span v-if="form.lunEn"> / {{ form.lunEn }}</span>
135 <span v-else-if="form.lun"> / {{ form.lun }}</span>
136 <span v-if="form.changCi "> / {{ language == 0 ? '场次' : 'Session' }}{{ form.changCi }}</span>
137 </div>
138 </el-timeline-item>
139 </el-timeline>
140 </div>
141 </div>
142 </div>
143 </div>
144 <div v-if="list.length>0||showGroupList.length>0||teamlist.length>0||groupList.length>0" class="text-center">
145 {{
146 language == 0 ? '下滑查看更多' : 'Scroll down to view more'
147 }} 10 }}
11 </el-button>
12 </div>
13
14 <!-- 标签页 -->
15 <el-tabs v-model="activeName" class="tabs-container" @tab-click="handleTabClick">
16 <el-tab-pane :label="language === 0 ? '酒店' : 'Hotel'" name="1"></el-tab-pane>
17 <el-tab-pane :label="language === 0 ? '化妆' : 'Makeup'" name="2"></el-tab-pane>
18 <el-tab-pane :label="language === 0 ? '接送' : 'Transfer'" name="3"></el-tab-pane>
19 <el-tab-pane :label="language === 0 ? '旅游' : 'Tour'" name="4"></el-tab-pane>
20 <el-tab-pane :label="language === 0 ? '票务' : 'Tickets'" name="5"></el-tab-pane>
21 </el-tabs>
22
23 <!-- 加载状态 -->
24 <div v-if="loading" class="loading-container">
25 <el-loading :text="language === 0 ? '查询中...' : 'Searching...'" />
26 </div>
27
28 <!-- 结果列表 -->
29 <div v-else class="results-container">
30 <!-- 酒店 -->
31 <el-card v-for="(item, index) in list" :key="index" class="result-card" v-if="activeName === '1'">
32 <p><span class="label">{{ language === 0 ? '酒店名称:' : 'Hotel Name:' }}</span>{{ item.hotelName }}</p>
33 <p><span class="label">{{ language === 0 ? '酒店联系人:' : 'Contact Person:' }}</span>{{ item.contact || '-' }}
34 </p>
35 <p><span class="label">{{ language === 0 ? '预定日期:' : 'Booking Date:' }}</span>{{ item.handleDate }}</p>
36 <p><span class="label">{{ language === 0 ? '预定数量:' : 'Quantity:' }}</span>{{ item.roomNum }}</p>
37 <p><span class="label">{{ language === 0 ? '入住人:' : 'Guest:' }}</span>{{ item.rzUsers }}</p>
38 </el-card>
39
40 <!-- 化妆 -->
41 <el-card v-for="(item, index) in list" :key="index" class="result-card" v-if="activeName === '2'">
42 <p><span class="label">{{ language === 0 ? '商家名称:' : 'Merchant:' }}</span>{{ item.name }}</p>
43 <p><span class="label">{{ language === 0 ? '套餐名称:' : 'Package:' }}</span>{{ item.meal?.packageName || '-' }}</p>
44 <p><span class="label">{{ language === 0 ? '工作室联系人:' : 'Studio Contact:' }}</span>{{ item.contacts }}</p>
45 <p><span class="label">{{ language === 0 ? '预定数量:' : 'Quantity:' }}</span>{{ item.num }}</p>
46 <p><span class="label">{{ language === 0 ? '预定时间:' : 'Booking Time:' }}</span>{{ item.payDate }}</p>
47 </el-card>
48
49 <!-- 接送 -->
50 <el-card v-for="(item, index) in list" :key="index" class="result-card" v-if="activeName === '3'">
51 <p><span class="label">{{ language === 0 ? '出发地:' : 'From:' }}</span>{{ item.resName.split('——')[0] || '-' }}
52 </p>
53 <p><span class="label">{{ language === 0 ? '终点地:' : 'To:' }}</span>{{ item.resName.split('——')[1] || '-' }}</p>
54 <p><span class="label">{{ language === 0 ? '用车日期:' : 'Date:' }}</span>{{ item.revTime }}</p>
55 <p><span class="label">{{ language === 0 ? '乘坐人:' : 'Passengers:' }}</span><span v-html="item.person"></span>
56 </p>
57 </el-card>
58
59 <!-- 旅游 -->
60 <el-card v-for="(item, index) in list" :key="index" class="result-card" v-if="activeName === '4'">
61 <p><span class="label">{{ language === 0 ? '景点名称:' : 'Attraction:' }}</span>{{ item.name }}</p>
62 <p><span class="label">{{ language === 0 ? '景区联系人:' : 'Contact:' }}</span>{{ item.contact }}</p>
63 <p><span class="label">{{ language === 0 ? '预约日期:' : 'Booking Date:' }}</span>{{ item.dcStart }}</p>
64 <p><span class="label">{{ language === 0 ? '预约人:' : 'Booker:' }}</span>{{ item.contacts }}</p>
65 <p><span class="label">{{ language === 0 ? '集合地点:' : 'Meeting Point:' }}</span>{{ item.address || '-' }}
66 </p>
67 <p><span class="label">{{ language === 0 ? '集合时间:' : 'Meeting Time:' }}</span>{{ item.startTime || '-' }}</p>
68 </el-card>
69
70 <!-- 票务 -->
71 <el-card v-for="(item, index) in list" :key="index" class="result-card" v-if="activeName === '5'">
72 <p><span class="label">{{ language === 0 ? '票型:' : 'Ticket Type:' }}</span>{{ item.ticketTypeStr }}</p>
73 <p><span class="label">{{ language === 0 ? '预定日期:' : 'Booking Date:' }}</span>{{ item.ticketTimeName }}</p>
74 <p><span class="label">{{ language === 0 ? '场次:' : 'Session:' }}</span>{{ item.sessionTypeName }}</p>
75 <p><span class="label">{{ language === 0 ? '场馆:' : 'Venue:' }}</span>{{ item.stadiumName }}</p>
76 <p><span class="label">{{ language === 0 ? '区域:' : 'Area:' }}</span>{{ item.ticketName || '-' }}</p>
77 <p><span class="label">{{ language === 0 ? '观影人:' : 'Attendees:' }}</span><span v-html="item.customers"></span>
78 </p>
79 </el-card>
80
81 <!-- 无结果 -->
82 <div v-if="list.length === 0" class="empty-container">
83 <el-empty :description="language === 0 ? '暂无相关预定记录' : 'No records found'" />
84 </div>
148 </div> 85 </div>
149 </el-dialog> 86 </el-dialog>
150 </template> 87 </template>
151 88
152 <script setup> 89 <script setup>
153 import { ref } from 'vue' 90 import { ref } from 'vue'
154 import { ElMessage } from 'element-plus' 91 import { ElMessage, ElLoading } from 'element-plus'
155 import { 92 import {
156 getquerySchedule2Pre, 93 orderRoomList,//酒店
157 getqySchedule, 94 orderMealList,//化妆
158 getqySchedule2, 95 orderCarList,//接送
159 getTeamBackNumber, 96 orderScenicList,//旅游
160 getTeamBackNumberPre, queryScheduleSingle 97 orderTicketList,//票务
161 } from '@/apiPc/common' 98 } from '@/apiPc/common'
162 import { useStorage } from '@vueuse/core/index' 99 import { useStorage } from '@vueuse/core/index'
163 100
101 // 状态管理
164 const language = useStorage('language', 0) 102 const language = useStorage('language', 0)
165 const show = ref(false) 103 const show = ref(false)
166 // const form = ref({})
167 const list = ref([]) 104 const list = ref([])
168 const loading = ref(false) 105 const loading = ref(false)
169 const groupList = ref([])
170 const teamlist = ref([])
171 const query = ref('') 106 const query = ref('')
172 const query2 = ref('')
173 const query3 = ref('')
174 const type = ref('')
175 const showGroupList = ref(false)
176 const cptId = ref() 107 const cptId = ref()
108 const activeName = ref('1')
177 109
178 const search = () => { 110 // 处理tab切换
179 if (!query.value) { 111 const handleTabClick = (val) => {
180 ElMessage.warning(language.value == 0 ? '请输入搜索关键词' : 'Enter project name or code to Query') 112 activeName.value = val.paneName
181 return 113 if (query.value) {
114 handleSearch()
182 } 115 }
183 getqySchedule({ projectName: query.value, cptId: cptId.value }).then(res => {
184 if (!res.data || res.data.length == 0) {
185 list.value = []
186 // 提示 '未找到结果,请重新查询'
187 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
188 return
189 }
190 list.value = res.data
191 }).catch(e => {
192 loading.value = false
193 })
194 } 116 }
195 const searchTeam = () => { 117
196 teamlist.value = [] 118 // 处理搜索
197 if (!query2.value || query2.value.length < 2) { 119 const handleSearch = () => {
198 ElMessage.warning(language.value == 0 ? '请输入代表队名称至少两字符' : 'Enter the representing team name,At least two characters') 120 // 验证输入
121 if (!query.value) {
122 ElMessage.warning(language.value === 0 ? '请输入邮箱号' : 'Enter email to Query')
199 return 123 return
200 } 124 }
125
126 // 显示加载状态
201 loading.value = true 127 loading.value = true
202 getquerySchedule2Pre({ groupName: query2.value, cptId: cptId.value }).then(res => { 128 list.value = []
203 loading.value = false 129
204 if (!res.data || res.data.length == 0) { 130 // 根据当前tab调用不同接口
205 groupList.value = [] 131 const params = { createBy: query.value }
206 // 提示 '未找到结果,请重新查询' 132 let requestPromise;
207 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result') 133 switch (activeName.value) {
208 return 134 case '1':
209 } 135 requestPromise = orderRoomList(params)
210 groupList.value = res.data 136 break
211 if (groupList.value.length == 1) { 137 case '2':
212 showDetail(groupList.value[0]) 138 requestPromise = orderMealList(params)
213 } 139 break
214 if (groupList.value.length > 1) { 140 case '3':
215 showGroupList.value = true 141 requestPromise = orderCarList(params)
216 } 142 break
217 }).catch(e => { 143 case '4':
218 loading.value = false 144 requestPromise = orderScenicList(params)
219 }) 145 break
220 } 146 case '5':
221 const personalSearch = () => { 147 requestPromise = orderTicketList(params)
222 if (!query3.value) { 148 break
223 ElMessage.warning(language.value == 0 ? '请输入搜索关键词' : 'Enter project name or code to Query') 149 default:
224 return 150 requestPromise = Promise.reject(new Error('Invalid tab'))
225 } 151 }
226 loading.value = true 152
227 queryScheduleSingle({ query: query3.value, cptId: cptId.value }).then(res => { 153 // 处理请求结果
154 requestPromise.then(res => {
228 loading.value = false 155 loading.value = false
229 if (!res.data || res.data.length == 0) { 156 if (!res.rows || res.rows.length === 0) {
230 list.value = [] 157 list.value = []
231 // 提示 '未找到结果,请重新查询' 158 ElMessage.info(language.value === 0 ? '未找到结果,请重新查询' : 'No results found')
232 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
233 return 159 return
234 } 160 }
235 list.value = res.data 161 list.value = res.rows
162 }).catch(e => {
163 loading.value = false
164 ElMessage.error(language.value === 0 ? '查询失败,请稍后重试' : 'Query failed, please try again later')
165 console.error('查询错误:', e)
236 }) 166 })
237 } 167 }
168
169 // 打开对话框
238 const open = (param) => { 170 const open = (param) => {
239 console.log(param) 171 cptId.value = param?.cptId
240 cptId.value = param.cptId
241 show.value = true 172 show.value = true
242 list.value = [] 173 list.value = []
243 teamlist.value = []
244 groupList.value = []
245 query.value = '' 174 query.value = ''
246 type.value = '' 175 activeName.value = '1'
247 loading.value = false 176 loading.value = false
248 } 177 }
178
179 // 暴露方法
249 defineExpose({ 180 defineExpose({
250 open 181 open
251 }) 182 })
252
253 function showDetail(name) {
254 query2.value = name
255 showGroupList.value = false
256 loading.value = true
257 getqySchedule2({ groupName: name, cptId: cptId.value }).then(res => {
258 loading.value = false
259 teamlist.value = res.data
260 }).catch(e => {
261 loading.value = false
262 })
263 }
264 </script> 183 </script>
265 184
266 <style lang="scss" scoped> 185 <style lang="scss" scoped>
267 .tname { 186 .booking-inquiry-dialog {
268 font-size: 14px; 187 min-width: 300px;
269 font-weight: bold; 188 max-width: 500px;
270 position: relative; 189 padding: 15px;
271 top: -8px
272 }
273 190
274 .tip { 191 // 适配移动端
275 font-size: 12px; 192 @media (max-width: 768px) {
276 margin: 4px 0 0; 193 width: 90% !important;
277 display: inline-block; 194 max-width: none;
278 }
279
280 .rItem {
281 max-height: 130px;
282 cursor: pointer;
283 border: 1px solid #e1e1e1;
284 border-radius: 4px;
285 max-width: 350px;
286 text-align: center;
287 line-height: 130px;
288 padding: 1px;
289 font-size: 30px;
290 color: #fff;
291 margin: 20px auto;
292 background: linear-gradient(90deg, #8623FC, #453DEA);
293
294 &:hover {
295 background: linear-gradient(90deg, #453DEA, #8623FC);
296 box-shadow: 0 4px 10px #453DEA;
297 border: none;
298 } 195 }
299 } 196 }
300 197
301 .nowteamItem { 198 .search-container {
199 display: flex;
200 gap: 10px;
201 margin-bottom: 20px;
302 width: 100%; 202 width: 100%;
303 border: 1px solid #c8c5ff; 203
304 margin-top: 20px; 204 .search-input {
305 position: relative; 205 flex: 1;
306 border-radius: 4px;
307 padding: 0 0 20px;
308 background: #FFFFFF;
309 box-sizing: border-box;
310
311 .info {
312 .nowName {
313 font-family: "DIN Alternate";
314 font-size: 60px;
315 font-weight: bold;
316 overflow: hidden;
317 display: block;
318 margin: 10px;
319 }
320
321 label {
322 text-align: right;
323 font-size: 14px;
324 padding-left: 7%
325 }
326
327 div {
328 font-size: 14px;
329 color: #333;
330 margin: 6px 0 0;
331 }
332 } 206 }
333 }
334 207
335 .temell { 208 .search-btn {
336 .nowteamItem { 209 background-color: #409eff;
337 padding: 10px; 210 color: white;
338 margin: 0 0 10px; 211
339 212 &:hover {
340 .nowName { 213 background-color: #66b1ff;
341 font-size: 15px;
342 font-weight: bold;
343 margin-right: 10px
344 }
345
346 .text-bold {
347 font-weight: bold;
348 }
349
350 .fontsize14 {
351 font-size: 14px;
352 } 214 }
353 } 215 }
354 } 216 }
355 217
356 .groupList { 218 .tabs-container {
357 max-height: 70vh; 219 margin-bottom: 20px;
358 overflow: auto; 220 width: 100%;
359 border: 1px solid #e1e1e1; 221
360 margin-top: 10px; 222 ::v-deep .el-tabs__nav {
361 223 flex-wrap: wrap;
362 li { 224 }
363 padding: 10px; 225
364 border-bottom: 1px solid #e1e1e1; 226 ::v-deep .el-tabs__item {
365 cursor: pointer; 227 margin-bottom: 5px;
366 } 228 }
367 } 229 }
368 230
369 .searchBox { 231 .loading-container {
370 height: 50vh; 232 display: flex;
371 //overflow-y: auto; 233 justify-content: center;
234 align-items: center;
235 padding: 40px 0;
372 } 236 }
373 237
374 .rollY { 238 .results-container {
375 height: 45vh; 239 max-height: 500px;
376 overflow-y: auto; 240 overflow-y: auto;
241 padding-right: 5px;
242
243 // 滚动条美化
244 &::-webkit-scrollbar {
245 width: 6px;
246 }
247
248 &::-webkit-scrollbar-thumb {
249 background-color: #ddd;
250 border-radius: 3px;
251 }
252 }
253
254 .result-card {
255 margin-bottom: 15px;
256 border-radius: 6px;
257 overflow: hidden;
258
259 ::v-deep .el-card__body {
260 padding: 15px;
261 }
262
263 p {
264 margin: 0 0 8px 0;
265 line-height: 1.5;
266 font-size: 14px;
267
268 .label {
269 color: #666;
270 font-weight: 500;
271 }
272 }
273
274 p:last-child {
275 margin-bottom: 0;
276 }
277 }
278
279 .empty-container {
280 padding: 40px 0;
281 text-align: center;
377 } 282 }
378 </style> 283 </style>
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <div class="banner"> 3 <div class="banner">
4 <el-carousel 4 <el-carousel :autoplay="false" :interval="2000" arrow="hover" class="forPc" height="450px"
5 :autoplay="false" :interval="2000" arrow="hover" class="forPc" 5 @change="carouselChange">
6 height="450px"
7 @change="carouselChange"
8 >
9 <el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;"> 6 <el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;">
10 <div class="bannerItem"> 7 <div class="bannerItem">
11 <div class="h100" @click.stop="goMatch(n)"> 8 <div class="h100" @click.stop="goMatch(n)">
12 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg"> 9 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
13 <img v-else class="bannerImg" src="@/assets/dance/banner.png"> 10 <img v-else class="bannerImg" src="@/assets/dance/banner.png">
14 <div class="box forPc" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;"> 11 <div class="box forPc" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
15 <div v-if="n.time>0" class="banner-count" @click="goMatch(n)"> 12 <div v-if="n.time > 0" class="banner-count" @click="goMatch(n)">
16 距离开始还有 13 距离开始还有
17 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> 14 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
18 <template #default="timeData"> 15 <template #default="timeData">
...@@ -34,33 +31,24 @@ ...@@ -34,33 +31,24 @@
34 </template> 31 </template>
35 </van-count-down> 32 </van-count-down>
36 </div> 33 </div>
37 <div v-if="n.timeEnd<0"> 34 <div v-if="n.timeEnd < 0">
38 35
39 <div class="banner-count bb" @click="goMatch(n)"> 36 <div class="banner-count bb" @click="goMatch(n)">
40 报名已结束 37 报名已结束
41 </div> 38 </div>
42 </div> 39 </div>
43 <div v-if="n.time<=0 && n.timeEnd>=0" class="banner-count bb" @click="goMatch(n)"> 40 <div v-if="n.time <= 0 && n.timeEnd >= 0" class="banner-count bb" @click="goMatch(n)">
44 开始报名 41 开始报名
45 </div> 42 </div>
46 43
47 <div 44 <div
48 style="position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around" 45 style="position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around">
49 > 46 <a class=" btn2" style="z-index: 999999" @click.stop="liveQrcodeShowBtn">赛事直播
50 <a
51 class=" btn2"
52 style="z-index: 999999"
53 @click.stop="liveQrcodeShowBtn"
54 >赛事直播
55 </a> 47 </a>
56 <a 48 <a class=" btn2" @click.stop="popMaster">公益课
57
58 class=" btn2"
59 @click.stop="popMaster"
60 >公益课
61 </a> 49 </a>
62 </div> 50 </div>
63 51
64 </div> 52 </div>
65 </div> 53 </div>
66 </div> 54 </div>
...@@ -73,7 +61,7 @@ ...@@ -73,7 +61,7 @@
73 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg"> 61 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
74 <img v-else class="bannerImg" src="@/assets/dance/banner.png"> 62 <img v-else class="bannerImg" src="@/assets/dance/banner.png">
75 <div style="position: absolute;left: 0;right: 0;top: 100px;margin: auto;"> 63 <div style="position: absolute;left: 0;right: 0;top: 100px;margin: auto;">
76 <div v-if="n.time>0" class="banner-count" @click="goMatch(n)"> 64 <div v-if="n.time > 0" class="banner-count" @click="goMatch(n)">
77 距离开始还有 65 距离开始还有
78 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> 66 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
79 <template #default="timeData"> 67 <template #default="timeData">
...@@ -95,39 +83,30 @@ ...@@ -95,39 +83,30 @@
95 </template> 83 </template>
96 </van-count-down> 84 </van-count-down>
97 </div> 85 </div>
98 <div v-if="n.timeEnd<0"> 86 <div v-if="n.timeEnd < 0">
99 87
100 <div class="banner-count bb" @click="goMatch(n)"> 88 <div class="banner-count bb" @click="goMatch(n)">
101 报名已结束 89 报名已结束
102 </div> 90 </div>
103 </div> 91 </div>
104 <div v-if="n.time<=0 && n.timeEnd>=0" class="banner-count bb" @click="goMatch(n)"> 92 <div v-if="n.time <= 0 && n.timeEnd >= 0" class="banner-count bb" @click="goMatch(n)">
105 开始报名 93 开始报名
106 </div> 94 </div>
107 95
108 </div> 96 </div>
109 <div 97 <div
110 style="position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around" 98 style="position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around">
111 > 99 <a class=" btn2-phone" style="z-index: 999999" @click.stop="liveQrcodeShowBtn">赛事直播
112 <a 100 </a>
113 class=" btn2-phone" 101 <a class=" btn2-phone" @click.stop="popMaster">公益课
114 style="z-index: 999999" 102 </a>
115 @click.stop="liveQrcodeShowBtn" 103 </div>
116 >赛事直播
117 </a>
118 <a
119
120 class=" btn2-phone"
121 @click.stop="popMaster"
122 >公益课
123 </a>
124 </div>
125 </div> 104 </div>
126 </div> 105 </div>
127 </el-carousel-item> 106 </el-carousel-item>
128 </el-carousel> 107 </el-carousel>
129 </div> 108 </div>
130 109
131 <div class="box zn-bg"> 110 <div class="box zn-bg">
132 <div class="zn-Box"> 111 <div class="zn-Box">
133 <img v-if="matchData?.logoUrl" :src="fillImgUrl(matchData.logoUrl)" class="bbbg"> 112 <img v-if="matchData?.logoUrl" :src="fillImgUrl(matchData.logoUrl)" class="bbbg">
...@@ -140,16 +119,10 @@ ...@@ -140,16 +119,10 @@
140 <download /> 119 <download />
141 </el-icon> 120 </el-icon>
142 </a> 121 </a>
143 <a 122 <a class="zn-btn ml10 btn-q" @click="reserveSearch">预订查询</a>
144 class="zn-btn ml20 btn-q" 123
145 @click="reserveSearch" 124 <a v-show="matchData?.id" class="zn-btn ml10 btn-q mt20" @click="backNumberSearch">背号查询</a>
146 >预定查询</a> 125 <a v-show="matchData?.id" class="zn-btn ml10 btn-q" @click="schSearch">日程查询</a>
147 <br/>
148 <a
149 v-show="matchData?.id" class="zn-btn btn-q mt20"
150 @click="backNumberSearch"
151 >背号查询</a>
152 <a v-show="matchData?.id" class="zn-btn ml20 btn-q" @click="schSearch">日程查询</a>
153 </div> 126 </div>
154 </el-col> 127 </el-col>
155 <el-col :lg="14" :sm="24"> 128 <el-col :lg="14" :sm="24">
...@@ -158,8 +131,8 @@ ...@@ -158,8 +131,8 @@
158 </el-row> 131 </el-row>
159 </div> 132 </div>
160 </div> 133 </div>
161 134
162 135
163 <div id="part0" class="box part"> 136 <div id="part0" class="box part">
164 <el-row :gutter="20"> 137 <el-row :gutter="20">
165 <el-col :lg="12" :sm="24"> 138 <el-col :lg="12" :sm="24">
...@@ -168,7 +141,7 @@ ...@@ -168,7 +141,7 @@
168 <a class="more" href="#/saiC">MORE</a> 141 <a class="more" href="#/saiC">MORE</a>
169 </div> 142 </div>
170 <!--赛事日历--> 143 <!--赛事日历-->
171 <el-card :body-style="{'padding':'20px 20px'}"> 144 <el-card :body-style="{ 'padding': '20px 20px' }">
172 <home-calendar /> 145 <home-calendar />
173 </el-card> 146 </el-card>
174 </el-col> 147 </el-col>
...@@ -178,14 +151,14 @@ ...@@ -178,14 +151,14 @@
178 <a class="more" href="#/saiC">MORE</a> 151 <a class="more" href="#/saiC">MORE</a>
179 </div> 152 </div>
180 <!--历史排名--> 153 <!--历史排名-->
181 <el-card :body-style="{'padding':'10px 20px 18px'}"> 154 <el-card :body-style="{ 'padding': '10px 20px 18px' }">
182 <el-table :data="rank" height="495" stripe @row-click="handleRowClick"> 155 <el-table :data="rank" height="495" stripe @row-click="handleRowClick">
183 <el-table-column align="center" label="名次" prop="index" width="50" /> 156 <el-table-column align="center" label="名次" prop="index" width="50" />
184 157
185 <el-table-column label="国家" prop="name"> 158 <el-table-column label="国家" prop="name">
186 <template #default="scope"> 159 <template #default="scope">
187 <div> 160 <div>
188 <span v-if="scope.row.code!='tw'" :class="`flag-icon flag-icon-${scope.row.code}`" /> 161 <span v-if="scope.row.code != 'tw'" :class="`flag-icon flag-icon-${scope.row.code}`" />
189 <span v-else class="flag-icon"> 162 <span v-else class="flag-icon">
190 <img :src="hkImage" alt="" class="hkimg"> 163 <img :src="hkImage" alt="" class="hkimg">
191 </span> 164 </span>
...@@ -233,25 +206,21 @@ ...@@ -233,25 +206,21 @@
233 </template> 206 </template>
234 </el-table-column> 207 </el-table-column>
235 </el-table> 208 </el-table>
236 209
237 </el-card> 210 </el-card>
238 </el-col> 211 </el-col>
239 </el-row> 212 </el-row>
240 </div> 213 </div>
241 <!-- 新闻 --> 214 <!-- 新闻 -->
242 <div id="part1" class="part"> 215 <div id="part1" class="part">
243 216
244 <div class="box"> 217 <div class="box">
245 <div class="indexTitle"> 218 <div class="indexTitle">
246 <h3 class="leftboderTT">新闻资讯</h3> 219 <h3 class="leftboderTT">新闻资讯</h3>
247 <a class="more" @click="goNews">MORE</a> 220 <a class="more" @click="goNews">MORE</a>
248 </div> 221 </div>
249 <el-row :gutter="20"> 222 <el-row :gutter="20">
250 <el-col 223 <el-col v-for="(n, index) in newest2" :key="n.id" :lg="8" :sm="8" :xs="24">
251 v-for="(n,index) in newest2"
252 :key="n.id" :lg="8" :sm="8"
253 :xs="24"
254 >
255 <div class="activeItem" @click="goDetail(n)"> 224 <div class="activeItem" @click="goDetail(n)">
256 <div class="imgbox"> 225 <div class="imgbox">
257 <img :src="fillImgUrl_webSite(n.picUrl)"> 226 <img :src="fillImgUrl_webSite(n.picUrl)">
...@@ -281,7 +250,7 @@ ...@@ -281,7 +250,7 @@
281 <el-row :gutter="20"> 250 <el-row :gutter="20">
282 <el-col :lg="8"> 251 <el-col :lg="8">
283 <a class="liveImgbox" target="_blank" @click="golive(livelist[0])"> 252 <a class="liveImgbox" target="_blank" @click="golive(livelist[0])">
284 <div v-if="time>0" class="livetimecount"> 253 <div v-if="time > 0" class="livetimecount">
285 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> 254 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">
286 <template #default="timeData"> 255 <template #default="timeData">
287 <div class="block">{{ timeData.days }} 256 <div class="block">{{ timeData.days }}
...@@ -299,13 +268,13 @@ ...@@ -299,13 +268,13 @@
299 </template> 268 </template>
300 </van-count-down> 269 </van-count-down>
301 </div> 270 </div>
302 <i v-else-if="etime>0&&time<=0" class="ii">直播中</i> 271 <i v-else-if="etime > 0 && time <= 0" class="ii">直播中</i>
303 <!-- <i class="livetimecount" v-if="etime<=0">直播已结束</i>--> 272 <!-- <i class="livetimecount" v-if="etime<=0">直播已结束</i>-->
304 <div class="imgBox"> 273 <div class="imgBox">
305 <img v-if="time>0" src="/img/111.jpg"> 274 <img v-if="time > 0" src="/img/111.jpg">
306 <img v-else :src="fillImgUrl_webSite(livelist[0]?.picUrl)"> 275 <img v-else :src="fillImgUrl_webSite(livelist[0]?.picUrl)">
307 </div> 276 </div>
308 <h3 v-if="time>0" class="esp"> 277 <h3 v-if="time > 0" class="esp">
309 2025WDSF亚洲体育舞蹈节 278 2025WDSF亚洲体育舞蹈节
310 </h3> 279 </h3>
311 <h3 v-else class="esp"> 280 <h3 v-else class="esp">
...@@ -315,12 +284,9 @@ ...@@ -315,12 +284,9 @@
315 </el-col> 284 </el-col>
316 <el-col :lg="16"> 285 <el-col :lg="16">
317 <div class="swiperPic"> 286 <div class="swiperPic">
318 <swiper 287 <swiper :autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic"
319 :autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic" 288 :slides-per-view="3" :space-between="20" class="swiper-wrapper">
320 :slides-per-view="3" 289 <swiper-slide v-for="(n, i) in picList" :key="i">
321 :space-between="20" class="swiper-wrapper"
322 >
323 <swiper-slide v-for="(n,i) in picList" :key="i">
324 <div class="picbox" @click="goDetail(n)"> 290 <div class="picbox" @click="goDetail(n)">
325 <img :src="fillImgUrl_webSite(n.picUrl)"> 291 <img :src="fillImgUrl_webSite(n.picUrl)">
326 </div> 292 </div>
...@@ -332,11 +298,12 @@ ...@@ -332,11 +298,12 @@
332 </el-col> 298 </el-col>
333 </el-row> 299 </el-row>
334 <el-row class="news-l-r"> 300 <el-row class="news-l-r">
335 <el-col v-for="(n,index) in livelist" v-show="index>0" :lg="8"> 301 <el-col v-for="(n, index) in livelist" v-show="index > 0" :lg="8">
336 <div class="item" style="padding: 0;margin: 20px 0 0" @click="goDetail(n)"> 302 <div class="item" style="padding: 0;margin: 20px 0 0" @click="goDetail(n)">
337 <div class="imgbox"> 303 <div class="imgbox">
338 <i class="playIcon" /> 304 <i class="playIcon" />
339 <img :src="fillImgUrl_webSite(n.picUrl)"></div> 305 <img :src="fillImgUrl_webSite(n.picUrl)">
306 </div>
340 <div class="info"> 307 <div class="info">
341 <div class="text-primary small-size"> 308 <div class="text-primary small-size">
342 <span v-if="n.subName">{{ n.subName + ' | ' }}</span> 309 <span v-if="n.subName">{{ n.subName + ' | ' }}</span>
...@@ -348,20 +315,17 @@ ...@@ -348,20 +315,17 @@
348 </el-col> 315 </el-col>
349 </el-row> 316 </el-row>
350 </el-card> 317 </el-card>
351 318
352 </div> 319 </div>
353 </div> 320 </div>
354 321
355 <div hidden> 322 <div hidden>
356 <div class="box"> 323 <div class="box">
357 <div class="indexTitle"> 324 <div class="indexTitle">
358 <h3 class="leftboderTT">评委介绍</h3> 325 <h3 class="leftboderTT">评委介绍</h3>
359 </div> 326 </div>
360 <el-row :gutter="20"> 327 <el-row :gutter="20">
361 <el-col 328 <el-col v-for="n in personList" :key="n.name" :lg="4" :md="8" :sm="12" :xl="4" :xs="12">
362 v-for="n in personList" :key="n.name" :lg="4" :md="8" :sm="12"
363 :xl="4" :xs="12"
364 >
365 <div class="teacher" @click="goLeaderInfo"> 329 <div class="teacher" @click="goLeaderInfo">
366 <div class="imgbox"><img :src="n.src"></div> 330 <div class="imgbox"><img :src="n.src"></div>
367 <h3 class="esp">{{ n.name }}</h3> 331 <h3 class="esp">{{ n.name }}</h3>
...@@ -387,10 +351,9 @@ ...@@ -387,10 +351,9 @@
387 </div> 351 </div>
388 <div class="mt30 text-center"> 352 <div class="mt30 text-center">
389 <a class="btn-lineG" href="#/about/wuDao" style="display: inline-flex;align-items: center;">了解更多<img 353 <a class="btn-lineG" href="#/about/wuDao" style="display: inline-flex;align-items: center;">了解更多<img
390 src="@/assets/v1/more.png" style="filter: brightness(2);height: 8px" 354 src="@/assets/v1/more.png" style="filter: brightness(2);height: 8px"></a>
391 ></a>
392 </div> 355 </div>
393 356
394 </div> 357 </div>
395 </el-col> 358 </el-col>
396 <el-col :lg="12"> 359 <el-col :lg="12">
...@@ -417,7 +380,7 @@ ...@@ -417,7 +380,7 @@
417 </el-col> 380 </el-col>
418 </el-row> 381 </el-row>
419 </div> 382 </div>
420 383
421 <div class="box"> 384 <div class="box">
422 <div class="indexTitle"> 385 <div class="indexTitle">
423 <h3 class="leftboderTT">合作伙伴</h3> 386 <h3 class="leftboderTT">合作伙伴</h3>
...@@ -430,45 +393,31 @@ ...@@ -430,45 +393,31 @@
430 </el-col> 393 </el-col>
431 </el-row> 394 </el-row>
432 </div> 395 </div>
433 396
434 <!-- 邀请函--> 397 <!-- 邀请函-->
435 <div class="fixed_gg_l yaoQing"> 398 <div class="fixed_gg_l yaoQing">
436 <!-- v-if="maList.invitationSw == '1'" --> 399 <!-- v-if="maList.invitationSw == '1'" -->
437 <img src="@/assets/logo/Invitation_c.png" @click="applyInvitation" v-if="matchData.invitationSw == '1'"> 400 <img src="@/assets/logo/Invitation_c.png" @click="applyInvitation" v-if="matchData.invitationSw == '1'">
438 <!-- && maList.invitationSw == '1' --> 401 <!-- && maList.invitationSw == '1' -->
439 <div v-if="clubImage && matchData.visaSw == '1'" style="padding-left: 7px;"> 402 <div v-if="clubImage && matchData.visaSw == '1'" style="padding-left: 7px;">
440 <el-image 403 <el-image :preview-src-list="[clubImage]" :src="clubImage" fit="cover" preview-teleported
441 :preview-src-list="[clubImage]" 404 style="width: 120px" />
442 :src="clubImage"
443 fit="cover"
444 preview-teleported
445 style="width: 120px"
446 />
447 </div> 405 </div>
448 406
449 </div> 407 </div>
450 408
451 <!-- 群聊--> 409 <!-- 群聊-->
452 <div v-if="matchData.chatQrcode" class="fixed_gg_l club"> 410 <div v-if="matchData.chatQrcode" class="fixed_gg_l club">
453 <el-image 411 <el-image :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" :src="fillImgUrl(matchData.chatQrcode)"
454 :preview-src-list="[ fillImgUrl(matchData.chatQrcode) ]" 412 fit="cover" preview-teleported style="width: 120px;height: 120px" />
455 :src="fillImgUrl(matchData.chatQrcode)"
456 fit="cover"
457 preview-teleported
458 style="width: 120px;height: 120px"
459 />
460 </div> 413 </div>
461 414
462 <affix-invitation ref="dialogInvitationRef" /> 415 <affix-invitation ref="dialogInvitationRef" />
463 <el-dialog v-model="liveQrcodeShow" :title="language==0?'赛事直播' :'Live QR Code'" width="350px"> 416 <el-dialog v-model="liveQrcodeShow" :title="language == 0 ? '赛事直播' : 'Live QR Code'" width="350px">
464 <div v-if="matchData.liveQrcode" style="display: flex;justify-content: space-between"> 417 <div v-if="matchData.liveQrcode" style="display: flex;justify-content: space-between">
465 <el-image 418 <el-image :src="fillImgUrl(matchData.liveQrcode)" fit="cover" style="width: 350px;" />
466 :src="fillImgUrl(matchData.liveQrcode)"
467 fit="cover"
468 style="width: 350px;"
469 />
470 </div> 419 </div>
471 420
472 </el-dialog> 421 </el-dialog>
473 </div> 422 </div>
474 </template> 423 </template>
...@@ -505,7 +454,7 @@ const navigationPic = ref({ ...@@ -505,7 +454,7 @@ const navigationPic = ref({
505 }) 454 })
506 const router = useRouter() 455 const router = useRouter()
507 const { proxy } = getCurrentInstance() 456 const { proxy } = getCurrentInstance()
508 const emit = defineEmits(['pop', 'pickup', 'backNumber', 'schSearch','reserveSearch']) 457 const emit = defineEmits(['pop', 'pickup', 'backNumber', 'schSearch', 'reserveSearch'])
509 const time = ref(0) 458 const time = ref(0)
510 const etime = ref(0) 459 const etime = ref(0)
511 const personList = ref([ 460 const personList = ref([
...@@ -584,7 +533,7 @@ const init = () => { ...@@ -584,7 +533,7 @@ const init = () => {
584 }) 533 })
585 match.getMaList({ topFlag: 1 }).then((res) => { 534 match.getMaList({ topFlag: 1 }).then((res) => {
586 maList.value = res.rows 535 maList.value = res.rows
587 console.log(333,maList.value) 536 console.log(333, maList.value)
588 for (const n of maList.value) { 537 for (const n of maList.value) {
589 const today = dayjs().format('YYYY-MM-DD HH:mm:ss') 538 const today = dayjs().format('YYYY-MM-DD HH:mm:ss')
590 if (n.signBeginTime) { 539 if (n.signBeginTime) {
...@@ -664,12 +613,12 @@ const goGuide = () => { ...@@ -664,12 +613,12 @@ const goGuide = () => {
664 } 613 }
665 }) 614 })
666 } 615 }
667 const liveQrcodeShowBtn = () => { 616 const liveQrcodeShowBtn = () => {
668 if(!matchData.value.liveQrcode){ 617 if (!matchData.value.liveQrcode) {
669 ElMessage.warning('当前赛事暂无直播') 618 ElMessage.warning('当前赛事暂无直播')
670 return 619 return
671 }else{ 620 } else {
672 liveQrcodeShow.value=true 621 liveQrcodeShow.value = true
673 } 622 }
674 } 623 }
675 const popMaster = () => { 624 const popMaster = () => {
...@@ -685,7 +634,7 @@ const backNumberSearch = () => { ...@@ -685,7 +634,7 @@ const backNumberSearch = () => {
685 emit('backNumber', params) 634 emit('backNumber', params)
686 } 635 }
687 const reserveSearch = () => { 636 const reserveSearch = () => {
688 var params = { 637 var params = {
689 cptId: matchData.value.id 638 cptId: matchData.value.id
690 } 639 }
691 emit('reserveSearch', params); // 向父组件发射事件+参数 640 emit('reserveSearch', params); // 向父组件发射事件+参数
...@@ -715,7 +664,6 @@ function applyInvitation() { ...@@ -715,7 +664,6 @@ function applyInvitation() {
715 </script> 664 </script>
716 665
717 <style lang="scss" scoped> 666 <style lang="scss" scoped>
718
719 .zn-bg { 667 .zn-bg {
720 background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC); 668 background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC);
721 border-radius: 15px; 669 border-radius: 15px;
...@@ -725,28 +673,28 @@ function applyInvitation() { ...@@ -725,28 +673,28 @@ function applyInvitation() {
725 background-size: contain; 673 background-size: contain;
726 position: relative; 674 position: relative;
727 overflow: hidden; 675 overflow: hidden;
728 676
729 .bbbg { 677 .bbbg {
730 position: absolute; 678 position: absolute;
731 width: 100%; 679 width: 100%;
732 height: 100%; 680 height: 100%;
733 object-fit: cover; 681 object-fit: cover;
734 } 682 }
735 683
736 .bgbg { 684 .bgbg {
737 padding: 5%; 685 padding: 5%;
738 686
739 img { 687 img {
740 margin: 5% 0 688 margin: 5% 0
741 } 689 }
742 } 690 }
743 691
744 .itemBox { 692 .itemBox {
745 padding: 20px 40px; 693 padding: 20px 40px;
746 } 694 }
747 695
748 border-radius: 15px; 696 border-radius: 15px;
749 697
750 .zn-btn { 698 .zn-btn {
751 background: #FFFFFF; 699 background: #FFFFFF;
752 font-size: 18px; 700 font-size: 18px;
...@@ -756,8 +704,8 @@ function applyInvitation() { ...@@ -756,8 +704,8 @@ function applyInvitation() {
756 display: inline-flex; 704 display: inline-flex;
757 align-items: center; 705 align-items: center;
758 } 706 }
759 707
760 708
761 } 709 }
762 710
763 .app-main { 711 .app-main {
...@@ -774,7 +722,7 @@ function applyInvitation() { ...@@ -774,7 +722,7 @@ function applyInvitation() {
774 height: 450px; 722 height: 450px;
775 background: #000; 723 background: #000;
776 position: relative; 724 position: relative;
777 725
778 .banner-count { 726 .banner-count {
779 cursor: pointer; 727 cursor: pointer;
780 position: absolute; 728 position: absolute;
...@@ -795,7 +743,7 @@ function applyInvitation() { ...@@ -795,7 +743,7 @@ function applyInvitation() {
795 flex-wrap: nowrap; 743 flex-wrap: nowrap;
796 right: 5%; 744 right: 5%;
797 color: #fff; 745 color: #fff;
798 746
799 .van-count-down { 747 .van-count-down {
800 display: flex; 748 display: flex;
801 color: #fff; 749 color: #fff;
...@@ -803,7 +751,7 @@ function applyInvitation() { ...@@ -803,7 +751,7 @@ function applyInvitation() {
803 width: 360px; 751 width: 360px;
804 font-size: 41px; 752 font-size: 41px;
805 } 753 }
806 754
807 .block { 755 .block {
808 color: #fff; 756 color: #fff;
809 text-align: center; 757 text-align: center;
...@@ -811,7 +759,7 @@ function applyInvitation() { ...@@ -811,7 +759,7 @@ function applyInvitation() {
811 font-size: 41px; 759 font-size: 41px;
812 font-family: DIN Alternate; 760 font-family: DIN Alternate;
813 } 761 }
814 762
815 .colon { 763 .colon {
816 color: #fff; 764 color: #fff;
817 display: block; 765 display: block;
...@@ -819,27 +767,27 @@ function applyInvitation() { ...@@ -819,27 +767,27 @@ function applyInvitation() {
819 font-size: 20px; 767 font-size: 20px;
820 } 768 }
821 } 769 }
822 770
823 .bb { 771 .bb {
824 width: 580px; 772 width: 580px;
825 justify-content: center; 773 justify-content: center;
826 height: 100px; 774 height: 100px;
827 font-size: 30px; 775 font-size: 30px;
828 } 776 }
829 777
830 .banner-count.bb:hover { 778 .banner-count.bb:hover {
831 box-shadow: 0 0 20px #453DEA; 779 box-shadow: 0 0 20px #453DEA;
832 border-radius: 100px; 780 border-radius: 100px;
833 background: linear-gradient(-90deg, #8623FC, #453DEA) 781 background: linear-gradient(-90deg, #8623FC, #453DEA)
834 } 782 }
835 783
836 .box { 784 .box {
837 position: absolute; 785 position: absolute;
838 height: 100%; 786 height: 100%;
839 left: 0; 787 left: 0;
840 right: 0; 788 right: 0;
841 } 789 }
842 790
843 h3 { 791 h3 {
844 position: absolute; 792 position: absolute;
845 color: #fff; 793 color: #fff;
...@@ -848,7 +796,7 @@ function applyInvitation() { ...@@ -848,7 +796,7 @@ function applyInvitation() {
848 bottom: 50px; 796 bottom: 50px;
849 font-size: 3vw; 797 font-size: 3vw;
850 } 798 }
851 799
852 video { 800 video {
853 width: 100%; 801 width: 100%;
854 height: 100%; 802 height: 100%;
...@@ -863,26 +811,26 @@ function applyInvitation() { ...@@ -863,26 +811,26 @@ function applyInvitation() {
863 .banner { 811 .banner {
864 position: relative; 812 position: relative;
865 margin: 0 0 30px; 813 margin: 0 0 30px;
866 814
867 :deep(.el-carousel__arrow) { 815 :deep(.el-carousel__arrow) {
868 border-radius: 0; 816 border-radius: 0;
869 817
870 .el-icon { 818 .el-icon {
871 color: transparent; 819 color: transparent;
872 } 820 }
873 821
874 &:hover { 822 &:hover {
875 filter: brightness(1.5) 823 filter: brightness(1.5)
876 } 824 }
877 } 825 }
878 826
879 :deep(.el-carousel__arrow--left) { 827 :deep(.el-carousel__arrow--left) {
880 background: url("@/assets/images/prev2@2x.png") no-repeat center; 828 background: url("@/assets/images/prev2@2x.png") no-repeat center;
881 width: 78px; 829 width: 78px;
882 height: 45px; 830 height: 45px;
883 background-size: contain; 831 background-size: contain;
884 } 832 }
885 833
886 :deep(.el-carousel__arrow--right) { 834 :deep(.el-carousel__arrow--right) {
887 background: url("@/assets/images/next2@2x.png") no-repeat center; 835 background: url("@/assets/images/next2@2x.png") no-repeat center;
888 width: 78px; 836 width: 78px;
...@@ -903,7 +851,7 @@ function applyInvitation() { ...@@ -903,7 +851,7 @@ function applyInvitation() {
903 .ggbond { 851 .ggbond {
904 height: 230px; 852 height: 230px;
905 position: relative; 853 position: relative;
906 854
907 img { 855 img {
908 height: 100%; 856 height: 100%;
909 object-fit: cover; 857 object-fit: cover;
...@@ -921,17 +869,17 @@ function applyInvitation() { ...@@ -921,17 +869,17 @@ function applyInvitation() {
921 position: relative; 869 position: relative;
922 border-radius: 10px; 870 border-radius: 10px;
923 overflow: hidden; 871 overflow: hidden;
924 872
925 .imgbox { 873 .imgbox {
926 background: linear-gradient(0, #C8AAFC, #fff) 874 background: linear-gradient(0, #C8AAFC, #fff)
927 } 875 }
928 876
929 img { 877 img {
930 height: 350px; 878 height: 350px;
931 width: 100%; 879 width: 100%;
932 object-fit: cover; 880 object-fit: cover;
933 } 881 }
934 882
935 h3 { 883 h3 {
936 color: #fff; 884 color: #fff;
937 background: url("@/assets/dance/name_bg.png") no-repeat center; 885 background: url("@/assets/dance/name_bg.png") no-repeat center;
...@@ -944,7 +892,7 @@ function applyInvitation() { ...@@ -944,7 +892,7 @@ function applyInvitation() {
944 width: 100%; 892 width: 100%;
945 bottom: 30px; 893 bottom: 30px;
946 } 894 }
947 895
948 p { 896 p {
949 text-align: center; 897 text-align: center;
950 margin: 25px 0 0; 898 margin: 25px 0 0;
...@@ -955,7 +903,7 @@ function applyInvitation() { ...@@ -955,7 +903,7 @@ function applyInvitation() {
955 @media screen and (max-width: 1650px) { 903 @media screen and (max-width: 1650px) {
956 .teacher { 904 .teacher {
957 height: 320px; 905 height: 320px;
958 906
959 .imgbox { 907 .imgbox {
960 img { 908 img {
961 height: 260px 909 height: 260px
...@@ -968,7 +916,7 @@ function applyInvitation() { ...@@ -968,7 +916,7 @@ function applyInvitation() {
968 .teacher { 916 .teacher {
969 height: 450px; 917 height: 450px;
970 margin: 0 0 20px; 918 margin: 0 0 20px;
971 919
972 .imgbox { 920 .imgbox {
973 img { 921 img {
974 height: 390px 922 height: 390px
...@@ -981,7 +929,7 @@ function applyInvitation() { ...@@ -981,7 +929,7 @@ function applyInvitation() {
981 .teacher { 929 .teacher {
982 height: 400px; 930 height: 400px;
983 margin: 0 0 20px; 931 margin: 0 0 20px;
984 932
985 .imgbox { 933 .imgbox {
986 img { 934 img {
987 height: 340px 935 height: 340px
...@@ -994,7 +942,7 @@ function applyInvitation() { ...@@ -994,7 +942,7 @@ function applyInvitation() {
994 .teacher { 942 .teacher {
995 height: 400px; 943 height: 400px;
996 margin: 0 0 20px; 944 margin: 0 0 20px;
997 945
998 .imgbox { 946 .imgbox {
999 img { 947 img {
1000 height: 260px 948 height: 260px
...@@ -1009,7 +957,7 @@ function applyInvitation() { ...@@ -1009,7 +957,7 @@ function applyInvitation() {
1009 background-size: cover; 957 background-size: cover;
1010 padding: 40px 60px; 958 padding: 40px 60px;
1011 position: relative; 959 position: relative;
1012 960
1013 .content { 961 .content {
1014 font-size: 18px; 962 font-size: 18px;
1015 line-height: 2.2; 963 line-height: 2.2;
...@@ -1018,7 +966,7 @@ function applyInvitation() { ...@@ -1018,7 +966,7 @@ function applyInvitation() {
1018 text-align: left; 966 text-align: left;
1019 text-indent: 2em; 967 text-indent: 2em;
1020 } 968 }
1021 969
1022 .shadowbox { 970 .shadowbox {
1023 position: absolute; 971 position: absolute;
1024 left: 0; 972 left: 0;
...@@ -1027,9 +975,8 @@ function applyInvitation() { ...@@ -1027,9 +975,8 @@ function applyInvitation() {
1027 width: 100%; 975 width: 100%;
1028 background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)); 976 background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
1029 } 977 }
1030 978
1031 .btn-lineG { 979 .btn-lineG {}
1032 }
1033 } 980 }
1034 981
1035 .mapBox { 982 .mapBox {
...@@ -1039,7 +986,7 @@ function applyInvitation() { ...@@ -1039,7 +986,7 @@ function applyInvitation() {
1039 padding: 1px; 986 padding: 1px;
1040 position: relative; 987 position: relative;
1041 display: flex; 988 display: flex;
1042 989
1043 .content { 990 .content {
1044 background: #fff; 991 background: #fff;
1045 width: 60%; 992 width: 60%;
...@@ -1051,33 +998,33 @@ function applyInvitation() { ...@@ -1051,33 +998,33 @@ function applyInvitation() {
1051 bottom: 0; 998 bottom: 0;
1052 margin: auto; 999 margin: auto;
1053 } 1000 }
1054 1001
1055 div { 1002 div {
1056 padding-left: 60px; 1003 padding-left: 60px;
1057 } 1004 }
1058 1005
1059 .phone { 1006 .phone {
1060 background: url("@/assets/dance/map01.png") no-repeat left; 1007 background: url("@/assets/dance/map01.png") no-repeat left;
1061 background-size: 30px; 1008 background-size: 30px;
1062 } 1009 }
1063 1010
1064 .address { 1011 .address {
1065 background: url("@/assets/dance/map02.png") no-repeat left; 1012 background: url("@/assets/dance/map02.png") no-repeat left;
1066 background-size: 30px; 1013 background-size: 30px;
1067 margin: 50px 0; 1014 margin: 50px 0;
1068 } 1015 }
1069 1016
1070 .email { 1017 .email {
1071 background: url("@/assets/dance/map03.png") no-repeat left; 1018 background: url("@/assets/dance/map03.png") no-repeat left;
1072 background-size: 30px; 1019 background-size: 30px;
1073 } 1020 }
1074 1021
1075 h4 { 1022 h4 {
1076 margin: 0; 1023 margin: 0;
1077 font-size: 16px; 1024 font-size: 16px;
1078 color: #AAAAAA; 1025 color: #AAAAAA;
1079 } 1026 }
1080 1027
1081 p { 1028 p {
1082 margin: 13px 0 0; 1029 margin: 13px 0 0;
1083 } 1030 }
...@@ -1088,7 +1035,7 @@ function applyInvitation() { ...@@ -1088,7 +1035,7 @@ function applyInvitation() {
1088 height: 180px; 1035 height: 180px;
1089 border-radius: 10px; 1036 border-radius: 10px;
1090 margin: 0 0 30px; 1037 margin: 0 0 30px;
1091 1038
1092 img { 1039 img {
1093 width: 100%; 1040 width: 100%;
1094 height: 100%; 1041 height: 100%;
...@@ -1101,7 +1048,7 @@ function applyInvitation() { ...@@ -1101,7 +1048,7 @@ function applyInvitation() {
1101 position: relative; 1048 position: relative;
1102 height: 100%; 1049 height: 100%;
1103 padding: 20px 45px; 1050 padding: 20px 45px;
1104 1051
1105 .picprev { 1052 .picprev {
1106 position: absolute; 1053 position: absolute;
1107 left: 5px; 1054 left: 5px;
...@@ -1110,12 +1057,12 @@ function applyInvitation() { ...@@ -1110,12 +1057,12 @@ function applyInvitation() {
1110 margin: auto; 1057 margin: auto;
1111 height: 33px; 1058 height: 33px;
1112 cursor: pointer; 1059 cursor: pointer;
1113 1060
1114 &:hover { 1061 &:hover {
1115 filter: brightness(2) 1062 filter: brightness(2)
1116 } 1063 }
1117 } 1064 }
1118 1065
1119 .picnext { 1066 .picnext {
1120 position: absolute; 1067 position: absolute;
1121 right: 5px; 1068 right: 5px;
...@@ -1124,7 +1071,7 @@ function applyInvitation() { ...@@ -1124,7 +1071,7 @@ function applyInvitation() {
1124 margin: auto; 1071 margin: auto;
1125 height: 33px; 1072 height: 33px;
1126 cursor: pointer; 1073 cursor: pointer;
1127 1074
1128 &:hover { 1075 &:hover {
1129 filter: brightness(2) 1076 filter: brightness(2)
1130 } 1077 }
...@@ -1135,7 +1082,7 @@ function applyInvitation() { ...@@ -1135,7 +1082,7 @@ function applyInvitation() {
1135 .teacher { 1082 .teacher {
1136 height: 460px; 1083 height: 460px;
1137 margin: 0 0 20px; 1084 margin: 0 0 20px;
1138 1085
1139 img { 1086 img {
1140 height: 400px 1087 height: 400px
1141 } 1088 }
...@@ -1146,74 +1093,82 @@ function applyInvitation() { ...@@ -1146,74 +1093,82 @@ function applyInvitation() {
1146 .box { 1093 .box {
1147 width: 94% 1094 width: 94%
1148 } 1095 }
1096
1149 .calendarList { 1097 .calendarList {
1150 padding: 0; 1098 padding: 0;
1151 1099
1152 ul { 1100 ul {
1153 li { 1101 li {
1154 margin: 10px 1102 margin: 10px
1155 } 1103 }
1156 } 1104 }
1157 } 1105 }
1106
1158 .aboutBox { 1107 .aboutBox {
1159 padding: 20px 30px; 1108 padding: 20px 30px;
1160 } 1109 }
1110
1161 .indexTitle { 1111 .indexTitle {
1162 margin: 30px 0 20px 1112 margin: 30px 0 20px
1163 } 1113 }
1114
1164 .teacher { 1115 .teacher {
1165 height: 320px; 1116 height: 320px;
1166 margin: 0 0 20px; 1117 margin: 0 0 20px;
1167 1118
1168 img { 1119 img {
1169 height: 260px 1120 height: 260px
1170 } 1121 }
1171 } 1122 }
1123
1172 .activeItem { 1124 .activeItem {
1173 margin: 0 0 20px; 1125 margin: 0 0 20px;
1174 } 1126 }
1127
1175 .mapBox { 1128 .mapBox {
1176 div { 1129 div {
1177 padding-left: 40px; 1130 padding-left: 40px;
1178 } 1131 }
1179 1132
1180 .content { 1133 .content {
1181 width: 80%; 1134 width: 80%;
1182 left: 10%; 1135 left: 10%;
1183 padding: 10px 20px 0 20px; 1136 padding: 10px 20px 0 20px;
1184 } 1137 }
1185 1138
1186 .address { 1139 .address {
1187 margin: 30px 0; 1140 margin: 30px 0;
1188 } 1141 }
1189 1142
1190 p { 1143 p {
1191 text-align: left; 1144 text-align: left;
1192 word-break: break-all; 1145 word-break: break-all;
1193 } 1146 }
1194 } 1147 }
1148
1195 .fixed_gg { 1149 .fixed_gg {
1196 display: none; 1150 display: none;
1197 } 1151 }
1152
1198 .bannerItem .banner-count { 1153 .bannerItem .banner-count {
1199 flex-direction: column; 1154 flex-direction: column;
1200 transform: scale(0.5); 1155 transform: scale(0.5);
1201 width: auto; 1156 width: auto;
1202 left: 0; 1157 left: 0;
1203 right: 0; 1158 right: 0;
1204 1159
1205 .van-count-down { 1160 .van-count-down {
1206 margin: 30px 0 0; 1161 margin: 30px 0 0;
1207 } 1162 }
1208 } 1163 }
1209 1164
1210 .bgbg { 1165 .bgbg {
1211 text-align: center; 1166 text-align: center;
1212 1167
1213 img { 1168 img {
1214 max-width: 100%; 1169 max-width: 100%;
1215 } 1170 }
1216 1171
1217 h1 { 1172 h1 {
1218 text-align: center 1173 text-align: center
1219 } 1174 }
...@@ -1226,7 +1181,7 @@ function applyInvitation() { ...@@ -1226,7 +1181,7 @@ function applyInvitation() {
1226 z-index: 2; 1181 z-index: 2;
1227 background: #F04035; 1182 background: #F04035;
1228 padding: 2px 4px; 1183 padding: 2px 4px;
1229 1184
1230 &::after { 1185 &::after {
1231 content: ''; 1186 content: '';
1232 width: 0; 1187 width: 0;
...@@ -1237,12 +1192,12 @@ function applyInvitation() { ...@@ -1237,12 +1192,12 @@ function applyInvitation() {
1237 border-top: 24px solid #F04035; 1192 border-top: 24px solid #F04035;
1238 border-right: 15px solid transparent; 1193 border-right: 15px solid transparent;
1239 } 1194 }
1240 1195
1241 .van-count-down { 1196 .van-count-down {
1242 display: flex; 1197 display: flex;
1243 color: #fff; 1198 color: #fff;
1244 font-size: 14px; 1199 font-size: 14px;
1245 1200
1246 .block { 1201 .block {
1247 color: #fff; 1202 color: #fff;
1248 text-align: center; 1203 text-align: center;
...@@ -1256,6 +1211,7 @@ function applyInvitation() { ...@@ -1256,6 +1211,7 @@ function applyInvitation() {
1256 .forPc { 1211 .forPc {
1257 display: none !important; 1212 display: none !important;
1258 } 1213 }
1214
1259 .logobox { 1215 .logobox {
1260 height: 60px; 1216 height: 60px;
1261 } 1217 }
...@@ -1269,7 +1225,7 @@ function applyInvitation() { ...@@ -1269,7 +1225,7 @@ function applyInvitation() {
1269 //padding: 10px 20px; 1225 //padding: 10px 20px;
1270 //display: inline-flex; 1226 //display: inline-flex;
1271 //align-items: center; 1227 //align-items: center;
1272 1228
1273 padding: 20px 40px; 1229 padding: 20px 40px;
1274 font-size: 20px; 1230 font-size: 20px;
1275 align-items: center; 1231 align-items: center;
...@@ -1307,7 +1263,7 @@ function applyInvitation() { ...@@ -1307,7 +1263,7 @@ function applyInvitation() {
1307 width: 160px; 1263 width: 160px;
1308 left: 5px; 1264 left: 5px;
1309 top: 40%; 1265 top: 40%;
1310 1266
1311 } 1267 }
1312 1268
1313 .club { 1269 .club {
...@@ -1338,6 +1294,7 @@ function applyInvitation() { ...@@ -1338,6 +1294,7 @@ function applyInvitation() {
1338 color: #fff; 1294 color: #fff;
1339 border-radius: 20px; 1295 border-radius: 20px;
1340 } 1296 }
1297
1341 .btn2-phone { 1298 .btn2-phone {
1342 cursor: pointer; 1299 cursor: pointer;
1343 padding: 10px 20px; 1300 padding: 10px 20px;
...@@ -1359,21 +1316,20 @@ function applyInvitation() { ...@@ -1359,21 +1316,20 @@ function applyInvitation() {
1359 img { 1316 img {
1360 height: 80px; 1317 height: 80px;
1361 } 1318 }
1362 1319
1363 .el-image { 1320 .el-image {
1364 height: 80px !important; 1321 height: 80px !important;
1365 width: 63px !important; 1322 width: 63px !important;
1366 } 1323 }
1367 } 1324 }
1368 1325
1369 .club { 1326 .club {
1370 width: 72px; 1327 width: 72px;
1371 1328
1372 .el-image { 1329 .el-image {
1373 height: 80px !important; 1330 height: 80px !important;
1374 width: 63px !important; 1331 width: 63px !important;
1375 } 1332 }
1376 } 1333 }
1377 } 1334 }
1378
1379 </style> 1335 </style>
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <div class="banner"> 3 <div class="banner">
4 <el-carousel 4 <el-carousel :autoplay="false" :interval="2000" arrow="hover" class="forPc" height="450px"
5 :autoplay="false" :interval="2000" arrow="hover" class="forPc" 5 @change="carouselChange">
6 height="450px"
7 @change="carouselChange"
8 >
9 <el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;"> 6 <el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;">
10 <div class="bannerItem"> 7 <div class="bannerItem">
11 <div class="h100" @click.stop="goMatch(n)"> 8 <div class="h100" @click.stop="goMatch(n)">
12 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg"> 9 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
13 <img v-else class="bannerImg" src="@/assets/dance/banner.png"> 10 <img v-else class="bannerImg" src="@/assets/dance/banner.png">
14 <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;"> 11 <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
15 12
16 <div v-if="n.time>0" class="banner-count"> 13 <div v-if="n.time > 0" class="banner-count">
17 Countdown 14 Countdown
18 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> 15 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
19 <template #default="timeData"> 16 <template #default="timeData">
...@@ -35,29 +32,22 @@ ...@@ -35,29 +32,22 @@
35 </template> 32 </template>
36 </van-count-down> 33 </van-count-down>
37 </div> 34 </div>
38 <div v-if="n.timeEnd<0"> 35 <div v-if="n.timeEnd < 0">
39 <div class="banner-count bb" @click="goMatch(n)"> 36 <div class="banner-count bb" @click="goMatch(n)">
40 Registration has ended 37 Registration has ended
41 </div> 38 </div>
42 </div> 39 </div>
43 <div v-if="n.time<=0&&n.timeEnd>=0" class="banner-count bb" @click="goMatch(n)"> 40 <div v-if="n.time <= 0 && n.timeEnd >= 0" class="banner-count bb" @click="goMatch(n)">
44 REGISTER NOW 41 REGISTER NOW
45 </div> 42 </div>
46 43
47 <div 44 <div
48 style="position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around" 45 style="position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around">
49 > 46 <a class=" btn2" style="z-index: 999999" @click.stop="liveQrcodeShowBtn">
50 <a
51 class=" btn2"
52 style="z-index: 999999" @click.stop="liveQrcodeShowBtn"
53 >
54 <!-- 赛事直播--> 47 <!-- 赛事直播-->
55 Live Qrcode 48 Live Qrcode
56 </a> 49 </a>
57 <a 50 <a class=" btn2" @click.stop="popMaster">Junior &Youth Camp REGISTER
58 class=" btn2"
59 @click.stop="popMaster"
60 >Junior &Youth Camp REGISTER
61 </a> 51 </a>
62 </div> 52 </div>
63 </div> 53 </div>
...@@ -72,7 +62,7 @@ ...@@ -72,7 +62,7 @@
72 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg"> 62 <img v-if="n.bgImgUrl" :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
73 <img v-else class="bannerImg" src="@/assets/dance/banner.png"> 63 <img v-else class="bannerImg" src="@/assets/dance/banner.png">
74 <div style="position: absolute;left: 0;right: 0;top: 100px;margin: auto;"> 64 <div style="position: absolute;left: 0;right: 0;top: 100px;margin: auto;">
75 <div v-if="n.time>0" class="banner-count"> 65 <div v-if="n.time > 0" class="banner-count">
76 Countdown 66 Countdown
77 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒"> 67 <van-count-down :time="n.time" format="DD 天 HH 时 mm 分 ss 秒">
78 <template #default="timeData"> 68 <template #default="timeData">
...@@ -94,39 +84,32 @@ ...@@ -94,39 +84,32 @@
94 </template> 84 </template>
95 </van-count-down> 85 </van-count-down>
96 </div> 86 </div>
97 <div v-if="n.timeEnd<0"> 87 <div v-if="n.timeEnd < 0">
98 88
99 <div class="banner-count bb" @click="goMatch(n)"> 89 <div class="banner-count bb" @click="goMatch(n)">
100 Registration has ended 90 Registration has ended
101 </div> 91 </div>
102 </div> 92 </div>
103 <div v-if="n.time<=0&&n.timeEnd>=0" class="banner-count bb" @click="goMatch(n)"> 93 <div v-if="n.time <= 0 && n.timeEnd >= 0" class="banner-count bb" @click="goMatch(n)">
104 REGISTER NOW 94 REGISTER NOW
105 </div> 95 </div>
106 96
107 </div> 97 </div>
108 <div 98 <div
109 style="position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around" 99 style="position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around">
110 > 100
111 101 <a class=" btn2-phone" style="z-index: 999999" @click.stop="liveQrcodeShowBtn">
112 <a 102 Live Qrcode
113 class=" btn2-phone" 103 </a>
114 style="z-index: 999999" @click.stop="liveQrcodeShowBtn" 104 <a class=" btn2-phone" @click.stop="popMaster">Junior &Youth Camp REGISTER
115 > 105 </a>
116 Live Qrcode 106 </div>
117 </a>
118 <a
119 class=" btn2-phone"
120 @click.stop="popMaster"
121 >Junior &Youth Camp REGISTER
122 </a>
123 </div>
124 </div> 107 </div>
125 </div> 108 </div>
126 </el-carousel-item> 109 </el-carousel-item>
127 </el-carousel> 110 </el-carousel>
128 </div> 111 </div>
129 112
130 <div class="box zn-bg"> 113 <div class="box zn-bg">
131 <div class="zn-Box"> 114 <div class="zn-Box">
132 <img v-if="matchData?.logoUrl" :src="fillImgUrl(matchData?.logoUrl)" class="bbbg"> 115 <img v-if="matchData?.logoUrl" :src="fillImgUrl(matchData?.logoUrl)" class="bbbg">
...@@ -141,7 +124,7 @@ ...@@ -141,7 +124,7 @@
141 <download /> 124 <download />
142 </el-icon> 125 </el-icon>
143 </a> 126 </a>
144 <a class="zn-btn ml20 btn-q" @click="popMaster">Booking Inquiry</a> 127 <a class="zn-btn ml20 btn-q" @click="reserveSearch">Reservation Inquiry</a>
145 <!-- <a 128 <!-- <a
146 v-if="matchData.isCourseView==1" class="zn-btn ml20 btn-q forPc" 129 v-if="matchData.isCourseView==1" class="zn-btn ml20 btn-q forPc"
147 style="font-size: 15px;margin-right: 20px" @click="popMaster" 130 style="font-size: 15px;margin-right: 20px" @click="popMaster"
...@@ -151,14 +134,14 @@ ...@@ -151,14 +134,14 @@
151 <Edit /> 134 <Edit />
152 </el-icon> 135 </el-icon>
153 </a> --> 136 </a> -->
154 137
155 <a class="zn-btn ml20 btn-q" @click="backNumberSearch">Competition 138 <a class="zn-btn ml20 btn-q" @click="backNumberSearch">Competition
156 Number</a> 139 Number</a>
157 <a class="zn-btn ml20 btn-q" @click="schSearchSearch">Schedule 140 <a class="zn-btn ml20 btn-q" @click="schSearchSearch">Schedule
158 Inquiry</a> 141 Inquiry</a>
159 142
160 </div> 143 </div>
161 144
162 </div> 145 </div>
163 </el-col> 146 </el-col>
164 <el-col :lg="14" :sm="24"> 147 <el-col :lg="14" :sm="24">
...@@ -167,8 +150,8 @@ ...@@ -167,8 +150,8 @@
167 </el-row> 150 </el-row>
168 </div> 151 </div>
169 </div> 152 </div>
170 153
171 154
172 <div id="part0" class="box part"> 155 <div id="part0" class="box part">
173 <el-row :gutter="20"> 156 <el-row :gutter="20">
174 <el-col :lg="12" :sm="24"> 157 <el-col :lg="12" :sm="24">
...@@ -177,7 +160,7 @@ ...@@ -177,7 +160,7 @@
177 <a class="more" @click="gosaiC">MORE</a> 160 <a class="more" @click="gosaiC">MORE</a>
178 </div> 161 </div>
179 <!--赛事日历--> 162 <!--赛事日历-->
180 <el-card :body-style="{'padding':'20px 20px'}"> 163 <el-card :body-style="{ 'padding': '20px 20px' }">
181 <home-calendar /> 164 <home-calendar />
182 </el-card> 165 </el-card>
183 </el-col> 166 </el-col>
...@@ -187,7 +170,7 @@ ...@@ -187,7 +170,7 @@
187 <!-- <a class="more" href="#/saiC">MORE</a>--> 170 <!-- <a class="more" href="#/saiC">MORE</a>-->
188 </div> 171 </div>
189 <!--历史排名--> 172 <!--历史排名-->
190 <el-card :body-style="{'padding':'10px 20px 18px'}"> 173 <el-card :body-style="{ 'padding': '10px 20px 18px' }">
191 <el-table :data="rank" height="490" stripe @row-click="handleRowClick"> 174 <el-table :data="rank" height="490" stripe @row-click="handleRowClick">
192 <el-table-column align="center" label="RANK" prop="index" width="80"> 175 <el-table-column align="center" label="RANK" prop="index" width="80">
193 <!-- <template #default="scope">--> 176 <!-- <template #default="scope">-->
...@@ -201,7 +184,7 @@ ...@@ -201,7 +184,7 @@
201 <template #default="scope"> 184 <template #default="scope">
202 <div> 185 <div>
203 <!-- <span :class="`flag-icon flag-icon-${scope.row.code}`" />--> 186 <!-- <span :class="`flag-icon flag-icon-${scope.row.code}`" />-->
204 <span v-if="scope.row.code!='tw'" :class="`flag-icon flag-icon-${scope.row.code}`" /> 187 <span v-if="scope.row.code != 'tw'" :class="`flag-icon flag-icon-${scope.row.code}`" />
205 <span v-else class="flag-icon"> 188 <span v-else class="flag-icon">
206 <img :src="hkImage" alt="" class="hkimg"> 189 <img :src="hkImage" alt="" class="hkimg">
207 </span> 190 </span>
...@@ -209,7 +192,7 @@ ...@@ -209,7 +192,7 @@
209 </div> 192 </div>
210 </template> 193 </template>
211 </el-table-column> 194 </el-table-column>
212 195
213 <el-table-column min-width="60"> 196 <el-table-column min-width="60">
214 <template #header> 197 <template #header>
215 <img class="mauto" src="@/assets/dance/1.png"> 198 <img class="mauto" src="@/assets/dance/1.png">
...@@ -249,18 +232,14 @@ ...@@ -249,18 +232,14 @@
249 </div> 232 </div>
250 <!-- NEWS --> 233 <!-- NEWS -->
251 <div id="part1" class="part"> 234 <div id="part1" class="part">
252 235
253 <div class="box"> 236 <div class="box">
254 <div class="indexTitle"> 237 <div class="indexTitle">
255 <h3 class="leftboderTT">NEWS</h3> 238 <h3 class="leftboderTT">NEWS</h3>
256 <a class="more" @click="goNews">MORE</a> 239 <a class="more" @click="goNews">MORE</a>
257 </div> 240 </div>
258 <el-row :gutter="20"> 241 <el-row :gutter="20">
259 <el-col 242 <el-col v-for="(n, index) in newest2" :key="n.id" :lg="8" :sm="8" :xs="24">
260 v-for="(n,index) in newest2"
261 :key="n.id" :lg="8" :sm="8"
262 :xs="24"
263 >
264 <div class="activeItem" @click="goNewsDetail(n)"> 243 <div class="activeItem" @click="goNewsDetail(n)">
265 <div class="imgbox"> 244 <div class="imgbox">
266 <img :src="fillImgUrl_webSite(n.picUrl)"> 245 <img :src="fillImgUrl_webSite(n.picUrl)">
...@@ -281,7 +260,7 @@ ...@@ -281,7 +260,7 @@
281 </div> 260 </div>
282 </div> 261 </div>
283 <div class="part"> 262 <div class="part">
284 263
285 <div class="box"> 264 <div class="box">
286 <div class="indexTitle"> 265 <div class="indexTitle">
287 <h3 class="leftboderTT">MEDIA</h3> 266 <h3 class="leftboderTT">MEDIA</h3>
...@@ -291,7 +270,7 @@ ...@@ -291,7 +270,7 @@
291 <el-row :gutter="20"> 270 <el-row :gutter="20">
292 <el-col :lg="8"> 271 <el-col :lg="8">
293 <a class="liveImgbox" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698" target="_blank"> 272 <a class="liveImgbox" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698" target="_blank">
294 <div v-if="time>0" class="livetimecount"> 273 <div v-if="time > 0" class="livetimecount">
295 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> 274 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">
296 <template #default="timeData"> 275 <template #default="timeData">
297 <div class="block">{{ timeData.days }} 276 <div class="block">{{ timeData.days }}
...@@ -318,14 +297,11 @@ ...@@ -318,14 +297,11 @@
318 </a> 297 </a>
319 </el-col> 298 </el-col>
320 <el-col :lg="16"> 299 <el-col :lg="16">
321 300
322 <div class="swiperPic forPx"> 301 <div class="swiperPic forPx">
323 <swiper 302 <swiper :autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic"
324 :autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic" 303 :slides-per-view="3" :space-between="20" class="swiper-wrapper">
325 :slides-per-view="3" 304 <swiper-slide v-for="(n, i) in picList" :key="i">
326 :space-between="20" class="swiper-wrapper"
327 >
328 <swiper-slide v-for="(n,i) in picList" :key="i">
329 <div class="picbox" @click="goNewsDetail(n)"> 305 <div class="picbox" @click="goNewsDetail(n)">
330 <img :src="fillImgUrl_webSite(n.picUrl)"> 306 <img :src="fillImgUrl_webSite(n.picUrl)">
331 </div> 307 </div>
...@@ -334,15 +310,16 @@ ...@@ -334,15 +310,16 @@
334 <div class="picprev"><img src="@/assets/dance/prev1.png"></div> 310 <div class="picprev"><img src="@/assets/dance/prev1.png"></div>
335 <div class="picnext"><img src="@/assets/dance/next1.png"></div> 311 <div class="picnext"><img src="@/assets/dance/next1.png"></div>
336 </div> 312 </div>
337 313
338 </el-col> 314 </el-col>
339 </el-row> 315 </el-row>
340 <el-row class="news-l-r"> 316 <el-row class="news-l-r">
341 <el-col v-for="(n,index) in livelist" v-show="index>0" :lg="8"> 317 <el-col v-for="(n, index) in livelist" v-show="index > 0" :lg="8">
342 <div class="item" style="padding: 0;margin: 20px 0 0" @click="goNewsDetail(n)"> 318 <div class="item" style="padding: 0;margin: 20px 0 0" @click="goNewsDetail(n)">
343 <div class="imgbox"> 319 <div class="imgbox">
344 <i class="playIcon" /> 320 <i class="playIcon" />
345 <img :src="fillImgUrl_webSite(n.picUrl)"></div> 321 <img :src="fillImgUrl_webSite(n.picUrl)">
322 </div>
346 <div class="info"> 323 <div class="info">
347 <div class="text-primary small-size"> 324 <div class="text-primary small-size">
348 <span v-if="n.subName">{{ n.subName + ' | ' }}</span> 325 <span v-if="n.subName">{{ n.subName + ' | ' }}</span>
...@@ -354,20 +331,17 @@ ...@@ -354,20 +331,17 @@
354 </el-col> 331 </el-col>
355 </el-row> 332 </el-row>
356 </el-card> 333 </el-card>
357 334
358 </div> 335 </div>
359 </div> 336 </div>
360 337
361 <div hidden> 338 <div hidden>
362 <div class="box"> 339 <div class="box">
363 <div class="indexTitle"> 340 <div class="indexTitle">
364 <h3 class="leftboderTT">INTRODUCTION OF ADJUDICATORS</h3> 341 <h3 class="leftboderTT">INTRODUCTION OF ADJUDICATORS</h3>
365 </div> 342 </div>
366 <el-row :gutter="20"> 343 <el-row :gutter="20">
367 <el-col 344 <el-col v-for="n in personList" :key="n.name" :lg="4" :sm="8" :xl="4" :xs="12">
368 v-for="n in personList" :key="n.name" :lg="4" :sm="8" :xl="4"
369 :xs="12"
370 >
371 <div class="teacher"> 345 <div class="teacher">
372 <div class="imgbox"><img :src="n.src"></div> 346 <div class="imgbox"><img :src="n.src"></div>
373 <h3 class="esp">{{ n.name }}</h3> 347 <h3 class="esp">{{ n.name }}</h3>
...@@ -377,7 +351,7 @@ ...@@ -377,7 +351,7 @@
377 </el-row> 351 </el-row>
378 </div> 352 </div>
379 </div> 353 </div>
380 354
381 <div class="box"> 355 <div class="box">
382 <el-row :gutter="20"> 356 <el-row :gutter="20">
383 <el-col :lg="12"> 357 <el-col :lg="12">
...@@ -394,7 +368,7 @@ ...@@ -394,7 +368,7 @@
394 <a class="btn-lineG" href="#/about/wuDao" style="display: inline-flex;align-items: center;">Learn more 368 <a class="btn-lineG" href="#/about/wuDao" style="display: inline-flex;align-items: center;">Learn more
395 <img src="@/assets/v1/more.png" style="filter: brightness(2);height: 8px;margin-left: 10px"></a> 369 <img src="@/assets/v1/more.png" style="filter: brightness(2);height: 8px;margin-left: 10px"></a>
396 </div> 370 </div>
397 371
398 </div> 372 </div>
399 </el-col> 373 </el-col>
400 <el-col :lg="12"> 374 <el-col :lg="12">
...@@ -421,7 +395,7 @@ ...@@ -421,7 +395,7 @@
421 </el-col> 395 </el-col>
422 </el-row> 396 </el-row>
423 </div> 397 </div>
424 398
425 <div class="box"> 399 <div class="box">
426 <div class="indexTitle"> 400 <div class="indexTitle">
427 <h3 class="leftboderTT">PARTNERS</h3> 401 <h3 class="leftboderTT">PARTNERS</h3>
...@@ -434,44 +408,29 @@ ...@@ -434,44 +408,29 @@
434 </el-col> 408 </el-col>
435 </el-row> 409 </el-row>
436 </div> 410 </div>
437 411
438 <!-- 邀请函--> 412 <!-- 邀请函-->
439 <div class="fixed_gg_l yaoQing"> 413 <div class="fixed_gg_l yaoQing">
440 <img src="@/assets/logo/Invitation_e.png" @click="applyInvitation" v-if="matchData.invitationSw == '1'"> 414 <img src="@/assets/logo/Invitation_e.png" @click="applyInvitation" v-if="matchData.invitationSw == '1'">
441 <div style="padding-left: 7px;"> 415 <div style="padding-left: 7px;">
442 416
443 <el-image 417 <el-image v-if="clubImage && matchData.visaSw == '1'" :preview-src-list="[clubImage]" :src="clubImage"
444 v-if="clubImage && matchData.visaSw == '1'" 418 fit="cover" preview-teleported style="width: 124px" />
445 :preview-src-list="[clubImage]"
446 :src="clubImage"
447 fit="cover"
448 preview-teleported
449 style="width: 124px"
450 />
451 </div> 419 </div>
452 </div> 420 </div>
453 <!-- 群聊--> 421 <!-- 群聊-->
454 <div v-if="matchData.chatQrcode" class="fixed_gg_l club"> 422 <div v-if="matchData.chatQrcode" class="fixed_gg_l club">
455 <el-image 423 <el-image :preview-src-list="[fillImgUrl(matchData.chatQrcode)]" :src="fillImgUrl(matchData.chatQrcode)"
456 :preview-src-list="[ fillImgUrl(matchData.chatQrcode)]" 424 fit="cover" preview-teleported style="width: 120px;height: 120px" />
457 :src="fillImgUrl(matchData.chatQrcode)"
458 fit="cover"
459 preview-teleported
460 style="width: 120px;height: 120px"
461 />
462 </div> 425 </div>
463 <affix-invitation ref="dialogInvitationRef" /> 426 <affix-invitation ref="dialogInvitationRef" />
464 427
465 <el-dialog v-model="liveQrcodeShow" :title="language==0?'赛事直播' :'Live QR Code'" width="350px"> 428 <el-dialog v-model="liveQrcodeShow" :title="language == 0 ? '赛事直播' : 'Live QR Code'" width="350px">
466 <div style="display: flex;justify-content: space-between"> 429 <div style="display: flex;justify-content: space-between">
467 <el-image 430 <el-image v-if="matchData.liveQrcode" :src="fillImgUrl(matchData.liveQrcode)" fit="cover"
468 v-if="matchData.liveQrcode" 431 style="max-width: 350px;" />
469 :src="fillImgUrl(matchData.liveQrcode)"
470 fit="cover"
471 style="max-width: 350px;"
472 />
473 </div> 432 </div>
474 433
475 </el-dialog> 434 </el-dialog>
476 </div> 435 </div>
477 </template> 436 </template>
...@@ -505,7 +464,7 @@ const navigationPic = ref({ ...@@ -505,7 +464,7 @@ const navigationPic = ref({
505 }) 464 })
506 const router = useRouter() 465 const router = useRouter()
507 const { proxy } = getCurrentInstance() 466 const { proxy } = getCurrentInstance()
508 const emit = defineEmits(['pop', 'backNumber', 'schSearch']) 467 const emit = defineEmits(['pop', 'backNumber', 'schSearch', 'reserveSearch'])
509 const time = ref(0) 468 const time = ref(0)
510 const etime = ref(0) 469 const etime = ref(0)
511 const liveQrcodeShow = ref(false) 470 const liveQrcodeShow = ref(false)
...@@ -540,6 +499,12 @@ const matchData = ref({}) ...@@ -540,6 +499,12 @@ const matchData = ref({})
540 onMounted(() => { 499 onMounted(() => {
541 init() 500 init()
542 }) 501 })
502 const reserveSearch = () => {
503 var params = {
504 cptId: matchData.value.id
505 }
506 emit('reserveSearch', params); // 向父组件发射事件+参数
507 };
543 508
544 function handleRowClick(row) { 509 function handleRowClick(row) {
545 console.log(row) 510 console.log(row)
...@@ -658,12 +623,12 @@ const goGuide = () => { ...@@ -658,12 +623,12 @@ const goGuide = () => {
658 } 623 }
659 }) 624 })
660 } 625 }
661 const liveQrcodeShowBtn = () => { 626 const liveQrcodeShowBtn = () => {
662 if(!matchData.value.liveQrcode){ 627 if (!matchData.value.liveQrcode) {
663 ElMessage.warning('There is currently no live broadcast of the event') 628 ElMessage.warning('There is currently no live broadcast of the event')
664 return 629 return
665 }else{ 630 } else {
666 liveQrcodeShow.value=true 631 liveQrcodeShow.value = true
667 } 632 }
668 } 633 }
669 634
...@@ -712,29 +677,29 @@ function applyInvitation() { ...@@ -712,29 +677,29 @@ function applyInvitation() {
712 background-size: contain; 677 background-size: contain;
713 position: relative; 678 position: relative;
714 overflow: hidden; 679 overflow: hidden;
715 680
716 .bbbg { 681 .bbbg {
717 position: absolute; 682 position: absolute;
718 width: 100%; 683 width: 100%;
719 height: 100%; 684 height: 100%;
720 object-fit: cover; 685 object-fit: cover;
721 } 686 }
722 687
723 .bgbg { 688 .bgbg {
724 height: 100%; 689 height: 100%;
725 padding: 5%; 690 padding: 5%;
726 display: flex; 691 display: flex;
727 flex-direction: column; 692 flex-direction: column;
728 justify-content: center; 693 justify-content: center;
729 694
730 img { 695 img {
731 margin: 5% 0 696 margin: 5% 0
732 } 697 }
733 } 698 }
734 699
735 .itemBox { 700 .itemBox {
736 padding: 20px 40px; 701 padding: 20px 40px;
737 702
738 p { 703 p {
739 margin: 0; 704 margin: 0;
740 height: 40px; 705 height: 40px;
...@@ -743,9 +708,9 @@ function applyInvitation() { ...@@ -743,9 +708,9 @@ function applyInvitation() {
743 align-items: center; 708 align-items: center;
744 } 709 }
745 } 710 }
746 711
747 border-radius: 15px; 712 border-radius: 15px;
748 713
749 .zn-btn { 714 .zn-btn {
750 background: #FFFFFF; 715 background: #FFFFFF;
751 text-transform: uppercase; 716 text-transform: uppercase;
...@@ -758,7 +723,7 @@ function applyInvitation() { ...@@ -758,7 +723,7 @@ function applyInvitation() {
758 display: inline-flex; 723 display: inline-flex;
759 align-items: center; 724 align-items: center;
760 } 725 }
761 726
762 .item { 727 .item {
763 box-shadow: 0px 0px 21px 0px rgba(41, 23, 101, 0.14); 728 box-shadow: 0px 0px 21px 0px rgba(41, 23, 101, 0.14);
764 margin: 40px 0 0; 729 margin: 40px 0 0;
...@@ -772,7 +737,7 @@ function applyInvitation() { ...@@ -772,7 +737,7 @@ function applyInvitation() {
772 background-size: cover; 737 background-size: cover;
773 position: relative; 738 position: relative;
774 border-radius: 15px; 739 border-radius: 15px;
775 740
776 img { 741 img {
777 position: absolute; 742 position: absolute;
778 top: -30px 743 top: -30px
...@@ -801,7 +766,7 @@ function applyInvitation() { ...@@ -801,7 +766,7 @@ function applyInvitation() {
801 height: 450px; 766 height: 450px;
802 background: #000; 767 background: #000;
803 position: relative; 768 position: relative;
804 769
805 .banner-count { 770 .banner-count {
806 position: absolute; 771 position: absolute;
807 padding: 20px; 772 padding: 20px;
...@@ -821,7 +786,7 @@ function applyInvitation() { ...@@ -821,7 +786,7 @@ function applyInvitation() {
821 flex-wrap: nowrap; 786 flex-wrap: nowrap;
822 right: 5%; 787 right: 5%;
823 color: #fff; 788 color: #fff;
824 789
825 .van-count-down { 790 .van-count-down {
826 display: flex; 791 display: flex;
827 color: #fff; 792 color: #fff;
...@@ -829,7 +794,7 @@ function applyInvitation() { ...@@ -829,7 +794,7 @@ function applyInvitation() {
829 width: 360px; 794 width: 360px;
830 font-size: 41px; 795 font-size: 41px;
831 } 796 }
832 797
833 .block { 798 .block {
834 color: #fff; 799 color: #fff;
835 text-align: center; 800 text-align: center;
...@@ -837,7 +802,7 @@ function applyInvitation() { ...@@ -837,7 +802,7 @@ function applyInvitation() {
837 font-size: 41px; 802 font-size: 41px;
838 font-family: DIN Alternate; 803 font-family: DIN Alternate;
839 } 804 }
840 805
841 .colon { 806 .colon {
842 color: #fff; 807 color: #fff;
843 display: block; 808 display: block;
...@@ -845,27 +810,27 @@ function applyInvitation() { ...@@ -845,27 +810,27 @@ function applyInvitation() {
845 font-size: 20px; 810 font-size: 20px;
846 } 811 }
847 } 812 }
848 813
849 .bb { 814 .bb {
850 width: 580px; 815 width: 580px;
851 justify-content: center; 816 justify-content: center;
852 height: 100px; 817 height: 100px;
853 font-size: 30px; 818 font-size: 30px;
854 } 819 }
855 820
856 .banner-count.bb:hover { 821 .banner-count.bb:hover {
857 box-shadow: 0 0 20px #453DEA; 822 box-shadow: 0 0 20px #453DEA;
858 border-radius: 100px; 823 border-radius: 100px;
859 background: linear-gradient(-90deg, #8623FC, #453DEA) 824 background: linear-gradient(-90deg, #8623FC, #453DEA)
860 } 825 }
861 826
862 .box { 827 .box {
863 position: absolute; 828 position: absolute;
864 height: 100%; 829 height: 100%;
865 left: 0; 830 left: 0;
866 right: 0; 831 right: 0;
867 } 832 }
868 833
869 h3 { 834 h3 {
870 position: absolute; 835 position: absolute;
871 color: #fff; 836 color: #fff;
...@@ -874,7 +839,7 @@ function applyInvitation() { ...@@ -874,7 +839,7 @@ function applyInvitation() {
874 bottom: 50px; 839 bottom: 50px;
875 font-size: 3vw; 840 font-size: 3vw;
876 } 841 }
877 842
878 video { 843 video {
879 width: 100%; 844 width: 100%;
880 height: 100%; 845 height: 100%;
...@@ -889,26 +854,26 @@ function applyInvitation() { ...@@ -889,26 +854,26 @@ function applyInvitation() {
889 .banner { 854 .banner {
890 position: relative; 855 position: relative;
891 margin: 0 0 30px; 856 margin: 0 0 30px;
892 857
893 :deep(.el-carousel__arrow) { 858 :deep(.el-carousel__arrow) {
894 border-radius: 0; 859 border-radius: 0;
895 860
896 .el-icon { 861 .el-icon {
897 color: transparent; 862 color: transparent;
898 } 863 }
899 864
900 &:hover { 865 &:hover {
901 filter: brightness(1.5) 866 filter: brightness(1.5)
902 } 867 }
903 } 868 }
904 869
905 :deep(.el-carousel__arrow--left) { 870 :deep(.el-carousel__arrow--left) {
906 background: url("@/assets/images/prev2@2x.png") no-repeat center; 871 background: url("@/assets/images/prev2@2x.png") no-repeat center;
907 width: 78px; 872 width: 78px;
908 height: 45px; 873 height: 45px;
909 background-size: contain; 874 background-size: contain;
910 } 875 }
911 876
912 :deep(.el-carousel__arrow--right) { 877 :deep(.el-carousel__arrow--right) {
913 background: url("@/assets/images/next2@2x.png") no-repeat center; 878 background: url("@/assets/images/next2@2x.png") no-repeat center;
914 width: 78px; 879 width: 78px;
...@@ -922,38 +887,38 @@ function applyInvitation() { ...@@ -922,38 +887,38 @@ function applyInvitation() {
922 --el-calendar-cell-width: 40px; 887 --el-calendar-cell-width: 40px;
923 text-align: center; 888 text-align: center;
924 --el-text-color-regular: #8E8D94; 889 --el-text-color-regular: #8E8D94;
925 890
926 :deep(.el-calendar__header) { 891 :deep(.el-calendar__header) {
927 justify-content: center; 892 justify-content: center;
928 padding: 0 0 10px 893 padding: 0 0 10px
929 } 894 }
930 895
931 :deep(.el-calendar__body) { 896 :deep(.el-calendar__body) {
932 border: 1px solid #F0F0F0; 897 border: 1px solid #F0F0F0;
933 padding: 0 898 padding: 0
934 } 899 }
935 900
936 :deep(.el-calendar-table .el-calendar-day) { 901 :deep(.el-calendar-table .el-calendar-day) {
937 padding: 1px; 902 padding: 1px;
938 } 903 }
939 904
940 :deep(.el-calendar-table td.is-selected) { 905 :deep(.el-calendar-table td.is-selected) {
941 background: transparent; 906 background: transparent;
942 } 907 }
943 908
944 :deep(.el-calendar__button-group) { 909 :deep(.el-calendar__button-group) {
945 display: none; 910 display: none;
946 } 911 }
947 912
948 :deep(.el-calendar-table thead th) { 913 :deep(.el-calendar-table thead th) {
949 padding: 5px 0 0 914 padding: 5px 0 0
950 } 915 }
951 916
952 .primaryDate { 917 .primaryDate {
953 color: #fff; 918 color: #fff;
954 background: linear-gradient(90deg, #8623FC, #453DEA); 919 background: linear-gradient(90deg, #8623FC, #453DEA);
955 } 920 }
956 921
957 .date { 922 .date {
958 margin: auto; 923 margin: auto;
959 border-radius: 50%; 924 border-radius: 50%;
...@@ -969,7 +934,7 @@ function applyInvitation() { ...@@ -969,7 +934,7 @@ function applyInvitation() {
969 padding: 12px 20px; 934 padding: 12px 20px;
970 overflow: auto; 935 overflow: auto;
971 height: 233px; 936 height: 233px;
972 937
973 ul { 938 ul {
974 li { 939 li {
975 background: #F6F9FE; 940 background: #F6F9FE;
...@@ -979,11 +944,11 @@ function applyInvitation() { ...@@ -979,11 +944,11 @@ function applyInvitation() {
979 border-radius: 10px; 944 border-radius: 10px;
980 font-weight: 500; 945 font-weight: 500;
981 font-size: 15px; 946 font-size: 15px;
982 947
983 label { 948 label {
984 color: #453DEA; 949 color: #453DEA;
985 margin-right: 15px; 950 margin-right: 15px;
986 951
987 &::before { 952 &::before {
988 content: ''; 953 content: '';
989 background: #fff; 954 background: #fff;
...@@ -999,7 +964,7 @@ function applyInvitation() { ...@@ -999,7 +964,7 @@ function applyInvitation() {
999 } 964 }
1000 } 965 }
1001 } 966 }
1002 967
1003 li::before { 968 li::before {
1004 content: ''; 969 content: '';
1005 background: linear-gradient(0deg, #8623FC, #453DEA); 970 background: linear-gradient(0deg, #8623FC, #453DEA);
...@@ -1013,7 +978,7 @@ function applyInvitation() { ...@@ -1013,7 +978,7 @@ function applyInvitation() {
1013 margin: auto; 978 margin: auto;
1014 z-index: 1; 979 z-index: 1;
1015 } 980 }
1016 981
1017 li::after { 982 li::after {
1018 content: ''; 983 content: '';
1019 left: -16px; 984 left: -16px;
...@@ -1023,11 +988,11 @@ function applyInvitation() { ...@@ -1023,11 +988,11 @@ function applyInvitation() {
1023 position: absolute; 988 position: absolute;
1024 top: 20px 989 top: 20px
1025 } 990 }
1026 991
1027 li:hover { 992 li:hover {
1028 color: #fff; 993 color: #fff;
1029 background: linear-gradient(-90deg, #8623FC, #453DEA); 994 background: linear-gradient(-90deg, #8623FC, #453DEA);
1030 995
1031 label { 996 label {
1032 color: #fff; 997 color: #fff;
1033 } 998 }
...@@ -1044,7 +1009,7 @@ function applyInvitation() { ...@@ -1044,7 +1009,7 @@ function applyInvitation() {
1044 .ggbond { 1009 .ggbond {
1045 height: 230px; 1010 height: 230px;
1046 position: relative; 1011 position: relative;
1047 1012
1048 img { 1013 img {
1049 height: 100%; 1014 height: 100%;
1050 object-fit: cover; 1015 object-fit: cover;
...@@ -1062,17 +1027,17 @@ function applyInvitation() { ...@@ -1062,17 +1027,17 @@ function applyInvitation() {
1062 position: relative; 1027 position: relative;
1063 border-radius: 10px; 1028 border-radius: 10px;
1064 overflow: hidden; 1029 overflow: hidden;
1065 1030
1066 .imgbox { 1031 .imgbox {
1067 background: linear-gradient(0, #C8AAFC, #fff) 1032 background: linear-gradient(0, #C8AAFC, #fff)
1068 } 1033 }
1069 1034
1070 img { 1035 img {
1071 height: 350px; 1036 height: 350px;
1072 width: 100%; 1037 width: 100%;
1073 object-fit: cover; 1038 object-fit: cover;
1074 } 1039 }
1075 1040
1076 h3 { 1041 h3 {
1077 color: #fff; 1042 color: #fff;
1078 background: url("@/assets/dance/name_bg.png") no-repeat center; 1043 background: url("@/assets/dance/name_bg.png") no-repeat center;
...@@ -1085,7 +1050,7 @@ function applyInvitation() { ...@@ -1085,7 +1050,7 @@ function applyInvitation() {
1085 width: 100%; 1050 width: 100%;
1086 bottom: 30px; 1051 bottom: 30px;
1087 } 1052 }
1088 1053
1089 p { 1054 p {
1090 text-align: center; 1055 text-align: center;
1091 margin: 25px 0 0; 1056 margin: 25px 0 0;
...@@ -1096,7 +1061,7 @@ function applyInvitation() { ...@@ -1096,7 +1061,7 @@ function applyInvitation() {
1096 @media screen and (max-width: 1650px) { 1061 @media screen and (max-width: 1650px) {
1097 .teacher { 1062 .teacher {
1098 height: 320px; 1063 height: 320px;
1099 1064
1100 .imgbox { 1065 .imgbox {
1101 img { 1066 img {
1102 height: 260px 1067 height: 260px
...@@ -1109,7 +1074,7 @@ function applyInvitation() { ...@@ -1109,7 +1074,7 @@ function applyInvitation() {
1109 .teacher { 1074 .teacher {
1110 height: 450px; 1075 height: 450px;
1111 margin: 0 0 20px; 1076 margin: 0 0 20px;
1112 1077
1113 .imgbox { 1078 .imgbox {
1114 img { 1079 img {
1115 height: 390px 1080 height: 390px
...@@ -1122,7 +1087,7 @@ function applyInvitation() { ...@@ -1122,7 +1087,7 @@ function applyInvitation() {
1122 .teacher { 1087 .teacher {
1123 height: 400px; 1088 height: 400px;
1124 margin: 0 0 20px; 1089 margin: 0 0 20px;
1125 1090
1126 .imgbox { 1091 .imgbox {
1127 img { 1092 img {
1128 height: 340px 1093 height: 340px
...@@ -1135,7 +1100,7 @@ function applyInvitation() { ...@@ -1135,7 +1100,7 @@ function applyInvitation() {
1135 .teacher { 1100 .teacher {
1136 height: 400px; 1101 height: 400px;
1137 margin: 0 0 20px; 1102 margin: 0 0 20px;
1138 1103
1139 .imgbox { 1104 .imgbox {
1140 img { 1105 img {
1141 height: 260px 1106 height: 260px
...@@ -1150,7 +1115,7 @@ function applyInvitation() { ...@@ -1150,7 +1115,7 @@ function applyInvitation() {
1150 background-size: cover; 1115 background-size: cover;
1151 padding: 40px 60px; 1116 padding: 40px 60px;
1152 position: relative; 1117 position: relative;
1153 1118
1154 .content { 1119 .content {
1155 font-size: 18px; 1120 font-size: 18px;
1156 line-height: 2.2; 1121 line-height: 2.2;
...@@ -1159,7 +1124,7 @@ function applyInvitation() { ...@@ -1159,7 +1124,7 @@ function applyInvitation() {
1159 text-align: left; 1124 text-align: left;
1160 text-indent: 2em; 1125 text-indent: 2em;
1161 } 1126 }
1162 1127
1163 .shadowbox { 1128 .shadowbox {
1164 position: absolute; 1129 position: absolute;
1165 left: 0; 1130 left: 0;
...@@ -1168,9 +1133,8 @@ function applyInvitation() { ...@@ -1168,9 +1133,8 @@ function applyInvitation() {
1168 width: 100%; 1133 width: 100%;
1169 background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)); 1134 background: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
1170 } 1135 }
1171 1136
1172 .btn-lineG { 1137 .btn-lineG {}
1173 }
1174 } 1138 }
1175 1139
1176 .mapBox { 1140 .mapBox {
...@@ -1180,7 +1144,7 @@ function applyInvitation() { ...@@ -1180,7 +1144,7 @@ function applyInvitation() {
1180 padding: 1px; 1144 padding: 1px;
1181 position: relative; 1145 position: relative;
1182 display: flex; 1146 display: flex;
1183 1147
1184 .content { 1148 .content {
1185 background: #fff; 1149 background: #fff;
1186 width: 60%; 1150 width: 60%;
...@@ -1192,33 +1156,33 @@ function applyInvitation() { ...@@ -1192,33 +1156,33 @@ function applyInvitation() {
1192 bottom: 0; 1156 bottom: 0;
1193 margin: auto; 1157 margin: auto;
1194 } 1158 }
1195 1159
1196 div { 1160 div {
1197 padding-left: 60px; 1161 padding-left: 60px;
1198 } 1162 }
1199 1163
1200 .phone { 1164 .phone {
1201 background: url("@/assets/dance/map01.png") no-repeat left; 1165 background: url("@/assets/dance/map01.png") no-repeat left;
1202 background-size: 30px; 1166 background-size: 30px;
1203 } 1167 }
1204 1168
1205 .address { 1169 .address {
1206 background: url("@/assets/dance/map02.png") no-repeat left; 1170 background: url("@/assets/dance/map02.png") no-repeat left;
1207 background-size: 30px; 1171 background-size: 30px;
1208 margin: 50px 0; 1172 margin: 50px 0;
1209 } 1173 }
1210 1174
1211 .email { 1175 .email {
1212 background: url("@/assets/dance/map03.png") no-repeat left; 1176 background: url("@/assets/dance/map03.png") no-repeat left;
1213 background-size: 30px; 1177 background-size: 30px;
1214 } 1178 }
1215 1179
1216 h4 { 1180 h4 {
1217 margin: 0; 1181 margin: 0;
1218 font-size: 16px; 1182 font-size: 16px;
1219 color: #AAAAAA; 1183 color: #AAAAAA;
1220 } 1184 }
1221 1185
1222 p { 1186 p {
1223 margin: 13px 0 0; 1187 margin: 13px 0 0;
1224 } 1188 }
...@@ -1229,7 +1193,7 @@ function applyInvitation() { ...@@ -1229,7 +1193,7 @@ function applyInvitation() {
1229 height: 180px; 1193 height: 180px;
1230 border-radius: 10px; 1194 border-radius: 10px;
1231 margin: 0 0 30px; 1195 margin: 0 0 30px;
1232 1196
1233 img { 1197 img {
1234 width: 100%; 1198 width: 100%;
1235 height: 100%; 1199 height: 100%;
...@@ -1242,7 +1206,7 @@ function applyInvitation() { ...@@ -1242,7 +1206,7 @@ function applyInvitation() {
1242 position: relative; 1206 position: relative;
1243 height: 100%; 1207 height: 100%;
1244 padding: 20px 45px; 1208 padding: 20px 45px;
1245 1209
1246 .picprev { 1210 .picprev {
1247 position: absolute; 1211 position: absolute;
1248 left: 5px; 1212 left: 5px;
...@@ -1251,12 +1215,12 @@ function applyInvitation() { ...@@ -1251,12 +1215,12 @@ function applyInvitation() {
1251 margin: auto; 1215 margin: auto;
1252 height: 33px; 1216 height: 33px;
1253 cursor: pointer; 1217 cursor: pointer;
1254 1218
1255 &:hover { 1219 &:hover {
1256 filter: brightness(2) 1220 filter: brightness(2)
1257 } 1221 }
1258 } 1222 }
1259 1223
1260 .picnext { 1224 .picnext {
1261 position: absolute; 1225 position: absolute;
1262 right: 5px; 1226 right: 5px;
...@@ -1265,7 +1229,7 @@ function applyInvitation() { ...@@ -1265,7 +1229,7 @@ function applyInvitation() {
1265 margin: auto; 1229 margin: auto;
1266 height: 33px; 1230 height: 33px;
1267 cursor: pointer; 1231 cursor: pointer;
1268 1232
1269 &:hover { 1233 &:hover {
1270 filter: brightness(2) 1234 filter: brightness(2)
1271 } 1235 }
...@@ -1276,69 +1240,78 @@ function applyInvitation() { ...@@ -1276,69 +1240,78 @@ function applyInvitation() {
1276 .box { 1240 .box {
1277 width: 94% 1241 width: 94%
1278 } 1242 }
1243
1279 .calendarList { 1244 .calendarList {
1280 padding: 0; 1245 padding: 0;
1281 1246
1282 ul { 1247 ul {
1283 li { 1248 li {
1284 margin: 10px 1249 margin: 10px
1285 } 1250 }
1286 } 1251 }
1287 } 1252 }
1253
1288 .aboutBox { 1254 .aboutBox {
1289 padding: 20px 30px; 1255 padding: 20px 30px;
1290 } 1256 }
1257
1291 .indexTitle { 1258 .indexTitle {
1292 margin: 30px 0 20px 1259 margin: 30px 0 20px
1293 } 1260 }
1261
1294 .teacher { 1262 .teacher {
1295 height: 320px; 1263 height: 320px;
1296 margin: 0 0 20px; 1264 margin: 0 0 20px;
1297 1265
1298 img { 1266 img {
1299 height: 260px 1267 height: 260px
1300 } 1268 }
1301 } 1269 }
1270
1302 .activeItem { 1271 .activeItem {
1303 margin: 0 0 20px; 1272 margin: 0 0 20px;
1304 } 1273 }
1274
1305 .mapBox { 1275 .mapBox {
1306 div { 1276 div {
1307 padding-left: 40px; 1277 padding-left: 40px;
1308 } 1278 }
1309 1279
1310 .content { 1280 .content {
1311 width: 80%; 1281 width: 80%;
1312 left: 10%; 1282 left: 10%;
1313 padding: 10px 20px 0 20px; 1283 padding: 10px 20px 0 20px;
1314 } 1284 }
1315 1285
1316 .address { 1286 .address {
1317 margin: 30px 0; 1287 margin: 30px 0;
1318 } 1288 }
1319 1289
1320 p { 1290 p {
1321 text-align: left; 1291 text-align: left;
1322 word-break: break-all; 1292 word-break: break-all;
1323 } 1293 }
1324 } 1294 }
1295
1325 .fixed_gg { 1296 .fixed_gg {
1326 display: none; 1297 display: none;
1327 } 1298 }
1299
1328 .bannerItem .banner-count { 1300 .bannerItem .banner-count {
1329 flex-direction: column; 1301 flex-direction: column;
1330 transform: scale(0.5); 1302 transform: scale(0.5);
1331 width: auto; 1303 width: auto;
1332 left: 0; 1304 left: 0;
1333 right: 0; 1305 right: 0;
1334 1306
1335 .van-count-down { 1307 .van-count-down {
1336 margin: 30px 0 0; 1308 margin: 30px 0 0;
1337 } 1309 }
1338 } 1310 }
1311
1339 .bgbg { 1312 .bgbg {
1340 text-align: center; 1313 text-align: center;
1341 1314
1342 h1 { 1315 h1 {
1343 text-align: center 1316 text-align: center
1344 } 1317 }
...@@ -1353,7 +1326,7 @@ function applyInvitation() { ...@@ -1353,7 +1326,7 @@ function applyInvitation() {
1353 //padding: 10px 20px; 1326 //padding: 10px 20px;
1354 //display: inline-flex; 1327 //display: inline-flex;
1355 //align-items: center; 1328 //align-items: center;
1356 1329
1357 padding: 20px 40px; 1330 padding: 20px 40px;
1358 font-size: 20px; 1331 font-size: 20px;
1359 align-items: center; 1332 align-items: center;
...@@ -1396,7 +1369,7 @@ function applyInvitation() { ...@@ -1396,7 +1369,7 @@ function applyInvitation() {
1396 z-index: 2; 1369 z-index: 2;
1397 background: #F04035; 1370 background: #F04035;
1398 padding: 2px 4px; 1371 padding: 2px 4px;
1399 1372
1400 &::after { 1373 &::after {
1401 content: ''; 1374 content: '';
1402 width: 0; 1375 width: 0;
...@@ -1407,12 +1380,12 @@ function applyInvitation() { ...@@ -1407,12 +1380,12 @@ function applyInvitation() {
1407 border-top: 24px solid #F04035; 1380 border-top: 24px solid #F04035;
1408 border-right: 15px solid transparent; 1381 border-right: 15px solid transparent;
1409 } 1382 }
1410 1383
1411 .van-count-down { 1384 .van-count-down {
1412 display: flex; 1385 display: flex;
1413 color: #fff; 1386 color: #fff;
1414 font-size: 14px; 1387 font-size: 14px;
1415 1388
1416 .block { 1389 .block {
1417 color: #fff; 1390 color: #fff;
1418 text-align: center; 1391 text-align: center;
...@@ -1426,17 +1399,19 @@ function applyInvitation() { ...@@ -1426,17 +1399,19 @@ function applyInvitation() {
1426 .forPc { 1399 .forPc {
1427 display: none !important; 1400 display: none !important;
1428 } 1401 }
1402
1429 .zn-Box .bgbg { 1403 .zn-Box .bgbg {
1430 padding: 10px 0 0; 1404 padding: 10px 0 0;
1431 1405
1432 .mb30 { 1406 .mb30 {
1433 margin: 0 1407 margin: 0
1434 } 1408 }
1435 1409
1436 .zn-btn { 1410 .zn-btn {
1437 margin-top: 10px 1411 margin-top: 10px
1438 } 1412 }
1439 } 1413 }
1414
1440 .logobox { 1415 .logobox {
1441 height: 60px; 1416 height: 60px;
1442 } 1417 }
...@@ -1446,7 +1421,7 @@ function applyInvitation() { ...@@ -1446,7 +1421,7 @@ function applyInvitation() {
1446 width: 160px; 1421 width: 160px;
1447 left: 5px; 1422 left: 5px;
1448 top: 40%; 1423 top: 40%;
1449 1424
1450 } 1425 }
1451 1426
1452 .hkimg { 1427 .hkimg {
...@@ -1484,21 +1459,20 @@ function applyInvitation() { ...@@ -1484,21 +1459,20 @@ function applyInvitation() {
1484 img { 1459 img {
1485 height: 80px; 1460 height: 80px;
1486 } 1461 }
1487 1462
1488 .el-image { 1463 .el-image {
1489 height: 80px !important; 1464 height: 80px !important;
1490 width: 63px !important; 1465 width: 63px !important;
1491 } 1466 }
1492 } 1467 }
1493 1468
1494 .club { 1469 .club {
1495 width: 72px; 1470 width: 72px;
1496 1471
1497 .el-image { 1472 .el-image {
1498 height: 80px !important; 1473 height: 80px !important;
1499 width: 63px !important; 1474 width: 63px !important;
1500 } 1475 }
1501 } 1476 }
1502 } 1477 }
1503
1504 </style> 1478 </style>
......
1 <template> 1 <template>
2 <el-dialog 2 <el-dialog v-model="show" :append-to-body="true" :close-on-click-modal="false" :show-close="showClose" :title="title"
3 v-model="show" 3 center class="pcloginpop" close-icon="CircleClose" destroy-on-close style="max-width: 450px;min-width: 350px"
4 :append-to-body="true" 4 @close="close">
5 :close-on-click-modal="false"
6 :show-close="showClose"
7 :title="title"
8 center
9 class="pcloginpop"
10 close-icon="CircleClose"
11 destroy-on-close
12 style="max-width: 450px;min-width: 350px"
13 @close="close"
14 >
15 <div class="pd10" /> 5 <div class="pd10" />
16 <el-form 6 <el-form v-if="loginStatus == 0" ref="loginRef" :model="loginForm" :rules="language == 0 ? loginRules : loginRules_en"
17 v-if="loginStatus==0" ref="loginRef" :model="loginForm" 7 class="login-form">
18 :rules="language==0?loginRules:loginRules_en" class="login-form"
19 >
20 <el-form-item prop="username"> 8 <el-form-item prop="username">
21 9
22 <el-input 10 <el-input v-model.trim="loginForm.username" :placeholder="language == 0 ? '账号(注册时使用的邮箱)' : 'Account (e-mail)'"
23 v-model.trim="loginForm.username" 11 auto-complete="off" size="large" />
24 :placeholder="language==0?'账号(注册时使用的邮箱)':'Account (e-mail)'"
25 auto-complete="off"
26 size="large"
27 />
28 </el-form-item> 12 </el-form-item>
29 <el-form-item prop="password"> 13 <el-form-item prop="password">
30 <el-input 14 <el-input v-model.trim="loginForm.password" :placeholder="language == 0 ? '密码' : 'Password'" auto-complete="off"
31 v-model.trim="loginForm.password" 15 show-password size="large" type="password" @keyup.enter="handleLogin" />
32 :placeholder="language==0?'密码':'Password'"
33 auto-complete="off" show-password
34 size="large"
35 type="password"
36 @keyup.enter="handleLogin"
37 />
38 </el-form-item> 16 </el-form-item>
39 <el-form-item v-if="captchaEnabled" prop="code"> 17 <el-form-item v-if="captchaEnabled" prop="code">
40 <el-input 18 <el-input v-model.trim="loginForm.code" :placeholder="language == 0 ? '验证码' : 'Code'" auto-complete="off" size="large"
41 v-model.trim="loginForm.code" 19 @keyup.enter="handleLogin">
42 :placeholder="language==0?'验证码':'Code'"
43 auto-complete="off"
44 size="large"
45 @keyup.enter="handleLogin"
46 >
47 <template #append> 20 <template #append>
48 <div class="login-code"> 21 <div class="login-code">
49 <img :src="codeUrl" class="login-code-img" @click="getCode"> 22 <img :src="codeUrl" class="login-code-img" @click="getCode">
50 </div> 23 </div>
51 </template> 24 </template>
52 </el-input> 25 </el-input>
53 26
54 </el-form-item> 27 </el-form-item>
55 28
56 <el-form-item style="width:100%;"> 29 <el-form-item style="width:100%;">
57 <el-button 30 <el-button :loading="loading" class="loginBtn" size="large" style="width:100%;" type="primary"
58 :loading="loading" 31 @click.prevent="handleLogin">
59 class="loginBtn"
60 size="large"
61 style="width:100%;"
62 type="primary"
63 @click.prevent="handleLogin"
64 >
65 <span v-if="!loading">{{ language == 0 ? '登 录' : 'Login' }}</span> 32 <span v-if="!loading">{{ language == 0 ? '登 录' : 'Login' }}</span>
66 <span v-else>{{ language == 0 ? '登 录 中...' : 'Logging in' }}</span> 33 <span v-else>{{ language == 0 ? '登 录 中...' : 'Logging in' }}</span>
67 </el-button> 34 </el-button>
...@@ -69,15 +36,12 @@ ...@@ -69,15 +36,12 @@
69 <el-form-item> 36 <el-form-item>
70 <!-- <span style="color: #999;font-size: 12px;">*默认密码是会员号+证件号后四位+)*%</span>--> 37 <!-- <span style="color: #999;font-size: 12px;">*默认密码是会员号+证件号后四位+)*%</span>-->
71 <div style="display: flex;justify-content: space-between;width: 100%;"> 38 <div style="display: flex;justify-content: space-between;width: 100%;">
72 <a 39 <a class="text-primary" @click="showChangePassword">{{ language == 0 ? '忘记密码' : 'Forgot password' }}?</a>
73 class="text-primary"
74 @click="showChangePassword"
75 >{{ language == 0 ? '忘记密码' : 'Forgot password' }}?</a>
76 <a class="text-primary" @click="showRegister">{{ language == 0 ? '账号注册' : 'Register' }}></a> 40 <a class="text-primary" @click="showRegister">{{ language == 0 ? '账号注册' : 'Register' }}></a>
77 </div> 41 </div>
78 </el-form-item> 42 </el-form-item>
79 <el-form-item> 43 <el-form-item>
80 <div v-if="language==0" class="agreeLine"> 44 <div v-if="language == 0" class="agreeLine">
81 登录或注册即代表同意 45 登录或注册即代表同意
82 <a target="_blank" @click="goAgreement">《用户协议》</a> 46 <a target="_blank" @click="goAgreement">《用户协议》</a>
83 <a target="_blank" @click="goPolicy">《隐私政策》</a> 47 <a target="_blank" @click="goPolicy">《隐私政策》</a>
...@@ -89,8 +53,8 @@ ...@@ -89,8 +53,8 @@
89 </div> 53 </div>
90 </el-form-item> 54 </el-form-item>
91 </el-form> 55 </el-form>
92 56
93 <div v-if="loginStatus==1"> 57 <div v-if="loginStatus == 1">
94 <a class="poLeft" @click="close()"> 58 <a class="poLeft" @click="close()">
95 <el-icon> 59 <el-icon>
96 <ArrowLeftBold /> 60 <ArrowLeftBold />
...@@ -103,36 +67,25 @@ ...@@ -103,36 +67,25 @@
103 <h3>{{ language == 0 ? '个人用户' : 'Individual' }}</h3> 67 <h3>{{ language == 0 ? '个人用户' : 'Individual' }}</h3>
104 </div> 68 </div>
105 </div> 69 </div>
106 <div v-if="loginStatus==2"> 70 <div v-if="loginStatus == 2">
107 <a class="poLeft" @click="close()"> 71 <a class="poLeft" @click="close()">
108 <el-icon> 72 <el-icon>
109 <ArrowLeftBold /> 73 <ArrowLeftBold />
110 </el-icon> 74 </el-icon>
111 </a> 75 </a>
112 <el-form 76 <el-form ref="changePasswordRef" :model="changePasswordForm"
113 ref="changePasswordRef" :model="changePasswordForm" 77 :rules="language == 0 ? changePasswordRules : changePasswordRules_en" class="login-form">
114 :rules="language==0?changePasswordRules:changePasswordRules_en" class="login-form"
115 >
116 <el-form-item prop="username"> 78 <el-form-item prop="username">
117 79
118 <el-input 80 <el-input v-model.trim="changePasswordForm.username" :placeholder="language == 0 ? '注册时使用的邮箱' : 'E-mail'"
119 v-model.trim="changePasswordForm.username" 81 auto-complete="off" size="large" @change="changePasswordFormUsername" />
120 :placeholder="language==0?'注册时使用的邮箱':'E-mail'"
121 auto-complete="off" size="large"
122 @change="changePasswordFormUsername"
123 />
124 </el-form-item> 82 </el-form-item>
125 <el-form-item> 83 <el-form-item>
126 <el-input 84 <el-input v-model.trim="changePasswordForm.code" :placeholder="language == 0 ? '验证码' : 'Code'" auto-complete="off"
127 v-model.trim="changePasswordForm.code" 85 size="large" @keyup.enter="handleLogin">
128 :placeholder="language==0?'验证码':'Code'"
129 auto-complete="off"
130 size="large"
131 @keyup.enter="handleLogin"
132 >
133 <template #append> 86 <template #append>
134 <el-button plain style="width: 110px;" type="primary" @click="sendsmsMsg"> 87 <el-button plain style="width: 110px;" type="primary" @click="sendsmsMsg">
135 <van-count-down v-if="counting" :time="60000" format="ss" @finish="counting=false"> 88 <van-count-down v-if="counting" :time="60000" format="ss" @finish="counting = false">
136 <template #default="timeData"> 89 <template #default="timeData">
137 <span class="text-primary">{{ timeData.seconds }}{{ language == 0 ? '秒' : 's' }}</span> 90 <span class="text-primary">{{ timeData.seconds }}{{ language == 0 ? '秒' : 's' }}</span>
138 </template> 91 </template>
...@@ -147,42 +100,24 @@ ...@@ -147,42 +100,24 @@
147 </template> 100 </template>
148 </el-input> 101 </el-input>
149 <!-- <div class="vcodeBox" :style="isShow?'height:240px':'height:0'">--> 102 <!-- <div class="vcodeBox" :style="isShow?'height:240px':'height:0'">-->
150 <Vcode 103 <Vcode :fail-text="failVcode" :show="isShow" :slider-text="sliderText" :success-text="successVcode"
151 :fail-text="failVcode" :show="isShow" :slider-text="sliderText" :success-text="successVcode" 104 :z-index="9999" @success="codeSuccess" />
152 :z-index="9999" @success="codeSuccess"
153 />
154 <!-- </div>--> 105 <!-- </div>-->
155 </el-form-item> 106 </el-form-item>
156 107
157 <el-form-item prop="password"> 108 <el-form-item prop="password">
158 <el-input 109 <el-input v-model.trim="changePasswordForm.password" :placeholder="language == 0 ? '新密码' : 'New password'"
159 v-model.trim="changePasswordForm.password" 110 auto-complete="off" show-password size="large" type="password" @keyup.enter="handleLogin" />
160 :placeholder="language==0?'新密码':'New password'"
161 auto-complete="off" show-password
162 size="large"
163 type="password"
164 @keyup.enter="handleLogin"
165 />
166 </el-form-item> 111 </el-form-item>
167 <el-form-item prop="confirmPassword"> 112 <el-form-item prop="confirmPassword">
168 <el-input 113 <el-input v-model.trim="changePasswordForm.confirmPassword"
169 v-model.trim="changePasswordForm.confirmPassword" 114 :placeholder="language == 0 ? '确认密码' : 'Confirm password'" auto-complete="off" show-password size="large"
170 :placeholder="language==0?'确认密码':'Confirm password'" 115 type="password" />
171 auto-complete="off" show-password
172 size="large"
173 type="password"
174 />
175 </el-form-item> 116 </el-form-item>
176 <el-form-item style="width:100%;"> 117 <el-form-item style="width:100%;">
177 <el-button 118 <el-button :loading="loading" class="loginBtn" size="large" style="width:100%;" type="primary"
178 :loading="loading" 119 @click.prevent="handleChangePassword">
179 class="loginBtn" 120 <span v-if="language == 0">确定</span>
180 size="large"
181 style="width:100%;"
182 type="primary"
183 @click.prevent="handleChangePassword"
184 >
185 <span v-if="language==0">确定</span>
186 <span v-else>Submit</span> 121 <span v-else>Submit</span>
187 </el-button> 122 </el-button>
188 </el-form-item> 123 </el-form-item>
...@@ -339,8 +274,8 @@ function showRegister() { ...@@ -339,8 +274,8 @@ function showRegister() {
339 // } else { 274 // } else {
340 // title.value = 'REGISTER' 275 // title.value = 'REGISTER'
341 // } 276 // }
342 277
343 278
344 if (typeStr.value) { 279 if (typeStr.value) {
345 if (typeStr.value && typeStr.value == 2) { 280 if (typeStr.value && typeStr.value == 2) {
346 if (language.value == 0) { 281 if (language.value == 0) {
...@@ -404,7 +339,7 @@ function sendsmsMsg() { ...@@ -404,7 +339,7 @@ function sendsmsMsg() {
404 return 339 return
405 } 340 }
406 if (counting.value) { 341 if (counting.value) {
407 342
408 } else { 343 } else {
409 isShow.value = true 344 isShow.value = true
410 } 345 }
...@@ -484,7 +419,7 @@ const goPolicy = () => { ...@@ -484,7 +419,7 @@ const goPolicy = () => {
484 background: linear-gradient(-90deg, #8623FC, #453DEA); 419 background: linear-gradient(-90deg, #8623FC, #453DEA);
485 border-radius: 20px; 420 border-radius: 20px;
486 font-size: 18px; 421 font-size: 18px;
487 422
488 &:hover { 423 &:hover {
489 //background: linear-gradient(90deg, #8623FC, #453DEA); 424 //background: linear-gradient(90deg, #8623FC, #453DEA);
490 box-shadow: 0 0 10px #453DEA; 425 box-shadow: 0 0 10px #453DEA;
...@@ -510,20 +445,20 @@ const goPolicy = () => { ...@@ -510,20 +445,20 @@ const goPolicy = () => {
510 position: relative; 445 position: relative;
511 background: #ffffff; 446 background: #ffffff;
512 padding: 0 25px 5px; 447 padding: 0 25px 5px;
513 448
514 .el-input { 449 .el-input {
515 height: 40px; 450 height: 40px;
516 451
517 :deep(.el-input__wrapper) { 452 :deep(.el-input__wrapper) {
518 box-shadow: none; 453 box-shadow: none;
519 border-bottom: 1px solid #E5E5E5; 454 border-bottom: 1px solid #E5E5E5;
520 } 455 }
521 456
522 input { 457 input {
523 height: 40px; 458 height: 40px;
524 } 459 }
525 } 460 }
526 461
527 .input-icon { 462 .input-icon {
528 height: 39px; 463 height: 39px;
529 width: 14px; 464 width: 14px;
...@@ -539,7 +474,7 @@ const goPolicy = () => { ...@@ -539,7 +474,7 @@ const goPolicy = () => {
539 474
540 .login-code { 475 .login-code {
541 height: 40px; 476 height: 40px;
542 477
543 img { 478 img {
544 cursor: pointer; 479 cursor: pointer;
545 vertical-align: middle; 480 vertical-align: middle;
...@@ -569,7 +504,7 @@ const goPolicy = () => { ...@@ -569,7 +504,7 @@ const goPolicy = () => {
569 padding: 0; 504 padding: 0;
570 color: #fff; 505 color: #fff;
571 box-shadow: none; 506 box-shadow: none;
572 507
573 div { 508 div {
574 color: #fff; 509 color: #fff;
575 } 510 }
...@@ -579,7 +514,7 @@ const goPolicy = () => { ...@@ -579,7 +514,7 @@ const goPolicy = () => {
579 a { 514 a {
580 font-weight: 600; 515 font-weight: 600;
581 color: #000; 516 color: #000;
582 517
583 &:hover { 518 &:hover {
584 text-decoration: underline; 519 text-decoration: underline;
585 } 520 }
...@@ -593,28 +528,28 @@ const goPolicy = () => { ...@@ -593,28 +528,28 @@ const goPolicy = () => {
593 min-width: 300px; 528 min-width: 300px;
594 padding: 1px; 529 padding: 1px;
595 margin: 20px auto; 530 margin: 20px auto;
596 531
597 h3 { 532 h3 {
598 font-size: 30px; 533 font-size: 30px;
599 margin: 50px; 534 margin: 50px;
600 } 535 }
601 536
602 &.r1 { 537 &.r1 {
603 background: url("@/assets/dance/r1b.png") no-repeat left; 538 background: url("@/assets/dance/r1b.png") no-repeat left;
604 539
605 &:hover { 540 &:hover {
606 background: url("@/assets/dance/r1.png") no-repeat left; 541 background: url("@/assets/dance/r1.png") no-repeat left;
607 } 542 }
608 } 543 }
609 544
610 &.r2 { 545 &.r2 {
611 background: url("@/assets/dance/r2b.png") no-repeat left; 546 background: url("@/assets/dance/r2b.png") no-repeat left;
612 547
613 &:hover { 548 &:hover {
614 background: url("@/assets/dance/r2.png") no-repeat left; 549 background: url("@/assets/dance/r2.png") no-repeat left;
615 } 550 }
616 } 551 }
617 552
618 &:hover { 553 &:hover {
619 color: #fff; 554 color: #fff;
620 } 555 }
...@@ -624,7 +559,8 @@ const goPolicy = () => { ...@@ -624,7 +559,8 @@ const goPolicy = () => {
624 flex: 1 1 auto; 559 flex: 1 1 auto;
625 } 560 }
626 561
627 .el-input-group__append button.el-button, .el-input-group__append button.el-button:hover { 562 .el-input-group__append button.el-button,
563 .el-input-group__append button.el-button:hover {
628 color: var(--el-color-primary); 564 color: var(--el-color-primary);
629 background: #efefff; 565 background: #efefff;
630 border: var(--el-color-primary) solid 1px; 566 border: var(--el-color-primary) solid 1px;
......
...@@ -86,12 +86,12 @@ ...@@ -86,12 +86,12 @@
86 application of visa invitation letter and purchasing insurance etc.</span> 86 application of visa invitation letter and purchasing insurance etc.</span>
87 </div> 87 </div>
88 </el-form-item> 88 </el-form-item>
89 <el-form-item :label="language==0?'证件号':'Passport number'" required>
90 <el-input v-model="wdsfData.passportNumber" />
91 </el-form-item>
92 <el-form-item :label="language==0?'姓名':'Name'" required> 89 <el-form-item :label="language==0?'姓名':'Name'" required>
93 <el-input v-model.trim="wdsfData.certName" /> 90 <el-input v-model.trim="wdsfData.certName" />
94 </el-form-item> 91 </el-form-item>
92 <el-form-item :label="language==0?'证件号':'Passport number'" required>
93 <el-input v-model="wdsfData.passportNumber" />
94 </el-form-item>
95 <el-form-item :label="language==0?'性别':'Gender'" required> 95 <el-form-item :label="language==0?'性别':'Gender'" required>
96 <el-radio-group v-model="wdsfData.sex"> 96 <el-radio-group v-model="wdsfData.sex">
97 <el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio> 97 <el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio>
...@@ -105,6 +105,9 @@ ...@@ -105,6 +105,9 @@
105 style="width: 100%;" type="date" value-format="YYYY-MM-DD" 105 style="width: 100%;" type="date" value-format="YYYY-MM-DD"
106 /> 106 />
107 </el-form-item> 107 </el-form-item>
108 <el-form-item :label="language==0?'联系方式':'Contact Information'" required>
109 <el-input v-model.trim="wdsfData.phone" />
110 </el-form-item>
108 111
109 <div class="h30" /> 112 <div class="h30" />
110 113
...@@ -372,6 +375,10 @@ function bigNext() { ...@@ -372,6 +375,10 @@ function bigNext() {
372 ElMessage.warning(language.value == 0 ? '请输入姓名' : 'Please enter your name') 375 ElMessage.warning(language.value == 0 ? '请输入姓名' : 'Please enter your name')
373 return 376 return
374 } 377 }
378 if (!wdsfData.value.phone) {
379 ElMessage.warning(language.value == 0 ? '请输入联系方式' : 'Please enter your phone')
380 return
381 }
375 if (user && user.utype == '3') { 382 if (user && user.utype == '3') {
376 const obj = { 383 const obj = {
377 card: form.value.card, 384 card: form.value.card,
...@@ -381,6 +388,7 @@ function bigNext() { ...@@ -381,6 +388,7 @@ function bigNext() {
381 birth: wdsfData.value.birthday, 388 birth: wdsfData.value.birthday,
382 certName: wdsfData.value.certName, 389 certName: wdsfData.value.certName,
383 passportNumber: wdsfData.value.passportNumber, 390 passportNumber: wdsfData.value.passportNumber,
391 phone:wdsfData.value.phone,
384 ocrFlag: '1' 392 ocrFlag: '1'
385 } 393 }
386 if (Array.isArray(wdsfData.value.passportUrl)) { 394 if (Array.isArray(wdsfData.value.passportUrl)) {
...@@ -424,6 +432,7 @@ function next() { ...@@ -424,6 +432,7 @@ function next() {
424 certName: wdsfData.value.certName, 432 certName: wdsfData.value.certName,
425 birth: wdsfData.value.birthday, 433 birth: wdsfData.value.birthday,
426 passportNumber: wdsfData.value.passportNumber, 434 passportNumber: wdsfData.value.passportNumber,
435 phone:wdsfData.value.phone,
427 ocrFlag: '1' 436 ocrFlag: '1'
428 } 437 }
429 if (Array.isArray(wdsfData.value.passportUrl)) { 438 if (Array.isArray(wdsfData.value.passportUrl)) {
...@@ -449,6 +458,7 @@ function next() { ...@@ -449,6 +458,7 @@ function next() {
449 // personId: wdsfData.value.personId, 458 // personId: wdsfData.value.personId,
450 username: wdsfData.value.email, 459 username: wdsfData.value.email,
451 password: form.value.password, 460 password: form.value.password,
461 phone:wdsfData.value.phone,
452 ocrFlag: '1' 462 ocrFlag: '1'
453 } 463 }
454 if (Array.isArray(wdsfData.value.passportUrl)) { 464 if (Array.isArray(wdsfData.value.passportUrl)) {
......
...@@ -64,35 +64,40 @@ export default defineConfig(({ mode, command }) => { ...@@ -64,35 +64,40 @@ export default defineConfig(({ mode, command }) => {
64 proxy: { 64 proxy: {
65 // https://cn.vitejs.dev/config/#server-proxy 65 // https://cn.vitejs.dev/config/#server-proxy
66 '/dev-api/ztx-train': { 66 '/dev-api/ztx-train': {
67 // target: 'http://192.168.1.118:1896/stage-api', 67 target: 'http://192.168.1.22:8081',
68 target: 'https://wdsfwuxicenter.com/stage-api', 68 // target: 'https://wdsfwuxicenter.com/stage-api',
69 // target: 'https://jijin.wtwuxicenter.com/stage-api',
69 changeOrigin: true, 70 changeOrigin: true,
70 rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '') 71 rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '')
71 }, 72 },
72 '/dev-api/ztx-match': { 73 '/dev-api/ztx-match': {
73 // target: 'http://192.168.1.118:8081', 74 target: 'http://192.168.1.22:8081',
74 target: 'https://wdsfwuxicenter.com/stage-api', 75 // target: 'https://jijin.wtwuxicenter.com/stage-api',
76 // target: 'https://wdsfwuxicenter.com/stage-api',
75 // target: 'https://wdsfwuxicenter.com/stage-api/', 77 // target: 'https://wdsfwuxicenter.com/stage-api/',
76 changeOrigin: true, 78 changeOrigin: true,
77 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') 79 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
78 }, 80 },
79 '/dev-api/ztx-webSite': { 81 '/dev-api/ztx-webSite': {
80 // target: 'http://192.168.1.118:8081', 82 target: 'http://192.168.1.22:8081',
81 target: 'https://wdsfwuxicenter.com/stage-api', 83 // target: 'https://wdsfwuxicenter.com/stage-api',
84 // target: 'https://jijin.wtwuxicenter.com/stage-api',
82 changeOrigin: true, 85 changeOrigin: true,
83 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 86 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
84 }, 87 },
85 '/dev-api': { 88 '/dev-api': {
86 // target: 'http://192.168.1.213:8081/', 89 target: 'http://192.168.1.22:8081',
87 // target: 'http://192.168.1.169:8081', 90 // target: 'http://192.168.1.169:8081',
88 // target: 'https://jijin.wtwuxicenter.com/stage-api', 91 // target: 'https://jijin.wtwuxicenter.com/stage-api',
89 target: 'https://wdsfwuxicenter.com/stage-api/', 92 // target: 'https://wdsfwuxicenter.com/stage-api/',
93 // target: 'https://jijin.wtwuxicenter.com/stage-api',
90 changeOrigin: true, 94 changeOrigin: true,
91 rewrite: (p) => p.replace(/^\/dev-api/, '') 95 rewrite: (p) => p.replace(/^\/dev-api/, '')
92 }, 96 },
93 '/ticket': { 97 '/ticket': {
94 // target: 'http://192.168.1.242:8081/', 98 // target: 'https://jijin.wtwuxicenter.com/stage-api',
95 target: 'https://wdsfwuxicenter.com/h5/', 99 target: 'http://192.168.1.22:8081',
100 // target: 'https://wdsfwuxicenter.com/h5/',
96 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/', 101 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/',
97 changeOrigin: true, 102 changeOrigin: true,
98 rewrite: (p) => p.replace(/^\/ticket/, '') 103 rewrite: (p) => p.replace(/^\/ticket/, '')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!