no message
Showing
20 changed files
with
838 additions
and
432 deletions
| ... | @@ -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}`, | ... | ... |
src/assets/img/r.png
0 → 100644
2.2 KB
src/assets/img/w.png
0 → 100644
2.52 KB
| ... | @@ -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 | | <span @click="logout()">退出</span> | 66 | | <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 | | <span @click="logout()">退出</span> | 70 | | <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}}   | ||
| 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, | ... | ... |
-
Please register or sign in to post a comment