no message
Showing
29 changed files
with
382 additions
and
728 deletions
dance-无about.zip
0 → 100644
This file is too large to display.
| ... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
| 7 | <meta name="renderer" content="webkit"> | 7 | <meta name="renderer" content="webkit"> |
| 8 | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> | 8 | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> |
| 9 | <link rel="icon" href="/favicon.ico"> | 9 | <link rel="icon" href="/favicon.ico"> |
| 10 | <title>体育舞蹈大赛</title> | 10 | <title>亚洲体育舞蹈大赛</title> |
| 11 | <!-- <script src="./browser.js"></script>--> | 11 | <!-- <script src="./browser.js"></script>--> |
| 12 | <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> | 12 | <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> |
| 13 | <style> | 13 | <style> | ... | ... |
public/img/wb.jpg
0 → 100644
12.4 KB
public/img/wb2.jpg
0 → 100644
158 KB
This diff is collapsed.
Click to expand it.
| ... | @@ -2,27 +2,42 @@ | ... | @@ -2,27 +2,42 @@ |
| 2 | <div class="footAll"> | 2 | <div class="footAll"> |
| 3 | <div class="box" style="max-width: 90%"> | 3 | <div class="box" style="max-width: 90%"> |
| 4 | <el-row style="align-items: center;" v-if="language==0"> | 4 | <el-row style="align-items: center;" v-if="language==0"> |
| 5 | <el-col :lg="12" :md="12" :xs="24"> | 5 | <el-col :lg="10" :md="12" :xs="24"> |
| 6 | <ul> | 6 | <ul> |
| 7 | <li> | 7 | <li>邮编:214000</li> |
| 8 | <router-link to="/about"></router-link> | 8 | <li>微信: 15606190026</li> |
| 9 | </li> | 9 | <li>QQ: 497118883</li> |
| 10 | <li> | 10 | <li>江苏省 无锡市太湖新城和风路与清舒交叉口东北100米</li> |
| 11 | <a target="_blank" href="https://beian.miit.gov.cn/">ICP备案号:苏ICP备2023054420号-2</a> | 11 | |
| 12 | <!-- <a class="ffoot" target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010102004192">--> | ||
| 13 | <!-- <img src="@/assets/v1/beian.png">--> | ||
| 14 | <!-- 京公网安备 11010102004192号</a>--> | ||
| 15 | </li> | ||
| 16 | </ul> | 12 | </ul> |
| 17 | </el-col> | 13 | </el-col> |
| 18 | <el-col :lg="12" :md="12" :xs="24"> | 14 | <el-col :lg="10" :md="12" :xs="24"> |
| 19 | <ul style="text-align: right"> | 15 | <ul style="text-align: right"> |
| 20 | <li>地址:江苏省无锡市滨湖区体育中心A区201 | 16 | <li>客服及报障电话:15606190026</li> |
| 17 | <li>客服及报障邮箱: info@jinsports.com</li> | ||
| 18 | <li> | ||
| 19 | |||
| 20 | <!-- <a class="ffoot" target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010102004192">--> | ||
| 21 | <!-- <img src="@/assets/v1/beian.png">--> | ||
| 22 | <!-- 京公网安备 11010102004192号</a>--> | ||
| 23 | |||
| 21 | </li> | 24 | </li> |
| 22 | <li>邮编:214000</li> | ||
| 23 | </ul> | 25 | </ul> |
| 24 | </el-col> | 26 | </el-col> |
| 27 | <el-col :lg="4" :md="12" :xs="24"> | ||
| 28 | <div> | ||
| 29 | <img class="mauto" src="/img/wb2.jpg"/> | ||
| 30 | <p class="text-center mt10">微博关注</p> | ||
| 31 | </div> | ||
| 32 | </el-col> | ||
| 33 | <el-col :span="24"> | ||
| 34 | <div class="text-center copyright">版权所有@无锡和畅赛事运营有限公司 | ||
| 35 |    | ||
| 36 | <a target="_blank" href="https://beian.miit.gov.cn/">ICP备案号:苏ICP备2023054420号-2</a></div> | ||
| 37 | </el-col> | ||
| 25 | </el-row> | 38 | </el-row> |
| 39 | |||
| 40 | |||
| 26 | <el-row style="align-items: center;" v-if="language==1"> | 41 | <el-row style="align-items: center;" v-if="language==1"> |
| 27 | <el-col :lg="12" :md="12" :xs="24"> | 42 | <el-col :lg="12" :md="12" :xs="24"> |
| 28 | <ul> | 43 | <ul> |
| ... | @@ -54,13 +69,19 @@ const language = useStorage('language', 0) | ... | @@ -54,13 +69,19 @@ const language = useStorage('language', 0) |
| 54 | </script> | 69 | </script> |
| 55 | 70 | ||
| 56 | <style lang="scss" scoped> | 71 | <style lang="scss" scoped> |
| 57 | .footAll{background: #E0E3E5;;padding: 36px 0; | 72 | .copyright{ font-size: 14px; |
| 73 | opacity: 0.88; | ||
| 74 | color: #4C5359;} | ||
| 75 | .footAll{background: #E0E3E5;;padding: 36px 0 15px; | ||
| 76 | p{ font-size: 14px; | ||
| 77 | opacity: 0.88; | ||
| 78 | color: #4C5359;} | ||
| 58 | ul{list-style: none; | 79 | ul{list-style: none; |
| 59 | li{line-height: 30px; | 80 | li{line-height: 30px; |
| 60 | font-size: 14px; | 81 | font-size: 14px; |
| 61 | opacity: 0.88; | 82 | opacity: 0.88; |
| 62 | color: #4C5359; | 83 | color: #4C5359; |
| 63 | a{margin-right: 15px; | 84 | a{margin-left: 15px; |
| 64 | &:hover{text-decoration: underline;} | 85 | &:hover{text-decoration: underline;} |
| 65 | } | 86 | } |
| 66 | } | 87 | } | ... | ... |
| ... | @@ -17,12 +17,12 @@ | ... | @@ -17,12 +17,12 @@ |
| 17 | <el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item> | 17 | <el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item> |
| 18 | <el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item> | 18 | <el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item> |
| 19 | <el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item> | 19 | <el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item> |
| 20 | <el-sub-menu index="/about"> | 20 | <!-- <el-sub-menu index="/about">--> |
| 21 | <template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template> | 21 | <!-- <template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template>--> |
| 22 | <el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item> | 22 | <!-- <el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item>--> |
| 23 | <el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item> | 23 | <!-- <el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item>--> |
| 24 | <el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item> | 24 | <!-- <el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item>--> |
| 25 | </el-sub-menu> | 25 | <!-- </el-sub-menu>--> |
| 26 | </el-menu> | 26 | </el-menu> |
| 27 | <el-menu v-else class="enMenu" | 27 | <el-menu v-else class="enMenu" |
| 28 | router :default-active="activeIndex" :mode="mode" :ellipsis="true" | 28 | router :default-active="activeIndex" :mode="mode" :ellipsis="true" |
| ... | @@ -35,12 +35,12 @@ | ... | @@ -35,12 +35,12 @@ |
| 35 | <el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item> | 35 | <el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item> |
| 36 | <el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item> | 36 | <el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item> |
| 37 | <el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item> | 37 | <el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item> |
| 38 | <el-sub-menu index="/about"> | 38 | <!-- <el-sub-menu index="/about">--> |
| 39 | <template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template> | 39 | <!-- <template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template>--> |
| 40 | <el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item> | 40 | <!-- <el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item>--> |
| 41 | <el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item> | 41 | <!-- <el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item>--> |
| 42 | <el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item> | 42 | <!-- <el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item>--> |
| 43 | </el-sub-menu> | 43 | <!-- </el-sub-menu>--> |
| 44 | </el-menu> | 44 | </el-menu> |
| 45 | </div> | 45 | </div> |
| 46 | 46 | ... | ... |
| ... | @@ -99,6 +99,12 @@ export const constantRoutes = [ | ... | @@ -99,6 +99,12 @@ export const constantRoutes = [ |
| 99 | component: () => import('@/viewsPc/about/culture'), | 99 | component: () => import('@/viewsPc/about/culture'), |
| 100 | name: 'culture', | 100 | name: 'culture', |
| 101 | meta: { title: '地方文化' } | 101 | meta: { title: '地方文化' } |
| 102 | }, | ||
| 103 | { | ||
| 104 | path: 'leaderInfo/:id', | ||
| 105 | component: () => import('@/viewsPc/about/leaderInfo'), | ||
| 106 | name: 'leaderInfo', | ||
| 107 | meta: { title: '评委详情' } | ||
| 102 | } | 108 | } |
| 103 | ] | 109 | ] |
| 104 | }, | 110 | }, | ... | ... |
| ... | @@ -210,7 +210,7 @@ export const constantRoutes = [ | ... | @@ -210,7 +210,7 @@ export const constantRoutes = [ |
| 210 | children: [ | 210 | children: [ |
| 211 | { | 211 | { |
| 212 | path: 'index', | 212 | path: 'index', |
| 213 | component: () => import('@/viewsPc/saiC/index_en'), | 213 | component: () => import('@/viewsPc/saiC/index'), |
| 214 | name: 'saiC', | 214 | name: 'saiC', |
| 215 | meta: { title: 'COMPETITIONS' } | 215 | meta: { title: 'COMPETITIONS' } |
| 216 | } | 216 | } | ... | ... |
| ... | @@ -6,17 +6,9 @@ | ... | @@ -6,17 +6,9 @@ |
| 6 | <el-icon> | 6 | <el-icon> |
| 7 | <HomeFilled /> | 7 | <HomeFilled /> |
| 8 | </el-icon> | 8 | </el-icon> |
| 9 | 首页 | 9 | {{ language==0?'首页':'Home' }} |
| 10 | </el-breadcrumb-item> | 10 | </el-breadcrumb-item> |
| 11 | <el-breadcrumb-item v-if="from=='nationalTeam'" :to="{ name: 'nationalTeam',query: {activeName:'t1'} }">国家队队员</el-breadcrumb-item> | 11 | <el-breadcrumb-item>{{ language==0?'评委详情':'Judge Details' }}</el-breadcrumb-item> |
| 12 | <el-breadcrumb-item v-else-if="from=='7'" to="/competition/coach/7">宣传员</el-breadcrumb-item> | ||
| 13 | <el-breadcrumb-item v-else-if="from=='2'" to="/competition/coach/2">裁判员</el-breadcrumb-item> | ||
| 14 | <el-breadcrumb-item v-else-if="from=='1'" to="/competition/coach/1">教练员</el-breadcrumb-item> | ||
| 15 | <el-breadcrumb-item v-else-if="from=='6'" to="/competition/coach/6">解说员</el-breadcrumb-item> | ||
| 16 | <el-breadcrumb-item v-else-if="from=='9'" to="/competition/coach/9">运动员</el-breadcrumb-item> | ||
| 17 | <el-breadcrumb-item v-else-if="from=='list'">人员列表</el-breadcrumb-item> | ||
| 18 | <el-breadcrumb-item v-else :to="{ name: 'about',params:{activeName:'first'} }">关于协会</el-breadcrumb-item> | ||
| 19 | <el-breadcrumb-item>人员信息</el-breadcrumb-item> | ||
| 20 | </el-breadcrumb> | 12 | </el-breadcrumb> |
| 21 | <el-card class="mt20"> | 13 | <el-card class="mt20"> |
| 22 | <el-row class="mt20"> | 14 | <el-row class="mt20"> |
| ... | @@ -78,7 +70,8 @@ import { ArrowRight } from '@element-plus/icons-vue' | ... | @@ -78,7 +70,8 @@ import { ArrowRight } from '@element-plus/icons-vue' |
| 78 | import { onMounted, ref } from 'vue' | 70 | import { onMounted, ref } from 'vue' |
| 79 | import { useRoute, useRouter } from 'vue-router' | 71 | import { useRoute, useRouter } from 'vue-router' |
| 80 | import { getPersonInfo } from '@/apiPc/webSite' | 72 | import { getPersonInfo } from '@/apiPc/webSite' |
| 81 | 73 | import {useStorage} from "@vueuse/core/index"; | |
| 74 | const language= useStorage('language',0) | ||
| 82 | let personId | 75 | let personId |
| 83 | const route = useRoute() | 76 | const route = useRoute() |
| 84 | const person = ref({}) | 77 | const person = ref({}) | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -140,44 +140,44 @@ | ... | @@ -140,44 +140,44 @@ |
| 140 | <span v-else>{{ scope.row.index }}</span> | 140 | <span v-else>{{ scope.row.index }}</span> |
| 141 | </template> | 141 | </template> |
| 142 | </el-table-column> | 142 | </el-table-column> |
| 143 | <el-table-column label="Country/Region" prop="name" min-width="100" align="center"> | 143 | <el-table-column label="Country/Region"> |
| 144 | <template #default="scope"> | 144 | <template #default="scope"> |
| 145 | <div> | 145 | <div> |
| 146 | <span :class="`flag-icon flag-icon-${scope.row.code}`"></span> | 146 | <span :class="`flag-icon flag-icon-${scope.row.code}`"></span> |
| 147 | {{ scope.row.gj }}</div> | 147 | {{ scope.row.en_gj }} |
| 148 | </div> | ||
| 148 | </template> | 149 | </template> |
| 149 | </el-table-column> | 150 | </el-table-column> |
| 150 | <el-table-column prop="score"> | 151 | <el-table-column label="COUPLE" align="center"> |
| 151 | <template #header> | ||
| 152 | <img src="@/assets/dance/1.png"> | ||
| 153 | </template> | ||
| 154 | <template #default="scope"> | 152 | <template #default="scope"> |
| 155 | <div class="text-warning">{{ scope.row.score }}</div> | 153 | <div class="text-primary esp">{{ scope.row.name }}</div> |
| 156 | </template> | 154 | </template> |
| 157 | </el-table-column> | 155 | </el-table-column> |
| 158 | <el-table-column prop="score"> | 156 | <el-table-column width="50"> |
| 159 | <template #header> | 157 | <template #header> |
| 160 | <img src="@/assets/dance/2.png"> | 158 | <img class="mauto" src="@/assets/dance/1.png"> |
| 161 | </template> | 159 | </template> |
| 162 | <template #default="scope"> | 160 | <template #default="scope"> |
| 163 | <div class="text-blue">{{ scope.row.score }}</div> | 161 | <div class="text-warning text-center">{{ scope.row.jin }}</div> |
| 164 | </template> | 162 | </template> |
| 165 | </el-table-column> | 163 | </el-table-column> |
| 166 | <el-table-column prop="score"> | 164 | <el-table-column width="50"> |
| 167 | <template #header> | 165 | <template #header> |
| 168 | <img src="@/assets/dance/3.png"> | 166 | <img class="mauto" src="@/assets/dance/2.png"> |
| 169 | </template> | 167 | </template> |
| 170 | <template #default="scope"> | 168 | <template #default="scope"> |
| 171 | <div class="text-primary">{{ scope.row.score }}</div> | 169 | <div class="text-blue text-center">{{ scope.row.yin }}</div> |
| 172 | </template> | 170 | </template> |
| 173 | </el-table-column> | 171 | </el-table-column> |
| 174 | <el-table-column label="Total" align="center"> | 172 | <el-table-column width="50"> |
| 173 | <template #header> | ||
| 174 | <img class="mauto" src="@/assets/dance/3.png"> | ||
| 175 | </template> | ||
| 175 | <template #default="scope"> | 176 | <template #default="scope"> |
| 176 | <div class="text-primary">{{ scope.row.score }}</div> | 177 | <div class="text-primary text-center">{{ scope.row.tong }}</div> |
| 177 | </template> | 178 | </template> |
| 178 | </el-table-column> | 179 | </el-table-column> |
| 179 | </el-table> | 180 | </el-table> |
| 180 | |||
| 181 | </el-card> | 181 | </el-card> |
| 182 | </el-col> | 182 | </el-col> |
| 183 | </el-row> | 183 | </el-row> |
| ... | @@ -375,7 +375,6 @@ import { getCurrentInstance } from '@vue/runtime-core' | ... | @@ -375,7 +375,6 @@ import { getCurrentInstance } from '@vue/runtime-core' |
| 375 | import { getNewsListById, getNewsList } from '@/apiPc/webSite' | 375 | import { getNewsListById, getNewsList } from '@/apiPc/webSite' |
| 376 | import { useRouter } from 'vue-router' | 376 | import { useRouter } from 'vue-router' |
| 377 | import _ from 'lodash' | 377 | import _ from 'lodash' |
| 378 | import { getHotActivity } from '@/apiPc/common' | ||
| 379 | import { Swiper, SwiperSlide } from 'swiper/vue' | 378 | import { Swiper, SwiperSlide } from 'swiper/vue' |
| 380 | import { Autoplay, Navigation } from 'swiper' | 379 | import { Autoplay, Navigation } from 'swiper' |
| 381 | import 'swiper/css' | 380 | import 'swiper/css' |
| ... | @@ -387,7 +386,7 @@ import r04 from '@/assets/dance/r04.png' | ... | @@ -387,7 +386,7 @@ import r04 from '@/assets/dance/r04.png' |
| 387 | import r05 from '@/assets/dance/r05.png' | 386 | import r05 from '@/assets/dance/r05.png' |
| 388 | import r06 from '@/assets/dance/r06.png' | 387 | import r06 from '@/assets/dance/r06.png' |
| 389 | import * as match from "@/apiPc/match"; | 388 | import * as match from "@/apiPc/match"; |
| 390 | 389 | import {rankList} from '@/assets/js/data' | |
| 391 | const modules = [Autoplay, Navigation] | 390 | const modules = [Autoplay, Navigation] |
| 392 | const navigationPic = ref({ | 391 | const navigationPic = ref({ |
| 393 | nextEl: '.picnext', | 392 | nextEl: '.picnext', |
| ... | @@ -396,15 +395,6 @@ const navigationPic = ref({ | ... | @@ -396,15 +395,6 @@ const navigationPic = ref({ |
| 396 | const router = useRouter() | 395 | const router = useRouter() |
| 397 | const { proxy } = getCurrentInstance() | 396 | const { proxy } = getCurrentInstance() |
| 398 | const time = ref(0) | 397 | const time = ref(0) |
| 399 | const rankList = ref([ | ||
| 400 | { index: '1', code: 'cn', score: '170',gj:'China' }, | ||
| 401 | { index: '2', code: 'us', score: '170' ,gj:'China'}, | ||
| 402 | { index: '3', code: 'de', score: '170',gj:'China' }, | ||
| 403 | { index: '4', code: 'eg', score: '170',gj:'China' }, | ||
| 404 | { index: '5', code: 'ly', score: '170' ,gj:'China'}, | ||
| 405 | { index: '6', code: 'tn', score: '170' ,gj:'China'}, | ||
| 406 | { index: '7', code: 'gw', score: '170' ,gj:'China'} | ||
| 407 | ]) | ||
| 408 | const personList = ref([ | 398 | const personList = ref([ |
| 409 | { name: 'Zhang Jin', pp: 'artistic director', src: r01 }, | 399 | { name: 'Zhang Jin', pp: 'artistic director', src: r01 }, |
| 410 | { name: 'Wang min', pp: 'regimental commander', src: r02 }, | 400 | { name: 'Wang min', pp: 'regimental commander', src: r02 }, | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -20,7 +20,7 @@ | ... | @@ -20,7 +20,7 @@ |
| 20 | </template> | 20 | </template> |
| 21 | <div class="chooseForm"> | 21 | <div class="chooseForm"> |
| 22 | <el-checkbox-group v-model="form.coachs" @change="changecoachs"> | 22 | <el-checkbox-group v-model="form.coachs" @change="changecoachs"> |
| 23 | <div class="addBttn" @click="addCoach(0)">+</div> | 23 | <div class="addBttn" @click="addCoach('1')">+</div> |
| 24 | <el-checkbox v-for="c in personAllList?.coaches" :label="c.id"> | 24 | <el-checkbox v-for="c in personAllList?.coaches" :label="c.id"> |
| 25 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 25 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 26 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | 26 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> |
| ... | @@ -48,7 +48,7 @@ | ... | @@ -48,7 +48,7 @@ |
| 48 | </template> | 48 | </template> |
| 49 | <div class="chooseForm"> | 49 | <div class="chooseForm"> |
| 50 | <el-checkbox-group v-model="form.leader"> | 50 | <el-checkbox-group v-model="form.leader"> |
| 51 | <div class="addBttn" @click="addCoach(0)">+</div> | 51 | <div class="addBttn" @click="addCoach('2')">+</div> |
| 52 | <el-checkbox v-for="c in personAllList?.leaders" :label="c.id"> | 52 | <el-checkbox v-for="c in personAllList?.leaders" :label="c.id"> |
| 53 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 53 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 54 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | 54 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> |
| ... | @@ -73,7 +73,7 @@ | ... | @@ -73,7 +73,7 @@ |
| 73 | </template> | 73 | </template> |
| 74 | <div class="chooseForm"> | 74 | <div class="chooseForm"> |
| 75 | <el-checkbox-group v-model="form.doctor"> | 75 | <el-checkbox-group v-model="form.doctor"> |
| 76 | <div class="addBttn" @click="addCoach(0)">+</div> | 76 | <div class="addBttn" @click="addCoach('4')">+</div> |
| 77 | <el-checkbox v-for="c in personAllList?.teamDoctors" :label="c.id"> | 77 | <el-checkbox v-for="c in personAllList?.teamDoctors" :label="c.id"> |
| 78 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 78 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 79 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | 79 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> |
| ... | @@ -98,7 +98,7 @@ | ... | @@ -98,7 +98,7 @@ |
| 98 | </template> | 98 | </template> |
| 99 | <div class="chooseForm"> | 99 | <div class="chooseForm"> |
| 100 | <el-checkbox-group v-model="form.translator"> | 100 | <el-checkbox-group v-model="form.translator"> |
| 101 | <div class="addBttn" @click="addCoach(0)">+</div> | 101 | <div class="addBttn" @click="addCoach('5')">+</div> |
| 102 | <el-checkbox v-for="c in personAllList?.translators" :label="c.id"> | 102 | <el-checkbox v-for="c in personAllList?.translators" :label="c.id"> |
| 103 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 103 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 104 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | 104 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> |
| ... | @@ -123,7 +123,7 @@ | ... | @@ -123,7 +123,7 @@ |
| 123 | </template> | 123 | </template> |
| 124 | <div class="chooseForm"> | 124 | <div class="chooseForm"> |
| 125 | <el-checkbox-group v-model="form.official"> | 125 | <el-checkbox-group v-model="form.official"> |
| 126 | <div class="addBttn" @click="addCoach(0)">+</div> | 126 | <div class="addBttn" @click="addCoach('6')">+</div> |
| 127 | <el-checkbox v-for="c in personAllList?.officials" :label="c.id"> | 127 | <el-checkbox v-for="c in personAllList?.officials" :label="c.id"> |
| 128 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 128 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 129 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | 129 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> |
| ... | @@ -148,7 +148,7 @@ | ... | @@ -148,7 +148,7 @@ |
| 148 | </template> | 148 | </template> |
| 149 | <div class="chooseForm"> | 149 | <div class="chooseForm"> |
| 150 | <el-checkbox-group v-model="form.other"> | 150 | <el-checkbox-group v-model="form.other"> |
| 151 | <div class="addBttn" @click="addCoach(0)">+</div> | 151 | <div class="addBttn" @click="addCoach('3')">+</div> |
| 152 | <el-checkbox v-for="c in personAllList?.others" :label="c.id"> | 152 | <el-checkbox v-for="c in personAllList?.others" :label="c.id"> |
| 153 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 153 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 154 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | 154 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> |
| ... | @@ -365,10 +365,11 @@ function editPerson(id) { | ... | @@ -365,10 +365,11 @@ function editPerson(id) { |
| 365 | }) | 365 | }) |
| 366 | } | 366 | } |
| 367 | 367 | ||
| 368 | function addCoach() { | 368 | function addCoach(n) { |
| 369 | proxy.$refs['dialogAddCoachRef'].open({ | 369 | proxy.$refs['dialogAddCoachRef'].open({ |
| 370 | title: language.value==0?'新建人员':'Add', | 370 | title: language.value==0?'新建人员':'Add', |
| 371 | id: 0, | 371 | id: 0, |
| 372 | label: n, | ||
| 372 | groupId: groupId.value | 373 | groupId: groupId.value |
| 373 | }) | 374 | }) |
| 374 | } | 375 | } | ... | ... |
| ... | @@ -7,22 +7,22 @@ | ... | @@ -7,22 +7,22 @@ |
| 7 | 7 | ||
| 8 | <el-card :body-style="{'padding-top': '0'}"> | 8 | <el-card :body-style="{'padding-top': '0'}"> |
| 9 | <el-row class="mt20" :gutter="20"> | 9 | <el-row class="mt20" :gutter="20"> |
| 10 | <el-col :lg="12"> | 10 | <el-col :lg="8"> |
| 11 | <div class="panel border"> | 11 | <div class="panel border"> |
| 12 | <div class="panel-header "> | 12 | <div class="panel-header "> |
| 13 | <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> | 13 | <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> |
| 14 | <h3 class="panel-title" v-else>Select list of participating athletes</h3> | 14 | <h3 class="panel-title" v-else>Select list of participating athletes</h3> |
| 15 | <!-- <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>--> | 15 | <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> |
| 16 | </div> | 16 | </div> |
| 17 | <div class="panel-body" style="padding: 10px"> | 17 | <div class="panel-body" style="padding: 10px"> |
| 18 | <div style="margin: 0 4px 10px"> | 18 | <div style="margin: 0 4px 10px"> |
| 19 | <el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable | 19 | <el-input size="small" v-model="athletesQuery.name" :prefix-icon="Search" |
| 20 | @change="getProjectList"> | 20 | @change="queryAthletes" |
| 21 | <el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id" ></el-option> | 21 | clearable/> |
| 22 | </el-select> | ||
| 23 | </div> | 22 | </div> |
| 24 | <div class="noPicChooseForm" id="chooseArr"> | 23 | <div class="noPicChooseForm" id="chooseArr"> |
| 25 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | 24 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> |
| 25 | <el-button id="addRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button> | ||
| 26 | <el-checkbox v-for="c in choosedListBak" :value="c.id" border> | 26 | <el-checkbox v-for="c in choosedListBak" :value="c.id" border> |
| 27 | <p class="name">{{ c.realName }} | 27 | <p class="name">{{ c.realName }} |
| 28 | <!-- ({{ c.sexStr }})--> | 28 | <!-- ({{ c.sexStr }})--> |
| ... | @@ -35,7 +35,39 @@ | ... | @@ -35,7 +35,39 @@ |
| 35 | </div> | 35 | </div> |
| 36 | </div> | 36 | </div> |
| 37 | </el-col> | 37 | </el-col> |
| 38 | <el-col :lg="12"> | 38 | <el-col :lg="8"> |
| 39 | <div class="panel border"> | ||
| 40 | <div class="panel-header "> | ||
| 41 | <h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3> | ||
| 42 | <h3 class="panel-title" v-else>Select a Participating team</h3> | ||
| 43 | <a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> | ||
| 44 | </div> | ||
| 45 | <div class="panel-body" style="padding: 10px"> | ||
| 46 | <div class="mb20"> | ||
| 47 | <el-input size="small" v-model="zuQuery.name" :prefix-icon="Search" | ||
| 48 | @change="queryTeam" clearable/> | ||
| 49 | </div> | ||
| 50 | <div class="chooseForm"> | ||
| 51 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | ||
| 52 | <!-- v-show="choosedchoosed.indexOf(c.id) !== -1"--> | ||
| 53 | <el-checkbox v-for="c in choosed2Listbak" :value="c.id" checked> | ||
| 54 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | ||
| 55 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | ||
| 56 | <el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/> | ||
| 57 | <p class="name">{{ c.realName }} | ||
| 58 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> | ||
| 59 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> | ||
| 60 | <!-- <el-icon @click.stop="editPerson(c.id)">--> | ||
| 61 | <!-- <Edit/>--> | ||
| 62 | <!-- </el-icon>--> | ||
| 63 | </p> | ||
| 64 | </el-checkbox> | ||
| 65 | </el-checkbox-group> | ||
| 66 | </div> | ||
| 67 | </div> | ||
| 68 | </div> | ||
| 69 | </el-col> | ||
| 70 | <el-col :lg="8"> | ||
| 39 | <div class="panel border"> | 71 | <div class="panel border"> |
| 40 | <div class="panel-header "> | 72 | <div class="panel-header "> |
| 41 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> | 73 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> |
| ... | @@ -46,7 +78,7 @@ | ... | @@ -46,7 +78,7 @@ |
| 46 | clearable/> | 78 | clearable/> |
| 47 | </div> | 79 | </div> |
| 48 | </div> | 80 | </div> |
| 49 | <div v-loading="loadingProject" id="projectbox" style="height: 60vh;overflow: auto;"> | 81 | <div v-loading="loadingProject" id="projectbox" style="height: 60vh"> |
| 50 | <el-checkbox-group v-model="projectIds" @change="changeProject"> | 82 | <el-checkbox-group v-model="projectIds" @change="changeProject"> |
| 51 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id"> | 83 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id"> |
| 52 | <div class="flexBetween w100"> | 84 | <div class="flexBetween w100"> |
| ... | @@ -166,7 +198,6 @@ const data = reactive({ | ... | @@ -166,7 +198,6 @@ const data = reactive({ |
| 166 | signInfoList: [], | 198 | signInfoList: [], |
| 167 | zuTableList: [], | 199 | zuTableList: [], |
| 168 | choosedList: [], | 200 | choosedList: [], |
| 169 | athletesList: [], | ||
| 170 | choosedListBak: [], | 201 | choosedListBak: [], |
| 171 | athletesQuery: { | 202 | athletesQuery: { |
| 172 | name: '' | 203 | name: '' |
| ... | @@ -195,7 +226,7 @@ const data = reactive({ | ... | @@ -195,7 +226,7 @@ const data = reactive({ |
| 195 | openTour:false | 226 | openTour:false |
| 196 | }) | 227 | }) |
| 197 | const { | 228 | const { |
| 198 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,athletesList, | 229 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak, |
| 199 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, | 230 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, |
| 200 | projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent | 231 | projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent |
| 201 | } = toRefs(data) | 232 | } = toRefs(data) |
| ... | @@ -207,18 +238,11 @@ onMounted(() => { | ... | @@ -207,18 +238,11 @@ onMounted(() => { |
| 207 | getSignInfoList() | 238 | getSignInfoList() |
| 208 | getMatch(matchId.value) | 239 | getMatch(matchId.value) |
| 209 | getMySignInfo() | 240 | getMySignInfo() |
| 210 | getAthletesList() | ||
| 211 | // openTour.value = true | 241 | // openTour.value = true |
| 212 | }) | 242 | }) |
| 213 | 243 | ||
| 214 | let chargeFlag | 244 | let chargeFlag |
| 215 | 245 | ||
| 216 | function getAthletesList() { | ||
| 217 | // athletesList.value | ||
| 218 | match.getGroupPersonList({}, groupId.value).then(res => { | ||
| 219 | athletesList.value = res.rows | ||
| 220 | }) | ||
| 221 | } | ||
| 222 | function getMatch(id) { | 246 | function getMatch(id) { |
| 223 | match.getMatchById({ | 247 | match.getMatchById({ |
| 224 | id: id | 248 | id: id |
| ... | @@ -356,6 +380,15 @@ function getProjectList() { | ... | @@ -356,6 +380,15 @@ function getProjectList() { |
| 356 | }) | 380 | }) |
| 357 | } | 381 | } |
| 358 | 382 | ||
| 383 | function queryAthletes() { | ||
| 384 | choosedListBak.value = [] | ||
| 385 | for (var t of choosedList.value) { | ||
| 386 | if (t.realName.indexOf(athletesQuery.value.name) > -1) { | ||
| 387 | // 筛选 | ||
| 388 | choosedListBak.value.push(t) | ||
| 389 | } | ||
| 390 | } | ||
| 391 | } | ||
| 359 | 392 | ||
| 360 | function queryTeam() { | 393 | function queryTeam() { |
| 361 | choosed2Listbak.value = [] | 394 | choosed2Listbak.value = [] |
| ... | @@ -408,6 +441,19 @@ function addCoach() { | ... | @@ -408,6 +441,19 @@ function addCoach() { |
| 408 | proxy.$refs['dialogAddCoachRef'].open(params) | 441 | proxy.$refs['dialogAddCoachRef'].open(params) |
| 409 | } | 442 | } |
| 410 | 443 | ||
| 444 | function emptyChoosed() { | ||
| 445 | choosedList.value = [] | ||
| 446 | choosedListBak.value = [] | ||
| 447 | } | ||
| 448 | |||
| 449 | function emptyChangechoosed() { | ||
| 450 | choosedchoosed.value = [] | ||
| 451 | choosed2List.value = [] | ||
| 452 | choosed2Listbak.value = [] | ||
| 453 | projectList.value = [] | ||
| 454 | projectIds.value = [] | ||
| 455 | } | ||
| 456 | |||
| 411 | function signUp() { | 457 | function signUp() { |
| 412 | if (projectIds.value.length == 0) { | 458 | if (projectIds.value.length == 0) { |
| 413 | return | 459 | return |
| ... | @@ -571,7 +617,7 @@ watch(choosedchoosed, (newVal, oldVal) => { | ... | @@ -571,7 +617,7 @@ watch(choosedchoosed, (newVal, oldVal) => { |
| 571 | 617 | ||
| 572 | .flexBetweenBox { | 618 | .flexBetweenBox { |
| 573 | width: 100%; | 619 | width: 100%; |
| 574 | height: auto;margin: 0; | 620 | height: auto; |
| 575 | border-bottom: 1px solid #eee; | 621 | border-bottom: 1px solid #eee; |
| 576 | padding: 0 10px; | 622 | padding: 0 10px; |
| 577 | } | 623 | } | ... | ... |
| ... | @@ -7,22 +7,22 @@ | ... | @@ -7,22 +7,22 @@ |
| 7 | 7 | ||
| 8 | <el-card :body-style="{'padding-top': '0'}"> | 8 | <el-card :body-style="{'padding-top': '0'}"> |
| 9 | <el-row class="mt20" :gutter="20"> | 9 | <el-row class="mt20" :gutter="20"> |
| 10 | <el-col :lg="8"> | 10 | <el-col :lg="12"> |
| 11 | <div class="panel border"> | 11 | <div class="panel border"> |
| 12 | <div class="panel-header "> | 12 | <div class="panel-header "> |
| 13 | <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> | 13 | <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> |
| 14 | <h3 class="panel-title" v-else>Select list of participating athletes</h3> | 14 | <h3 class="panel-title" v-else>Select list of participating athletes</h3> |
| 15 | <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> | 15 | <!-- <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>--> |
| 16 | </div> | 16 | </div> |
| 17 | <div class="panel-body" style="padding: 10px"> | 17 | <div class="panel-body" style="padding: 10px"> |
| 18 | <div style="margin: 0 4px 10px"> | 18 | <div style="margin: 0 4px 10px"> |
| 19 | <el-input size="small" v-model="athletesQuery.name" :prefix-icon="Search" | 19 | <el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable |
| 20 | @change="queryAthletes" | 20 | @change="getProjectList"> |
| 21 | clearable/> | 21 | <el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id" ></el-option> |
| 22 | </el-select> | ||
| 22 | </div> | 23 | </div> |
| 23 | <div class="noPicChooseForm" id="chooseArr"> | 24 | <div class="noPicChooseForm" id="chooseArr"> |
| 24 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | 25 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> |
| 25 | <el-button id="addRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button> | ||
| 26 | <el-checkbox v-for="c in choosedListBak" :value="c.id" border> | 26 | <el-checkbox v-for="c in choosedListBak" :value="c.id" border> |
| 27 | <p class="name">{{ c.realName }} | 27 | <p class="name">{{ c.realName }} |
| 28 | <!-- ({{ c.sexStr }})--> | 28 | <!-- ({{ c.sexStr }})--> |
| ... | @@ -35,39 +35,7 @@ | ... | @@ -35,39 +35,7 @@ |
| 35 | </div> | 35 | </div> |
| 36 | </div> | 36 | </div> |
| 37 | </el-col> | 37 | </el-col> |
| 38 | <el-col :lg="8"> | 38 | <el-col :lg="12"> |
| 39 | <div class="panel border"> | ||
| 40 | <div class="panel-header "> | ||
| 41 | <h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3> | ||
| 42 | <h3 class="panel-title" v-else>Select a Participating team</h3> | ||
| 43 | <a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> | ||
| 44 | </div> | ||
| 45 | <div class="panel-body" style="padding: 10px"> | ||
| 46 | <div class="mb20"> | ||
| 47 | <el-input size="small" v-model="zuQuery.name" :prefix-icon="Search" | ||
| 48 | @change="queryTeam" clearable/> | ||
| 49 | </div> | ||
| 50 | <div class="chooseForm"> | ||
| 51 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | ||
| 52 | <!-- v-show="choosedchoosed.indexOf(c.id) !== -1"--> | ||
| 53 | <el-checkbox v-for="c in choosed2Listbak" :value="c.id" checked> | ||
| 54 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | ||
| 55 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> | ||
| 56 | <el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/> | ||
| 57 | <p class="name">{{ c.realName }} | ||
| 58 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> | ||
| 59 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> | ||
| 60 | <!-- <el-icon @click.stop="editPerson(c.id)">--> | ||
| 61 | <!-- <Edit/>--> | ||
| 62 | <!-- </el-icon>--> | ||
| 63 | </p> | ||
| 64 | </el-checkbox> | ||
| 65 | </el-checkbox-group> | ||
| 66 | </div> | ||
| 67 | </div> | ||
| 68 | </div> | ||
| 69 | </el-col> | ||
| 70 | <el-col :lg="8"> | ||
| 71 | <div class="panel border"> | 39 | <div class="panel border"> |
| 72 | <div class="panel-header "> | 40 | <div class="panel-header "> |
| 73 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> | 41 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> |
| ... | @@ -78,7 +46,7 @@ | ... | @@ -78,7 +46,7 @@ |
| 78 | clearable/> | 46 | clearable/> |
| 79 | </div> | 47 | </div> |
| 80 | </div> | 48 | </div> |
| 81 | <div v-loading="loadingProject" id="projectbox" style="height: 60vh"> | 49 | <div v-loading="loadingProject" id="projectbox" style="height: 60vh;overflow: auto;"> |
| 82 | <el-checkbox-group v-model="projectIds" @change="changeProject"> | 50 | <el-checkbox-group v-model="projectIds" @change="changeProject"> |
| 83 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id"> | 51 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id"> |
| 84 | <div class="flexBetween w100"> | 52 | <div class="flexBetween w100"> |
| ... | @@ -198,6 +166,7 @@ const data = reactive({ | ... | @@ -198,6 +166,7 @@ const data = reactive({ |
| 198 | signInfoList: [], | 166 | signInfoList: [], |
| 199 | zuTableList: [], | 167 | zuTableList: [], |
| 200 | choosedList: [], | 168 | choosedList: [], |
| 169 | athletesList: [], | ||
| 201 | choosedListBak: [], | 170 | choosedListBak: [], |
| 202 | athletesQuery: { | 171 | athletesQuery: { |
| 203 | name: '' | 172 | name: '' |
| ... | @@ -226,7 +195,7 @@ const data = reactive({ | ... | @@ -226,7 +195,7 @@ const data = reactive({ |
| 226 | openTour:false | 195 | openTour:false |
| 227 | }) | 196 | }) |
| 228 | const { | 197 | const { |
| 229 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak, | 198 | activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,athletesList, |
| 230 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, | 199 | extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, |
| 231 | projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent | 200 | projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent |
| 232 | } = toRefs(data) | 201 | } = toRefs(data) |
| ... | @@ -238,11 +207,18 @@ onMounted(() => { | ... | @@ -238,11 +207,18 @@ onMounted(() => { |
| 238 | getSignInfoList() | 207 | getSignInfoList() |
| 239 | getMatch(matchId.value) | 208 | getMatch(matchId.value) |
| 240 | getMySignInfo() | 209 | getMySignInfo() |
| 210 | getAthletesList() | ||
| 241 | // openTour.value = true | 211 | // openTour.value = true |
| 242 | }) | 212 | }) |
| 243 | 213 | ||
| 244 | let chargeFlag | 214 | let chargeFlag |
| 245 | 215 | ||
| 216 | function getAthletesList() { | ||
| 217 | // athletesList.value | ||
| 218 | match.getGroupPersonList({}, groupId.value).then(res => { | ||
| 219 | athletesList.value = res.rows | ||
| 220 | }) | ||
| 221 | } | ||
| 246 | function getMatch(id) { | 222 | function getMatch(id) { |
| 247 | match.getMatchById({ | 223 | match.getMatchById({ |
| 248 | id: id | 224 | id: id |
| ... | @@ -380,15 +356,6 @@ function getProjectList() { | ... | @@ -380,15 +356,6 @@ function getProjectList() { |
| 380 | }) | 356 | }) |
| 381 | } | 357 | } |
| 382 | 358 | ||
| 383 | function queryAthletes() { | ||
| 384 | choosedListBak.value = [] | ||
| 385 | for (var t of choosedList.value) { | ||
| 386 | if (t.realName.indexOf(athletesQuery.value.name) > -1) { | ||
| 387 | // 筛选 | ||
| 388 | choosedListBak.value.push(t) | ||
| 389 | } | ||
| 390 | } | ||
| 391 | } | ||
| 392 | 359 | ||
| 393 | function queryTeam() { | 360 | function queryTeam() { |
| 394 | choosed2Listbak.value = [] | 361 | choosed2Listbak.value = [] |
| ... | @@ -441,19 +408,6 @@ function addCoach() { | ... | @@ -441,19 +408,6 @@ function addCoach() { |
| 441 | proxy.$refs['dialogAddCoachRef'].open(params) | 408 | proxy.$refs['dialogAddCoachRef'].open(params) |
| 442 | } | 409 | } |
| 443 | 410 | ||
| 444 | function emptyChoosed() { | ||
| 445 | choosedList.value = [] | ||
| 446 | choosedListBak.value = [] | ||
| 447 | } | ||
| 448 | |||
| 449 | function emptyChangechoosed() { | ||
| 450 | choosedchoosed.value = [] | ||
| 451 | choosed2List.value = [] | ||
| 452 | choosed2Listbak.value = [] | ||
| 453 | projectList.value = [] | ||
| 454 | projectIds.value = [] | ||
| 455 | } | ||
| 456 | |||
| 457 | function signUp() { | 411 | function signUp() { |
| 458 | if (projectIds.value.length == 0) { | 412 | if (projectIds.value.length == 0) { |
| 459 | return | 413 | return |
| ... | @@ -617,7 +571,7 @@ watch(choosedchoosed, (newVal, oldVal) => { | ... | @@ -617,7 +571,7 @@ watch(choosedchoosed, (newVal, oldVal) => { |
| 617 | 571 | ||
| 618 | .flexBetweenBox { | 572 | .flexBetweenBox { |
| 619 | width: 100%; | 573 | width: 100%; |
| 620 | height: auto; | 574 | height: auto;margin: 0; |
| 621 | border-bottom: 1px solid #eee; | 575 | border-bottom: 1px solid #eee; |
| 622 | padding: 0 10px; | 576 | padding: 0 10px; |
| 623 | } | 577 | } | ... | ... |
| ... | @@ -4,6 +4,7 @@ | ... | @@ -4,6 +4,7 @@ |
| 4 | :close-on-click-modal="false" class="pcloginpop" | 4 | :close-on-click-modal="false" class="pcloginpop" |
| 5 | destroy-on-close | 5 | destroy-on-close |
| 6 | > | 6 | > |
| 7 | <!-- 舞伴--> | ||
| 7 | <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="160px" inline> | 8 | <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="160px" inline> |
| 8 | <el-row :gutter="30"> | 9 | <el-row :gutter="30"> |
| 9 | <el-col :lg="24"> | 10 | <el-col :lg="24"> | ... | ... |
| ... | @@ -32,15 +32,14 @@ | ... | @@ -32,15 +32,14 @@ |
| 32 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> | 32 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> |
| 33 | <el-input v-model="form.idcCode" @blur="checkCode"/> | 33 | <el-input v-model="form.idcCode" @blur="checkCode"/> |
| 34 | </el-form-item> | 34 | </el-form-item> |
| 35 | |||
| 36 | </el-col> | ||
| 37 | <el-col :lg="12"> | ||
| 38 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> | 35 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> |
| 39 | <el-radio-group v-model="form.sex"> | 36 | <el-radio-group v-model="form.sex"> |
| 40 | <el-radio value="0">{{ language==0?'女':'female' }}</el-radio> | 37 | <el-radio value="0">{{ language==0?'女':'female' }}</el-radio> |
| 41 | <el-radio value="1">{{ language==0?'男':'male' }}</el-radio> | 38 | <el-radio value="1">{{ language==0?'男':'male' }}</el-radio> |
| 42 | </el-radio-group> | 39 | </el-radio-group> |
| 43 | </el-form-item> | 40 | </el-form-item> |
| 41 | </el-col> | ||
| 42 | <el-col :lg="12"> | ||
| 44 | <el-form-item :label="language==0?'出生日期':'birth'" prop="birth" required> | 43 | <el-form-item :label="language==0?'出生日期':'birth'" prop="birth" required> |
| 45 | <el-date-picker | 44 | <el-date-picker |
| 46 | v-model="form.birth" | 45 | v-model="form.birth" |
| ... | @@ -58,22 +57,22 @@ | ... | @@ -58,22 +57,22 @@ |
| 58 | </el-form-item> | 57 | </el-form-item> |
| 59 | 58 | ||
| 60 | 59 | ||
| 61 | <!-- <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required>--> | 60 | <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId"> |
| 62 | <!-- <el-select :disabled="language==0" filterable v-model="form.countryId" style="width: 100%;" @change="changeCountryId">--> | 61 | <el-select :disabled="language==0" filterable v-model="form.countryId" style="width: 100%;" @change="changeCountryId"> |
| 63 | <!-- <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/>--> | 62 | <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/> |
| 64 | <!-- </el-select>--> | 63 | </el-select> |
| 65 | <!-- </el-form-item>--> | 64 | </el-form-item> |
| 66 | 65 | ||
| 67 | <!-- <el-form-item :label="language==0?'详细地址':'Address'" prop="address" required>--> | 66 | <el-form-item :label="language==0?'详细地址':'Address'" prop="address"> |
| 68 | <!-- <el-cascader v-if="form.countryId == 240"--> | 67 | <el-cascader v-if="form.countryId == 240" |
| 69 | <!-- v-model="form.regionId"--> | 68 | v-model="form.regionId" |
| 70 | <!-- style="width: 100%;margin-bottom: 15px"--> | 69 | style="width: 100%;margin-bottom: 15px" |
| 71 | <!-- :options="regionsList"--> | 70 | :options="regionsList" |
| 72 | <!-- :props="{ label:'text' }"--> | 71 | :props="{ label:'text' }" |
| 73 | <!-- />--> | 72 | /> |
| 74 | <!-- <el-input v-model="form.address" type="textarea" :rows="4"/>--> | 73 | <el-input v-model="form.address" type="textarea" :rows="4"/> |
| 75 | 74 | ||
| 76 | <!-- </el-form-item>--> | 75 | </el-form-item> |
| 77 | <el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin"> | 76 | <el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin"> |
| 78 | <el-input v-model="form.wdsfMin" type="number"/> | 77 | <el-input v-model="form.wdsfMin" type="number"/> |
| 79 | </el-form-item> | 78 | </el-form-item> |
| ... | @@ -127,13 +126,13 @@ const data = reactive({ | ... | @@ -127,13 +126,13 @@ const data = reactive({ |
| 127 | rules: { | 126 | rules: { |
| 128 | xing: [{required: true, message: '必填', trigger: 'blur'}], | 127 | xing: [{required: true, message: '必填', trigger: 'blur'}], |
| 129 | ming: [{required: true, message: '必填', trigger: 'blur'}], | 128 | ming: [{required: true, message: '必填', trigger: 'blur'}], |
| 130 | countryId: [{required: true, message: '必填', trigger: 'change'}], | 129 | // countryId: [{required: true, message: '必填', trigger: 'change'}], |
| 131 | idcType: [{required: true, message: '必填', trigger: 'change'}], | 130 | idcType: [{required: true, message: '必填', trigger: 'change'}], |
| 132 | idcCode: [{required: true, message: '必填', trigger: 'blur'}], | 131 | idcCode: [{required: true, message: '必填', trigger: 'blur'}], |
| 133 | phone: [{required: true, message: '必填', trigger: 'blur'}], | 132 | phone: [{required: true, message: '必填', trigger: 'blur'}], |
| 134 | // regionId: [{ required: true, message: '必填', trigger: 'change' }], | 133 | // regionId: [{ required: true, message: '必填', trigger: 'change' }], |
| 135 | birth: [{required: true, message: '必填', trigger: 'change'}], | 134 | birth: [{required: true, message: '必填', trigger: 'change'}], |
| 136 | address: [{ required: true, message: '必填', trigger: 'blur' }], | 135 | // address: [{ required: true, message: '必填', trigger: 'blur' }], |
| 137 | // picUrl: [{required: true, message: '必填', trigger: 'blur'}], | 136 | // picUrl: [{required: true, message: '必填', trigger: 'blur'}], |
| 138 | sex: [{required: true, message: '必填', trigger: 'change'}], | 137 | sex: [{required: true, message: '必填', trigger: 'change'}], |
| 139 | labelArr: [{required: true, message: '必填', trigger: 'change'}] | 138 | labelArr: [{required: true, message: '必填', trigger: 'change'}] |
| ... | @@ -141,13 +140,13 @@ const data = reactive({ | ... | @@ -141,13 +140,13 @@ const data = reactive({ |
| 141 | rules_cn:{ | 140 | rules_cn:{ |
| 142 | xing: [{required: true, message: 'required', trigger: 'blur'}], | 141 | xing: [{required: true, message: 'required', trigger: 'blur'}], |
| 143 | ming: [{required: true, message: 'required', trigger: 'blur'}], | 142 | ming: [{required: true, message: 'required', trigger: 'blur'}], |
| 144 | countryId: [{required: true, message: 'required', trigger: 'change'}], | 143 | // countryId: [{required: true, message: 'required', trigger: 'change'}], |
| 145 | idcType: [{required: true, message: 'required', trigger: 'change'}], | 144 | idcType: [{required: true, message: 'required', trigger: 'change'}], |
| 146 | idcCode: [{required: true, message: 'required', trigger: 'blur'}], | 145 | idcCode: [{required: true, message: 'required', trigger: 'blur'}], |
| 147 | phone: [{required: true, message: 'required', trigger: 'blur'}], | 146 | phone: [{required: true, message: 'required', trigger: 'blur'}], |
| 148 | // regionId: [{ required: true, message: 'required', trigger: 'change' }], | 147 | // regionId: [{ required: true, message: 'required', trigger: 'change' }], |
| 149 | birth: [{required: true, message: 'required', trigger: 'change'}], | 148 | birth: [{required: true, message: 'required', trigger: 'change'}], |
| 150 | address: [{ required: true, message: 'required', trigger: 'blur' }], | 149 | // address: [{ required: true, message: 'required', trigger: 'blur' }], |
| 151 | // picUrl: [{required: true, message: 'required', trigger: 'blur'}], | 150 | // picUrl: [{required: true, message: 'required', trigger: 'blur'}], |
| 152 | sex: [{required: true, message: 'required', trigger: 'change'}], | 151 | sex: [{required: true, message: 'required', trigger: 'change'}], |
| 153 | labelArr: [{required: true, message: 'required', trigger: 'change'}] | 152 | labelArr: [{required: true, message: 'required', trigger: 'change'}] |
| ... | @@ -177,13 +176,17 @@ onMounted(() => { | ... | @@ -177,13 +176,17 @@ onMounted(() => { |
| 177 | }) | 176 | }) |
| 178 | let editgay = false | 177 | let editgay = false |
| 179 | const open = (params) => { | 178 | const open = (params) => { |
| 180 | console.log(params) | 179 | console.log(params.label) |
| 181 | show.value = true | 180 | show.value = true |
| 182 | title.value = params.title | 181 | title.value = params.title |
| 183 | groupId.value = params.groupId || '0' | 182 | groupId.value = params.groupId || '0' |
| 184 | isMe.value = params.isMe | 183 | isMe.value = params.isMe |
| 184 | if(params.label){ | ||
| 185 | form.value.labelArr= [params.label] | ||
| 186 | } | ||
| 185 | if(language.value == 0){ | 187 | if(language.value == 0){ |
| 186 | form.value.countryId = 240 | 188 | form.value.countryId = 240 |
| 189 | form.value.idcType = '0' | ||
| 187 | } | 190 | } |
| 188 | if(isMe.value){ | 191 | if(isMe.value){ |
| 189 | //个人 | 192 | //个人 |
| ... | @@ -245,21 +248,22 @@ function getRegionsList() { | ... | @@ -245,21 +248,22 @@ function getRegionsList() { |
| 245 | } | 248 | } |
| 246 | 249 | ||
| 247 | function checkCode() { | 250 | function checkCode() { |
| 248 | if (form.value.idcType && form.value.idcCode) { | 251 | |
| 252 | if (form.value.idcType=='0' && form.value.idcCode) { | ||
| 249 | giveBirthDay() | 253 | giveBirthDay() |
| 250 | var obj = { | 254 | var obj = { |
| 251 | idcType: form.value.idcType, | 255 | idcType: form.value.idcType, |
| 252 | idcCode: form.value.idcCode | 256 | idcCode: form.value.idcCode |
| 253 | } | 257 | } |
| 254 | match.checkPerson(obj).then(res => { | 258 | // match.checkPerson(obj).then(res => { |
| 255 | if (res.data.idcCode != null) { | 259 | // if (res.data.idcCode != null) { |
| 256 | form.value = res.data | 260 | // form.value = res.data |
| 257 | if (form.value.label != null) { | 261 | // if (form.value.label != null) { |
| 258 | form.value.labelArr = form.value.label.split(',') | 262 | // form.value.labelArr = form.value.label.split(',') |
| 259 | } | 263 | // } |
| 260 | form.value.groupId = groupId.value | 264 | // form.value.groupId = groupId.value |
| 261 | } | 265 | // } |
| 262 | }) | 266 | // }) |
| 263 | } | 267 | } |
| 264 | } | 268 | } |
| 265 | 269 | ||
| ... | @@ -305,7 +309,7 @@ function submitForm() { | ... | @@ -305,7 +309,7 @@ function submitForm() { |
| 305 | if (showRequire.value) { | 309 | if (showRequire.value) { |
| 306 | var pattern = /^1[3456789]\d{9}$/ | 310 | var pattern = /^1[3456789]\d{9}$/ |
| 307 | if (!pattern.test(form.value.phone)) { | 311 | if (!pattern.test(form.value.phone)) { |
| 308 | ElMessage.error('请输入正确的手机号') | 312 | ElMessage.error(language.value == 0 ?'请输入正确的手机号':'Please enter the correct mobile phone number') |
| 309 | return | 313 | return |
| 310 | } | 314 | } |
| 311 | } | 315 | } |
| ... | @@ -319,7 +323,7 @@ function submitForm() { | ... | @@ -319,7 +323,7 @@ function submitForm() { |
| 319 | // 团队 | 323 | // 团队 |
| 320 | form.value.groupId = groupId.value | 324 | form.value.groupId = groupId.value |
| 321 | match.savePersonForMyGroup(form.value).then(res => { | 325 | match.savePersonForMyGroup(form.value).then(res => { |
| 322 | ElMessage.success('保存成功') | 326 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') |
| 323 | show.value = false | 327 | show.value = false |
| 324 | emit('submitForm') | 328 | emit('submitForm') |
| 325 | }) | 329 | }) |
| ... | @@ -327,20 +331,20 @@ function submitForm() { | ... | @@ -327,20 +331,20 @@ function submitForm() { |
| 327 | if (editgay) { | 331 | if (editgay) { |
| 328 | // id不是0 | 332 | // id不是0 |
| 329 | match.editPersonInfo(form.value).then(res => { | 333 | match.editPersonInfo(form.value).then(res => { |
| 330 | ElMessage.success('保存成功') | 334 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') |
| 331 | show.value = false | 335 | show.value = false |
| 332 | emit('submitForm') | 336 | emit('submitForm') |
| 333 | }) | 337 | }) |
| 334 | } else { | 338 | } else { |
| 335 | if(isMe.value){ | 339 | if(isMe.value){ |
| 336 | match.saveMyBaseInfo(form.value).then(res => { | 340 | match.saveMyBaseInfo(form.value).then(res => { |
| 337 | ElMessage.success('保存成功') | 341 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') |
| 338 | show.value = false | 342 | show.value = false |
| 339 | emit('submitForm') | 343 | emit('submitForm') |
| 340 | }) | 344 | }) |
| 341 | } else { | 345 | } else { |
| 342 | match.savePersonForMyPerson(form.value).then(res => { | 346 | match.savePersonForMyPerson(form.value).then(res => { |
| 343 | ElMessage.success('保存成功') | 347 | ElMessage.success(language.value == 0 ?'保存成功':'Save successful') |
| 344 | show.value = false | 348 | show.value = false |
| 345 | emit('submitForm') | 349 | emit('submitForm') |
| 346 | }) | 350 | }) | ... | ... |
| ... | @@ -4,6 +4,7 @@ | ... | @@ -4,6 +4,7 @@ |
| 4 | :close-on-click-modal="false" class="pcloginpop" @close="cancel" | 4 | :close-on-click-modal="false" class="pcloginpop" @close="cancel" |
| 5 | destroy-on-close | 5 | destroy-on-close |
| 6 | > | 6 | > |
| 7 | <!-- 随行人员--> | ||
| 7 | <el-form ref="dialogRef" :model="form" :label-width="language==0?120:180" inline> | 8 | <el-form ref="dialogRef" :model="form" :label-width="language==0?120:180" inline> |
| 8 | <el-form-item :label="language==0?'WDSF卡号':'WDSF ID'" v-if="form.id"> | 9 | <el-form-item :label="language==0?'WDSF卡号':'WDSF ID'" v-if="form.id"> |
| 9 | {{ form.wdsfMin }} | 10 | {{ form.wdsfMin }} | ... | ... |
| ... | @@ -34,7 +34,6 @@ | ... | @@ -34,7 +34,6 @@ |
| 34 | /> | 34 | /> |
| 35 | <!-- 文件 2--> | 35 | <!-- 文件 2--> |
| 36 | <FileUpload v-if="s.type == '2'" v-model="s.fixWxFile" :action="uploadUrl" /> | 36 | <FileUpload v-if="s.type == '2'" v-model="s.fixWxFile" :action="uploadUrl" /> |
| 37 | |||
| 38 | </el-form-item> | 37 | </el-form-item> |
| 39 | </el-form> | 38 | </el-form> |
| 40 | </el-col> | 39 | </el-col> | ... | ... |
| ... | @@ -16,25 +16,25 @@ | ... | @@ -16,25 +16,25 @@ |
| 16 | {{ JSON.parse(form.signKnowUrl)[0]?.name }} | 16 | {{ JSON.parse(form.signKnowUrl)[0]?.name }} |
| 17 | </el-link> | 17 | </el-link> |
| 18 | </div> | 18 | </div> |
| 19 | <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div> | 19 | <!-- <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div>--> |
| 20 | <div class="xzbox"> | 20 | <!-- <div class="xzbox">--> |
| 21 | <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank"> | 21 | <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">--> |
| 22 | <el-icon :size="20"> | 22 | <!-- <el-icon :size="20">--> |
| 23 | <Download /> | 23 | <!-- <Download />--> |
| 24 | </el-icon> | 24 | <!-- </el-icon>--> |
| 25 | {{ JSON.parse(form.disclaimerUrl)[0]?.name }} | 25 | <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}--> |
| 26 | </el-link> | 26 | <!-- </el-link>--> |
| 27 | </div> | 27 | <!-- </div>--> |
| 28 | <div class="indexTitle"><h3 class="leftboderTT">赛事规程</h3></div> | 28 | <!-- <div class="indexTitle"><h3 class="leftboderTT">赛事规程</h3></div>--> |
| 29 | <div class="xzbox"> | 29 | <!-- <div class="xzbox">--> |
| 30 | 30 | ||
| 31 | <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank"> | 31 | <!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">--> |
| 32 | <el-icon :size="20"> | 32 | <!-- <el-icon :size="20">--> |
| 33 | <Download /> | 33 | <!-- <Download />--> |
| 34 | </el-icon> | 34 | <!-- </el-icon>--> |
| 35 | {{ JSON.parse(form.ruleUrl)[0]?.name }} | 35 | <!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}--> |
| 36 | </el-link> | 36 | <!-- </el-link>--> |
| 37 | </div> | 37 | <!-- </div>--> |
| 38 | <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div> | 38 | <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div> |
| 39 | <div v-if="form.type==1&&form.cptProjectList?.length > 0"> | 39 | <div v-if="form.type==1&&form.cptProjectList?.length > 0"> |
| 40 | 40 | ||
| ... | @@ -58,28 +58,28 @@ | ... | @@ -58,28 +58,28 @@ |
| 58 | {{ JSON.parse(form.signKnowUrl)[0]?.name }} | 58 | {{ JSON.parse(form.signKnowUrl)[0]?.name }} |
| 59 | </el-link> | 59 | </el-link> |
| 60 | </div> | 60 | </div> |
| 61 | <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div> | 61 | <!-- <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div>--> |
| 62 | <div class="xzbox"> | 62 | <!-- <div class="xzbox">--> |
| 63 | <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank"> | 63 | <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">--> |
| 64 | <el-icon :size="20"> | 64 | <!-- <el-icon :size="20">--> |
| 65 | <Download /> | 65 | <!-- <Download />--> |
| 66 | </el-icon> | 66 | <!-- </el-icon>--> |
| 67 | {{ JSON.parse(form.disclaimerUrl)[0]?.name }} | 67 | <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}--> |
| 68 | </el-link> | 68 | <!-- </el-link>--> |
| 69 | </div> | 69 | <!-- </div>--> |
| 70 | 70 | ||
| 71 | <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div> | 71 | <!-- <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div>--> |
| 72 | <div class="xzbox"> | 72 | <!-- <div class="xzbox">--> |
| 73 | <div v-html="form.ruleContent"> | 73 | <!-- <div v-html="form.ruleContent">--> |
| 74 | 74 | ||
| 75 | </div> | 75 | <!-- </div>--> |
| 76 | <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank"> | 76 | <!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">--> |
| 77 | <el-icon :size="20"> | 77 | <!-- <el-icon :size="20">--> |
| 78 | <Download /> | 78 | <!-- <Download />--> |
| 79 | </el-icon> | 79 | <!-- </el-icon>--> |
| 80 | {{ JSON.parse(form.ruleUrl)[0]?.name }} | 80 | <!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}--> |
| 81 | </el-link> | 81 | <!-- </el-link>--> |
| 82 | </div> | 82 | <!-- </div>--> |
| 83 | <div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div> | 83 | <div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div> |
| 84 | <div v-if="form.type==1 && form.cptProjectList?.length > 0"> | 84 | <div v-if="form.type==1 && form.cptProjectList?.length > 0"> |
| 85 | <match-info-project-list :list="form.cptProjectList" /> | 85 | <match-info-project-list :list="form.cptProjectList" /> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-row :gutter="14" v-if="language==0"> | 2 | <div style="filter: opacity(1)"> |
| 3 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 3 | <el-row :gutter="14" v-if="language==0"> |
| 4 | <div class="funcBtn" @click="goBooking(0)"> | 4 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 5 | <img src="@/assets/dance/btn04.png"/> | 5 | <div class="funcBtn" @click="goBooking(0)"> |
| 6 | <h4>票务预订</h4> | 6 | <img src="@/assets/dance/btn04.png"/> |
| 7 | </div> | 7 | <h4>票务预订</h4> |
| 8 | </el-col> | 8 | </div> |
| 9 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 9 | </el-col> |
| 10 | <div class="funcBtn" @click="goBooking(1)"> | 10 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 11 | <img src="@/assets/dance/btn01.png"/> | 11 | <div class="funcBtn" @click="goBooking(1)"> |
| 12 | <h4>酒店预约</h4> | 12 | <img src="@/assets/dance/btn01.png"/> |
| 13 | </div> | 13 | <h4>酒店预约</h4> |
| 14 | </el-col> | 14 | </div> |
| 15 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 15 | </el-col> |
| 16 | <div class="funcBtn" @click="goBooking(2)"> | 16 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 17 | <img src="@/assets/dance/btn02.png"/> | 17 | <div class="funcBtn" @click="goBooking(2)"> |
| 18 | <h4>车辆预约</h4> | 18 | <img src="@/assets/dance/btn02.png"/> |
| 19 | </div> | 19 | <h4>车辆预约</h4> |
| 20 | </el-col> | 20 | </div> |
| 21 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 21 | </el-col> |
| 22 | <div class="funcBtn" @click="goBooking(3)"> | 22 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 23 | <img src="@/assets/dance/btn03.png"/> | 23 | <div class="funcBtn" @click="goBooking(3)"> |
| 24 | <h4>餐饮预订</h4> | 24 | <img src="@/assets/dance/btn03.png"/> |
| 25 | </div> | 25 | <h4>餐饮预订</h4> |
| 26 | </el-col> | 26 | </div> |
| 27 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 27 | </el-col> |
| 28 | <div class="funcBtn" @click="goBooking(4)"> | 28 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 29 | <img src="@/assets/dance/btn05.png"/> | 29 | <div class="funcBtn" @click="goBooking(4)"> |
| 30 | <h4>化妆预约</h4> | 30 | <img src="@/assets/dance/btn05.png"/> |
| 31 | </div> | 31 | <h4>化妆预约</h4> |
| 32 | </el-col> | 32 | </div> |
| 33 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 33 | </el-col> |
| 34 | <div class="funcBtn" @click="goBooking(5)"> | 34 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 35 | <img src="@/assets/dance/btn06.png"/> | 35 | <div class="funcBtn" @click="goBooking(5)"> |
| 36 | <h4>拍照预约</h4> | 36 | <img src="@/assets/dance/btn06.png"/> |
| 37 | </div> | 37 | <h4>拍照预约</h4> |
| 38 | </el-col> | 38 | </div> |
| 39 | </el-row> | 39 | </el-col> |
| 40 | <el-row :gutter="14" v-else> | 40 | </el-row> |
| 41 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 41 | <el-row :gutter="14" v-else> |
| 42 | <div class="funcBtn" @click="building"> | 42 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 43 | <img src="@/assets/dance/btn04.png"/> | 43 | <div class="funcBtn" @click="building"> |
| 44 | <h4>Ticket Booking</h4> | 44 | <img src="@/assets/dance/btn04.png"/> |
| 45 | </div> | 45 | <h4>Ticket Booking</h4> |
| 46 | </el-col> | 46 | </div> |
| 47 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 47 | </el-col> |
| 48 | <div class="funcBtn" @click="building"> | 48 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 49 | <img src="@/assets/dance/btn01.png"/> | 49 | <div class="funcBtn" @click="building"> |
| 50 | <h4>Hotel Reservation</h4> | 50 | <img src="@/assets/dance/btn01.png"/> |
| 51 | </div> | 51 | <h4>Hotel Reservation</h4> |
| 52 | </el-col> | 52 | </div> |
| 53 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 53 | </el-col> |
| 54 | <div class="funcBtn" @click="building"> | 54 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 55 | <img src="@/assets/dance/btn02.png"/> | 55 | <div class="funcBtn" @click="building"> |
| 56 | <h4>Vehicle Reservation</h4> | 56 | <img src="@/assets/dance/btn02.png"/> |
| 57 | </div> | 57 | <h4>Vehicle Reservation</h4> |
| 58 | </el-col> | 58 | </div> |
| 59 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 59 | </el-col> |
| 60 | <div class="funcBtn" @click="building"> | 60 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 61 | <img src="@/assets/dance/btn03.png"/> | 61 | <div class="funcBtn" @click="building"> |
| 62 | <h4>Dining Reservation</h4> | 62 | <img src="@/assets/dance/btn03.png"/> |
| 63 | </div> | 63 | <h4>Dining Reservation</h4> |
| 64 | </el-col> | 64 | </div> |
| 65 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 65 | </el-col> |
| 66 | <div class="funcBtn" @click="building"> | 66 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 67 | <img src="@/assets/dance/btn05.png"/> | 67 | <div class="funcBtn" @click="building"> |
| 68 | <h4>Makeup Appointment</h4> | 68 | <img src="@/assets/dance/btn05.png"/> |
| 69 | </div> | 69 | <h4>Makeup Appointment</h4> |
| 70 | </el-col> | 70 | </div> |
| 71 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> | 71 | </el-col> |
| 72 | <div class="funcBtn" @click="building"> | 72 | <el-col :lg="4" :md="8" :sm="12" :xs="12"> |
| 73 | <img src="@/assets/dance/btn06.png"/> | 73 | <div class="funcBtn" @click="building"> |
| 74 | <h4>Photography Appointment</h4> | 74 | <img src="@/assets/dance/btn06.png"/> |
| 75 | </div> | 75 | <h4>Photography Appointment</h4> |
| 76 | </el-col> | 76 | </div> |
| 77 | </el-row> | 77 | </el-col> |
| 78 | </el-row> | ||
| 79 | </div> | ||
| 78 | </template> | 80 | </template> |
| 79 | 81 | ||
| 80 | <script setup> | 82 | <script setup> | ... | ... |
| ... | @@ -58,7 +58,7 @@ | ... | @@ -58,7 +58,7 @@ |
| 58 | {{ scope.row.signInfo[0].extraPersonInfoMapList[index].value.name }} | 58 | {{ scope.row.signInfo[0].extraPersonInfoMapList[index].value.name }} |
| 59 | </el-link> | 59 | </el-link> |
| 60 | <img v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;" | 60 | <img v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;" |
| 61 | :src="scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value"> | 61 | :src="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value)"> |
| 62 | <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span> | 62 | <span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span> |
| 63 | </template> | 63 | </template> |
| 64 | </el-table-column> | 64 | </el-table-column> | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)"> | 3 | <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)"> |
| 4 | <el-row :gutter="15"> | 4 | <el-row :gutter="15"> |
| 5 | <el-col :lg="7" :md="24" :xl="6"> | 5 | <el-col :lg="7" :md="24" :xl="6"> |
| 6 | <img class="mauto w100" :src="fillImgUrl(n.coverUrl)"> | 6 | <img class="mauto w100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)"> |
| 7 | </el-col> | 7 | </el-col> |
| 8 | <el-col :lg="9" :md="12" :xl="12"> | 8 | <el-col :lg="9" :md="12" :xl="12"> |
| 9 | <div class="info"> | 9 | <div class="info"> |
| ... | @@ -12,9 +12,9 @@ | ... | @@ -12,9 +12,9 @@ |
| 12 | <p class="ppl"><label>{{ language==0?'地    点':'Location' }}:</label>{{ n.address }}</p> | 12 | <p class="ppl"><label>{{ language==0?'地    点':'Location' }}:</label>{{ n.address }}</p> |
| 13 | <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p> | 13 | <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p> |
| 14 | 14 | ||
| 15 | <p class="ppl"><label>{{ language==0?'联系人员':'Contact Person' }}:</label>{{ n.contactPerson }}</p> | 15 | <p class="ppl" v-if="n.contactPerson"><label>{{ language==0?'联系人员':'Contact Person' }}:</label>{{ n.contactPerson }}</p> |
| 16 | <p class="ppl"><label>{{ language==0?'联系电话':'Phone' }}:</label>{{ n.contactTelno }}</p> | 16 | <p class="ppl"><label>{{ language==0?'联系电话':'Phone' }}:</label>{{ n.contactTelno }}</p> |
| 17 | <p class="ppl"><label>{{ language==0?'邮    箱':'E-mail' }}:</label>{{ n.contactEmail }}</p> | 17 | <p class="ppl" v-if="n.contactEmail"><label>{{ language==0?'邮    箱':'E-mail' }}:</label>{{ n.contactEmail }}</p> |
| 18 | 18 | ||
| 19 | </div> | 19 | </div> |
| 20 | </el-col> | 20 | </el-col> |
| ... | @@ -180,4 +180,5 @@ function goDetail(id) { | ... | @@ -180,4 +180,5 @@ function goDetail(id) { |
| 180 | @media (max-width: 1450px) { | 180 | @media (max-width: 1450px) { |
| 181 | .block{width: 44px;font-size: 20px;} | 181 | .block{width: 44px;font-size: 20px;} |
| 182 | } | 182 | } |
| 183 | .coverLimitHeight{max-height: 165px;object-fit: cover;} | ||
| 183 | </style> | 184 | </style> | ... | ... |
| ... | @@ -58,7 +58,7 @@ | ... | @@ -58,7 +58,7 @@ |
| 58 | <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)"> | 58 | <div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)"> |
| 59 | <el-row :gutter="15"> | 59 | <el-row :gutter="15"> |
| 60 | <el-col :lg="7" :md="24" :xl="6"> | 60 | <el-col :lg="7" :md="24" :xl="6"> |
| 61 | <img class="mauto w100" :src="fillImgUrl(n.coverUrl)"> | 61 | <img class="mauto w100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)"> |
| 62 | </el-col> | 62 | </el-col> |
| 63 | <el-col :lg="9" :md="12" :xl="12"> | 63 | <el-col :lg="9" :md="12" :xl="12"> |
| 64 | <div class="info"> | 64 | <div class="info"> |
| ... | @@ -307,12 +307,12 @@ function goDetail(id) { | ... | @@ -307,12 +307,12 @@ function goDetail(id) { |
| 307 | 307 | ||
| 308 | li { | 308 | li { |
| 309 | margin: 0 0 10px; | 309 | margin: 0 0 10px; |
| 310 | display: flex;padding-bottom: 15px; | 310 | display: flex; |
| 311 | align-items: center; | 311 | align-items: flex-start; |
| 312 | & > label { | 312 | & > label {padding: 8px 0; |
| 313 | width:5em;text-align: right;font-weight: normal; | 313 | width:5em;text-align: right;font-weight: normal; |
| 314 | } | 314 | } |
| 315 | .el-radio-button{width: 90px;text-align: center;} | 315 | .el-radio-button{min-width: 90px;text-align: center;} |
| 316 | &:last-child{border-bottom: none;margin: 0} | 316 | &:last-child{border-bottom: none;margin: 0} |
| 317 | } | 317 | } |
| 318 | } | 318 | } |
| ... | @@ -333,4 +333,5 @@ function goDetail(id) { | ... | @@ -333,4 +333,5 @@ function goDetail(id) { |
| 333 | .el-button--primary:hover { | 333 | .el-button--primary:hover { |
| 334 | background: var(--el-color-primary) | 334 | background: var(--el-color-primary) |
| 335 | } | 335 | } |
| 336 | .coverLimitHeight{max-height: 165px;object-fit: cover;} | ||
| 336 | </style> | 337 | </style> | ... | ... |
| ... | @@ -85,6 +85,14 @@ function sendsmsMsg() { | ... | @@ -85,6 +85,14 @@ function sendsmsMsg() { |
| 85 | } | 85 | } |
| 86 | return | 86 | return |
| 87 | } | 87 | } |
| 88 | if (form.value.account.indexOf('@') == -1) { | ||
| 89 | if (language.value == 0) { | ||
| 90 | ElMessage.error('请填写正确的邮箱') | ||
| 91 | } else { | ||
| 92 | ElMessage.error('Please fill in the correct email') | ||
| 93 | } | ||
| 94 | return | ||
| 95 | } | ||
| 88 | if (counting.value) { | 96 | if (counting.value) { |
| 89 | return | 97 | return |
| 90 | } else { | 98 | } else { |
| ... | @@ -147,6 +155,7 @@ const next = () => { | ... | @@ -147,6 +155,7 @@ const next = () => { |
| 147 | </script> | 155 | </script> |
| 148 | 156 | ||
| 149 | <style scoped lang="scss"> | 157 | <style scoped lang="scss"> |
| 158 | .d-form{min-height: 50vh} | ||
| 150 | .el-input-group__append button.el-button, .el-input-group__append button.el-button:hover { | 159 | .el-input-group__append button.el-button, .el-input-group__append button.el-button:hover { |
| 151 | color: var(--el-color-primary); | 160 | color: var(--el-color-primary); |
| 152 | background: #efefff; | 161 | background: #efefff; | ... | ... |
| ... | @@ -45,133 +45,38 @@ | ... | @@ -45,133 +45,38 @@ |
| 45 | </el-row> | 45 | </el-row> |
| 46 | </el-card> | 46 | </el-card> |
| 47 | 47 | ||
| 48 | <el-card class="mt20 mb20"> | 48 | <el-card class="mt20 mb20" v-for="(n,index) in cjList"> |
| 49 | <div class="leftboderTT">2023.07.22 赛事成绩</div> | 49 | <div class="leftboderTT">{{ n.title }}</div> |
| 50 | <h3 class="text-center">08:00-09:30 拉丁舞第一组比赛结果</h3> | 50 | <div v-for="(m,jndex) in n.list"> |
| 51 | <div class="tablebody"> | 51 | <h3 class="text-center">{{ m.title }}</h3> |
| 52 | <table class="table table-striped"> | 52 | <div class="tablebody"> |
| 53 | <thead> | 53 | <table class="table table-striped"> |
| 54 | <tr class="bg-lineg"> | 54 | <thead> |
| 55 | <td>编号</td> | 55 | <tr class="bg-lineg"> |
| 56 | <td>姓名</td> | 56 | <td>{{ language==0?'编号':'RANK' }}</td> |
| 57 | <td>国家</td> | 57 | <td>{{ language==0?'团体名称':'COUPLE' }}</td> |
| 58 | <td>分值</td> | 58 | <td>{{ language==0?'国家':'COUNTRY' }}</td> |
| 59 | <td>排名</td> | 59 | <td class="text-center">START #</td> |
| 60 | <td>结果</td> | 60 | <td class="text-center" v-if="index>0">BASE</td> |
| 61 | </tr> | 61 | <td class="text-center" v-if="index>0">POINTS</td> |
| 62 | </thead> | 62 | </tr> |
| 63 | <tbody> | 63 | </thead> |
| 64 | <tr> | 64 | <tbody> |
| 65 | <td>3456</td> | 65 | <tr v-for="(l,kndex) in m.rows"> |
| 66 | <td>王文文</td> | 66 | <td>{{ l.RANK }}</td> |
| 67 | <td>中国</td> | 67 | <td>{{ l.COUPLE}}</td> |
| 68 | <td class="text-primary">198.00</td> | 68 | <td>{{ l.COUNTRY }}</td> |
| 69 | <td>1</td> | 69 | <td class="text-primary text-center">{{ l.START }}</td> |
| 70 | <td class="text-primary">晋级</td> | 70 | <td class="text-center" v-if="index>0">{{l.BASE}}</td> |
| 71 | </tr> | 71 | <td v-if="index>0" class="text-primary text-center">{{ l.POINTS }}</td> |
| 72 | <tr> | 72 | </tr> |
| 73 | <td>4567</td> | 73 | </tbody> |
| 74 | <td>张梓涵</td> | 74 | </table> |
| 75 | <td>中国</td> | 75 | </div> |
| 76 | <td class="text-primary">191.00</td> | ||
| 77 | <td>2</td> | ||
| 78 | <td class="text-primary">晋级</td> | ||
| 79 | </tr> | ||
| 80 | <tr> | ||
| 81 | <td>3456</td> | ||
| 82 | <td>Sdehj Lijukl</td> | ||
| 83 | <td>乌兹别克斯坦</td> | ||
| 84 | <td class="text-primary">190.00</td> | ||
| 85 | <td>3</td> | ||
| 86 | <td class="text-primary">晋级</td> | ||
| 87 | </tr> | ||
| 88 | <tr> | ||
| 89 | <td>1255</td> | ||
| 90 | <td>许昌度</td> | ||
| 91 | <td>中国香港</td> | ||
| 92 | <td class="text-primary">188.00</td> | ||
| 93 | <td>4</td> | ||
| 94 | <td class="text-primary">晋级</td> | ||
| 95 | </tr> | ||
| 96 | <tr> | ||
| 97 | <td>1299</td> | ||
| 98 | <td>Alice Luyr</td> | ||
| 99 | <td>泰国</td> | ||
| 100 | <td class="text-primary">180.00</td> | ||
| 101 | <td>5</td> | ||
| 102 | <td class="text-primary">晋级</td> | ||
| 103 | </tr> | ||
| 104 | <tr> | ||
| 105 | <td>1652</td> | ||
| 106 | <td>吴遇安</td> | ||
| 107 | <td>中国香港</td> | ||
| 108 | <td class="text-primary">188.00</td> | ||
| 109 | <td>6</td> | ||
| 110 | <td>淘汰</td> | ||
| 111 | </tr> | ||
| 112 | |||
| 113 | </tbody> | ||
| 114 | </table> | ||
| 115 | </div> | 76 | </div> |
| 116 | <br><br> | ||
| 117 | <div class="leftboderTT">2023.07.22 赛事成绩</div> | ||
| 118 | |||
| 119 | <h3 class="text-center">08:00-09:30 拉丁舞第一组比赛结果</h3> | ||
| 120 | <div class="tablebody"> | ||
| 121 | <table class="table table-striped"> | ||
| 122 | <tr class="bg-lineg"> | ||
| 123 | <td>编号</td> | ||
| 124 | <td>姓名</td> | ||
| 125 | <td>国家</td> | ||
| 126 | <td>分值</td> | ||
| 127 | <td>排名</td> | ||
| 128 | <td>结果</td> | ||
| 129 | </tr> | ||
| 130 | <tr> | ||
| 131 | <td>3456</td> | ||
| 132 | <td>陈莎莎</td> | ||
| 133 | <td>中国</td> | ||
| 134 | <td class="text-primary">198.00</td> | ||
| 135 | <td>1</td> | ||
| 136 | <td class="text-primary">晋级</td> | ||
| 137 | </tr> | ||
| 138 | <tr> | ||
| 139 | <td>3001</td> | ||
| 140 | <td>赵倩</td> | ||
| 141 | <td>中国</td> | ||
| 142 | <td class="text-primary">196.00</td> | ||
| 143 | <td>2</td> | ||
| 144 | <td class="text-primary">晋级</td> | ||
| 145 | </tr> | ||
| 146 | <tr> | ||
| 147 | <td>1005</td> | ||
| 148 | <td>张楚楚</td> | ||
| 149 | <td>中国</td> | ||
| 150 | <td class="text-primary">190.00</td> | ||
| 151 | <td>3</td> | ||
| 152 | <td class="text-primary">晋级</td> | ||
| 153 | </tr> | ||
| 154 | <tr> | ||
| 155 | <td>1544</td> | ||
| 156 | <td>刘意晚</td> | ||
| 157 | <td>中国</td> | ||
| 158 | <td class="text-primary">186.90</td> | ||
| 159 | <td>4</td> | ||
| 160 | <td class="text-primary">晋级</td> | ||
| 161 | </tr> | ||
| 162 | <tr> | ||
| 163 | <td>1293</td> | ||
| 164 | <td>李涵</td> | ||
| 165 | <td>中国</td> | ||
| 166 | <td class="text-primary">186.90</td> | ||
| 167 | <td>5</td> | ||
| 168 | <td>淘汰</td> | ||
| 169 | </tr> | ||
| 170 | 77 | ||
| 171 | |||
| 172 | </table> | ||
| 173 | </div> | ||
| 174 | </el-card> | 78 | </el-card> |
| 79 | <br><br> | ||
| 175 | </div> | 80 | </div> |
| 176 | </div> | 81 | </div> |
| 177 | </template> | 82 | </template> |
| ... | @@ -179,9 +84,12 @@ | ... | @@ -179,9 +84,12 @@ |
| 179 | <script setup> | 84 | <script setup> |
| 180 | import { onMounted, ref, watch } from 'vue' | 85 | import { onMounted, ref, watch } from 'vue' |
| 181 | import { getPlanYears, getYearZtxPlanList } from '@/apiPc/train' | 86 | import { getPlanYears, getYearZtxPlanList } from '@/apiPc/train' |
| 87 | import {cjList} from '@/assets/js/data' | ||
| 182 | import { ArrowRight } from '@element-plus/icons-vue' | 88 | import { ArrowRight } from '@element-plus/icons-vue' |
| 183 | import { dayjs } from 'element-plus' | 89 | import { dayjs } from 'element-plus' |
| 184 | import { szToHz } from '@/utils/ruoyi' | 90 | import { szToHz } from '@/utils/ruoyi' |
| 91 | import {useStorage} from "@vueuse/core/index"; | ||
| 92 | const language = useStorage('language', 0) | ||
| 185 | 93 | ||
| 186 | const years = ref([]) | 94 | const years = ref([]) |
| 187 | const currYear = ref(null) | 95 | const currYear = ref(null) | ... | ... |
src/viewsPc/saiC/index_en.vue
deleted
100644 → 0
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="box"> | ||
| 4 | |||
| 5 | <div class="mt20" /> | ||
| 6 | <el-card> | ||
| 7 | <el-row :gutter="20"> | ||
| 8 | <el-col :sm="24" :lg="12"> | ||
| 9 | <!--赛事日历--> | ||
| 10 | |||
| 11 | <el-calendar v-model="calendarValue"> | ||
| 12 | <template #date-cell="data"> | ||
| 13 | <div v-if="data.data.day.slice(8,10)==22" class="primaryDate date">22</div> | ||
| 14 | <div v-else class="date"> | ||
| 15 | {{ data.data.day.slice(8,10) }} | ||
| 16 | </div> | ||
| 17 | |||
| 18 | </template> | ||
| 19 | </el-calendar> | ||
| 20 | |||
| 21 | </el-col> | ||
| 22 | <el-col :sm="24" :lg="12"> | ||
| 23 | <div class="calendarList"> | ||
| 24 | <ul> | ||
| 25 | <li> | ||
| 26 | <label>08:00~10:30</label> Wuxi Open | ||
| 27 | </li> | ||
| 28 | <li> | ||
| 29 | <label>11:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group A | ||
| 30 | </li> | ||
| 31 | <li> | ||
| 32 | <label>12:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group B | ||
| 33 | </li> | ||
| 34 | <li> | ||
| 35 | <label>13:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group C | ||
| 36 | </li> | ||
| 37 | <li> | ||
| 38 | <label>15:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group D | ||
| 39 | </li> | ||
| 40 | </ul> | ||
| 41 | |||
| 42 | </div> | ||
| 43 | |||
| 44 | </el-col> | ||
| 45 | </el-row> | ||
| 46 | </el-card> | ||
| 47 | |||
| 48 | <el-card class="mt20 mb20"> | ||
| 49 | <div class="leftboderTT">2023.07.22 Result</div> | ||
| 50 | <h3 class="text-center">08:00-09:30 The results of the group A of Latin dance competitions</h3> | ||
| 51 | <div class="tablebody"> | ||
| 52 | <table class="table table-striped"> | ||
| 53 | <thead> | ||
| 54 | <tr class="bg-lineg"> | ||
| 55 | <td>Number</td> | ||
| 56 | <td>Name</td> | ||
| 57 | <td>Country</td> | ||
| 58 | <td>Score</td> | ||
| 59 | <td>Ranking</td> | ||
| 60 | <td>Final result</td> | ||
| 61 | </tr> | ||
| 62 | </thead> | ||
| 63 | <tbody> | ||
| 64 | <tr> | ||
| 65 | <td>3456</td> | ||
| 66 | <td>Wang wenwen</td> | ||
| 67 | <td>China</td> | ||
| 68 | <td class="text-primary">198.00</td> | ||
| 69 | <td>1</td> | ||
| 70 | <td class="text-primary">advancement</td> | ||
| 71 | </tr> | ||
| 72 | <tr> | ||
| 73 | <td>4567</td> | ||
| 74 | <td>Zhang</td> | ||
| 75 | <td>China</td> | ||
| 76 | <td class="text-primary">191.00</td> | ||
| 77 | <td>2</td> | ||
| 78 | <td class="text-primary">advancement</td> | ||
| 79 | </tr> | ||
| 80 | <tr> | ||
| 81 | <td>3456</td> | ||
| 82 | <td>Sdehj Lijukl</td> | ||
| 83 | <td>Uzbekistan</td> | ||
| 84 | <td class="text-primary">190.00</td> | ||
| 85 | <td>3</td> | ||
| 86 | <td class="text-primary">advancement</td> | ||
| 87 | </tr> | ||
| 88 | <tr> | ||
| 89 | <td>1255</td> | ||
| 90 | <td>XuDu</td> | ||
| 91 | <td>Hong Kong, China</td> | ||
| 92 | <td class="text-primary">188.00</td> | ||
| 93 | <td>4</td> | ||
| 94 | <td class="text-primary">advancement</td> | ||
| 95 | </tr> | ||
| 96 | <tr> | ||
| 97 | <td>1299</td> | ||
| 98 | <td>Alice Luyr</td> | ||
| 99 | <td>Thailand</td> | ||
| 100 | <td class="text-primary">180.00</td> | ||
| 101 | <td>5</td> | ||
| 102 | <td class="text-primary">advancement</td> | ||
| 103 | </tr> | ||
| 104 | <tr> | ||
| 105 | <td>1652</td> | ||
| 106 | <td>Wu Yuan</td> | ||
| 107 | <td>Hong Kong, China</td> | ||
| 108 | <td class="text-primary">188.00</td> | ||
| 109 | <td>6</td> | ||
| 110 | <td>Out</td> | ||
| 111 | </tr> | ||
| 112 | |||
| 113 | </tbody> | ||
| 114 | </table> | ||
| 115 | </div> | ||
| 116 | <br><br> | ||
| 117 | <div class="leftboderTT">2023.07.22 Result</div> | ||
| 118 | |||
| 119 | <h3 class="text-center">08:00-09:30 The results of the group A of Latin dance competitions</h3> | ||
| 120 | <div class="tablebody"> | ||
| 121 | <table class="table table-striped"> | ||
| 122 | <tr class="bg-lineg"> | ||
| 123 | <td>Number</td> | ||
| 124 | <td>Name</td> | ||
| 125 | <td>Country</td> | ||
| 126 | <td>Score</td> | ||
| 127 | <td>Ranking</td> | ||
| 128 | <td>Final result</td> | ||
| 129 | </tr> | ||
| 130 | <tr> | ||
| 131 | <td>3456</td> | ||
| 132 | <td>Chen Sha</td> | ||
| 133 | <td>China</td> | ||
| 134 | <td class="text-primary">198.00</td> | ||
| 135 | <td>1</td> | ||
| 136 | <td class="text-primary">advancement</td> | ||
| 137 | </tr> | ||
| 138 | <tr> | ||
| 139 | <td>3001</td> | ||
| 140 | <td>ZhaoQian</td> | ||
| 141 | <td>China</td> | ||
| 142 | <td class="text-primary">196.00</td> | ||
| 143 | <td>2</td> | ||
| 144 | <td class="text-primary">advancement</td> | ||
| 145 | </tr> | ||
| 146 | <tr> | ||
| 147 | <td>1005</td> | ||
| 148 | <td>ZhangChuChu</td> | ||
| 149 | <td>China</td> | ||
| 150 | <td class="text-primary">190.00</td> | ||
| 151 | <td>3</td> | ||
| 152 | <td class="text-primary">advancement</td> | ||
| 153 | </tr> | ||
| 154 | <tr> | ||
| 155 | <td>1544</td> | ||
| 156 | <td>LiuYiwan</td> | ||
| 157 | <td>China</td> | ||
| 158 | <td class="text-primary">186.90</td> | ||
| 159 | <td>4</td> | ||
| 160 | <td class="text-primary">advancement</td> | ||
| 161 | </tr> | ||
| 162 | <tr> | ||
| 163 | <td>1293</td> | ||
| 164 | <td>LiHan</td> | ||
| 165 | <td>China</td> | ||
| 166 | <td class="text-primary">186.90</td> | ||
| 167 | <td>5</td> | ||
| 168 | <td>Out</td> | ||
| 169 | </tr> | ||
| 170 | |||
| 171 | |||
| 172 | </table> | ||
| 173 | </div> | ||
| 174 | </el-card> | ||
| 175 | </div> | ||
| 176 | </div> | ||
| 177 | </template> | ||
| 178 | |||
| 179 | <script setup> | ||
| 180 | import { onMounted, ref, watch } from 'vue' | ||
| 181 | import { getPlanYears, getYearZtxPlanList } from '@/apiPc/train' | ||
| 182 | import { ArrowRight } from '@element-plus/icons-vue' | ||
| 183 | import { dayjs } from 'element-plus' | ||
| 184 | import { szToHz } from '@/utils/ruoyi' | ||
| 185 | |||
| 186 | const years = ref([]) | ||
| 187 | const currYear = ref(null) | ||
| 188 | const ztxPlanList = ref([]) | ||
| 189 | const planList = ref([]) | ||
| 190 | const loading = ref(false) | ||
| 191 | const calendarValue = ref('2024-07-22') | ||
| 192 | |||
| 193 | |||
| 194 | // onMounted(() => { | ||
| 195 | // currYear.value = dayjs().year() | ||
| 196 | // getPlanYears().then(res => { | ||
| 197 | // years.value = res.data | ||
| 198 | // }) | ||
| 199 | // }) | ||
| 200 | // | ||
| 201 | // watch(currYear, (val) => { | ||
| 202 | // if (val) { | ||
| 203 | // getPlanList() | ||
| 204 | // } | ||
| 205 | // }) | ||
| 206 | |||
| 207 | function getPlanList() { | ||
| 208 | loading.value = true | ||
| 209 | |||
| 210 | Promise.all([ | ||
| 211 | getYearZtxPlanList({ | ||
| 212 | year: currYear.value, | ||
| 213 | type: 1// 中跆协 | ||
| 214 | }), | ||
| 215 | getYearZtxPlanList({ | ||
| 216 | year: currYear.value, | ||
| 217 | type: 0 // 省 | ||
| 218 | }) | ||
| 219 | ]).then(res => { | ||
| 220 | loading.value = false | ||
| 221 | ztxPlanList.value = res[0].rows | ||
| 222 | planList.value = res[1].rows | ||
| 223 | }) | ||
| 224 | } | ||
| 225 | |||
| 226 | </script> | ||
| 227 | |||
| 228 | <style scoped lang="scss"> | ||
| 229 | .leftboderTT{margin: 0 0 20px;color: var(--el-color-primary); | ||
| 230 | font-size: 20px;} | ||
| 231 | h3{background: #F5F0FF;margin: 0;padding: 10px 0; | ||
| 232 | color: var(--el-color-primary); | ||
| 233 | font-size: 18px;} | ||
| 234 | .table { border-spacing: 0; | ||
| 235 | border-collapse: collapse; | ||
| 236 | width: 100%; | ||
| 237 | max-width: 100%; | ||
| 238 | margin-bottom: 20px; | ||
| 239 | td,th{ padding: 8px; font-size: 14px;} | ||
| 240 | } | ||
| 241 | :deep(.table-striped > tbody > tr:nth-of-type(odd)){ | ||
| 242 | background: #F6F9FE; | ||
| 243 | } | ||
| 244 | |||
| 245 | .el-calendar{--el-calendar-border:none;--el-calendar-cell-width:51px;text-align:center; | ||
| 246 | --el-text-color-regular:#8E8D94; | ||
| 247 | :deep(.el-calendar__header){justify-content: center;} | ||
| 248 | :deep(.el-calendar__body){border: 1px solid #F0F0F0;padding: 0} | ||
| 249 | :deep(.el-calendar-table .el-calendar-day){padding: 1px;} | ||
| 250 | :deep(.el-calendar-table td.is-selected){background: transparent;} | ||
| 251 | :deep(.el-calendar__button-group){display: none;} | ||
| 252 | } | ||
| 253 | .primaryDate{color: #fff; | ||
| 254 | background: linear-gradient(90deg, #8623FC, #453DEA);} | ||
| 255 | .date{ margin:5px auto;border-radius: 50%;width: 30px;height: 30px;line-height: 30px; | ||
| 256 | font-weight: bold; | ||
| 257 | } | ||
| 258 | .calendarList{border: 1px solid #F0F0F0;padding:12px 20px;overflow: hidden; | ||
| 259 | margin: 46px 0 0; | ||
| 260 | ul{ | ||
| 261 | li{background: #F6F9FE;margin:7px 0 7px 20px;position: relative;padding: 13px; | ||
| 262 | border-radius: 10px; | ||
| 263 | font-weight: 500; | ||
| 264 | font-size: 15px; | ||
| 265 | label{color: #453DEA;margin-right: 15px; | ||
| 266 | &::before{content: '';background:#fff;left: -17px;top: 0px;bottom: 0;margin: auto; | ||
| 267 | border-radius: 50%;width: 2px;height: 2px;position: absolute;z-index: 1} | ||
| 268 | } | ||
| 269 | } | ||
| 270 | li::before{content: '';background: linear-gradient(0deg, #8623FC, #453DEA); | ||
| 271 | border-radius: 50%;width: 8px;height: 8px;position: absolute; | ||
| 272 | left: -20px;top: 0;bottom: 0;margin: auto;z-index: 1; | ||
| 273 | } | ||
| 274 | li::after{content: ''; left: -16px;width: 1px;height: 100%; | ||
| 275 | background: #EBEBEB; position: absolute;top: 20px} | ||
| 276 | li:hover{color: #fff; | ||
| 277 | background: linear-gradient(-90deg, #8623FC, #453DEA); | ||
| 278 | label{color: #fff;} | ||
| 279 | } | ||
| 280 | } | ||
| 281 | } | ||
| 282 | |||
| 283 | </style> |
| ... | @@ -76,14 +76,14 @@ export default defineConfig(({ mode, command }) => { | ... | @@ -76,14 +76,14 @@ export default defineConfig(({ mode, command }) => { |
| 76 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') | 76 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') |
| 77 | }, | 77 | }, |
| 78 | '/dev-api/ztx-webSite': { | 78 | '/dev-api/ztx-webSite': { |
| 79 | target: 'https://dance.itechtop.cn/stage-api', | 79 | // target: 'https://dance.itechtop.cn/stage-api', |
| 80 | // target: 'http://192.168.1.131:8083/', | 80 | target: 'http://192.168.1.96:9083/', |
| 81 | changeOrigin: true, | 81 | changeOrigin: true, |
| 82 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') | 82 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') |
| 83 | }, | 83 | }, |
| 84 | '/dev-api': { | 84 | '/dev-api': { |
| 85 | // target: 'http://192.168.1.131:8083', | 85 | target: 'http://192.168.1.96:9083/', |
| 86 | target: 'https://dance.itechtop.cn/stage-api', | 86 | // target: 'https://dance.itechtop.cn/stage-api', |
| 87 | changeOrigin: true, | 87 | changeOrigin: true, |
| 88 | rewrite: (p) => p.replace(/^\/dev-api/, '') | 88 | rewrite: (p) => p.replace(/^\/dev-api/, '') |
| 89 | } | 89 | } | ... | ... |
-
Please register or sign in to post a comment