b790e0e8 by 杨炀

no message

1 parent f9f418f2
...@@ -252,6 +252,13 @@ export function getMyGroupForCptFilter(groupId, cptId, query) { ...@@ -252,6 +252,13 @@ export function getMyGroupForCptFilter(groupId, cptId, query) {
252 data: query 252 data: query
253 }) 253 })
254 } 254 }
255 //todo
256 export function bindWdsf(perId,card) {
257 return request({
258 url: `/systemj/personInfo/bindWdsf/${perId}?card=${card}`,
259 method: 'post'
260 })
261 }
255 export function getGroupPersonList(query,groupId) { 262 export function getGroupPersonList(query,groupId) {
256 return request({ 263 return request({
257 url: `/systemj/personInfo/getPersonInfoListByGroupIdNoLabel/${groupId}`, 264 url: `/systemj/personInfo/getPersonInfoListByGroupIdNoLabel/${groupId}`,
......
...@@ -182,13 +182,14 @@ aside { ...@@ -182,13 +182,14 @@ aside {
182 margin-bottom: 10px; 182 margin-bottom: 10px;
183 } 183 }
184 } 184 }
185 .flexCenter{display: flex;align-items: center;justify-content: center;}
185 .primary-kx{border:1px solid var(--el-color-primary)!important;color: var(--el-color-primary)!important;} 186 .primary-kx{border:1px solid var(--el-color-primary)!important;color: var(--el-color-primary)!important;}
186 .primary-kx:hover{} 187 .primary-kx:hover{}
187 .border-info{background: rgba(69,61,234,0.04); 188 .border-info{background: rgba(69,61,234,0.04);
188 border: 1px solid #D3D1F6; 189 border: 1px solid #D3D1F6;
189 border-radius: 5px;padding: 10px;margin-bottom: 20px; 190 border-radius: 5px;padding: 10px;margin-bottom: 20px;
190 &.inline{display: inline-block;border-radius: 50px;padding: 10px 20px; 191 &.inline{display: inline-block;border-radius: 50px;padding: 10px 20px;
191 margin: 0 40% 20px;min-width: 200px;} 192 margin: 0 auto 20px;min-width: 280px;}
192 &.gray{background: #FAFBFD; 193 &.gray{background: #FAFBFD;
193 border: 1px solid #EEEFF0;} 194 border: 1px solid #EEEFF0;}
194 label{margin-right: 10px;} 195 label{margin-right: 10px;}
......
...@@ -241,7 +241,7 @@ img{display: block;} ...@@ -241,7 +241,7 @@ img{display: block;}
241 } 241 }
242 242
243 .text-success { 243 .text-success {
244 color: #13B5B1; 244 color: #32B16C;
245 } 245 }
246 246
247 .text-info { 247 .text-info {
...@@ -1356,7 +1356,7 @@ img{display: block;} ...@@ -1356,7 +1356,7 @@ img{display: block;}
1356 .liveImgbox{height: 100%;position: relative;width: 100%;aspect-ratio: 16/9;cursor: pointer; 1356 .liveImgbox{height: 100%;position: relative;width: 100%;aspect-ratio: 16/9;cursor: pointer;
1357 overflow: hidden; 1357 overflow: hidden;
1358 .ii{position: absolute;top: 0;left: 0;color: #fff;font-size: 14px;padding: 4px 6px 4px 30px; 1358 .ii{position: absolute;top: 0;left: 0;color: #fff;font-size: 14px;padding: 4px 6px 4px 30px;
1359 font-style: normal;z-index: 1; 1359 font-style: normal;z-index: 1;height: 28px;
1360 background: url("@/assets/dance/live.gif") no-repeat 10px #F04035; 1360 background: url("@/assets/dance/live.gif") no-repeat 10px #F04035;
1361 background-size: 14px; 1361 background-size: 14px;
1362 &::after{content: ''; width: 0; 1362 &::after{content: ''; width: 0;
...@@ -1381,7 +1381,7 @@ img{display: block;} ...@@ -1381,7 +1381,7 @@ img{display: block;}
1381 img{width: 100%;height: 100%;object-fit: cover;object-position: center; 1381 img{width: 100%;height: 100%;object-fit: cover;object-position: center;
1382 transform: scale(1);transition: all 0.2s;} 1382 transform: scale(1);transition: all 0.2s;}
1383 } 1383 }
1384 .languageBtn{ 1384 .languageBtn{white-space: nowrap;
1385 font-size: 16px; 1385 font-size: 16px;
1386 span{padding: 0 5px;cursor: pointer;} 1386 span{padding: 0 5px;cursor: pointer;}
1387 span:hover{font-weight: bold;} 1387 span:hover{font-weight: bold;}
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 <img class="logo" src="@/assets/v1/nav_logo.png"> 4 <img class="logo" src="@/assets/v1/nav_logo.png">
5 </router-link> 5 </router-link>
6 6
7 <div class="home-menu forPc"> 7 <div class="home-menu forPc" style="margin: 0 20px">
8 <el-menu 8 <el-menu
9 v-if="language==0" 9 v-if="language==0"
10 router :default-active="activeIndex" :mode="mode" :ellipsis="true" 10 router :default-active="activeIndex" :mode="mode" :ellipsis="true"
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
66 &nbsp;&nbsp;<span @click="logout()">退出</span> 66 &nbsp;&nbsp;<span @click="logout()">退出</span>
67 </el-button> 67 </el-button>
68 <el-button v-if="language==1&&isLogin" style="border-radius: 20px;" class="loginBtn"> 68 <el-button v-if="language==1&&isLogin" style="border-radius: 20px;" class="loginBtn">
69 <span @click="router.push('/center/myInfo')">个人中心</span> 69 <span @click="router.push('/center/myInfo')">Personal</span>
70 &nbsp;&nbsp;<span @click="logout()">退出</span> 70 &nbsp;&nbsp;<span @click="logout()">Exit</span>
71 </el-button> 71 </el-button>
72 </div> 72 </div>
73 </div> 73 </div>
...@@ -318,7 +318,7 @@ function getCode() { ...@@ -318,7 +318,7 @@ function getCode() {
318 :deep(.el-menu-item.is-active){color: var(--el-color-primary);} 318 :deep(.el-menu-item.is-active){color: var(--el-color-primary);}
319 } 319 }
320 .weiHead{display: flex;justify-content: end;padding: 15px;align-items: center; 320 .weiHead{display: flex;justify-content: end;padding: 15px;align-items: center;
321 .languageBtn{font-size: 20px;margin-right: 20px;line-height: 30px;} 321 .languageBtn{font-size: 20px;margin-right: 20px;line-height: 30px;white-space: nowrap;}
322 } 322 }
323 .weiMenu{ 323 .weiMenu{
324 .el-menu-item{font-size: 20px} 324 .el-menu-item{font-size: 20px}
......
...@@ -6,6 +6,11 @@ import { ...@@ -6,6 +6,11 @@ import {
6 /* Layout */ 6 /* Layout */
7 import Layout from '@/layoutPc' 7 import Layout from '@/layoutPc'
8 import Empty from '@/layoutPc/empty' 8 import Empty from '@/layoutPc/empty'
9 import NProgress from "nprogress";
10 import {getToken} from "@/utils/auth";
11 import useUserStore from "@/store/modules/user";
12 import {isRelogin} from "@/utils/request";
13 import {ElMessage} from "element-plus";
9 // import useUserStore from '@/store/modules/user' 14 // import useUserStore from '@/store/modules/user'
10 15
11 /** 16 /**
...@@ -348,6 +353,34 @@ export const constantRoutes = [ ...@@ -348,6 +353,34 @@ export const constantRoutes = [
348 ] 353 ]
349 }, 354 },
350 { 355 {
356 path: 'register',
357 component: Empty,
358 redirect: '/register',
359 children: [
360 {
361 path: '0',
362 component: () => import('@/viewsPc/register/personal'),
363 name: 'personalRegister',
364 meta: { title: 'Register' }
365 },{
366 path: '1',
367 component: () => import('@/viewsPc/register/team/team'),
368 name: 'teamRegister',
369 meta: { title: 'Register' }
370 },{
371 path: 'userAgreement',
372 component: () => import('@/viewsPc/register/userAgreement'),
373 name: 'userAgreement',
374 meta: { title: 'Register' }
375 },{
376 path: 'policy',
377 component: () => import('@/viewsPc/register/policy'),
378 name: 'policy',
379 meta: { title: 'Register' }
380 }
381 ]
382 },
383 {
351 path: 'center', 384 path: 'center',
352 component: () => import('@/viewsPc/center/index'), 385 component: () => import('@/viewsPc/center/index'),
353 children: [ 386 children: [
...@@ -393,5 +426,33 @@ const router = createRouter({ ...@@ -393,5 +426,33 @@ const router = createRouter({
393 } 426 }
394 } 427 }
395 }) 428 })
429 NProgress.configure({ showSpinner: false })
396 430
431 router.beforeEach((to, from, next) => {
432 NProgress.start()
433 if (getToken()) {
434 // 判断当前用户是否已拉取完user_info信息
435 if (!useUserStore().user) {
436 isRelogin.show = true
437 useUserStore().getInfo().then(() => {
438 isRelogin.show = false
439 next() // hack方法 确保addRoutes已完成
440 }).catch(err => {
441 useUserStore().logOut().then(() => {
442 ElMessage.error(err)
443 next({ path: '/' })
444 })
445 })
446 } else {
447 next()
448 }
449 } else {
450 // 没有token
451 next()
452 }
453 })
454
455 router.afterEach((to) => {
456 NProgress.done()
457 })
397 export default router 458 export default router
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
4 destroy-on-close :show-close="showClose" :close-on-click-modal="false" @close="close" 4 destroy-on-close :show-close="showClose" :close-on-click-modal="false" @close="close"
5 > 5 >
6 6
7 <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form" v-if="loginStatus==0"> 7 <el-form ref="loginRef" :model="loginForm" :rules="language==0?loginRules:loginRules_en" class="login-form" v-if="loginStatus==0">
8 <el-form-item prop="username"> 8 <el-form-item prop="username">
9 9
10 <el-input 10 <el-input
11 v-model.trim="loginForm.username" 11 v-model.trim="loginForm.username"
12 size="large" 12 size="large"
13 auto-complete="off" 13 auto-complete="off"
14 placeholder="账号(注册时使用的邮箱/手机号码)" 14 :placeholder="language==0?'账号(注册时使用的邮箱/手机号码)':'Account (e-mail/ cell-phone number)'"
15 > 15 >
16 16
17 </el-input> 17 </el-input>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 type="password" 22 type="password"
23 size="large" show-password 23 size="large" show-password
24 auto-complete="off" 24 auto-complete="off"
25 placeholder="密码" 25 :placeholder="language==0?'密码':'Password'"
26 @keyup.enter="handleLogin" 26 @keyup.enter="handleLogin"
27 > 27 >
28 </el-input> 28 </el-input>
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
32 v-model.trim="loginForm.code" 32 v-model.trim="loginForm.code"
33 size="large" 33 size="large"
34 auto-complete="off" 34 auto-complete="off"
35 placeholder="验证码" 35 :placeholder="language==0?'验证码':'Code'"
36 @keyup.enter="handleLogin" 36 @keyup.enter="handleLogin"
37 > 37 >
38 <template #append> 38 <template #append>
...@@ -53,43 +53,48 @@ ...@@ -53,43 +53,48 @@
53 style="width:100%;" 53 style="width:100%;"
54 @click.prevent="handleLogin" 54 @click.prevent="handleLogin"
55 > 55 >
56 <span v-if="!loading">登 录</span> 56 <span v-if="!loading">{{language==0?'登 录':'Login'}}</span>
57 <span v-else>登 录 中...</span> 57 <span v-else>{{language==0?'登 录 中...':'Logging in'}}</span>
58 </el-button> 58 </el-button>
59 </el-form-item> 59 </el-form-item>
60 <el-form-item> 60 <el-form-item>
61 <!-- <span style="color: #999;font-size: 12px;">*默认密码是会员号+证件号后四位+)*%</span>--> 61 <!-- <span style="color: #999;font-size: 12px;">*默认密码是会员号+证件号后四位+)*%</span>-->
62 <div style="display: flex;justify-content: space-between;width: 100%;"> 62 <div style="display: flex;justify-content: space-between;width: 100%;">
63 <a class="text-primary" @click="showChangePassword">忘记密码?</a> 63 <a class="text-primary" @click="showChangePassword">{{language==0?'忘记密码':'Retrieve password'}}?</a>
64 <a @click="showRegister" class="text-primary">账号注册></a> 64 <a @click="showRegister" class="text-primary">{{language==0?'账号注册':'Register'}}></a>
65 </div> 65 </div>
66 </el-form-item> 66 </el-form-item>
67 <el-form-item> 67 <el-form-item>
68 <div class="agreeLine"> 68 <div class="agreeLine" v-if="language==0">
69 登录或注册即代表同意 69 登录或注册即代表同意
70 <a>《用户协议》</a> 70 <a>《用户协议》</a>
71 <a>《隐私政策》</a> 71 <a>《隐私政策》</a>
72 </div> 72 </div>
73 <div class="agreeLine" v-else>
74 Registering and logging in means agreeing to the User
75 <a>Agreement</a> and
76 <a>Privacy Policy</a>
77 </div>
73 </el-form-item> 78 </el-form-item>
74 </el-form> 79 </el-form>
75 80
76 <div v-if="loginStatus==1"> 81 <div v-if="loginStatus==1">
77 <div class="rItem r1" @click="goRegister(1)"> 82 <div class="rItem r1" @click="goRegister(1)">
78 <h3>机构用户</h3> 83 <h3>{{language==0?'机构用户':'Organization'}}</h3>
79 </div> 84 </div>
80 <div class="rItem r2" @click="goRegister(0)"> 85 <div class="rItem r2" @click="goRegister(0)">
81 <h3>个人用户</h3> 86 <h3>{{language==0?'个人用户':'Individual'}}</h3>
82 </div> 87 </div>
83 </div> 88 </div>
84 <div v-if="loginStatus==2"> 89 <div v-if="loginStatus==2">
85 <el-form ref="changePasswordRef" :model="changePasswordForm" :rules="changePasswordRules" class="login-form"> 90 <el-form ref="changePasswordRef" :model="changePasswordForm" :rules="language==0?changePasswordRules:changePasswordRules_en" class="login-form">
86 <el-form-item prop="username"> 91 <el-form-item prop="username">
87 92
88 <el-input 93 <el-input
89 v-model.trim="changePasswordForm.username" 94 v-model.trim="changePasswordForm.username"
90 size="large" 95 size="large"
91 auto-complete="off" @change="changePasswordFormUsername" 96 auto-complete="off" @change="changePasswordFormUsername"
92 placeholder="注册时使用的邮箱/手机号码" 97 :placeholder="language==0?'注册时使用的邮箱/手机号码':'E-mail/ Phone number'"
93 > 98 >
94 99
95 </el-input> 100 </el-input>
...@@ -99,16 +104,17 @@ ...@@ -99,16 +104,17 @@
99 v-model.trim="changePasswordForm.code" 104 v-model.trim="changePasswordForm.code"
100 size="large" 105 size="large"
101 auto-complete="off" 106 auto-complete="off"
102 placeholder="邮箱/手机验证码" 107 :placeholder="language==0?'邮箱/手机验证码':'Code'"
103 @keyup.enter="handleLogin" 108 @keyup.enter="handleLogin"
104 > 109 >
105 <template #append> 110 <template #append>
106 <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> 111 <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg">
107 <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false"> 112 <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false">
108 {{ totalSeconds }} 113 {{ totalSeconds }} {{ language==0?'秒':'s' }}
109 </count-down> 114 </count-down>
110 <span v-else> 115 <span v-else>
111 发送验证码 116 <!-- Send verification code-->
117 {{language==0?'发送验证码':'Send'}}
112 </span> 118 </span>
113 </el-button> 119 </el-button>
114 </template> 120 </template>
...@@ -124,7 +130,7 @@ ...@@ -124,7 +130,7 @@
124 type="password" 130 type="password"
125 size="large" show-password 131 size="large" show-password
126 auto-complete="off" 132 auto-complete="off"
127 placeholder="新密码" 133 :placeholder="language==0?'新密码':'New password'"
128 @keyup.enter="handleLogin" 134 @keyup.enter="handleLogin"
129 > 135 >
130 </el-input> 136 </el-input>
...@@ -135,7 +141,7 @@ ...@@ -135,7 +141,7 @@
135 type="password" 141 type="password"
136 size="large" show-password 142 size="large" show-password
137 auto-complete="off" 143 auto-complete="off"
138 placeholder="确认密码" 144 :placeholder="language==0?'确认密码':'Confirm password'"
139 > 145 >
140 </el-input> 146 </el-input>
141 </el-form-item> 147 </el-form-item>
...@@ -148,7 +154,8 @@ ...@@ -148,7 +154,8 @@
148 style="width:100%;" 154 style="width:100%;"
149 @click.prevent="handleChangePassword" 155 @click.prevent="handleChangePassword"
150 > 156 >
151 <span>确定</span> 157 <span v-if="language==0">确定</span>
158 <span v-else>Submit</span>
152 </el-button> 159 </el-button>
153 </el-form-item> 160 </el-form-item>
154 </el-form> 161 </el-form>
...@@ -163,9 +170,11 @@ import {forgetPassword, getCodeImg} from '@/api/login' ...@@ -163,9 +170,11 @@ import {forgetPassword, getCodeImg} from '@/api/login'
163 import * as match from '@/apiPc/match' 170 import * as match from '@/apiPc/match'
164 import Cookies from 'js-cookie' 171 import Cookies from 'js-cookie'
165 import useUserStore from '@/store/modules/user' 172 import useUserStore from '@/store/modules/user'
173 const language = ref(cache.local.get('language') || 0)
166 import { useRouter } from 'vue-router' 174 import { useRouter } from 'vue-router'
167 import { getCurrentInstance, ref, watch } from 'vue' 175 import { getCurrentInstance, ref, watch } from 'vue'
168 import { ElMessage,ElMessageBox} from 'element-plus' 176 import { ElMessage,ElMessageBox} from 'element-plus'
177 import cache from "@/plugins/cache";
169 const emit = defineEmits(['submitForm']) 178 const emit = defineEmits(['submitForm'])
170 const userStore = useUserStore() 179 const userStore = useUserStore()
171 const router = useRouter() 180 const router = useRouter()
...@@ -189,10 +198,21 @@ const changePasswordRules = { ...@@ -189,10 +198,21 @@ const changePasswordRules = {
189 confirmPassword: [{ required: true, trigger: 'change', message: '请再次输入您的密码' }], 198 confirmPassword: [{ required: true, trigger: 'change', message: '请再次输入您的密码' }],
190 code: [{ required: true, trigger: 'change', message: '请输入验证码' }] 199 code: [{ required: true, trigger: 'change', message: '请输入验证码' }]
191 } 200 }
201 const loginRules_en = {
202 username: [{ required: true, trigger: 'change', message: 'Please enter ' }],
203 password: [{ required: true, trigger: 'change', message: 'Please enter ' }],
204 code: [{ required: true, trigger: 'change', message: 'Please enter ' }]
205 }
206 const changePasswordRules_en = {
207 username: [{ required: true, trigger: 'change', message: 'Please enter ' }],
208 password: [{ required: true, trigger: 'change', message: 'Please enter ' }],
209 confirmPassword: [{ required: true, trigger: 'change', message: 'Please enter ' }],
210 code: [{ required: true, trigger: 'change', message: 'Please enter ' }]
211 }
192 212
193 const show = ref(false) 213 const show = ref(false)
194 const loginStatus = ref(0) 214 const loginStatus = ref(0)
195 const title = ref('用户登录') 215 const title = ref('')
196 const showClose = ref(true) 216 const showClose = ref(true)
197 const codeUrl = ref('') 217 const codeUrl = ref('')
198 const loading = ref(false) 218 const loading = ref(false)
...@@ -212,6 +232,11 @@ const changePasswordForm = ref({ ...@@ -212,6 +232,11 @@ const changePasswordForm = ref({
212 const open = (params) => { 232 const open = (params) => {
213 show.value = true 233 show.value = true
214 showClose.value = !(params?.notShowClose || false) 234 showClose.value = !(params?.notShowClose || false)
235 if(language.value==0){
236 title.value = '用户登录'
237 } else {
238 title.value = 'LOGIN'
239 }
215 getCode() 240 getCode()
216 getCookie() 241 getCookie()
217 } 242 }
...@@ -252,11 +277,19 @@ function close() { ...@@ -252,11 +277,19 @@ function close() {
252 } 277 }
253 function showChangePassword() { 278 function showChangePassword() {
254 loginStatus.value=2 279 loginStatus.value=2
280 if(language.value==0){
255 title.value = '忘记密码/密码重置' 281 title.value = '忘记密码/密码重置'
282 } else {
283 title.value = 'FORGET PASSWORD'
284 }
256 } 285 }
257 function showRegister() { 286 function showRegister() {
258 loginStatus.value=1 287 loginStatus.value=1
288 if(language.value==0){
259 title.value = '账号注册' 289 title.value = '账号注册'
290 } else {
291 title.value = 'REGISTER'
292 }
260 } 293 }
261 function goRegister(n) { 294 function goRegister(n) {
262 if(n==0){ 295 if(n==0){
...@@ -291,7 +324,11 @@ function getCookie() { ...@@ -291,7 +324,11 @@ function getCookie() {
291 } 324 }
292 function sendsmsMsg() { 325 function sendsmsMsg() {
293 if(!changePasswordForm.value.username){ 326 if(!changePasswordForm.value.username){
327 if(language.value==0){
294 ElMessage.error('请填写手机/邮箱') 328 ElMessage.error('请填写手机/邮箱')
329 } else {
330 ElMessage.error('Please fill in your phone/email address')
331 }
295 return 332 return
296 } 333 }
297 if(counting.value){ 334 if(counting.value){
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
4 <div class="box ph-30"> 4 <div class="box ph-30">
5 <el-card> 5 <el-card>
6 <el-steps :active="activeStep" align-center> 6 <el-steps :active="activeStep" align-center>
7 <el-step title="团队信息"/> 7 <el-step :title="language==0?'团队信息':'Team Information'" />
8 <el-step title="教练/领队/其他"/> 8 <el-step :title="language==0?'教练/领队/其他':'Coach/Team Leader/Other'" />
9 <el-step title="选手报名"/> 9 <el-step :title="language==0?'选手报名':'Participant Registration'" />
10 <el-step title="提交审核"/> 10 <el-step :title="language==0?'提交审核':'Submit for review'" />
11 </el-steps> 11 </el-steps>
12 </el-card> 12 </el-card>
13 13
...@@ -171,12 +171,13 @@ import {ref, reactive} from 'vue' ...@@ -171,12 +171,13 @@ import {ref, reactive} from 'vue'
171 import {getCurrentInstance, onMounted} from '@vue/runtime-core' 171 import {getCurrentInstance, onMounted} from '@vue/runtime-core'
172 import * as match from '@/apiPc/match' 172 import * as match from '@/apiPc/match'
173 import dialogAddCoach from './components/addCoach' 173 import dialogAddCoach from './components/addCoach'
174 174 import cache from '@/utils/cache'
175 const {proxy} = getCurrentInstance() 175 const {proxy} = getCurrentInstance()
176 const router = useRouter() 176 const router = useRouter()
177 const route = useRoute() 177 const route = useRoute()
178 import {ElMessage} from 'element-plus' 178 import {ElMessage} from 'element-plus'
179 import {useRoute, useRouter} from 'vue-router' 179 import {useRoute, useRouter} from 'vue-router'
180 const language = ref(cache.local.get('language') || 0)
180 181
181 const data = reactive({ 182 const data = reactive({
182 form: { 183 form: {
......
1 <template> 1 <template>
2 <div style="padding: 0 20px 20px"> 2 <div style="padding: 0 20px 20px" v-if="language==0">
3 <!--赛事详情--> 3 <!--赛事详情-->
4 <div class="indexTitle"><h3 class="leftboderTT">组织机构</h3></div> 4 <div class="indexTitle">
5 <div class="xzbox"> 5 <h3 class="leftboderTT">组织机构</h3>
6 1.各单位限报1支队伍,每队需报领队1名(运动员可兼任),运动员限报4名<br> 6 </div>
7 2.参赛运动员必须是参赛企业的员工(包括劳务派遣和外籍员工)<br> 7 <div class="xzbox" v-html="form.ocOrganizer">
8 3.参赛运动员必须年满18至50周岁,50周岁以上者不建议参加此次比赛<br>
9 4.参赛运动员必须身体健康
10 </div> 8 </div>
11 <div class="indexTitle"><h3 class="leftboderTT">报名须知</h3></div> 9 <div class="indexTitle"><h3 class="leftboderTT">报名须知</h3></div>
12 <div class="xzbox" v-html="form.signKnow"> 10 <div class="xzbox" v-html="form.signKnow">
...@@ -103,9 +101,115 @@ ...@@ -103,9 +101,115 @@
103 <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/> 101 <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/>
104 </div> 102 </div>
105 </div> 103 </div>
104 <div style="padding: 0 20px 20px" v-else>
105 <!--赛事详情-->
106 <div class="indexTitle">
107 <h3 class="leftboderTT">Organization</h3>
108 </div>
109 <div class="xzbox" v-html="form.ocOrganizer">
110 </div>
111 <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div>
112 <div class="xzbox" v-html="form.signKnow">
113
114 </div>
115 <div class="indexTitle" v-if="form.type==0"><h3 class="leftboderTT">Competition Regulations</h3></div>
116 <div class="xzbox" v-if="form.type==0" v-html="form.ruleUrl"></div>
117 <div class="indexTitle" v-if="form.type==1"><h3 class="leftboderTT">Event settings</h3></div>
118 <div class="collapsebox" v-if="form.type==1">
119 <el-collapse v-if="form.cptProjectList?.length > 0">
120 <el-collapse-item :title="p.name" :name="index" :key="index" v-for="(p,index) in form.cptProjectList">
121 <div class="pd20">
122 <table class="table">
123 <tr>
124 <td>日期</td>
125 <td>单元</td>
126 <td>组别</td>
127 <td>时间</td>
128 <td>阶段</td>
129 </tr>
130 <tr>
131 <td rowspan="4">2023/10/6(星期五)</td>
132 <td rowspan="4">BRK01</td>
133 <td>男子</td>
134 <td>14:30 - 15:30</td>
135 <td>资格赛</td>
136 </tr>
137 <tr>
138 <td>女子</td>
139 <td>14:30 - 15:30</td>
140 <td>资格赛</td>
141 </tr>
142 <tr>
143 <td>男子</td>
144 <td>14:30 - 15:30</td>
145 <td>循环赛</td>
146 </tr>
147 <tr>
148 <td>女子</td>
149 <td>14:30 - 15:30</td>
150 <td>循环赛</td>
151 </tr>
152 <tr>
153 <td rowspan="8">2023/10/7(星期六)</td>
154 <td rowspan="8">BRK02</td>
155 <td>男子</td>
156 <td>14:30 - 15:30</td>
157 <td>四分之一决赛</td>
158 </tr>
159 <tr>
160 <td>男子</td>
161 <td>14:30 - 15:30</td>
162 <td>四分之一决赛</td>
163 </tr>
164 <tr>
165 <td>女子</td>
166 <td>14:30 - 15:30</td>
167 <td>半决赛</td>
168 </tr>
169 <tr>
170 <td>女子</td>
171 <td>14:30 - 15:30</td>
172 <td>半决赛</td>
173 </tr>
174 <tr>
175 <td>男子</td>
176 <td>14:30 - 15:30</td>
177 <td>季军赛</td>
178 </tr>
179 <tr>
180 <td>女子</td>
181 <td>14:30 - 15:30</td>
182 <td>季军赛</td>
183 </tr>
184 <tr>
185 <td>男子</td>
186 <td>14:30 - 15:30</td>
187 <td>决赛</td>
188 </tr>
189 <tr>
190 <td>女子</td>
191 <td>14:30 - 15:30</td>
192 <td>决赛</td>
193 </tr>
194 <tr>
195 <td colspan="5" style="text-align: left">
196 注:竞赛日程将根据最终参赛人数和电视转播的要求进行调整
197 </td>
198 </tr>
199 </table>
200 </div>
201 </el-collapse-item>
202 </el-collapse>
203 <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="form.cptProjectList?.length == 0" description=" "/>
204 </div>
205 </div>
106 </template> 206 </template>
107 207
108 <script setup> 208 <script setup>
209 import {ref} from "vue";
210 import cache from "@/plugins/cache";
211
212 const language = ref(cache.local.get('language') || 0)
109 const props = defineProps({ 213 const props = defineProps({
110 form:{ 214 form:{
111 type:Object, 215 type:Object,
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
2 <el-card :body-style="{padding: '10px'}" class="mb20"> 2 <el-card :body-style="{padding: '10px'}" class="mb20">
3 <div> 3 <div>
4 <div class="liveImgbox" @click="goDetail(newsList[0])"> 4 <div class="liveImgbox" @click="goDetail(newsList[0])">
5 <i class="ii">直播中</i> 5 <i class="ii">{{ language==0?'直播中':'Live' }}</i>
6 <img :src="fillImgUrl_webSite(newsList[0]?.picUrl)"> 6 <img :src="fillImgUrl_webSite(newsList[0]?.picUrl)">
7 </div> 7 </div>
8 </div> 8 </div>
9 9
10 <div class="indexTitle"> 10 <div class="indexTitle">
11 <h3 class="leftboderTT">赛事报道</h3> 11 <h3 class="leftboderTT">{{ language==0?'赛事报道':'Special reports' }}</h3>
12 <a class="more" @click="goList(query2.sortId,'专题报道')">MORE</a> 12 <a class="more" @click="goList(query2.sortId,'专题报道')">MORE</a>
13 </div> 13 </div>
14 <div> 14 <div>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
17 </div> 17 </div>
18 </div> 18 </div>
19 19
20 <div class="indexTitle"><h3 class="leftboderTT">赛事视频</h3> 20 <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'赛事视频':'Event Videos' }}</h3>
21 <a class="more" @click="goList(10000006,'赛事视频')">MORE</a> 21 <a class="more" @click="goList(10000006,'赛事视频')">MORE</a>
22 </div> 22 </div>
23 <div> 23 <div>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
25 <img :src="fillImgUrl_webSite(newsList[1]?.picUrl)"> 25 <img :src="fillImgUrl_webSite(newsList[1]?.picUrl)">
26 </div> 26 </div>
27 </div> 27 </div>
28 <div class="indexTitle"><h3 class="leftboderTT">赛事图片</h3> 28 <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'赛事图片':'Event Photos' }}</h3>
29 <a class="more" @click="goList(10000007,'赛事图片')">MORE</a> 29 <a class="more" @click="goList(10000007,'赛事图片')">MORE</a>
30 </div> 30 </div>
31 <div> 31 <div>
...@@ -37,6 +37,9 @@ ...@@ -37,6 +37,9 @@
37 <script setup> 37 <script setup>
38 import {getNewsListById} from "@/apiPc/webSite"; 38 import {getNewsListById} from "@/apiPc/webSite";
39 import {onMounted, ref} from "vue"; 39 import {onMounted, ref} from "vue";
40 import cache from '@/plugins/cache'
41 const language = ref(cache.local.get('language') || 0)
42
40 const newsList = ref([]) 43 const newsList = ref([])
41 const newsList2 = ref([]) 44 const newsList2 = ref([])
42 const query1 = ref({ 45 const query1 = ref({
......
...@@ -5,18 +5,18 @@ ...@@ -5,18 +5,18 @@
5 <el-card class="mb20"> 5 <el-card class="mb20">
6 <el-row :gutter="20"> 6 <el-row :gutter="20">
7 <el-col :lg="7" :md="24" :xl="6" > 7 <el-col :lg="7" :md="24" :xl="6" >
8 <img class="mauto" src="@/assets/dance/fm.jpg"> 8 <img class="mauto" :src="(matchData.enCpt.bgImgUrl)" >
9 </el-col> 9 </el-col>
10 <el-col :lg="9" :md="12" :xl="10"> 10 <el-col :lg="9" :md="12" :xl="10">
11 <h3> 11 <h3>
12 WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 12 {{ matchData.enCpt.name }}
13 </h3> 13 </h3>
14 <p class="ppl"><label class="bm1">Playing Time:</label>2024.07.21-2024.07.23</p> 14 <p class="ppl"><label class="bm1">Playing Time:</label>{{matchData.enCpt.beginTime?.slice(0,10)}} ~ {{ matchData.enCpt.endTime?.slice(0,10) }}</p>
15 <p class="ppl"><label class="bm2">Event Level:</label>league</p> 15 <p class="ppl"><label class="bm2">Event Level:</label>{{ matchData.enCpt.level }}</p>
16 <p class="ppl"><label class="bm3">Location:</label>201 201, Zone A, Sports Center, Binhu District, Wuxi City, Jiangsu Province </p> 16 <p class="ppl"><label class="bm3">Location:</label>{{ matchData.enCpt.address }}</p>
17 <p class="ppl"><label class="bm4">Registration Deadline:</label>2024-06-30 13:00</p> 17 <p class="ppl"><label class="bm4">Registration Deadline:</label>{{ matchData.enCpt.signEndTime?.slice(0,10) }}</p>
18 </el-col> 18 </el-col>
19 <el-col :lg="8" :md="12" :xl="8"> 19 <el-col :lg="8" :md="12" :xl="8" v-if="matchData.type=='0'">
20 <p class="countDownTitle"><span>Registration deadline countdown</span></p> 20 <p class="countDownTitle"><span>Registration deadline countdown</span></p>
21 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> 21 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">
22 <template #default="timeData"> 22 <template #default="timeData">
...@@ -31,312 +31,240 @@ ...@@ -31,312 +31,240 @@
31 </template> 31 </template>
32 </van-count-down> 32 </van-count-down>
33 33
34 <div class="funcBtns">
35 <div> 34 <div>
35 <a class="btn-lineG mb20" @click="choseSignType" style="display: block;text-align: center;">Application</a>
36 </div>
37 </el-col>
38 </el-row>
39 </el-card>
40
41 <el-row gutter="14">
42 <el-col :lg="4">
43 <div class="funcBtn" @click="building">
44 <img src="@/assets/dance/btn04.png"/>
45 <h4>Booking</h4>
46 </div>
47 </el-col>
48 <el-col :lg="4">
49 <div class="funcBtn" @click="building">
36 <img src="@/assets/dance/btn01.png"/> 50 <img src="@/assets/dance/btn01.png"/>
37 <h4>酒店预约</h4> 51 <h4>Hotel</h4>
38 </div> 52 </div>
39 <div> 53 </el-col>
54 <el-col :lg="4">
55 <div class="funcBtn" @click="building">
40 <img src="@/assets/dance/btn02.png"/> 56 <img src="@/assets/dance/btn02.png"/>
41 <h4>接送预约</h4> 57 <h4>Taxi</h4>
42 </div> 58 </div>
43 <div> 59 </el-col>
60 <el-col :lg="4">
61 <div class="funcBtn" @click="building">
44 <img src="@/assets/dance/btn03.png"/> 62 <img src="@/assets/dance/btn03.png"/>
45 <h4>餐饮预约</h4> 63 <h4>Order food</h4>
46 </div> 64 </div>
65 </el-col>
66 <el-col :lg="4">
67 <div class="funcBtn" @click="building">
68 <img src="@/assets/dance/btn05.png"/>
69 <h4>Makeup appointment</h4>
70 </div>
71 </el-col>
72 <el-col :lg="4">
73 <div class="funcBtn" @click="building">
74 <img src="@/assets/dance/btn06.png"/>
75 <h4>Photo appointment</h4>
47 </div> 76 </div>
48 </el-col> 77 </el-col>
49 </el-row> 78 </el-row>
50 </el-card>
51 79
52 <el-row :gutter="20"> 80 <el-row :gutter="20" v-if="matchData.type=='0'">
53 <el-col :lg="18"> 81 <el-col :lg="18">
54 <el-card :body-style="{'padding':'0'}"> 82 <el-card :body-style="{'padding':'0'}">
55
56 <div class="lineHead"> 83 <div class="lineHead">
57 <ul> 84 <ul>
58 <li class="active">Event Details</li> 85 <li v-for="l in menu" :key="l.name" @click="changeMenu(menu,l)" :class="l.active==1?'active':''">{{l.name}}</li>
59 <li>Schedule</li>
60 <li>Participating Teams</li>
61 <li>Achievement</li>
62 <li>Notes</li>
63 </ul> 86 </ul>
64 </div> 87 </div>
65 88 <matchInfo :form="matchData" v-if="menu[0].active==1"/>
66 <div style="padding: 0 20px 20px"> 89 <div v-if="menu[1].active==1">
67 <!-- 赛事详情-->
68 <div class="indexTitle"><h3 class="leftboderTT">Organization</h3></div>
69 <div class="xzbox"></div>
70 <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div>
71 <div class="xzbox">
72 1. Each unit is limited to reporting one team, each team needs to report one leader (athletes can also serve), and athletes are limited to reporting four<br>
73 2. Participating athletes must be employees of the participating companies (including labor dispatch and foreign employees)<br>
74 3. Contestants must be between the ages of 18 and 50, and those over 50 are not recommended to participate in this competition
75 <br>
76 4.Contestants must be physically healthy
77 </div>
78
79 <div class="indexTitle"><h3 class="leftboderTT">Competition projects</h3></div>
80 <div class="collapsebox"> 90 <div class="collapsebox">
81 <el-collapse v-model="activeNames" @change="handleChange"> 91 <el-collapse v-if="matchData.cptProjectList?.length > 0">
82 <el-collapse-item title="Breaking" name="1"> 92 <el-collapse-item :title="p.name" :name="index" :key="index" v-for="(p,index) in matchData.cptProjectList">
83 <div class="pd20"> 93 <div class="pd20">
84 <div class="tablebody">
85 <table class="table"> 94 <table class="table">
86 <tr> 95 <tr>
87 <td>date</td> 96 <td>日期</td>
88 <td>unit</td> 97 <td>单元</td>
89 <td>group</td> 98 <td>组别</td>
90 <td>time</td> 99 <td>时间</td>
91 <td>stage</td> 100 <td>阶段</td>
92 </tr> 101 </tr>
93 <tr> 102 <tr>
94 <td rowspan="4">2023/10/6(Friday)</td> 103 <td rowspan="4">2023/10/6(星期五)</td>
95 <td rowspan="4">BRK01</td> 104 <td rowspan="4">BRK01</td>
96 <td>man</td> 105 <td>男子</td>
97 <td>14:30 - 15:30</td> 106 <td>14:30 - 15:30</td>
98 <td>Qualification Tournament</td> 107 <td>资格赛</td>
99 </tr> 108 </tr>
100 <tr> 109 <tr>
101 <td>woman</td> 110 <td>女子</td>
102 <td>14:30 - 15:30</td> 111 <td>14:30 - 15:30</td>
103 <td>Qualification Tournament</td> 112 <td>资格赛</td>
104 </tr> 113 </tr>
105 <tr> 114 <tr>
106 <td>man</td> 115 <td>男子</td>
107 <td>14:30 - 15:30</td> 116 <td>14:30 - 15:30</td>
108 <td>round robin </td> 117 <td>循环赛</td>
109 </tr> 118 </tr>
110 <tr> 119 <tr>
111 <td>woman</td> 120 <td>女子</td>
112 <td>14:30 - 15:30</td> 121 <td>14:30 - 15:30</td>
113 <td>round robin </td> 122 <td>循环赛</td>
114 </tr> 123 </tr>
115 <tr> 124 <tr>
116 <td rowspan="8">2023/10/7(Saturday)</td> 125 <td rowspan="8">2023/10/7(星期六)</td>
117 <td rowspan="8">BRK02</td> 126 <td rowspan="8">BRK02</td>
118 <td>man</td> 127 <td>男子</td>
119 <td>14:30 - 15:30</td> 128 <td>14:30 - 15:30</td>
120 <td>quarter final </td> 129 <td>四分之一决赛</td>
121 </tr> 130 </tr>
122 <tr> 131 <tr>
123 <td>man</td> 132 <td>男子</td>
124 <td>14:30 - 15:30</td> 133 <td>14:30 - 15:30</td>
125 <td>quarter final </td> 134 <td>四分之一决赛</td>
126 </tr> 135 </tr>
127 <tr> 136 <tr>
128 <td>woman</td> 137 <td>女子</td>
129 <td>14:30 - 15:30</td> 138 <td>14:30 - 15:30</td>
130 <td>semifinal</td> 139 <td>半决赛</td>
131 </tr> 140 </tr>
132 <tr> 141 <tr>
133 <td>woman</td> 142 <td>女子</td>
134 <td>14:30 - 15:30</td> 143 <td>14:30 - 15:30</td>
135 <td>semifinal</td> 144 <td>半决赛</td>
136 </tr> 145 </tr>
137 <tr> 146 <tr>
138 <td>man</td> 147 <td>男子</td>
139 <td>14:30 - 15:30</td> 148 <td>14:30 - 15:30</td>
140 <td>LPL</td> 149 <td>季军赛</td>
141 </tr> 150 </tr>
142 <tr> 151 <tr>
143 <td>woman</td> 152 <td>女子</td>
144 <td>14:30 - 15:30</td> 153 <td>14:30 - 15:30</td>
145 <td>LPL</td> 154 <td>季军赛</td>
146 </tr> 155 </tr>
147 <tr> 156 <tr>
148 <td>man</td> 157 <td>男子</td>
149 <td>14:30 - 15:30</td> 158 <td>14:30 - 15:30</td>
150 <td>decider</td> 159 <td>决赛</td>
151 </tr> 160 </tr>
152 <tr> 161 <tr>
153 <td>woman</td> 162 <td>女子</td>
154 <td>14:30 - 15:30</td> 163 <td>14:30 - 15:30</td>
155 <td>decider</td> 164 <td>决赛</td>
156 </tr> 165 </tr>
157 <tr> 166 <tr>
158 <td colspan="5" style="text-align: left"> 167 <td colspan="5" style="text-align: left">
159 Note: The competition schedule will be adjusted based on the final number of participants and the requirements for television broadcasting 168 注:竞赛日程将根据最终参赛人数和电视转播的要求进行调整
160 </td> 169 </td>
161 </tr> 170 </tr>
162 </table> 171 </table>
163 </div> 172 </div>
164 </div>
165 </el-collapse-item> 173 </el-collapse-item>
166 <el-collapse-item title="Latin " name="2"> 174 </el-collapse>
167 <div class="pd20"> 175 <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="matchData.cptProjectList?.length == 0" description=" "/>
168 <table class="table">
169 <tr>
170 <td>date</td>
171 <td>unit</td>
172 <td>group</td>
173 <td>time</td>
174 <td>stage</td>
175 </tr>
176 <tr>
177 <td rowspan="4">2023/10/6(Friday )</td>
178 <td rowspan="4">BRK01</td>
179 <td>man</td>
180 <td>14:30 - 15:30</td>
181 <td>Qualification Tournament</td>
182 </tr>
183 <tr>
184 <td>woman</td>
185 <td>14:30 - 15:30</td>
186 <td>Qualification Tournament</td>
187 </tr>
188 <tr>
189 <td>man</td>
190 <td>14:30 - 15:30</td>
191 <td>round robin </td>
192 </tr>
193 <tr>
194 <td>woman</td>
195 <td>14:30 - 15:30</td>
196 <td>round robin </td>
197 </tr>
198 <tr>
199 <td rowspan="8">2023/10/7(Saturday )</td>
200 <td rowspan="8">BRK02</td>
201 <td>man</td>
202 <td>14:30 - 15:30</td>
203 <td>quarter final </td>
204 </tr>
205 <tr>
206 <td>man</td>
207 <td>14:30 - 15:30</td>
208 <td>quarter final </td>
209 </tr>
210 <tr>
211 <td>woman</td>
212 <td>14:30 - 15:30</td>
213 <td>semifinal</td>
214 </tr>
215 <tr>
216 <td>woman</td>
217 <td>14:30 - 15:30</td>
218 <td>semifinal</td>
219 </tr>
220 <tr>
221 <td>man</td>
222 <td>14:30 - 15:30</td>
223 <td>LPL</td>
224 </tr>
225 <tr>
226 <td>woman</td>
227 <td>14:30 - 15:30</td>
228 <td>LPL</td>
229 </tr>
230 <tr>
231 <td>man</td>
232 <td>14:30 - 15:30</td>
233 <td>decider</td>
234 </tr>
235 <tr>
236 <td>woman</td>
237 <td>14:30 - 15:30</td>
238 <td>decider</td>
239 </tr>
240
241 </table>
242 </div> 176 </div>
243 </el-collapse-item>
244 <el-collapse-item title="Standard " name="3">
245 <div class="pd20">
246 <table class="table">
247 <tr>
248 <td>date</td>
249 <td>unit</td>
250 <td>group</td>
251 <td>time</td>
252 <td>stage</td>
253 </tr>
254 <tr>
255 <td rowspan="4">2023/10/6(Friday )</td>
256 <td rowspan="4">BRK01</td>
257 <td>man</td>
258 <td>14:30 - 15:30</td>
259 <td>Qualification Tournament</td>
260 </tr>
261 <tr>
262 <td>woman</td>
263 <td>14:30 - 15:30</td>
264 <td>Qualification Tournament</td>
265 </tr>
266 <tr>
267 <td>man</td>
268 <td>14:30 - 15:30</td>
269 <td>round robin </td>
270 </tr>
271 <tr>
272 <td>woman</td>
273 <td>14:30 - 15:30</td>
274 <td>round robin </td>
275 </tr>
276 <tr>
277 <td rowspan="8">2023/10/7(Saturday )</td>
278 <td rowspan="8">BRK02</td>
279 <td>man</td>
280 <td>14:30 - 15:30</td>
281 <td>quarter final </td>
282 </tr>
283 <tr>
284 <td>man</td>
285 <td>14:30 - 15:30</td>
286 <td>quarter final </td>
287 </tr>
288 <tr>
289 <td>woman</td>
290 <td>14:30 - 15:30</td>
291 <td>semifinal</td>
292 </tr>
293 <tr>
294 <td>woman</td>
295 <td>14:30 - 15:30</td>
296 <td>semifinal</td>
297 </tr>
298 <tr>
299 <td>man</td>
300 <td>14:30 - 15:30</td>
301 <td>LPL</td>
302 </tr>
303 <tr>
304 <td>woman</td>
305 <td>14:30 - 15:30</td>
306 <td>LPL</td>
307 </tr>
308 <tr>
309 <td>man</td>
310 <td>14:30 - 15:30</td>
311 <td>decider</td>
312 </tr>
313 <tr>
314 <td>woman</td>
315 <td>14:30 - 15:30</td>
316 <td>decider</td>
317 </tr>
318
319 </table>
320 </div> 177 </div>
321 </el-collapse-item> 178 <match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/>
322 </el-collapse> 179 <div v-if="menu[3].active==1">
180 <el-row :gutter="20" v-if="matchData.signType == '0'">
181 <el-col v-for="t in signDoneGroupList" :key="t.id" :span="8">
182 <div class="teamItem">
183 <el-avatar :size="60" :src="t.imgUrl||t.avatar" />
184 <span class="name">{{ t.name }}</span>
185 </div>
186 </el-col>
187 </el-row>
188 <el-row :gutter="20" v-else>
189 <el-col :span="24" v-for="(t,index) in signDoneGroupList" :key="t.id">
190 <div class="nowteamItem">
191 <span>{{index+1}}.</span>
192 <el-avatar :size="80" :src="t.imgUrl||t.avatar" :fit="cover"/>
193 <div class="info">
194 <h3 class="name">{{ t.name }}</h3>
195 <p v-if="t.extraInfo">
196 <span v-for="(ee,index) in JSON.parse(t.extraInfo)" :key="index" v-show="(ee?.type == '0'||ee?.type == '4')&&index<2">
197 {{ee.value}}&ensp;&ensp;
198 </span>
199 </p>
200 </div>
201 <p class="rr"><span>{{t.renCi}}</span> registrants</p>
202 </div>
203 </el-col>
204 </el-row>
205 <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="(signDoneGroupList==null)||(signDoneGroupList.length==0)" description="" />
206 </div>
207 <div v-if="menu[4].active==1">
208 <!-- 成绩-->
209 <el-empty image="@/assets/img/order_no.png" image-size="228" description="" />
210 </div>
211 <div v-if="menu[5].active==1" class="pd20">
212 <div class="xzbox" v-html="matchData.signKnow">
213
323 </div> 214 </div>
324 </div> 215 </div>
325 </el-card> 216 </el-card>
326 <div style="height: 20px"></div> 217 <div style="height: 20px"></div>
218
327 </el-col> 219 </el-col>
328 <el-col :lg="6"> 220 <el-col :lg="6">
329 <a class="btn-lineG mb20" style="display: block;text-align: center;">Application</a> 221 <match-news/>
330 <el-card :body-style="{padding: 0}"> 222 </el-col>
331 <el-tabs v-model="activeName2" class="match-tabs" @tab-click="handleClick"> 223 </el-row>
332 <el-tab-pane label="Registration Time" name="first"> 224
333 <div class="gg"> 225 <el-row v-if="matchData.type=='1'" class="mb20">
334 <p><label>Registration Time:</label>2023-03-23 ~ 2023-05-09</p> 226 <el-col :lg="24">
335 <p><label>Playing Time:</label>2023-05-14 ~ 2023-05-14</p> 227 <el-card :body-style="{'padding':'0'}">
336 <p><label>Contact Information:</label>13915234567</p> 228 <div class="lineHead">
229 <ul>
230 <li v-for="l in menu1" :key="l.name" @click="changeMenu(menu1,l)" :class="l.active==1?'active':''">{{l.name}}</li>
231 </ul>
232 </div>
233 <!-- 分站赛-->
234 <div v-if="menu1[0].active==1">
235 <div class="matchItem" v-for="n in matchData.cpts" :key="n.id" @click="goDetail(n.id)">
236 <el-avatar alt="logo" :size="100" :src="n.logoUrl" />
237 <div class="info">
238 <h3>{{ n.name }}</h3>
239 <p>
240 Registration deadline:{{ n.signEndTime?.substring(0, 10) }}
241 <el-tag v-if="n.progressStatusCode==3" type="warning">About to begin</el-tag>
242 <el-tag v-if="n.progressStatusCode==2" type="success">Registration in progress</el-tag>
243 <el-tag v-if="n.progressStatusCode==4">In play</el-tag>
244 <el-tag v-if="n.progressStatusCode==5" type="info">Ended</el-tag>
245 <el-tag v-if="n.progressStatusCode==1" type="info">Not started</el-tag>
246 </p>
247 <p>
248 Playing time:{{ n.beginTime?.substring(0, 10) }}-{{ n.endTime?.substring(0, 10) }}
249 </p>
250 <p>
251 Location:{{ n.address }}
252 </p>
253 </div>
254 <div class="pobtns">
255 <el-button v-if="n.progressStatusCode==2" round type="success" @click="goDetail(n.id)">
256 Application
257 </el-button>
258 <el-button v-else-if="n.progressStatusCode==5" round type="info" @click="goDetail(n.id)">
259 Registration ended
260 </el-button>
261 <el-button v-else round type="warning" @click="goDetail(n.id)">Detail</el-button>
262 </div>
337 </div> 263 </div>
338 </el-tab-pane> 264 <el-empty image="@/assets/img/order_no.png" image-size="228" v-if="matchData.cpts?.length == 0" description=" "/>
339 </el-tabs> 265 </div>
266 <matchInfo :form="matchData" v-if="menu1[1].active==1"/>
267 <match-schedule-list :match-data="matchData" v-if="menu1[2].active==1"/>
340 </el-card> 268 </el-card>
341 </el-col> 269 </el-col>
342 </el-row> 270 </el-row>
...@@ -347,6 +275,11 @@ ...@@ -347,6 +275,11 @@
347 </template> 275 </template>
348 276
349 <script setup> 277 <script setup>
278 import groupDetail from '@/viewsPc/center/component/teamInfo_form'
279 import matchInfo from '@/viewsPc/match/components/matchInfo'
280 import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList";
281 import MatchNews from "@/viewsPc/match/components/matchNews";
282
350 import { getCurrentInstance, ref } from 'vue' 283 import { getCurrentInstance, ref } from 'vue'
351 import { reactive, onMounted } from '@vue/runtime-core' 284 import { reactive, onMounted } from '@vue/runtime-core'
352 import { useRoute, useRouter } from 'vue-router' 285 import { useRoute, useRouter } from 'vue-router'
...@@ -357,38 +290,90 @@ const { proxy } = getCurrentInstance() ...@@ -357,38 +290,90 @@ const { proxy } = getCurrentInstance()
357 import * as match from '@/apiPc/match' 290 import * as match from '@/apiPc/match'
358 import { toRefs } from '@vueuse/shared' 291 import { toRefs } from '@vueuse/shared'
359 import { ElMessage } from 'element-plus' 292 import { ElMessage } from 'element-plus'
360 import groupDetail from '../center/component/teamInfo_form'
361
362 const data = reactive({ 293 const data = reactive({
363 activeName: 'tab1', 294 matchData: {
364 matchData: {}, 295 enCpt:{}
365 activeName2: 'first', 296 },
366 projectList: [],
367 groupList: [],
368 levelList: [],
369 levelListGirl: [],
370 levelListBoy: [],
371 popup: false,
372 popupGroupList: false,
373 groupListArr: [],
374 matchId: 0, 297 matchId: 0,
375 groups: [],
376 time: 0,
377 groupId: '', 298 groupId: '',
378 signDoneGroupList: [], 299 activeName2:'first',
379 cptLabelsList: [], 300 popupGroupList:false,
380 secondTabName: '参赛队', 301 menu:[{name:'Event details',active:1},{name:'Event settings',active:0},{name:'Schedule',active:0},{name:'Participating teams',active:0},
381 collapseActive: '0', 302 {name:'Achievement',active:0},{name:'Notes',active:0}],
382 activeNames: '1' 303 menu1:[{name:'Station race',active:1},{name:'Event details',active:0},{name:'Schedule',active:0}],
304 signDoneGroupList: []
383 }) 305 })
384 const { 306 const {matchData,matchId,groupId,activeName2,popupGroupList,menu,menu1,signDoneGroupList} = toRefs(data)
385 activeName, activeName2, matchData, projectList, groupList, levelList, popup, popupGroupList, time, 307 onMounted(() => {
386 groupListArr, matchId, groups, groupId, signDoneGroupList, levelListGirl, levelListBoy, cptLabelsList, secondTabName, 308 // matchId.value = route.params.id
387 collapseActive, activeNames 309 matchId.value = '1759477811976183809'
388 } = toRefs(data) 310 getMatch(matchId.value)
389 311 getGroupListByCptId(matchId.value)
390 312 })
391 313 function building() {
314 ElMessage.warning('Building!')
315 }
316 function getMatch(id) {
317 if(id!=0)
318 match.getMatchById({ id: id }).then(res => {
319 matchData.value = res.data
320 })
321 }
322 function getGroupListByCptId(id) {
323 match.getGroupListByCptId(id).then(res => {
324 signDoneGroupList.value = res.data
325 })
326 }
327 function changeMenu(menu,l){
328 for(const n of menu){
329 if(n==l){
330 n.active = 1
331 } else {
332 n.active = 0
333 }
334 }
335 }
336 function choseSignType() {
337 if (matchData.value.signType == '0') {
338 // 个人报名
339 checkIsSign(matchData.value.signType).then((res) => {
340 router.push({
341 path: `${route.params.id}/singleSign`
342 })
343 })
344 } else {
345 // 团队报名 团体-队伍报名
346 match.getMyGroupList().then(res => {
347 checkIsSign(matchData.value.signType,res.data[0].id).then(() => {
348 goSignType2(res.data[0].id)
349 })
350 })
351
352 }
353 }
354 function goSignType2(groupId) {
355 router.push({
356 path: `${route.params.id}/teamSign`,
357 query: {
358 matchId: matchId.value,
359 groupId: groupId,
360 signType: matchData.value.signType
361 }
362 })
363 }
364 // 获取已报信息
365 function checkIsSign(signType,groupId) {
366 var obj = {
367 cptId: matchId.value,
368 groupId: groupId
369 }
370 return match.getMySignInfo(obj).then(res => {
371 if (res.data.type == '1') {
372 ElMessage.error('已报名,不能重复报名')
373 return Promise.reject('rejected message')
374 }
375 })
376 }
392 </script> 377 </script>
393 378
394 <style scoped lang="scss"> 379 <style scoped lang="scss">
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <div class="box"> 3 <div class="box">
4 <el-card :body-style="{ padding: '0px' }" class="mt20 mb60"> 4 <el-card :body-style="{ padding: '0px' }" class="mt20">
5 <div slot="header"> 5 <div slot="header">
6 <div class="bg-lineg">报名缴费清单</div> 6 <div class="bg-lineg">报名缴费清单</div>
7 </div> 7 </div>
...@@ -115,6 +115,100 @@ ...@@ -115,6 +115,100 @@
115 115
116 </el-card> 116 </el-card>
117 117
118 <el-card class="mt20 mb20">
119 <el-row class="result">
120 <el-col :lg="12">
121 <div class="text-success flex" v-if="approved">
122 <img src="@/assets/img/r.png">
123 报名信息审核通过</div>
124 <div class="text-danger flex" v-else>
125 <img src="@/assets/img/w.png">报名信息审核拒绝</div>
126 </el-col>
127 <el-col :lg="12">
128 <div class="priceb">待支付金额:<span class="price">¥1840.00</span></div>
129 </el-col>
130 </el-row>
131 </el-card>
132 <el-card class="mb60" v-if="approved">
133 <div class="leftboderTT">选择支付方式</div>
134 <div class="mt20">
135 <el-radio-group v-model="payType">
136 <!-- <el-radio label="1" border>-->
137 <!-- <svg t="1709003181386" class="icon" viewBox="0 0 3283 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31015" width="100" height="40"><path d="M1163.122759 94.631724H593.92A133.826207 133.826207 0 0 0 459.034483 228.457931v567.084138a133.473103 133.473103 0 0 0 133.826207 133.826207h570.262069a133.826207 133.826207 0 0 0 134.17931-133.826207v-5.296552s-217.864828-90.394483-328.033103-143.36c-73.445517 90.747586-168.783448 145.478621-267.652414 145.478621-167.017931 0-223.514483-145.831724-144.419311-241.875862a169.136552 169.136552 0 0 1 92.16-51.906207c70.62069-17.302069 184.32 10.946207 290.604138 45.903448A587.211034 587.211034 0 0 0 988.689655 429.373793h-328.73931v-32.838621h168.783448V337.213793h-204.446896v-33.191724h204.446896V219.630345a14.124138 14.124138 0 0 1 14.477241-14.477242h82.273104v98.868966h202.328276v33.191724h-202.328276v59.321379h165.252414a677.605517 677.605517 0 0 1-70.62069 176.551725c50.14069 18.008276 94.984828 35.310345 128.529655 46.256551a930.427586 930.427586 0 0 0 147.950345 42.725518V228.457931a133.826207 133.826207 0 0 0-133.473103-133.826207z" fill="#089fe8" p-id="31016"></path><path d="M663.481379 548.016552a162.78069 162.78069 0 0 0-81.566896 30.366896c-64.617931 55.790345-26.129655 158.190345 104.165517 158.190345 75.917241 0 151.481379-48.375172 211.862069-125.704827-85.804138-40.96-156.424828-70.267586-234.46069-62.852414zM2488.673103 225.28h239.757242v47.668966h85.804138V216.805517a22.951724 22.951724 0 0 0-21.892414-23.304827h-139.122759V149.009655h-89.335172v44.137931h-160.662069v79.80138h85.451034zM1882.394483 360.518621h67.442758v247.172413h73.798621V280.011034h-26.835862l55.437241-126.764137H1970.317241l-87.922758 207.271724zM2824.827586 596.391724l-26.835862-90.747586a13.771034 13.771034 0 0 0-13.064827-10.24h-70.62069l20.48 70.62069H2648.275862v-135.944828h164.546207v-32.132414H2648.275862v-63.55862h164.546207v-32.132414h-409.6v32.132414h164.546207v63.55862h-164.546207v32.132414h164.546207V564.965517h-164.546207v32.132414H2824.827586zM2158.521379 323.442759a16.595862 16.595862 0 0 0-15.183448-9.886897h-63.558621l49.434483 156.424828h75.564138z" fill="#089fe8" p-id="31017"></path><path d="M2319.889655 156.777931h-76.623448v80.154483h-188.557241v32.132414h188.557241v287.426206a13.064828 13.064828 0 0 1-12.358621 12.005518h-38.841379v31.77931h99.222069a30.013793 30.013793 0 0 0 28.601379-29.66069V269.064828h31.073104v-32.132414h-31.073104zM1871.448276 577.677241a913.831724 913.831724 0 0 1-168.783448-80.507586 357.34069 357.34069 0 0 0 141.241379-194.56H1694.896552V249.997241h170.195862v-32.83862H1694.896552V150.422069h-75.211035a15.536552 15.536552 0 0 0-15.183448 15.536552v51.2h-169.136552v32.83862h169.136552v52.612414h-141.241379v32.838621h284.248276a278.951724 278.951724 0 0 1-93.572414 127.470345 360.871724 360.871724 0 0 1-93.572414-94.984828H1483.034483a423.724138 423.724138 0 0 0 122.173793 130.295173 662.775172 662.775172 0 0 1-172.667586 77.329655v39.194482A773.296552 773.296552 0 0 0 1653.230345 529.655172 781.771034 781.771034 0 0 0 1871.448276 614.753103zM1553.655172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.188966-79.095172 26.482758 79.095172zM1796.237241 674.78069h-34.251034v190.675862h115.464827v-26.129655h-81.213793v-164.546207zM2003.155862 674.78069h34.251035v190.322758h-34.251035zM2250.328276 674.78069h-74.151724v190.675862h35.310345v-73.445518h39.900689a58.615172 58.615172 0 1 0 0-117.230344z m-2.118621 91.100689H2210.427586v-64.971034h37.782069a31.073103 31.073103 0 0 1 30.366897 32.485517 30.72 30.72 0 0 1-30.366897 32.485517zM2465.015172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.542069-79.095172 27.188966 79.095172zM2716.071724 755.994483l-38.135172-81.213793H2641.213793l57.555862 112.286896v78.388966h33.897931v-78.388966l0.353104-0.353103 57.555862-111.933793h-37.075862l-37.428966 81.213793z" fill="#089fe8" p-id="31018"></path></svg>-->
138 <!-- </el-radio>-->
139 <el-radio label="2" border>
140 <svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40"><path d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z" fill="#09BB07" p-id="24748"></path><path d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z" fill="#595757" p-id="24749"></path></svg>
141 </el-radio>
142 <el-radio label="3" border>
143 <svg t="1709003441012" class="icon" viewBox="0 0 3527 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="32905" width="90" height="40"><path d="M316.703858 1.763556h392.789333c54.840889 0 88.917333 45.966222 76.145778 102.542222l-182.897778 807.452444c-12.885333 56.405333-67.783111 102.4-122.652444 102.4H87.327858c-54.755556 0-88.917333-45.994667-76.145778-102.4L194.136747 104.305778C206.936747 47.729778 261.80608 1.763556 316.703858 1.763556" fill="#E0002B" p-id="32906"></path><path d="M679.569636 1.763556H1120.515413c53.532444 0 29.383111 45.966222 16.782223 102.542222l-178.460445 807.452444c-12.515556 56.405333-8.618667 102.4-62.264889 102.4H455.626524c-53.617778 0-86.812444-45.994667-74.211555-102.4L559.903858 104.305778C572.59008 47.729778 626.037191 1.763556 679.569636 1.763556" fill="#004380" p-id="32907"></path><path d="M1106.748302 1.763556h388.096c54.243556 0 87.921778 45.966222 75.178667 102.542222l-180.622222 807.452444c-12.771556 56.405333-67.043556 102.4-121.287111 102.4H880.245191c-54.272 0-87.921778-45.994667-75.235555-102.4L985.688747 104.305778C998.31808 47.729778 1052.504747 1.763556 1106.776747 1.763556" fill="#007A8A" p-id="32908"></path><path d="M1135.192747 604.416l-42.410667 173.568h11.434667l-8.874667 35.84h-11.320889l-2.673778 11.064889h-40.391111l2.759111-11.064889h-81.92l8.192-33.166222h8.334223l42.979555-176.241778 8.590222-35.527111h41.130667l-4.323556 17.92s10.979556-9.756444 21.361778-13.084445c10.382222-3.413333 70.001778-4.636444 70.001778-4.636444l-8.817778 35.328h-14.051555z m-72.533334 0l-10.894222 44.373333s12.231111-6.855111 18.858667-9.102222c6.741333-2.218667 16.839111-2.958222 16.839111-2.958222l7.879111-32.312889H1062.687858z m-16.327111 66.304l-11.264 46.193778s12.515556-7.879111 19.143111-10.382222a188.586667 188.586667 0 0 1 17.038223-3.470223l7.964444-32.341333h-32.881778z m-26.168889 107.690667h32.768l9.386667-38.968889H1029.692302l-9.500444 38.968889zM1186.108302 568.888889h40.704l0.398222 19.541333c-0.284444 3.328 1.934222 4.864 6.684445 4.864h8.277333l-7.566222 32.284445h-21.987556c-19.000889 1.763556-26.225778-8.789333-25.742222-20.650667L1186.108302 568.888889z" fill="#FEFEFE" p-id="32909"></path><path d="M1174.844302 721.635556h-46.08l7.907556-31.516445h52.650666l7.480889-28.814222h-51.968L1153.71008 625.777778h144.583111l-8.988444 35.555555H1240.75008l-7.566222 28.785778h48.64l-8.106667 31.516445h-52.508444l-9.386667 13.255111h21.333333l5.233778 39.708444c0.568889 3.953778 0.568889 6.542222 1.678222 8.248889 1.080889 1.393778 7.480889 2.133333 11.207111 2.133333h6.456889l-9.841777 38.599111h-16.440889c-2.503111 0-6.286222-0.199111-11.52-0.455111-4.892444-0.540444-8.362667-3.982222-11.690667-5.973333a18.403556 18.403556 0 0 1-8.590222-13.425778l-5.12-39.623111-23.950222 38.997333c-7.566222 12.373333-17.834667 21.788444-35.185778 21.788445h-33.422222l8.760888-34.503111h12.8c3.697778 0 6.912-1.706667 9.329778-3.214222a15.189333 15.189333 0 0 0 7.082667-7.025778l34.872889-58.510222zM677.635413 625.777778H793.603413l-8.590222 36.380444h-46.336l-7.224889 31.061334h47.416889l-8.675555 37.546666h-47.36l-11.52 50.517334c-1.393778 5.546667 11.264 6.257778 15.843555 6.257777l23.665778-4.266666L741.29408 824.888889h-53.418667c-4.323556 0-7.509333-0.824889-12.145777-2.190222-4.494222-1.507556-6.485333-4.152889-8.476445-8.135111-1.934222-4.124444-4.977778-7.480889-2.901333-16.327112l15.36-66.816h-26.339556l8.760889-38.200888h26.396445l7.025777-31.061334h-26.311111L677.635413 625.777778zM770.648747 583.822222h50.972444l-9.244444 27.363556h-69.632l-7.537778 5.745778c-3.242667 2.787556-4.352 1.649778-8.590222 3.640888a55.779556 55.779556 0 0 1-22.897778 5.205334h-22.300445l8.988445-26.282667h6.712889c5.632 0 9.528889-0.455111 11.491555-1.536 2.218667-1.28 4.721778-4.039111 7.452445-8.533333l12.885333-20.536889h50.602667l-8.903111 14.933333zM837.606969 569.088h48.355555l-7.082666 24.120889s15.303111-12.117333 25.998222-16.469333c10.638222-3.868444 34.730667-7.395556 34.730667-7.395556L1017.887858 568.888889l-26.652445 87.950222c-4.522667 15.018667-9.756444 24.746667-13.027555 29.212445a33.792 33.792 0 0 1-13.198222 12.032 49.806222 49.806222 0 0 1-18.119112 6.058666c-5.176889 0.369778-13.084444 0.483556-24.092444 0.654222H847.363413l-21.191111 69.461334c-2.019556 6.940444-2.986667 10.24-1.649778 12.117333a8.732444 8.732444 0 0 0 7.168 3.470222l33.28-3.100444L853.564302 824.888889h-37.148444c-11.861333 0-20.48-0.284444-26.510222-0.739556-5.745778-0.483556-11.719111 0-15.786667-3.015111-3.413333-3.043556-8.704-7.054222-8.590222-11.093333 0.369778-3.754667 1.991111-10.040889 4.380444-18.659556l67.697778-222.293333z m102.684444 88.746667H861.016747l-4.892445 15.815111h68.608c8.078222-0.938667 9.756444 0.199111 10.467556-0.170667l5.034666-15.644444z m-74.951111-14.279111s15.502222-14.023111 42.040889-18.545778c6.030222-1.137778 43.662222-0.739556 43.662222-0.739556l5.745778-18.830222H876.945636l-11.576889 38.115556z" fill="#FEFEFE" p-id="32910"></path><path d="M961.795413 711.111111l-4.494222 21.219556c-1.877333 6.656-3.555556 11.576889-8.561778 15.872-5.290667 4.465778-11.491556 9.159111-25.969777 9.159111l-26.823112 1.137778-0.199111 23.950222c-0.284444 6.741333 1.536 6.087111 2.588445 7.168 1.251556 1.223111 2.360889 1.678222 3.498666 2.161778l8.533334-0.483556 25.571555-1.422222L925.301191 824.888889h-29.383111c-20.536889 0-35.811556-0.483556-40.760889-4.408889-4.949333-3.128889-5.603556-7.025778-5.518222-13.767111l1.877333-93.496889h46.876445l-0.654223 19.114667h11.264c3.868444 0 6.485333-0.369778 8.078223-1.422223a8.448 8.448 0 0 0 3.128889-4.835555l4.721777-14.961778h36.835556zM368.529636 256c-1.564444 7.509333-30.976 142.933333-31.061334 143.075556-6.314667 27.392-10.922667 46.933333-26.567111 59.534222a47.388444 47.388444 0 0 1-31.288889 10.894222c-19.285333 0-30.549333-9.585778-32.426666-27.761778l-0.398223-6.257778s5.888-36.693333 5.888-36.892444c0 0 30.862222-123.448889 36.408889-139.776 0.284444-0.910222 0.341333-1.422222 0.426667-1.848889-60.046222 0.540444-70.712889 0-71.424-0.967111-0.398222 1.336889-1.905778 8.988444-1.905778 8.988444l-31.516444 139.093334-2.673778 11.832889-5.262222 38.599111c0 11.434667 2.275556 20.764444 6.741333 28.672C197.834524 508.245333 238.76608 512 261.919858 512c29.866667 0 57.856-6.314667 76.771555-17.891556 32.824889-19.370667 41.415111-49.664 49.095111-76.600888l3.527112-13.795556s31.800889-128.199111 37.205333-144.896c0.199111-0.910222 0.284444-1.422222 0.568889-1.848889-43.576889 0.455111-56.433778 0-60.558222-0.967111M548.042524 482.645333a453.518222 453.518222 0 0 0-45.397333 0.910223l-0.796444-1.763556c1.820444-8.846222 3.811556-17.521778 5.603555-26.453333l2.588445-12.060445c3.896889-18.716444 7.68-40.476444 8.106666-47.160889 0.426667-3.982222 1.706667-13.937778-8.732444-13.937777-4.352 0-8.903111 2.304-13.539556 4.693333-2.56 9.955556-7.651556 37.973333-10.097777 50.716444-5.205333 26.88-5.546667 29.980444-7.879112 43.264l-1.507555 1.792c-18.545778-0.341333-25.031111-0.341333-46.364445 0.910223l-0.938666-2.019556c3.527111-15.928889 7.111111-32.056889 10.496-48.042667 8.96-43.349333 11.093333-59.904 13.539555-81.948444l1.706667-1.28c20.849778-3.242667 25.884444-3.896889 48.440889-8.931556l1.905778 2.332445-3.470223 13.795555c3.84-2.503111 7.480889-5.034667 11.320889-7.196444 10.638222-5.745778 22.471111-7.452444 28.956445-7.452445 9.927111 0 20.736 3.015111 25.230222 15.587556 4.266667 11.207111 1.422222 24.974222-4.181333 52.110222l-2.901334 13.880889a1275.761778 1275.761778 0 0 0-9.955555 56.462222l-2.133334 1.792zM607.206969 482.645333c-8.362667-0.085333-13.767111-0.341333-18.972445-0.085333-5.205333 0.085333-10.296889 0.455111-18.062222 0.995556l-0.398222-0.995556-0.512-1.052444c2.133333-11.605333 3.271111-15.616 4.323556-19.740445 1.080889-4.152889 2.048-8.248889 3.925333-20.024889 2.446222-15.36 3.953778-26.083556 4.920889-35.498666 1.137778-9.102222 1.735111-16.867556 2.616889-25.827556l0.568889-0.682667 0.682666-0.881777c8.305778-1.678222 13.568-2.816 18.972445-4.067556 5.461333-1.024 10.922667-2.616889 19.512889-5.006222l0.312888 1.052444 0.256 1.137778c-1.592889 9.500444-3.242667 19.000889-4.807111 28.643556-1.507556 9.671111-3.128889 19.143111-4.608 28.643555-3.100444 20.195556-4.352 27.761778-5.091555 33.223111-0.711111 5.091556-0.910222 7.907556-2.104889 18.346667l-0.796445 0.938667-0.739555 0.853333zM790.474524 412.216889c6.684444-30.492444 1.450667-44.743111-5.12-53.418667-9.955556-13.226667-27.562667-17.464889-45.795555-17.464889-10.979556 0-37.148444 1.137778-57.571556 20.650667-14.677333 14.108444-21.447111 33.223111-25.543111 51.541333-4.124444 18.688-8.874667 52.309333 20.935111 64.796445 9.216 4.096 22.471111 5.233778 31.004445 5.233778 21.845333 0 44.259556-6.257778 61.098666-24.746667 12.970667-15.047111 18.887111-37.376 20.963556-46.592m-50.119111-2.190222c-0.967111 5.176889-5.319111 24.291556-11.178667 32.426666-4.096 6.030222-8.931556 9.671111-14.307555 9.671111-1.592889 0-11.093333 0-11.235556-14.620444-0.056889-7.224889 1.336889-14.592 3.100445-22.584889 5.034667-23.096889 10.951111-42.496 26.140444-42.496 11.889778 0 12.743111 14.449778 7.480889 37.603556M1249.653191 482.787556c-15.644444-0.170667-20.138667-0.170667-34.616889 0.768l-0.881778-1.820445c3.896889-23.011556 7.822222-45.937778 11.320889-69.205333 4.551111-30.179556 5.575111-43.008 7.054223-60.672l1.166222-1.479111c15.559111-3.413333 19.911111-4.408889 36.067555-9.045334l0.455111 2.076445c-2.958222 19.000889-5.859556 37.859556-8.760888 56.917333-5.944889 39.793778-8.106667 59.989333-10.382223 80.782222l-1.422222 1.706667z" fill="#FEFEFE" p-id="32911"></path><path d="M1231.078969 400.497778c-5.916444-15.644444-2.275556-47.217778-26.140445-57.827556-9.187556-4.181333-30.72 1.194667-49.265777 20.650667-13.056 13.880889-19.313778 32.938667-22.840889 51.2-3.754667 18.403556-8.049778 51.996444 18.631111 64 8.504889 4.152889 16.128 5.404444 23.893333 4.949333 26.794667-1.649778 47.217778-48.384 62.378667-66.844444 11.662222-14.620444-2.816-6.144-6.656-16.128z m-18.887111 10.439111c-1.052444 4.949333-5.006222 24.234667-10.268445 32.312889-3.527111 5.745778-11.889778 9.301333-16.725333 9.301333-1.365333 0-9.784889 0-10.097778-14.336-0.056889-7.139556 1.223111-14.506667 2.816-22.584889 4.579556-22.670222 9.870222-41.870222 23.552-41.870222 10.723556 0 15.303111 13.966222 10.723556 37.176889M912.472747 482.645333a452.408889 452.408889 0 0 0-45.368889 0.910223l-0.796445-1.763556c1.820444-8.846222 3.868444-17.521778 5.745778-26.453333l2.446222-12.060445c3.982222-18.716444 7.736889-40.476444 8.135111-47.160889 0.398222-3.982222 1.649778-13.937778-8.675555-13.937777-4.494222 0-8.988444 2.304-13.653333 4.693333-2.446222 9.955556-7.68 37.973333-10.183112 50.716444-5.063111 26.88-5.404444 29.980444-7.708444 43.264l-1.592889 1.792a469.788444 469.788444 0 0 0-46.307555 0.910223l-0.938667-2.019556c3.555556-15.928889 7.111111-32.056889 10.524444-48.042667 8.931556-43.349333 11.008-59.904 13.511111-81.948444l1.592889-1.28c20.821333-3.242667 25.969778-3.896889 48.526223-8.931556l1.706666 2.332445-3.214222 13.795555c3.697778-2.503111 7.509333-5.034667 11.292444-7.196444 10.552889-5.745778 22.471111-7.452444 28.956445-7.452445 9.784889 0 20.650667 3.015111 25.315555 15.587556 4.181333 11.207111 1.308444 24.974222-4.352 52.110222l-2.844444 13.880889a992.568889 992.568889 0 0 0-9.955556 56.462222l-2.161777 1.792zM1102.538524 335.815111c-3.043556 16.952889-12.032 31.175111-23.580444 38.087111-9.500444 5.831111-21.134222 6.314667-33.137778 6.314667h-7.765333l0.568889-3.811556 14.250666-75.918222 0.455112-3.896889 0.199111-2.986666 5.717333 0.739555 30.208 3.157333c11.662222 5.518222 16.440889 19.740444 13.084444 38.314667m-18.773333-79.445333l-14.478222 0.142222c-37.546667 0.568889-52.622222 0.426667-58.794667-0.512l-1.507555 9.301333-13.454223 76.458667-33.735111 169.955556c32.796444-0.483556 46.250667-0.483556 51.911111 0.284444 1.28-7.651556 8.874667-52.992 8.96-52.992 0 0 6.456889-33.251556 6.855112-34.474667 0 0 2.048-3.470222 4.067555-4.835555h3.015111c28.273778 0 60.216889 0 85.248-22.528 17.038222-15.473778 28.672-38.286222 33.848889-66.048 1.393778-6.798222 2.360889-14.876444 2.360889-22.983111 0-10.638222-1.735111-21.134222-6.769778-29.354667-12.771556-21.845333-38.200889-22.272-67.527111-22.414222M1438.438969 315.022222L1436.447858 312.888889c-25.429333 4.835556-30.037333 5.603556-53.447111 8.561778l-1.706667 1.621333c-0.085333 0.256-0.142222 0.654222-0.284444 1.024l-0.056889-0.369778c-17.436444 37.660444-16.924444 29.525333-31.089778 59.164445-0.085333-1.336889-0.085333-2.161778-0.142222-3.612445l-3.555556-64.284444-2.247111-2.104889c-26.652444 4.835556-27.306667 5.603556-51.911111 8.561778l-1.905778 1.621333c-0.284444 0.768-0.284444 1.592889-0.426667 2.531556l0.142223 0.312888c3.072 14.762667 2.332444 11.463111 5.404444 34.730667 1.479111 11.434667 3.384889 22.926222 4.835556 34.190222 2.417778 18.887111 3.783111 28.16 6.741333 57.002667-16.64 25.713778-20.565333 35.470222-36.579556 58.026667l1.024 2.133333c24.007111-0.853333 29.582222-0.853333 47.388445-0.853333l3.868444-4.124445c13.454222-27.192889 115.939556-192 115.939556-192M615.398969 363.832889c11.832889-6.4 13.312-15.217778 3.384889-19.797333-10.069333-4.636444-27.733333-3.128889-39.623111 3.242666-11.861333 6.257778-13.226667 15.160889-3.185778 19.854222 9.898667 4.494222 27.648 3.157333 39.424-3.299555M1298.264747 568.888889l-12.686223 35.555555c-3.982222 12.174222-11.434667 21.248-23.239111 21.333334l-20.167111-0.568889 5.888-32h3.953778c2.048 0 3.527111-0.170667 4.664889-1.109333 1.024-0.568889 1.763556-1.877333 2.588444-3.84l7.480889-19.370667h31.516445z" fill="#FEFEFE" p-id="32912"></path><path d="M3499.95008 747.576889c-5.148444-1.706667-10.524444-2.56-15.957333-2.503111a40.334222 40.334222 0 0 0-35.413334 30.151111v91.619555h-39.879111v-153.6h32.910222l2.730667 27.164445h0.995556a53.134222 53.134222 0 0 1 43.633777-31.004445c6.257778-0.170667 12.430222 0.938667 18.204445 3.328l-7.224889 34.844445z m-59.591111-179.114667h-63.800889a1286.144 1286.144 0 0 1-42.666667-204.231111h-14.193777v164.067556a16.184889 16.184889 0 0 0 15.957333 16.298666h17.720889v23.438223h-69.319111a27.676444 27.676444 0 0 1-28.16-27.619556v-176.184889h-27.676445v-23.836444h27.676445v-169.528889h63.800889v169.528889h121.656888v23.893333h-43.121777a1378.104889 1378.104889 0 0 0 42.126222 204.174222z m-104.675556-243.2a742.542222 742.542222 0 0 0 35.640889-143.530666h63.317334a835.811556 835.811556 0 0 1-34.673778 143.530666h-64.284445z m-106.467555 353.991111a50.062222 50.062222 0 0 0-16.213334-3.271111c-11.946667 0-18.688 7.111111-18.688 24.149334v13.169777h28.928v31.800889H3194.314524v121.770667h-40.135111v-121.742222h-20.679111v-29.952l20.679111-1.621334v-12.629333a49.863111 49.863111 0 0 1 53.361778-56.775111c9.955556 0 19.854222 1.848889 29.155556 5.461333l-7.480889 29.639111z m-59.335111-461.169777a12.458667 12.458667 0 0 0-13.454223-11.690667h-54.613333a11.946667 11.946667 0 0 0-12.686222 11.662222v217.656889h-49.379556v-225.564444a28.956444 28.956444 0 0 1 30.435556-28.046223h117.902222a29.098667 29.098667 0 0 1 30.919111 28.046223v225.564444h-49.123555V218.083556z m42.638222 351.488h-54.840889l-19.456-68.209778c-8.078222 23.893333-18.858667 46.791111-32.142222 68.209778h-62.577778a323.271111 323.271111 0 0 0 57.827556-195.413334V241.976889h55.580444v115.541333a583.964444 583.964444 0 0 1-6.968889 93.297778h28.444445l34.133333 118.727111z m-98.474667 158.663111l-17.948444 24.405333a59.192889 59.192889 0 0 0-33.393778-13.169778 16.327111 16.327111 0 0 0-20.195556 14.791111c0 11.264 15.189333 15.36 31.146667 21.418667 20.451556 7.68 42.894222 17.806222 42.894222 46.336 0 26.88-21.191111 48.554667-61.098666 48.554667a97.223111 97.223111 0 0 1-58.595556-21.674667l18.488889-25.230222c11.377778 10.097778 25.884444 15.985778 41.102222 16.725333 15.473778 0 22.186667-6.599111 22.186667-16.213333 0-11.491556-15.928889-16.696889-31.886222-23.011556a52.053333 52.053333 0 0 1-42.126223-44.686222 50.005333 50.005333 0 0 1 57.088-47.160889 85.589333 85.589333 0 0 1 52.337778 19.057778v-0.142222z m-249.031111-338.631111h106.183111a14.791111 14.791111 0 0 1 12.970667 6.712888c3.356444 4.266667 4.039111 10.040889 1.735111 14.961778l-75.292444 127.658667 16.952888 30.151111h-64.568888L2796.234524 449.422222h64.568889l16.952889 31.004445 41.870222-66.986667h-104.96a14.961778 14.961778 0 0 1-12.231111-6.286222 14.421333 14.421333 0 0 1-3.214222-12.970667l10.979556-51.854222h-41.159111v-24.32h46.648888l15.928889-73.671111H2781.016747v-24.263111h55.836444l10.979556-49.379556h64.568889l-10.979556 49.379556h80.014222v24.263111h-84.992l-16.213333 73.671111h112.440889v24.32h-117.418667l-10.24 47.274667z m-131.896889 179.086222H2670.083413v-74.922667l-78.279111 5.859556v-23.836445l78.279111-5.888v-61.098666h-59.818666a15.644444 15.644444 0 0 1-11.946667-4.977778 16.241778 16.241778 0 0 1-3.527111-12.970667l19.968-152.32h-22.698667v-23.893333h25.685334l5.973333-43.776h59.079111l-5.717333 43.918222h90.225777v23.864889h-93.724444l-18.204444 137.671111a7.480889 7.480889 0 0 0 1.991111 5.888 7.082667 7.082667 0 0 0 5.973333 2.929778h10.24V278.812444h59.562667v106.439112h29.667555v23.836444h-29.667555v56.092444l34.161777-2.503111v23.864889l-34.133333 2.503111v79.900445-0.284445z m-98.702222 140.629333c6.229333-0.199111 12.430222 0.910222 18.204444 3.271111l-7.224888 34.901334a47.616 47.616 0 0 0-15.729778-2.474667 40.106667 40.106667 0 0 0-35.384889 30.151111v91.591111h-40.135111v-153.571555h32.910222l2.730667 27.164444h0.995555a53.788444 53.788444 0 0 1 43.633778-30.890667v-0.142222z m-149.589333-168.618667a27.875556 27.875556 0 0 1-27.904 27.591112h-99.214223v-23.836445h46.848a15.815111 15.815111 0 0 0 15.957334-15.928889V333.653333h-128.853334v-23.808h252.501334v23.808h-59.335111v207.189334-0.142223z m-182.215111-349.013333h230.115555v24.064h-230.115555v-24.064z m-64.056889 151.523556h18.944v225.564444h-64.853334V398.506667h-48.839111a818.346667 818.346667 0 0 0 43.377778-90.823111h-43.377778a664.974222 664.974222 0 0 0 57.344-136.448h64.824889c-6.741333 26.026667-15.502222 51.484444-26.168889 76.174222h32.881778a569.685333 569.685333 0 0 1-34.133333 95.914666v-0.085333zM2169.233636 866.702222h-40.391112v-90.794666c0-23.580444-6.485333-32.085333-21.674666-32.085334a44.430222 44.430222 0 0 0-32.142222 17.294222v105.585778h-39.907556v-153.6h32.910222l2.730667 20.309334h0.995555a70.997333 70.997333 0 0 1 49.863112-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715555z m-123.648-451.640889h49.863111a451.982222 451.982222 0 0 1-34.133334 87.893334c9.955556 21.390222 20.679111 42.752 32.398223 64.056889h-68.835556a747.861333 747.861333 0 0 1-72.760889-179.086223h-21.191111v140.202667c0.483556 8.96 7.964444 15.928889 16.952889 15.872l19.427555 0.426667v23.836444h-75.52a29.383111 29.383111 0 0 1-30.663111-27.619555V210.204444a29.098667 29.098667 0 0 1 30.663111-27.619555h166.769778a29.098667 29.098667 0 0 1 30.663111 27.619555v150.272a29.383111 29.383111 0 0 1-30.663111 27.619556h-38.4c4.750222 18.830222 10.723556 37.205333 16.952889 55.608889 3.584-9.272889 6.428444-18.801778 8.476445-28.529778v-0.113778z m-43.861334-209.635555H1947.878969a16.554667 16.554667 0 0 0-16.952889 15.900444v54.840889h88.462222V222.208a17.578667 17.578667 0 0 0-17.664-16.611556v-0.170666z m17.692445 94.606222h-88.490667v64.426667h70.798222a16.896 16.896 0 0 0 17.692445-15.872v-48.554667zM1761.909191 866.702222H1689.603413v-202.979555h67.072c41.614222 0 73.528889 12.088889 73.528889 49.863111a46.108444 46.108444 0 0 1-27.676444 43.889778v1.706666c23.04 4.039111 39.424 24.661333 38.144 47.985778 0 40.760889-33.905778 59.733333-78.791111 59.733333v-0.199111z m-7.736889-172.003555h-23.921778v51.541333h23.409778c25.941333 0 37.148444-10.410667 37.148445-26.595556 0-17.578667-12.231111-24.746667-36.636445-24.746666v-0.199111z m4.238222 81.720889h-28.16v58.965333h28.16c27.676444 0 42.638222-9.984 42.638223-31.004445 0-19.512889-14.734222-27.733333-42.666667-27.733333v-0.227555z m-13.454222-215.864889a28.586667 28.586667 0 0 1-8.476444-19.939556v-89.543111h-37.148445v-23.864889h37.148445v-76.856889h-37.148445v-24.291555h138.097778v24.291555H1802.527858v76.999111h34.901333v23.893334H1802.527858v77.368889a16.184889 16.184889 0 0 0 16.469333 16.327111h18.432v23.836444h-72.277333a28.785778 28.785778 0 0 1-20.195556-7.992889v-0.227555z m17.436445-247.608889h-66.048c14.506667-46.307556 24.092444-93.980444 28.672-142.279111h65.536c-1.991111 19.456-4.977778 38.855111-8.476445 58.168889h55.352889v23.836444h-59.818667a696.32 696.32 0 0 1-15.217777 60.501333v-0.227555z m191.203555 455.480889a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.478222-26.595556a121.742222 121.742222 0 0 1 64.085333-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986667-16.497778h-0.995555a72.021333 72.021333 0 0 1-46.364445 20.337778 43.52 43.52 0 0 1-45.368888-45.539556c0-32.967111 26.652444-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.863111 15.075556-49.863111 28.785778a17.152 17.152 0 0 0 20.195556 17.294222z m326.087111-59.505778h1.223111l53.105778-66.360889h43.889777l-53.105777 62.776889 58.083555 90.794667h-43.633778l-37.376-63.630222-22.186666 25.230222v38.4h-39.139556v-218.88h39.139556v131.669333z m201.415111-107.52h33.649778v41.159111h37.888v31.800889h-37.888v67.982222a20.707556 20.707556 0 0 0 20.707555 25.799112c5.205333-0.227556 10.353778-1.336889 15.189334-3.299556l6.485333 29.383111c-10.325333 3.697778-21.191111 5.632-32.142222 5.745778-36.664889 0-50.631111-23.04-50.631111-57.6v-67.982222h-21.674667v-29.952l23.694222-1.905778 4.721778-41.130667z m302.876444 96.284445a23.921778 23.921778 0 0 0-25.912889-26.624 86.442667 86.442667 0 0 0-42.382222 14.535111l-14.449778-26.595556a121.742222 121.742222 0 0 1 64.056889-20.280889c38.883556 0 59.079111 23.324444 59.079111 67.726223v89.742222h-32.910222l-2.986666-16.497778h-0.995556a72.021333 72.021333 0 0 1-46.364444 20.337778 43.52 43.52 0 0 1-45.368889-45.539556c0-32.967111 26.424889-50.232889 88.234666-56.803555z m-29.667555 70.741333a40.675556 40.675556 0 0 0 29.667555-15.075556v-31.004444c-37.376 4.977778-49.834667 15.075556-49.834666 28.785778a17.152 17.152 0 0 0 20.195555 17.294222z m146.858666-105.585778h0.995556a70.997333 70.997333 0 0 1 49.834667-24.120889c33.166222 0 47.616 23.04 47.616 61.696v95.715556h-40.391111v-90.794667c0-23.580444-6.456889-32.056889-21.674667-32.056889a44.430222 44.430222 0 0 0-32.142222 17.265778v105.585778h-39.907556v-153.6h32.910222l2.759111 20.309333z m439.751112-24.120889c42.382222 0 64.284444 31.004444 64.284444 73.472 0.056889 6.200889-0.597333 12.373333-1.991111 18.375111h-94.72a40.334222 40.334222 0 0 0 42.638222 38.4 63.203556 63.203556 0 0 0 34.417778-10.695111l13.681778 24.689778a96.113778 96.113778 0 0 1-53.589334 17.009778 74.410667 74.410667 0 0 1-76.288-80.355556 75.207111 75.207111 0 0 1 71.537778-80.896z m29.639111 65.251556a28.757333 28.757333 0 0 0-29.155556-33.991111 34.56 34.56 0 0 0-33.393778 33.991111h62.577778z" fill="#4D4D4D" p-id="32913"></path></svg>
144 </el-radio>
145 <el-radio label="4" border>
146 <svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40"><path d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z" fill="#009CDE" p-id="22655"></path><path d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" fill="#003087" p-id="22656"></path><path d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" fill="#009CDE" p-id="22657"></path><path d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z" fill="#003087" p-id="22658"></path><path d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z" fill="#009CDE" p-id="22659"></path><path d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175" fill="#009CDE" p-id="22660"></path><path d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857" fill="#012169" p-id="22661"></path><path d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z" fill="#003087" p-id="22662"></path></svg>
147 </el-radio>
148 </el-radio-group>
149
150 <div v-if="payType == '3'">
151 <table class="table-border table" cellpadding="0" cellspacing="0">
152 <tr>
153 <th colspan="2" class="head">线下缴费的收款信息</th>
154 </tr>
155 <tr>
156 <th>付款金额</th>
157 <td>
158 ¥1840
159 <div class="text-gray">请按照指定金额进行打款</div>
160 </td>
161 </tr>
162 <tr>
163 <th>收款账号</th>
164 <td>
165 7665 5278 8829 9377 7888 8888 88 <span class="text-primary size12">复制25位账号</span>
166 <div class="text-gray">请勿重复打款</div>
167 </td>
168 </tr>
169 <tr>
170 <th>收款公司名</th>
171 <td>无锡吉金体育有限公司</td>
172 </tr>
173 <tr>
174 <th>开户银行</th>
175 <td>招商银行无锡分行</td>
176 </tr>
177 <tr>
178 <th>备注信息</th>
179 <td>
180 体育舞蹈报名费保险费
181 </td>
182 </tr>
183 <tr>
184 <th>联系人</th>
185 <td>
186 张译文
187 </td>
188 </tr>
189 <tr>
190 <th>联系电话</th>
191 <td>16882846767</td>
192 </tr>
193 <tr>
194 <th>操作</th>
195 <td>
196 <el-link class="mr10" type="primary"><el-icon><Upload /></el-icon>上传汇款单</el-link>
197 <span class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span>
198 </td>
199 </tr>
200 </table>
201
202 <div class="text-center">
203 <el-button type="primary" round class="btn-lineG w200px">保存</el-button>
204 </div>
205 </div>
206 <div class="text-center mt20" v-else>
207 <el-button type="primary" round class="btn-lineG w200px">保存</el-button>
208 </div>
209 </div>
210
211 </el-card>
118 </div> 212 </div>
119 213
120 </div> 214 </div>
...@@ -124,11 +218,14 @@ ...@@ -124,11 +218,14 @@
124 import {ref} from 'vue' 218 import {ref} from 'vue'
125 219
126 const matchInfo = ref({}) 220 const matchInfo = ref({})
221 const approved = ref(true)
127 const tableData = ref([]) 222 const tableData = ref([])
223 const payType = ref('2')
128 224
129 </script> 225 </script>
130 226
131 <style scoped lang="scss"> 227 <style scoped lang="scss">
228 .el-radio.is-bordered{height: 40px;}
132 .leftboderTT{font-weight: 600; 229 .leftboderTT{font-weight: 600;
133 font-size: 16px; 230 font-size: 16px;
134 color: #453DEA;} 231 color: #453DEA;}
...@@ -138,4 +235,28 @@ const tableData = ref([]) ...@@ -138,4 +235,28 @@ const tableData = ref([])
138 font-size: 18px; 235 font-size: 18px;
139 text-align: center; 236 text-align: center;
140 } 237 }
238 .table{width: 100%;max-width: 1000px;margin:20px auto;
239 .head{background: #EFF2F7;height: 50px;font-size: 16px;font-weight: 400;}
240 th{background: #FAFBFD;font-size: 14px;
241 border-bottom: 1px solid #E5E5E5;border-right: 1px solid #E5E5E5;}
242 td{border-bottom: 1px solid #E5E5E5;border-right: 1px solid #E5E5E5;
243 padding: 10px;
244 }
245 &.table-border{border-top: 1px solid #E5E5E5;border-left: 1px solid #E5E5E5;}
246 }
247 .text-gray{font-weight: 400;
248 font-size: 12px;
249 color: #929AA0;}
250 .size12{font-size: 12px;}
251 .result{font-size: 22px;
252 .flex{display: flex;align-items: center;font-weight: 500;
253 img{margin-right: 10px}
254 }
255 .priceb{color: #7B7F83;font-size: 16px;text-align: right;
256 line-height: 50px;
257 span{font-weight: bold;
258 font-size: 22px;font-family: DIN Alternate;
259 color: #EB6100;}
260 }
261 }
141 </style> 262 </style>
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
37 <div class="border-info gray mt20"> 37 <div class="border-info gray mt20">
38 <el-row> 38 <el-row>
39 <el-col :lg="8"> 39 <el-col :lg="8">
40 <img/>
40 <div class="item"><label>团队名称</label>{{ matchInfo.signFee }}</div> 41 <div class="item"><label>团队名称</label>{{ matchInfo.signFee }}</div>
41 <div class="item"><label>团队类型</label>{{ matchInfo.signFee }}</div> 42 <div class="item"><label>团队类型</label>{{ matchInfo.signFee }}</div>
42 </el-col> 43 </el-col>
...@@ -117,21 +118,21 @@ ...@@ -117,21 +118,21 @@
117 118
118 119
119 </el-card> 120 </el-card>
120 <el-card class="mt20"> 121 <el-card class="mt20" :body-style="{padding: '0px'}">
121 <el-row> 122 <el-row class="priceBar">
122 <el-col :lg="16"> 123 <el-col :lg="16" :xs="24" class="pd20">
123 <div> 124 <div class="flex">
124 <div class="item"><label>报名费:</label><span>¥{{ matchInfo.signFee }}</span></div> 125 <div class="item"><label>报名费:</label><span>¥3000</span></div>
125 <div class="item"><label>保险费:</label><span>¥{{ matchInfo.signFee }}</span></div> 126 <div class="item"><label>保险费:</label><span>¥3000</span></div>
126 <div class="item"><label>费用总计:</label><span>¥{{ matchInfo.signFee }}</span></div> 127 <div class="item"><label>费用总计:</label><span>¥6000</span></div>
127 </div> 128 </div>
128 </el-col> 129 </el-col>
129 <el-col :lg="8"> 130 <el-col :lg="8" :xs="24" class="text-right pd20">
130 <el-link type="primary"><el-icon><Upload /></el-icon>导出参赛人员清单</el-link> 131 <el-link type="primary"><el-icon><Upload /></el-icon>导出参赛人员清单</el-link>
131 <el-link type="primary"><el-icon><Upload /></el-icon>导出设项报名清单</el-link> 132 <el-link type="primary"><el-icon><Upload /></el-icon>导出设项报名清单</el-link>
132 </el-col> 133 </el-col>
133 </el-row> 134 </el-row>
134 <div class="text-center"> 135 <div class="text-center pd20">
135 <el-button type="primary" class="" plain round @click="goPrev()">上一步</el-button> 136 <el-button type="primary" class="" plain round @click="goPrev()">上一步</el-button>
136 <el-button type="primary" class="" plain round @click="submitForm()">保存暂不提交审核</el-button> 137 <el-button type="primary" class="" plain round @click="submitForm()">保存暂不提交审核</el-button>
137 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()">提交审核</el-button> 138 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()">提交审核</el-button>
...@@ -157,4 +158,15 @@ const matchInfo = ref({}) ...@@ -157,4 +158,15 @@ const matchInfo = ref({})
157 font-size: 18px; 158 font-size: 18px;
158 text-align: center; 159 text-align: center;
159 } 160 }
161 .priceBar{
162 background: #FAFBFD;
163 .flex{display: flex;
164 .item{font-size: 16px;margin-right: 15px;
165 label{color: #95A1A6;}
166 }
167 }
168 }
169 .text-right{text-align: right;
170 a{margin-left: 20px;}
171 }
160 </style> 172 </style>
......
...@@ -4,23 +4,29 @@ ...@@ -4,23 +4,29 @@
4 <div class="box ph-30"> 4 <div class="box ph-30">
5 <el-card> 5 <el-card>
6 <el-steps active="1" align-center> 6 <el-steps active="1" align-center>
7 <el-step title="团队信息" /> 7 <el-step :title="language==0?'团队信息':'Team Information'" />
8 <el-step title="教练/领队/其他" /> 8 <el-step :title="language==0?'教练/领队/其他':'Coach/Team Leader/Other'" />
9 <el-step title="选手报名" /> 9 <el-step :title="language==0?'选手报名':'Participant Registration'" />
10 <el-step title="提交审核" /> 10 <el-step :title="language==0?'提交审核':'Submit for review'" />
11 </el-steps> 11 </el-steps>
12 </el-card> 12 </el-card>
13 <div class="h20"></div> 13 <div class="h20"></div>
14 <div class="panel" style="box-shadow: var(--el-box-shadow)"> 14 <div class="panel" style="box-shadow: var(--el-box-shadow)">
15 <div class="border-info" style="margin: 20px"> 15 <div class="border-info" style="margin: 20px">
16 <el-row> 16 <el-row v-if="language==0">
17 <el-col :lg="8"> 17 <el-col :lg="8"><div class="item"><label>赛事名称</label>{{matchInfo.name}}</div></el-col>
18 <div class="item"><label>赛事名称</label>{{matchInfo.name}}</div></el-col>
19 <el-col :lg="8"><div class="item"><label>赛事类型</label>{{matchInfo.name}}</div></el-col> 18 <el-col :lg="8"><div class="item"><label>赛事类型</label>{{matchInfo.name}}</div></el-col>
20 <el-col :lg="8"><div class="item"><label>赛事时间</label>{{matchInfo.beginTime?.slice(0,10)}}{{ matchInfo.endTime?.slice(0,10) }}</div></el-col> 19 <el-col :lg="8"><div class="item"><label>赛事时间</label>{{matchInfo.beginTime?.slice(0,10)}}{{ matchInfo.endTime?.slice(0,10) }}</div></el-col>
21 <el-col :lg="8"><div class="item"><label>报名时间</label>{{ matchInfo.signBeginTime?.slice(0,10) }}{{ matchInfo.signEndTime?.slice(0,10) }}</div></el-col> 20 <el-col :lg="8"><div class="item"><label>报名时间</label>{{ matchInfo.signBeginTime?.slice(0,10) }}{{ matchInfo.signEndTime?.slice(0,10) }}</div></el-col>
22 <el-col :lg="16"><div class="item"><label>比赛地址</label>{{matchInfo.address}}</div></el-col> 21 <el-col :lg="16"><div class="item"><label>比赛地址</label>{{matchInfo.address}}</div></el-col>
23 </el-row> 22 </el-row>
23 <el-row v-else>
24 <el-col :lg="8"><div class="item"><label>Event Name</label>{{matchInfo.name}}</div></el-col>
25 <el-col :lg="8"><div class="item"><label>Event Type</label>{{matchInfo.name}}</div></el-col>
26 <el-col :lg="8"><div class="item"><label>Event Date</label>{{matchInfo.beginTime?.slice(0,10)}} ~ {{ matchInfo.endTime?.slice(0,10) }}</div></el-col>
27 <el-col :lg="8"><div class="item"><label>Registration Period</label>{{ matchInfo.signBeginTime?.slice(0,10) }} ~{{ matchInfo.signEndTime?.slice(0,10) }}</div></el-col>
28 <el-col :lg="16"><div class="item"><label>Event Address</label>{{matchInfo.address}}</div></el-col>
29 </el-row>
24 30
25 </div> 31 </div>
26 <div class="h20"></div> 32 <div class="h20"></div>
...@@ -83,7 +89,9 @@ ...@@ -83,7 +89,9 @@
83 89
84 90
85 <div class="panel-footer text-center"> 91 <div class="panel-footer text-center">
86 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()">下一步</el-button> 92 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()">
93 {{ language==0?'下一步':'NEXT' }}
94 </el-button>
87 </div> 95 </div>
88 </div> 96 </div>
89 </div> 97 </div>
...@@ -96,6 +104,8 @@ import { reactive, ref } from 'vue' ...@@ -96,6 +104,8 @@ import { reactive, ref } from 'vue'
96 import { getCurrentInstance, onMounted } from '@vue/runtime-core' 104 import { getCurrentInstance, onMounted } from '@vue/runtime-core'
97 import { useRoute, useRouter } from 'vue-router' 105 import { useRoute, useRouter } from 'vue-router'
98 import { toRefs } from '@vueuse/shared' 106 import { toRefs } from '@vueuse/shared'
107 import cache from "@/plugins/cache"
108 const language = ref(cache.local.get('language') || 0)
99 109
100 const { proxy } = getCurrentInstance() 110 const { proxy } = getCurrentInstance()
101 const router = useRouter() 111 const router = useRouter()
...@@ -107,7 +117,9 @@ import {saveMyGroupForCpt} from "@/apiPc/match"; ...@@ -107,7 +117,9 @@ import {saveMyGroupForCpt} from "@/apiPc/match";
107 117
108 const data = reactive({ 118 const data = reactive({
109 isRanks: false, 119 isRanks: false,
110 matchData:{}, 120 matchData:{
121 enBo:{}
122 },
111 form: {}, 123 form: {},
112 groupId: 0, 124 groupId: 0,
113 cptId: 0, 125 cptId: 0,
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
3 <div class="box"> 3 <div class="box">
4 <div class="indexTitle"> 4 <div class="indexTitle">
5 <h3 class="leftboderTT">Event Video</h3> 5 <h3 class="leftboderTT">Event Video</h3>
6 <a class="more" @click="goList(query1.sortId,'Event Video')">MORE</a> 6 <a class="more" @click="goList(query1.sortId,'Event Videos')">MORE</a>
7 </div> 7 </div>
8 8
9 <el-row :gutter="20"> 9 <el-row :gutter="20">
10 <el-col :lg="12" :sm="24" :md="12"> 10 <el-col :lg="12" :sm="24" :md="12">
11 <div class="liveImgbox" @click="goDetail(newsList[0])"> 11 <div class="liveImgbox" @click="goDetail(newsList[0])">
12 <i class="ii">LIVE</i> 12 <i class="ii">Live Broadcast</i>
13 <img :src="fillImgUrl_webSite(newsList[0]?.picUrl)"> 13 <img :src="fillImgUrl_webSite(newsList[0]?.picUrl)">
14 <h3 class="esp">{{ newsList[0]?.name }} 14 <h3 class="esp">{{ newsList[0]?.name }}
15 </h3> 15 </h3>
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
44 44
45 45
46 <div class="indexTitle"> 46 <div class="indexTitle">
47 <h3 class="leftboderTT">Exciting Pictures</h3> 47 <h3 class="leftboderTT">Exciting Photos</h3>
48 <a class="more" @click="goList(query2.sortId,'Exciting Pictures')">MORE</a> 48 <a class="more" @click="goList(query2.sortId,'Exciting Photos')">MORE</a>
49 </div> 49 </div>
50 <el-row class="mb20" :gutter="20"> 50 <el-row class="mb20" :gutter="20">
51 <el-col :lg="9"> 51 <el-col :lg="9">
......
1 <template> 1 <template>
2 <el-card style="min-height: 50vh"> 2 <el-card style="min-height: 50vh">
3 <div class="pt30"> 3 <div class="pt30">
4 <el-form class="d-form" size="large" label-width="120" style="max-width: 500px;margin: auto"> 4 <el-form class="d-form" size="large" :label-width="language==0?120:200" style="max-width: 500px;margin: auto">
5 <el-form-item label="手机/邮箱" required> 5 <el-form-item :label="language==0?'手机/邮箱':'E-mail / Phone number'" required>
6 <el-input type="text" v-model="form.account" @change="resetCode" @blur="verifyCode"/> 6 <el-input type="text" v-model="form.account" @change="resetCode" @blur="verifyCode"/>
7 </el-form-item> 7 </el-form-item>
8 <el-form-item label="验证码" required> 8 <el-form-item :label="language==0?'验证码':'Code'" required>
9 <el-input v-model="form.code"> 9 <el-input v-model="form.code">
10 <template #append> 10 <template #append>
11 <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> 11 <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg">
...@@ -13,20 +13,21 @@ ...@@ -13,20 +13,21 @@
13 {{ totalSeconds }} 13 {{ totalSeconds }}
14 </count-down> 14 </count-down>
15 <span v-else> 15 <span v-else>
16 发送验证码 16 {{ language==0?'发送验证码':'Send code' }}
17 </span> 17 </span>
18 </el-button> 18 </el-button>
19 </template> 19 </template>
20 </el-input> 20 </el-input>
21 <div class="vcodeBox" :style="isShow?'height:240px':'height:0'"> 21 <div class="vcodeBox" :style="isShow?'height:240px':'height:0'">
22 <Vcode :show="isShow" type="inside" @success="codeSuccess" @close="codeClose" @fail='codeFail'></Vcode> 22 <Vcode :show="isShow" :successText="successVcode" :failText="failVcode" :slider-text="sliderText"
23 type="inside" @success="codeSuccess" @close="codeClose" @fail='codeFail'></Vcode>
23 </div> 24 </div>
24 </el-form-item> 25 </el-form-item>
25 </el-form> 26 </el-form>
26 </div> 27 </div>
27 <div class="text-center"> 28 <div class="text-center">
28 <!-- <el-button class="primary-kx" round @click="goBack">取消</el-button>--> 29 <!-- <el-button class="primary-kx" round @click="goBack">取消</el-button>-->
29 <el-button type="primary" class="btn-lineG w200px" round @click="next">下一步</el-button> 30 <el-button type="primary" class="btn-lineG w200px" round @click="next">{{language==0?'下一步':'NEXT' }}</el-button>
30 </div> 31 </div>
31 </el-card> 32 </el-card>
32 </template> 33 </template>
...@@ -37,18 +38,36 @@ import Vcode from "vue3-puzzle-vcode" ...@@ -37,18 +38,36 @@ import Vcode from "vue3-puzzle-vcode"
37 import { ElMessage } from 'element-plus' 38 import { ElMessage } from 'element-plus'
38 import CountDown from '@chenfengyuan/vue-countdown' 39 import CountDown from '@chenfengyuan/vue-countdown'
39 import {getCaptchaSms,checkRegisterCode} from "@/apiPc/match"; 40 import {getCaptchaSms,checkRegisterCode} from "@/apiPc/match";
41 import cache from '@/plugins/cache'
42 import {onMounted} from "@vue/runtime-core";
43 const language = ref(cache.local.get('language') || 0)
44
40 const data = reactive({ 45 const data = reactive({
41 isShow:false, 46 isShow:false,
42 isCodeTrue:false, 47 isCodeTrue:false,
43 counting:false, 48 counting:false,
44 form:{}, 49 form:{},
45 activeStep: 0 50 activeStep: 0,
51 failVcode:'验证失败,请重试',
52 successVcode:'验证通过!',
53 sliderText: '拖动滑块完成拼图',
46 }) 54 })
47 const {isShow,isCodeTrue,counting,form,activeStep} = toRefs(data) 55 const {isShow,isCodeTrue,counting,form,activeStep,failVcode,successVcode,sliderText} = toRefs(data)
48 const emit = defineEmits(['submit','userName']) 56 const emit = defineEmits(['submit','userName'])
57 onMounted(()=>{
58 if(language.value==1){
59 failVcode.value = 'Error!'
60 successVcode.value = 'Success!'
61 sliderText.value = 'Drag the slider to complete the puzzle'
62 }
63 })
49 function sendsmsMsg() { 64 function sendsmsMsg() {
50 if(!form.value.account){ 65 if(!form.value.account){
66 if(language.value==0){
51 ElMessage.error('请填写手机/邮箱') 67 ElMessage.error('请填写手机/邮箱')
68 } else {
69 ElMessage.error('Please fill in your phone/email address')
70 }
52 return 71 return
53 } 72 }
54 if(counting.value){ 73 if(counting.value){
...@@ -88,11 +107,19 @@ const goBack = () => { ...@@ -88,11 +107,19 @@ const goBack = () => {
88 } 107 }
89 const next = () => { 108 const next = () => {
90 if(!form.value.account){ 109 if(!form.value.account){
110 if(language.value==0){
91 ElMessage.error('请填写手机/邮箱') 111 ElMessage.error('请填写手机/邮箱')
112 } else {
113 ElMessage.error('Please fill in your phone/email address')
114 }
92 return 115 return
93 } 116 }
94 if(!form.value.code){ 117 if(!form.value.code){
118 if(language.value==0){
95 ElMessage.error('请填写验证码') 119 ElMessage.error('请填写验证码')
120 } else {
121 ElMessage.error('Please fill in Code')
122 }
96 return 123 return
97 } 124 }
98 if(!isCodeTrue.value){ 125 if(!isCodeTrue.value){
......
1 <template> 1 <template>
2 <el-card> 2 <el-card>
3 <div class="flexCenter">
3 <div class="border-info text-center inline"> 4 <div class="border-info text-center inline">
4 5 <label>{{ language == 0 ? '登录账号' : 'Account' }}</label> {{ accont }}
5 <label>登录账号</label> {{ accont }}
6
7 </div> 6 </div>
8 <div class="leftboderTT">登录密码 <span>(登录时需要验证,保护账户信息)</span></div> 7 </div>
8 <div class="leftboderTT">{{ language == 0 ? '登录密码' : 'Password' }} <span
9 v-if="language==0">(登录时需要验证,保护账户信息)</span></div>
9 <div class="d-form-border"> 10 <div class="d-form-border">
10 <el-form class="d-form" size="large" label-width="120" style="max-width: 500px;margin: auto"> 11 <el-form class="d-form" size="large" label-width="120"
11 <el-form-item label="密码" required> 12 :label-position="language==0?'left':'top'" style="max-width: 500px;margin: auto">
12 <el-input type="password" show-password v-model="form.password" placeholder="6-16位密码。区分大小写"/> 13 <el-form-item :label="language==0?'密码':'Password'" required>
14 <el-input type="password" show-password v-model="form.password"
15 :placeholder="language==0?'6-16位密码。区分大小写':''"/>
13 </el-form-item> 16 </el-form-item>
14 <el-form-item label="确认密码" required> 17 <el-form-item :label="language==0?'确认密码':'Confirm Password'" required>
15 <el-input type="password" show-password v-model="form.confirmPassword" @blur="vconfirmPassword" placeholder="再次输入密码"/> 18 <el-input type="password" show-password v-model="form.confirmPassword" @blur="vconfirmPassword"
19 placeholder="再次输入密码"/>
16 </el-form-item> 20 </el-form-item>
17 </el-form> 21 </el-form>
18 </div> 22 </div>
19 <div class="leftboderTT">机构信息</div> 23 <div class="leftboderTT">{{ language == 0 ? '机构信息' : 'Institutional information' }}</div>
20 <div class="d-form-border"> 24 <div class="d-form-border">
21 <el-form class="d-form" size="large" :model="form" ref="registerRef" :rules="registerRules" label-width="120" style="max-width: 500px;margin: auto"> 25 <el-form class="d-form" size="large" :model="form" ref="registerRef"
22 <el-form-item label="所属国家" required> 26 :rules="registerRules" label-width="120" :label-position="language==0?'left':'top'"
27 style="max-width: 500px;margin: auto">
28 <el-form-item :label="language==0?'所属国家':'Nationality'" required>
23 <el-select filterable v-model="form.countryId"> 29 <el-select filterable v-model="form.countryId">
24 <el-option v-for="item in countryList" :key="item.id" :label="item.name" :value="item.id" /> 30 <el-option v-for="item in countryList" :key="item.id" :label="item.name" :value="item.id"/>
25 </el-select> 31 </el-select>
26 </el-form-item> 32 </el-form-item>
27 <el-form-item label="详细地址" required prop="address"> 33 <el-form-item :label="language==0?'详细地址':'Address'" required prop="address">
28 <el-cascader v-if="form.countryId == 240" 34 <el-cascader v-if="form.countryId == 240"
29 v-model="regionArr" 35 v-model="regionArr"
30 style="width: 100%;" 36 style="width: 100%;"
31 :options="regionsList" 37 :options="regionsList"
32 :props="{ label:'text' }" 38 :props="{ label:'text' }"
33 /> 39 />
34 <el-input type="textarea" v-model="form.address" class="mt10" placeholder="请输入详细地址"/> 40 <el-input type="textarea" v-model="form.address" class="mt10"/>
35 </el-form-item> 41 </el-form-item>
36 <el-form-item label="机构名称" required prop="teamName"> 42 <el-form-item :label="language==0?'机构名称':'Institution name'" required prop="teamName">
37 <el-input type="text" v-model="form.teamName" placeholder="请输入内容"/> 43 <el-input type="text" v-model="form.teamName" :placeholder="language==0?'请输入内容':''"/>
38 </el-form-item> 44 </el-form-item>
39 <el-form-item label="联系人姓名" required prop="contactName"> 45 <el-form-item :label="language==0?'联系人姓名':'Contact Name'" required prop="contactName">
40 <el-input type="text" v-model="form.contactName" placeholder="请输入内容"/> 46 <el-input type="text" v-model="form.contactName" :placeholder="language==0?'请输入内容':''"/>
41 </el-form-item> 47 </el-form-item>
42 <el-form-item label="联系人电话" required prop="contactTel"> 48 <el-form-item :label="language==0?'联系人电话':'Contact Phone'" required prop="contactTel">
43 <el-input v-model="form.contactTel" type="phone" placeholder="请输入内容"/> 49 <el-input v-model="form.contactTel" type="phone" :placeholder="language==0?'请输入内容':''"/>
44 </el-form-item> 50 </el-form-item>
45 <el-form-item label="联系人邮箱" required prop="contactEmail"> 51 <el-form-item :label="language==0?'联系人邮箱':'Contact Email'" required prop="contactEmail">
46 <el-input v-model="form.contactEmail" type="email" placeholder="请输入内容"/> 52 <el-input v-model="form.contactEmail" type="email" :placeholder="language==0?'请输入内容':''"/>
47 </el-form-item> 53 </el-form-item>
48 <el-form-item prop="photo" required label="机构LOGO"> 54 <el-form-item prop="photo" required :label="language==0?'机构LOGO':'Organizational photos'">
49 <ImageUpload2 55 <ImageUpload2
50 v-model="form.photo" :crop-height="200" :crop-width="200" :limit="1" 56 v-model="form.photo" :crop-height="200" :crop-width="200" :limit="1"
51 :is-show-tip="false" 57 :is-show-tip="false"
...@@ -53,69 +59,84 @@ ...@@ -53,69 +59,84 @@
53 </el-form-item> 59 </el-form-item>
54 <el-form-item> 60 <el-form-item>
55 <div @click="isAgree = !isAgree" class="flexAgree"> 61 <div @click="isAgree = !isAgree" class="flexAgree">
56 <el-icon v-if="isAgree" color="#453DEA" size="20"><CircleCheckFilled /></el-icon> 62 <el-icon v-if="isAgree" color="#453DEA" size="20">
57 <el-icon v-else color="#999" size="20"><CircleCheck /></el-icon> 63 <CircleCheckFilled/>
58 <div> 64 </el-icon>
65 <el-icon v-else color="#999" size="20">
66 <CircleCheck/>
67 </el-icon>
68 <div v-if="language==0">
59 我已阅读并接受<a class="text-primary" @click.stop="showAgreeMent">《注册协议》</a> 69 我已阅读并接受<a class="text-primary" @click.stop="showAgreeMent">《注册协议》</a>
60 <a class="text-primary" @click.stop="showAgreeMent">《个人信息保护政策》</a> 70 <a class="text-primary" @click.stop="showAgreeMent">《个人信息保护政策》</a>
61 </div> 71 </div>
72 <div v-else style="white-space: nowrap">
73 I have read and accepted the Registration
74 <a class="text-primary" @click.stop="showAgreeMent">Agreement</a>
75 and
76 <a class="text-primary" @click.stop="showAgreeMent">Personal Information Protection Policy
77 </a>
78 </div>
62 </div> 79 </div>
63 </el-form-item> 80 </el-form-item>
64 </el-form> 81 </el-form>
65 </div> 82 </div>
66 83
67 <div class="text-center"> 84 <div class="text-center">
68 <!-- <el-button class="primary-kx" @click="goStep1">上一步</el-button>--> 85 <!-- <el-button class="primary-kx" @click="goStep1">上一步</el-button>-->
69 <el-button type="primary" round class="btn-lineG w200px" @click.prevent="goStep3" :loading="loading">立即注册</el-button> 86 <el-button type="primary" round class="btn-lineG w200px" @click.prevent="goStep3" :loading="loading">
87 {{ language == 0 ? '立即注册' : 'Register Now!' }}
88 </el-button>
70 </div> 89 </div>
71 </el-card> 90 </el-card>
72 </template> 91 </template>
73 92
74 <script setup> 93 <script setup>
75 import {getCurrentInstance} from "@vue/runtime-core" 94 import {getCurrentInstance} from "@vue/runtime-core"
76 import {onMounted,toRefs,reactive} from "vue" 95 import {onMounted, toRefs, reactive} from "vue"
77 import * as match from "@/apiPc/match"; 96 import * as match from "@/apiPc/match";
78 import {ElMessage} from "element-plus"; 97 import {ElMessage} from "element-plus";
79 import {setToken} from "@/utils/auth"; 98 import {setToken} from "@/utils/auth";
80 const { proxy } = getCurrentInstance() 99 import cache from "@/plugins/cache";
81 const emit = defineEmits(['submit','prev']) 100
101 const {proxy} = getCurrentInstance()
102 const emit = defineEmits(['submit', 'prev'])
103 const language = ref(cache.local.get('language') || 0)
82 const props = defineProps({ 104 const props = defineProps({
83 accont:{ 105 accont: {
84 type:String, 106 type: String,
85 required:true 107 required: true
86 } 108 }
87 }) 109 })
88 const data = reactive({ 110 const data = reactive({
89 form: { 111 form: {},
90 }, 112 loading: false,
91 loading:false,
92 countryList: [], 113 countryList: [],
93 regionsList: [], 114 regionsList: [],
94 regionArr: [], 115 regionArr: [],
95 isAgree:false 116 isAgree: false
96 }) 117 })
97 const {form,countryList,regionsList,isAgree,loading,regionArr} = toRefs(data) 118 const {form, countryList, regionsList, isAgree, loading, regionArr} = toRefs(data)
98 const registerRules = ref( 119 const registerRules = ref(
99 { 120 {
100 password:[ 121 password: [
101 { required: true, trigger: 'blur', message: '请输入您的密码' }, 122 {required: true, trigger: 'blur', message: '请输入您的密码'},
102 { min: 6, max: 16, message: '用户密码长度必须介于 6 和 16 之间', trigger: 'blur' } 123 {min: 6, max: 16, message: '用户密码长度必须介于 6 和 16 之间', trigger: 'blur'}
103 ], 124 ],
104 confirmPassword: [{ required: true, trigger: 'blur', message: '请再次输入您的密码' },], 125 confirmPassword: [{required: true, trigger: 'blur', message: '请再次输入您的密码'},],
105 countryId: [{ required: true, trigger: 'blur', message: '请选择所属国家' },], 126 countryId: [{required: true, trigger: 'blur', message: '请选择所属国家'},],
106 address: [{ required: true, trigger: 'blur', message: '请输入地址' },], 127 address: [{required: true, trigger: 'blur', message: '请输入地址'},],
107 teamName: [{ required: true, trigger: 'blur', message: '请输入' },], 128 teamName: [{required: true, trigger: 'blur', message: '请输入'},],
108 contactName: [{ required: true, trigger: 'blur', message: '请输入' },], 129 contactName: [{required: true, trigger: 'blur', message: '请输入'},],
109 contactTel: [{ required: true, trigger: 'blur', message: '请输入' },], 130 contactTel: [{required: true, trigger: 'blur', message: '请输入'},],
110 contactEmail: [{ required: true, trigger: 'blur', message: '请输入' },], 131 contactEmail: [{required: true, trigger: 'blur', message: '请输入'},],
111 photo: [{ required: true, trigger: 'blur', message: '请上传' },], 132 photo: [{required: true, trigger: 'blur', message: '请上传'},],
112 }) 133 })
113 const vconfirmPassword = () => { 134 const vconfirmPassword = () => {
114 if (form.value.password !== form.value.confirmPassword) { 135 if (form.value.password !== form.value.confirmPassword) {
115 ElMessage.error('两次输入的密码不一致') 136 ElMessage.error('两次输入的密码不一致')
116 } 137 }
117 } 138 }
118 onMounted(()=>{ 139 onMounted(() => {
119 getCountryList() 140 getCountryList()
120 getRegionsList() 141 getRegionsList()
121 }) 142 })
...@@ -125,18 +146,20 @@ function getCountryList() { ...@@ -125,18 +146,20 @@ function getCountryList() {
125 countryList.value = res.data 146 countryList.value = res.data
126 }) 147 })
127 } 148 }
149
128 function getRegionsList() { 150 function getRegionsList() {
129 match.regionsList().then(res => { 151 match.regionsList().then(res => {
130 regionsList.value = res.data 152 regionsList.value = res.data
131 }) 153 })
132 } 154 }
155
133 const goStep1 = () => { 156 const goStep1 = () => {
134 emit('prev') 157 emit('prev')
135 } 158 }
136 const goStep3 = () => { 159 const goStep3 = () => {
137 proxy.$refs.registerRef.validate(valid => { 160 proxy.$refs.registerRef.validate(valid => {
138 if (valid) { 161 if (valid) {
139 if(!isAgree.value){ 162 if (!isAgree.value) {
140 ElMessage.error('请勾选接受') 163 ElMessage.error('请勾选接受')
141 return 164 return
142 } 165 }
...@@ -144,7 +167,7 @@ const goStep3 = () => { ...@@ -144,7 +167,7 @@ const goStep3 = () => {
144 loading.value = true 167 loading.value = true
145 delete form.value.confirmPassword 168 delete form.value.confirmPassword
146 form.value.regionId = regionArr.value.pop() 169 form.value.regionId = regionArr.value.pop()
147 match.pcRegisterTeam(form.value).then(res=>{ 170 match.pcRegisterTeam(form.value).then(res => {
148 setToken(res.data.token) 171 setToken(res.data.token)
149 emit('submit') 172 emit('submit')
150 }) 173 })
...@@ -156,20 +179,36 @@ const goStep3 = () => { ...@@ -156,20 +179,36 @@ const goStep3 = () => {
156 const showAgreeMent = () => { 179 const showAgreeMent = () => {
157 console.log('111') 180 console.log('111')
158 } 181 }
159 onMounted(()=>{ 182 onMounted(() => {
160 console.log(props) 183 console.log(props)
161 }) 184 })
162 </script> 185 </script>
163 186
164 <style scoped lang="scss"> 187 <style scoped lang="scss">
165 .d-form-border{ 188 .d-form-border {
166 border: 1px solid #E5E5E5;margin: 20px 0;padding: 20px} 189 border: 1px solid #E5E5E5;
167 .leftboderTT{color: var(--el-color-primary); 190 margin: 20px 0;
191 padding: 20px
192 }
193
194 .leftboderTT {
195 color: var(--el-color-primary);
168 font-size: 16px; 196 font-size: 16px;
169 font-weight: 600; 197 font-weight: 600;
170 span{color: #929AA0;font-size: 14px;} 198
199 span {
200 color: #929AA0;
201 font-size: 14px;
202 }
171 } 203 }
172 .flexAgree{display: flex;align-items: center; 204
173 div{margin-left: 8px;font-size: 14px} 205 .flexAgree {
206 display: flex;
207 align-items: center;
208
209 div {
210 margin-left: 8px;
211 font-size: 14px
212 }
174 } 213 }
175 </style> 214 </style>
......
1 <template> 1 <template>
2 <el-card style="min-height: 50vh"> 2 <el-card style="min-height: 50vh">
3 <div> 3 <div class="text-center">
4 <img src="@/assets/dance/ok.png"/> 4 <img class="mauto" src="@/assets/dance/ok.png"/>
5 <h3>注册成功</h3> 5 <h3 class="text-primary">{{ language == 0 ? '注册成功' : 'Stered Successfully !' }}</h3>
6 </div> 6 </div>
7 <div> 7 <div class="flexCenter">
8 <div class="border-info text-center inline"> 8 <div class="border-info text-center inline">
9 <label>登录账号</label> 321 9 <label>{{ language == 0 ? '登录账号' : 'Account' }}:</label> {{accont}}
10 </div> 10 </div>
11 </div> 11 </div>
12 <div class="text-center"> 12 <div class="text-center mt30 mb20">
13 <el-button class="primary-kx" @click="goHome">返回首页</el-button> 13 <el-button class="primary-kx w200px" round @click="goHome">{{ language == 0 ? '返回首页' : 'Homepage' }}</el-button>
14 <el-button type="primary" @click="goSign">去报名</el-button> 14 <el-button type="primary" class="btn-lineG w200px" round @click="goSign">{{ language == 0 ? '去报名' : 'Sign Up' }}</el-button>
15 </div> 15 </div>
16 </el-card> 16 </el-card>
17 </template> 17 </template>
...@@ -23,7 +23,12 @@ import Vcode from "vue3-puzzle-vcode" ...@@ -23,7 +23,12 @@ import Vcode from "vue3-puzzle-vcode"
23 import {ElMessage} from 'element-plus' 23 import {ElMessage} from 'element-plus'
24 import CountDown from '@chenfengyuan/vue-countdown' 24 import CountDown from '@chenfengyuan/vue-countdown'
25 import {getCaptchaSms, checkRegisterCode} from "@/apiPc/match"; 25 import {getCaptchaSms, checkRegisterCode} from "@/apiPc/match";
26 26 const props = defineProps({
27 accont:{
28 type:String,
29 required:true
30 }
31 })
27 const data = reactive({ 32 const data = reactive({
28 isShow: false, 33 isShow: false,
29 isCodeTrue: false, 34 isCodeTrue: false,
...@@ -34,19 +39,6 @@ const data = reactive({ ...@@ -34,19 +39,6 @@ const data = reactive({
34 const {isShow, isCodeTrue, counting, form, activeStep} = toRefs(data) 39 const {isShow, isCodeTrue, counting, form, activeStep} = toRefs(data)
35 const emit = defineEmits(['submit', 'userName']) 40 const emit = defineEmits(['submit', 'userName'])
36 41
37 function sendsmsMsg() {
38 if (!form.value.account) {
39 ElMessage.error('请填写手机/邮箱')
40 return
41 }
42 if (counting.value) {
43 return
44 } else {
45 isShow.value = true
46 }
47 }
48
49
50 const goHome = () => { 42 const goHome = () => {
51 43
52 } 44 }
...@@ -57,6 +49,7 @@ const goSign = () => { ...@@ -57,6 +49,7 @@ const goSign = () => {
57 </script> 49 </script>
58 50
59 <style scoped lang="scss"> 51 <style scoped lang="scss">
52
60 .el-input-group__append button.el-button, .el-input-group__append button.el-button:hover { 53 .el-input-group__append button.el-button, .el-input-group__append button.el-button:hover {
61 color: var(--el-color-primary); 54 color: var(--el-color-primary);
62 background: #efefff; 55 background: #efefff;
......
...@@ -2,18 +2,18 @@ ...@@ -2,18 +2,18 @@
2 <div> 2 <div>
3 <div class="mt30 mb60"> 3 <div class="mt30 mb60">
4 <div class="box"> 4 <div class="box">
5 <!-- 国内-机构注册--> 5 <!--机构注册-->
6 <el-card> 6 <el-card>
7 <el-steps :active="activeStep" align-center> 7 <el-steps :active="activeStep" align-center>
8 <el-step title="创建账号" /> 8 <el-step :title="language==0?'创建账号':'create an account'" />
9 <el-step title="账号信息" /> 9 <el-step :title="language==0?'账号信息':'account information'" />
10 <el-step title="注册完成" /> 10 <el-step :title="language==0?'注册完成':'stered successfully'" />
11 </el-steps> 11 </el-steps>
12 </el-card> 12 </el-card>
13 <div class="mt20"></div> 13 <div class="mt20"></div>
14 <Step1 v-if="activeStep==0" @submit="toStep2" @userName="getUserName" /> 14 <Step1 v-if="activeStep==0" @submit="toStep2" @userName="getUserName" />
15 <Step2 v-if="activeStep==1" @submit="toStep3" @prev="toStep1" :accont="form.userName"/> 15 <Step2 v-if="activeStep==1" @submit="toStep3" @prev="toStep1" :accont="form.userName"/>
16 <Step3 v-if="activeStep==2"/> 16 <Step3 v-if="activeStep==2" :accont="form.userName"/>
17 </div> 17 </div>
18 </div> 18 </div>
19 </div> 19 </div>
...@@ -24,8 +24,11 @@ import {reactive} from "@vue/runtime-core"; ...@@ -24,8 +24,11 @@ import {reactive} from "@vue/runtime-core";
24 import Step1 from "./step1"; 24 import Step1 from "./step1";
25 import Step2 from "./step2"; 25 import Step2 from "./step2";
26 import Step3 from "./step3"; 26 import Step3 from "./step3";
27 import * as match from "@/apiPc/match"; 27 import * as match from "@/apiPc/match"
28 import {onMounted,toRefs} from "vue"; 28 import {onMounted,toRefs} from "vue"
29 import cache from '@/plugins/cache'
30 const language = ref(cache.local.get('language') || 0)
31
29 const data = reactive({ 32 const data = reactive({
30 isShow:false, 33 isShow:false,
31 isCodeTrue:false, 34 isCodeTrue:false,
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!