eea1f9b9 by 杨炀

no message

1 parent 982b56b7
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>
......
...@@ -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 &ensp;&ensp;
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({})
......
...@@ -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 },
......
...@@ -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?'地&ensp;&ensp;&ensp;&ensp;点':'Location' }}</label>{{ n.address }}</p> 12 <p class="ppl"><label>{{ language==0?'地&ensp;&ensp;&ensp;&ensp;点':'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?'邮&ensp;&ensp;&ensp;&ensp;箱':'E-mail' }}</label>{{ n.contactEmail }}</p> 17 <p class="ppl" v-if="n.contactEmail"><label>{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'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)
......
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 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!