no message
Showing
12 changed files
with
128 additions
and
63 deletions
public/file/GUIDE.pdf
deleted
100644 → 0
This diff could not be displayed because it is too large.
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | <el-form-item :label="language==0?'证件号':'Passport number'"> | 49 | <el-form-item :label="language==0?'证件号':'Passport number'"> |
| 50 | <el-input v-model="myform.passportNumber"/> | 50 | <el-input v-model="myform.passportNumber"/> |
| 51 | </el-form-item> | 51 | </el-form-item> |
| 52 | <el-form-item :label="language==0?'有效证件':'Valid Certificates Scanning Copy'" required> | 52 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> |
| 53 | <file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> | 53 | <file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> |
| 54 | </el-form-item> | 54 | </el-form-item> |
| 55 | <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" prop="wdsfMin"> | 55 | <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" prop="wdsfMin"> | ... | ... |
| ... | @@ -49,11 +49,14 @@ | ... | @@ -49,11 +49,14 @@ |
| 49 | 49 | ||
| 50 | <!-- 添加人员--> | 50 | <!-- 添加人员--> |
| 51 | <addCoach ref="dialogAddCoach" @submitForm="getList"/> | 51 | <addCoach ref="dialogAddCoach" @submitForm="getList"/> |
| 52 | <add-coach-en ref="dialogAddCoachEn" @submitForm="getList"/> | ||
| 53 | <add-wdsf ref="dialogAddWDSF" @submitForm="getList"/> | ||
| 52 | <Import ref="dialogImportProps" @submitForm="getList"/> | 54 | <Import ref="dialogImportProps" @submitForm="getList"/> |
| 53 | </template> | 55 | </template> |
| 54 | 56 | ||
| 55 | <script setup> | 57 | <script setup> |
| 56 | import addCoach from '../match/components/addCoach' | 58 | import AddCoachEn from '../match/components/addCoach_en' |
| 59 | import AddCoach from '../match/components/addCoach' | ||
| 57 | import personTable from '../match/components/personTable' | 60 | import personTable from '../match/components/personTable' |
| 58 | import Import from '../match/components/import' | 61 | import Import from '../match/components/import' |
| 59 | import {ref, watch} from 'vue' | 62 | import {ref, watch} from 'vue' |
| ... | @@ -68,6 +71,7 @@ import {getGroupPersonList, getPerPersonList} from "@/apiPc/match"; | ... | @@ -68,6 +71,7 @@ import {getGroupPersonList, getPerPersonList} from "@/apiPc/match"; |
| 68 | import PersonTable from "@/viewsPc/match/components/personTable"; | 71 | import PersonTable from "@/viewsPc/match/components/personTable"; |
| 69 | import useUserStore from "@/store/modules/user"; | 72 | import useUserStore from "@/store/modules/user"; |
| 70 | import {useStorage} from "@vueuse/core/index"; | 73 | import {useStorage} from "@vueuse/core/index"; |
| 74 | import AddWdsf from "@/viewsPc/match/components/addWdsf"; | ||
| 71 | const language= useStorage('language',0) | 75 | const language= useStorage('language',0) |
| 72 | const tableData = ref([]) | 76 | const tableData = ref([]) |
| 73 | const labelArr = ref([]) | 77 | const labelArr = ref([]) |
| ... | @@ -116,7 +120,7 @@ function addMember() { | ... | @@ -116,7 +120,7 @@ function addMember() { |
| 116 | id: 0, | 120 | id: 0, |
| 117 | groupId: groupId.value | 121 | groupId: groupId.value |
| 118 | } | 122 | } |
| 119 | proxy.$refs['dialogAddCoach'].open(params) | 123 | proxy.$refs['dialogAddCoachEn'].open(params) |
| 120 | } | 124 | } |
| 121 | 125 | ||
| 122 | function importSportman() { | 126 | function importSportman() { |
| ... | @@ -150,7 +154,11 @@ function editCoach(row,title) { | ... | @@ -150,7 +154,11 @@ function editCoach(row,title) { |
| 150 | groupId: row.groupId, | 154 | groupId: row.groupId, |
| 151 | title: title | 155 | title: title |
| 152 | } | 156 | } |
| 153 | proxy.$refs['dialogAddCoach'].open(params) | 157 | if(row.label=='0'&&row.wdsfMin){ |
| 158 | proxy.$refs['dialogAddWDSF'].open(params) | ||
| 159 | } else { | ||
| 160 | proxy.$refs['dialogAddCoachEn'].open(params) | ||
| 161 | } | ||
| 154 | } | 162 | } |
| 155 | 163 | ||
| 156 | function delperson(p) { | 164 | function delperson(p) { | ... | ... |
| ... | @@ -28,12 +28,14 @@ | ... | @@ -28,12 +28,14 @@ |
| 28 | <div>运动队从一楼正大门通过安检进入馆内,乘坐扶梯上二楼,到达 竞赛区域。技术官员乘坐组委会安排通行车辆从场馆北坡道直接到达 二楼平台B5馆出入口进入馆内。</div> | 28 | <div>运动队从一楼正大门通过安检进入馆内,乘坐扶梯上二楼,到达 竞赛区域。技术官员乘坐组委会安排通行车辆从场馆北坡道直接到达 二楼平台B5馆出入口进入馆内。</div> |
| 29 | <div>整个二层按不同的功能分为五个区域,所有人员根据所持证件规 定权限到达不同的区域,红色为VIP区,蓝色为办公工作区,黄色为 观赛区,紫色为竞赛区,粉色为公共区域。</div> | 29 | <div>整个二层按不同的功能分为五个区域,所有人员根据所持证件规 定权限到达不同的区域,红色为VIP区,蓝色为办公工作区,黄色为 观赛区,紫色为竞赛区,粉色为公共区域。</div> |
| 30 | </div> | 30 | </div> |
| 31 | 31 | <div class="content" v-if="activeName!=0&&activeName<8"> | |
| 32 | <div class="content" v-if="activeName==1"> | 32 | 待更新 |
| 33 | </div> | ||
| 34 | <div class="content" v-if="activeName==11"> | ||
| 33 | <div>注册报到中心位于酒店大堂,服务时间为7月19-22日10:00-22:00, 同时也作为咨询台。</div> | 35 | <div>注册报到中心位于酒店大堂,服务时间为7月19-22日10:00-22:00, 同时也作为咨询台。</div> |
| 34 | <div>相关紧急通知、餐食安排和交通服务等信息将公布在公告栏,如有疑 问或需服务,可前往注册报到中心进行咨询。</div> | 36 | <div>相关紧急通知、餐食安排和交通服务等信息将公布在公告栏,如有疑 问或需服务,可前往注册报到中心进行咨询。</div> |
| 35 | </div> | 37 | </div> |
| 36 | <div class="content" v-if="activeName==2"> | 38 | <div class="content" v-if="activeName==21"> |
| 37 | <h4>一、证件使用与保管</h4> | 39 | <h4>一、证件使用与保管</h4> |
| 38 | <p>证件要妥善保管,不得故意损毁,证件仅限本人使用,严禁转让, 严禁超范围使用,严禁私自增减,涂改证件内容。 | 40 | <p>证件要妥善保管,不得故意损毁,证件仅限本人使用,严禁转让, 严禁超范围使用,严禁私自增减,涂改证件内容。 |
| 39 | </p> | 41 | </p> |
| ... | @@ -45,10 +47,10 @@ | ... | @@ -45,10 +47,10 @@ |
| 45 | <p>本次赛事将使用以下颜色和数字表示相关注册分区:</p> | 47 | <p>本次赛事将使用以下颜色和数字表示相关注册分区:</p> |
| 46 | <img src="@/assets/zhinan/6.jpg"/> | 48 | <img src="@/assets/zhinan/6.jpg"/> |
| 47 | </div> | 49 | </div> |
| 48 | <div class="content" v-if="activeName==3"> | 50 | <div class="content" v-if="activeName==31"> |
| 49 | <el-empty description="暂未上线"></el-empty> | 51 | <el-empty description="暂未上线"></el-empty> |
| 50 | </div> | 52 | </div> |
| 51 | <div class="content" v-if="activeName==4"> | 53 | <div class="content" v-if="activeName==41"> |
| 52 | <h4>一、抵离安排</h4> | 54 | <h4>一、抵离安排</h4> |
| 53 | <p>所有技术官员、运动队接送站由组委会统一安排车辆接送,抵达站 应选择无锡苏南硕放机场、上海浦东国际机场和上海虹桥国际机场。 | 55 | <p>所有技术官员、运动队接送站由组委会统一安排车辆接送,抵达站 应选择无锡苏南硕放机场、上海浦东国际机场和上海虹桥国际机场。 |
| 54 | </p> | 56 | </p> |
| ... | @@ -77,7 +79,7 @@ | ... | @@ -77,7 +79,7 @@ |
| 77 | <p>4. 下车时务必带齐自身携带物品,谨防遗失。</p> | 79 | <p>4. 下车时务必带齐自身携带物品,谨防遗失。</p> |
| 78 | <p>5. 如错失赛会车辆或中途临时需要出行,请及时与咨询台联系。</p> | 80 | <p>5. 如错失赛会车辆或中途临时需要出行,请及时与咨询台联系。</p> |
| 79 | </div> | 81 | </div> |
| 80 | <div class="content" v-if="activeName==5"> | 82 | <div class="content" v-if="activeName==51"> |
| 81 | <h4>一、服务时间安排</h4> | 83 | <h4>一、服务时间安排</h4> |
| 82 | <p>2023年7月20日-2023年7月23日</p> | 84 | <p>2023年7月20日-2023年7月23日</p> |
| 83 | <h4>二、医疗点位设置</h4> | 85 | <h4>二、医疗点位设置</h4> |
| ... | @@ -89,13 +91,14 @@ | ... | @@ -89,13 +91,14 @@ |
| 89 | </p> | 91 | </p> |
| 90 | <p>120急救车一辆及急救转运车一辆停在G14通道口等候,车上均配 备除颤仪、氧气钢瓶等急救器材。</p> | 92 | <p>120急救车一辆及急救转运车一辆停在G14通道口等候,车上均配 备除颤仪、氧气钢瓶等急救器材。</p> |
| 91 | </div> | 93 | </div> |
| 92 | <div class="content" v-if="activeName==6"><el-empty description="暂未上线"></el-empty></div> | 94 | <div class="content" v-if="activeName==61"><el-empty description="暂未上线"></el-empty></div> |
| 93 | <div class="content" v-if="activeName==7"><el-empty description="暂未上线"></el-empty></div> | 95 | <div class="content" v-if="activeName==71"><el-empty description="暂未上线"></el-empty></div> |
| 96 | |||
| 94 | <div class="content" v-if="activeName==8"> | 97 | <div class="content" v-if="activeName==8"> |
| 95 | <label>点击下载:</label> | 98 | <label>点击下载:</label> |
| 96 | <a target="_blank" class="text-primary"> | 99 | <a target="_blank" class="text-primary" @click="showBuilding"> |
| 97 | <el-icon style="position: relative;top: 2px"><download/></el-icon> | 100 | <el-icon style="position: relative;top: 2px"><download/></el-icon> |
| 98 | WDSF亚洲体育舞蹈节参赛指南0714 | 101 | 2024 WDSF亚洲体育舞蹈节参赛指南 |
| 99 | </a> | 102 | </a> |
| 100 | </div> | 103 | </div> |
| 101 | </div> | 104 | </div> |
| ... | @@ -127,11 +130,11 @@ | ... | @@ -127,11 +130,11 @@ |
| 127 | <div>The second floor is divided into five areas according to different functions. All personnel may arrive at different areas according to their access permissions. Red is the VIP area, blue is the office area, yellow is the spectator area, purple is the competition area and pink is the public area.</div> | 130 | <div>The second floor is divided into five areas according to different functions. All personnel may arrive at different areas according to their access permissions. Red is the VIP area, blue is the office area, yellow is the spectator area, purple is the competition area and pink is the public area.</div> |
| 128 | </div> | 131 | </div> |
| 129 | 132 | ||
| 130 | <div class="content" v-if="activeName==1"> | 133 | <div class="content" v-if="activeName==11"> |
| 131 | <div>The Registration Center is located in the hotel lobby from 10:00-22:00 on July 19-22, also serves as the info desk.</div> | 134 | <div>The Registration Center is located in the hotel lobby from 10:00-22:00 on July 19-22, also serves as the info desk.</div> |
| 132 | <div>For information about emergency notices, catering services, and transportation services will be announced on the notice board. If you have any questions or need services, please contact the Registration Center.</div> | 135 | <div>For information about emergency notices, catering services, and transportation services will be announced on the notice board. If you have any questions or need services, please contact the Registration Center.</div> |
| 133 | </div> | 136 | </div> |
| 134 | <div class="content" v-if="activeName==2"> | 137 | <div class="content" v-if="activeName==21"> |
| 135 | <h4>1 Use and Storage of Licenses</h4> | 138 | <h4>1 Use and Storage of Licenses</h4> |
| 136 | <p>Licenses shall be properly kept and shall not be intentionally damaged. Licenses shall be used only by the holders, which shall not be transferred to others, used for unauthorized purposes, or altered.</p> | 139 | <p>Licenses shall be properly kept and shall not be intentionally damaged. Licenses shall be used only by the holders, which shall not be transferred to others, used for unauthorized purposes, or altered.</p> |
| 137 | <p>For access to relevant activity and competition venue, license holders shall wear licenses in a conspicuous position against the chest.</p> | 140 | <p>For access to relevant activity and competition venue, license holders shall wear licenses in a conspicuous position against the chest.</p> |
| ... | @@ -144,10 +147,10 @@ | ... | @@ -144,10 +147,10 @@ |
| 144 | <p>The following colors and numbers will be used to indicate the different areas:</p> | 147 | <p>The following colors and numbers will be used to indicate the different areas:</p> |
| 145 | <img src="@/assets/zhinan/5.jpg"/> | 148 | <img src="@/assets/zhinan/5.jpg"/> |
| 146 | </div> | 149 | </div> |
| 147 | <div class="content" v-if="activeName==3"> | 150 | <div class="content" v-if="activeName==31"> |
| 148 | <el-empty description="no data"></el-empty> | 151 | <el-empty description="no data"></el-empty> |
| 149 | </div> | 152 | </div> |
| 150 | <div class="content" v-if="activeName==4"> | 153 | <div class="content" v-if="activeName==41"> |
| 151 | <h4>1.Arrivals and Departures</h4> | 154 | <h4>1.Arrivals and Departures</h4> |
| 152 | <p>All technical officials and sports teams will be picked up by the organizing committee, | 155 | <p>All technical officials and sports teams will be picked up by the organizing committee, |
| 153 | and the arrival stations should be Wuxi Sunan Shuofang International Airport, Shanghai Pudong International Airport, and Shanghai Hongqiao International Airport.</p> | 156 | and the arrival stations should be Wuxi Sunan Shuofang International Airport, Shanghai Pudong International Airport, and Shanghai Hongqiao International Airport.</p> |
| ... | @@ -180,7 +183,7 @@ | ... | @@ -180,7 +183,7 @@ |
| 180 | <p>4. When getting off the vehicles, make sure to bring all belongings with you.</p> | 183 | <p>4. When getting off the vehicles, make sure to bring all belongings with you.</p> |
| 181 | <p>5. If you miss the vehicle or need to make an unplanned travel, please contact the info desk in time.</p> | 184 | <p>5. If you miss the vehicle or need to make an unplanned travel, please contact the info desk in time.</p> |
| 182 | </div> | 185 | </div> |
| 183 | <div class="content" v-if="activeName==5"> | 186 | <div class="content" v-if="activeName==51"> |
| 184 | <h4>1. Service Time</h4> | 187 | <h4>1. Service Time</h4> |
| 185 | <p>July 20-23, 2023</p> | 188 | <p>July 20-23, 2023</p> |
| 186 | <h4>2. Medical Stations</h4> | 189 | <h4>2. Medical Stations</h4> |
| ... | @@ -192,13 +195,13 @@ | ... | @@ -192,13 +195,13 @@ |
| 192 | one nurse, two first aiders, one English-speaking volunteer, and one staff. Both medical stations are fully equipped with medicines needed for on-site medical emergencies.</p> | 195 | one nurse, two first aiders, one English-speaking volunteer, and one staff. Both medical stations are fully equipped with medicines needed for on-site medical emergencies.</p> |
| 193 | <p>One ambulance and one emergency transfer vehicle are waiting at the entrance of G14, and all of them are equipped with first aid equipment such as defibrilla- tors and oxygen cylinders.</p> | 196 | <p>One ambulance and one emergency transfer vehicle are waiting at the entrance of G14, and all of them are equipped with first aid equipment such as defibrilla- tors and oxygen cylinders.</p> |
| 194 | </div> | 197 | </div> |
| 195 | <div class="content" v-if="activeName==6"><el-empty description="no data"></el-empty></div> | 198 | <div class="content" v-if="activeName>0&&activeName<8"><el-empty description="no data"></el-empty></div> |
| 196 | <div class="content" v-if="activeName==7"><el-empty description="no data"></el-empty></div> | 199 | <div class="content" v-if="activeName==71"><el-empty description="no data"></el-empty></div> |
| 197 | <div class="content" v-if="activeName==8"> | 200 | <div class="content" v-if="activeName==8"> |
| 198 | <label>Download:</label> | 201 | <label>Download:</label> |
| 199 | <a target="_blank" class="text-primary" > | 202 | <a target="_blank" class="text-primary" @click="showBuilding"> |
| 200 | <el-icon style="position: relative;top: 2px"><download/></el-icon> | 203 | <el-icon style="position: relative;top: 2px"><download/></el-icon> |
| 201 | WDSF ASIAN DANCESPORT FESTIVAL ENTRY GUIDE 0714 | 204 | 2024 WDSF ASIAN DANCESPORT FESTIVAL ENTRY GUIDE |
| 202 | </a> | 205 | </a> |
| 203 | </div> | 206 | </div> |
| 204 | </div> | 207 | </div> |
| ... | @@ -209,10 +212,13 @@ | ... | @@ -209,10 +212,13 @@ |
| 209 | <script setup> | 212 | <script setup> |
| 210 | import { onMounted, ref } from 'vue' | 213 | import { onMounted, ref } from 'vue' |
| 211 | import { getNewsListById, getRuleKind } from '@/apiPc/webSite' | 214 | import { getNewsListById, getRuleKind } from '@/apiPc/webSite' |
| 212 | import { useRouter } from 'vue-router' | 215 | import {useRoute, useRouter} from 'vue-router' |
| 213 | import {useStorage} from "@vueuse/core"; | 216 | import {useStorage} from "@vueuse/core"; |
| 217 | import {getCurrentInstance} from "@vue/runtime-core"; | ||
| 214 | const language = useStorage('language', 0) | 218 | const language = useStorage('language', 0) |
| 215 | const router = useRouter() | 219 | const router = useRouter() |
| 220 | const route = useRoute() | ||
| 221 | const { proxy } = getCurrentInstance() | ||
| 216 | const activeName = ref(0) | 222 | const activeName = ref(0) |
| 217 | const showVipFee = ref(false) | 223 | const showVipFee = ref(false) |
| 218 | const list = ref([ | 224 | const list = ref([ |
| ... | @@ -247,17 +253,25 @@ const query = ref({ | ... | @@ -247,17 +253,25 @@ const query = ref({ |
| 247 | pageNum: 1 | 253 | pageNum: 1 |
| 248 | }) | 254 | }) |
| 249 | onMounted(() => { | 255 | onMounted(() => { |
| 250 | getKindList() | 256 | if(route.query.index){ |
| 257 | changeTab(route.query.index) | ||
| 258 | } else { | ||
| 259 | getKindList() | ||
| 260 | } | ||
| 261 | |||
| 251 | }) | 262 | }) |
| 252 | const getKindList = () => { | 263 | const getKindList = () => { |
| 253 | changeTab(0) | 264 | changeTab(0) |
| 254 | } | 265 | } |
| 255 | const changeTab = (n) => { | 266 | const changeTab = (n) => { |
| 267 | n = Number(n) | ||
| 256 | if(language.value==0){ | 268 | if(language.value==0){ |
| 257 | nowTab.value = list.value[n] | 269 | nowTab.value = list.value[n] |
| 258 | } else { | 270 | } else { |
| 259 | nowTab.value = list_en.value[n] | 271 | nowTab.value = list_en.value[n] |
| 260 | } | 272 | } |
| 273 | console.log(nowTab.value) | ||
| 274 | activeName.value = n | ||
| 261 | if (nowTab.value.tag == 'fee') { | 275 | if (nowTab.value.tag == 'fee') { |
| 262 | showVipFee.value = true | 276 | showVipFee.value = true |
| 263 | } else { | 277 | } else { |
| ... | @@ -290,6 +304,9 @@ const goDetail = (n) => { | ... | @@ -290,6 +304,9 @@ const goDetail = (n) => { |
| 290 | }) | 304 | }) |
| 291 | } | 305 | } |
| 292 | } | 306 | } |
| 307 | const showBuilding = () => { | ||
| 308 | proxy.$message.warning(language.value==0?'待更新':'Building') | ||
| 309 | } | ||
| 293 | </script> | 310 | </script> |
| 294 | <style lang="scss" scoped> | 311 | <style lang="scss" scoped> |
| 295 | .content{margin: 20px 0 0;text-indent: 2em; | 312 | .content{margin: 20px 0 0;text-indent: 2em; | ... | ... |
| ... | @@ -387,7 +387,7 @@ function editPerson(id) { | ... | @@ -387,7 +387,7 @@ function editPerson(id) { |
| 387 | groupId: groupId.value || 0 | 387 | groupId: groupId.value || 0 |
| 388 | } | 388 | } |
| 389 | if(language.value==0){ | 389 | if(language.value==0){ |
| 390 | proxy.$refs['dialogAddCoachRef'].open(obj) | 390 | proxy.$refs['dialogAddCoachRef_En'].open(obj) |
| 391 | }else { | 391 | }else { |
| 392 | proxy.$refs['dialogAddCoachRef_En'].open(obj) | 392 | proxy.$refs['dialogAddCoachRef_En'].open(obj) |
| 393 | } | 393 | } |
| ... | @@ -400,11 +400,11 @@ function addCoach(n) { | ... | @@ -400,11 +400,11 @@ function addCoach(n) { |
| 400 | label: n, | 400 | label: n, |
| 401 | groupId: groupId.value | 401 | groupId: groupId.value |
| 402 | } | 402 | } |
| 403 | if(language.value==0){ | 403 | // if(language.value==0){ |
| 404 | proxy.$refs['dialogAddCoachRef'].open(obj) | 404 | // proxy.$refs['dialogAddCoachRef'].open(obj) |
| 405 | }else { | 405 | // }else { |
| 406 | proxy.$refs['dialogAddCoachRef_En'].open(obj) | 406 | proxy.$refs['dialogAddCoachRef_En'].open(obj) |
| 407 | } | 407 | // } |
| 408 | } | 408 | } |
| 409 | </script> | 409 | </script> |
| 410 | 410 | ... | ... |
| ... | @@ -26,6 +26,11 @@ | ... | @@ -26,6 +26,11 @@ |
| 26 | {{ c.realName }} | 26 | {{ c.realName }} |
| 27 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> | 27 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> |
| 28 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> | 28 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> |
| 29 | |||
| 30 | {{c.representing}} | ||
| 31 | {{c.ageGroup}} | ||
| 32 | {{c.division}} | ||
| 33 | |||
| 29 | <!-- -{{ c.age }}--> | 34 | <!-- -{{ c.age }}--> |
| 30 | </div> | 35 | </div> |
| 31 | </el-option> | 36 | </el-option> | ... | ... |
| ... | @@ -37,7 +37,7 @@ | ... | @@ -37,7 +37,7 @@ |
| 37 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> | 37 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> |
| 38 | <el-input v-model="form.idcCode" @blur="checkCode" :disabled="editgay"/> | 38 | <el-input v-model="form.idcCode" @blur="checkCode" :disabled="editgay"/> |
| 39 | </el-form-item> | 39 | </el-form-item> |
| 40 | <el-form-item :label="language==0?'有效证件':'Valid Certificates Scanning Copy'" required :required="form.idcType!='0'"> | 40 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required :required="form.idcType!='0'"> |
| 41 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" /> | 41 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" /> |
| 42 | </el-form-item> | 42 | </el-form-item> |
| 43 | <el-form-item :label="language==0?'性别':'Gender'" prop="sex"> | 43 | <el-form-item :label="language==0?'性别':'Gender'" prop="sex"> | ... | ... |
| ... | @@ -32,13 +32,13 @@ | ... | @@ -32,13 +32,13 @@ |
| 32 | <el-input v-model="form.ming" :disabled="editDis"/> | 32 | <el-input v-model="form.ming" :disabled="editDis"/> |
| 33 | </el-form-item> | 33 | </el-form-item> |
| 34 | <el-form-item :label="language==0?'性别':'Gender'" prop="sex"> | 34 | <el-form-item :label="language==0?'性别':'Gender'" prop="sex"> |
| 35 | <el-radio-group v-model="form.sex" :disabled="form.idcType=='0'"> | 35 | <el-radio-group v-model="form.sex"> |
| 36 | <el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio> | 36 | <el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio> |
| 37 | <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio> | 37 | <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio> |
| 38 | </el-radio-group> | 38 | </el-radio-group> |
| 39 | </el-form-item> | 39 | </el-form-item> |
| 40 | <el-form-item :label="language==0?'所属国家/地区':'Nationality'" prop="countryId" required> | 40 | <el-form-item :label="language==0?'所属国家/地区':'Nationality'" prop="countryId" required> |
| 41 | <el-select filterable v-model="form.countryId" style="width: 100%;"> | 41 | <el-select filterable v-model="form.countryId" style="width: 100%;" @change="changeCountry"> |
| 42 | <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" | 42 | <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" |
| 43 | :value="item.id"/> | 43 | :value="item.id"/> |
| 44 | </el-select> | 44 | </el-select> |
| ... | @@ -48,12 +48,13 @@ | ... | @@ -48,12 +48,13 @@ |
| 48 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?l.label:l.enlabel"/> | 48 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?l.label:l.enlabel"/> |
| 49 | </el-select> | 49 | </el-select> |
| 50 | </el-form-item> | 50 | </el-form-item> |
| 51 | <el-form-item :label="language==0?'有效证件':'Valid Documents Scanning Copy'" required> | 51 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> |
| 52 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" | 52 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" |
| 53 | :button-text="language==0?'上传':'Upload'"/> | 53 | :button-text="language==0?'上传':'Upload'"/> |
| 54 | <div class="tip"> | 54 | <div class="tip"> |
| 55 | <span v-if="language==0">请上传护照副本,用于认证 </span> | 55 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> |
| 56 | <span v-else>Please upload a passport copy for authentication</span> | 56 | <span v-else>Please upload a scanned copy of your valid passport for verification of identity information, |
| 57 | application of visa invitation letter and purchasing insurance etc.</span> | ||
| 57 | </div> | 58 | </div> |
| 58 | </el-form-item> | 59 | </el-form-item> |
| 59 | 60 | ||
| ... | @@ -66,11 +67,10 @@ | ... | @@ -66,11 +67,10 @@ |
| 66 | :is-show-tip="false" | 67 | :is-show-tip="false" |
| 67 | /> | 68 | /> |
| 68 | </el-form-item> | 69 | </el-form-item> |
| 69 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode"> | 70 | |
| 70 | <el-input v-model="form.idcCode" :disabled="editgay"/> | 71 | <el-form-item :label="language==0?'证件类型':'ID Type'" prop="idcType" |
| 71 | </el-form-item> | 72 | :required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1"> |
| 72 | <el-form-item :label="language==0?'证件类型':'ID Type'" prop="idcType"> | 73 | <el-select v-model="form.idcType" style="width: 100%;" :disabled="editgay&&form.idcType!=''"> |
| 73 | <el-select v-model="form.idcType" style="width: 100%;" :disabled="editgay"> | ||
| 74 | <el-option | 74 | <el-option |
| 75 | v-for="item in certificates" | 75 | v-for="item in certificates" |
| 76 | :key="item.value" | 76 | :key="item.value" |
| ... | @@ -79,13 +79,18 @@ | ... | @@ -79,13 +79,18 @@ |
| 79 | /> | 79 | /> |
| 80 | </el-select> | 80 | </el-select> |
| 81 | </el-form-item> | 81 | </el-form-item> |
| 82 | <!-- <el-form-item :label="language==0?'出生日期':'Birth'" prop="birth">--> | 82 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" |
| 83 | <!-- <el-date-picker--> | 83 | :required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1"> |
| 84 | <!-- v-model="form.birth" :disabled="form.idcType=='0'"--> | 84 | <el-input v-model="form.idcCode" :disabled="editgay&&form.idcCode!=''" @blur="giveBirthDay"/> |
| 85 | <!-- style="width: 100%;"--> | 85 | </el-form-item> |
| 86 | <!-- type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"--> | 86 | <el-form-item :label="language==0?'出生日期':'Birth'" prop="birth" |
| 87 | <!-- />--> | 87 | :required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1"> |
| 88 | <!-- </el-form-item>--> | 88 | <el-date-picker |
| 89 | v-model="form.birth" :disabled="form.idcType=='0'" | ||
| 90 | style="width: 100%;" | ||
| 91 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | ||
| 92 | /> | ||
| 93 | </el-form-item> | ||
| 89 | 94 | ||
| 90 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone"> | 95 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone"> |
| 91 | <el-input v-model="form.phone" type="number"/> | 96 | <el-input v-model="form.phone" type="number"/> |
| ... | @@ -132,10 +137,11 @@ import {checkWdsf, getCaptchaSms} from "@/apiPc/match"; | ... | @@ -132,10 +137,11 @@ import {checkWdsf, getCaptchaSms} from "@/apiPc/match"; |
| 132 | 137 | ||
| 133 | const language = useStorage('language', 0) | 138 | const language = useStorage('language', 0) |
| 134 | const certificates = ref([ | 139 | const certificates = ref([ |
| 135 | // { | 140 | { |
| 136 | // value: '0', | 141 | value: '0', |
| 137 | // label: language.value == 0 ? '居民身份证' : 'Resident ID card' | 142 | disabled: language.value == 0 ? false : true, |
| 138 | // }, | 143 | label: language.value == 0 ? '居民身份证' : 'Resident ID card' |
| 144 | }, | ||
| 139 | { | 145 | { |
| 140 | value: '1', | 146 | value: '1', |
| 141 | label: language.value == 0 ? '护照' : 'Passport' | 147 | label: language.value == 0 ? '护照' : 'Passport' |
| ... | @@ -149,7 +155,7 @@ const {proxy} = getCurrentInstance() | ... | @@ -149,7 +155,7 @@ const {proxy} = getCurrentInstance() |
| 149 | const emit = defineEmits(['submitForm']) | 155 | const emit = defineEmits(['submitForm']) |
| 150 | const data = reactive({ | 156 | const data = reactive({ |
| 151 | form: { | 157 | form: { |
| 152 | // countryId: 240 | 158 | // countryId: 240, |
| 153 | sex: '0' | 159 | sex: '0' |
| 154 | }, | 160 | }, |
| 155 | rules: { | 161 | rules: { |
| ... | @@ -184,7 +190,7 @@ const data = reactive({ | ... | @@ -184,7 +190,7 @@ const data = reactive({ |
| 184 | countryList: [], | 190 | countryList: [], |
| 185 | regionsList: [], | 191 | regionsList: [], |
| 186 | labels: [ | 192 | labels: [ |
| 187 | // {value: '0', label: '运动员', enlabel: 'Athletes'}, | 193 | {value: '0', label: '运动员', enlabel: 'Athletes'}, |
| 188 | {value: '1', label: '教练', enlabel: 'Coach'}, | 194 | {value: '1', label: '教练', enlabel: 'Coach'}, |
| 189 | {value: '2', label: '领队', enlabel: 'Leader'}, | 195 | {value: '2', label: '领队', enlabel: 'Leader'}, |
| 190 | {value: '4', label: '队医', enlabel: 'Nurse'}, | 196 | {value: '4', label: '队医', enlabel: 'Nurse'}, |
| ... | @@ -305,6 +311,9 @@ function checkCard() { | ... | @@ -305,6 +311,9 @@ function checkCard() { |
| 305 | form.value.xing = res.data.surname | 311 | form.value.xing = res.data.surname |
| 306 | form.value.ming = res.data.name | 312 | form.value.ming = res.data.name |
| 307 | form.value.representing = res.data.representing | 313 | form.value.representing = res.data.representing |
| 314 | form.value.ageGroup = res.data.ageGroup | ||
| 315 | form.value.division = res.data.division | ||
| 316 | form.value.status = res.data.status | ||
| 308 | if (!form.value.sex) { | 317 | if (!form.value.sex) { |
| 309 | form.value.sex = '0' | 318 | form.value.sex = '0' |
| 310 | } | 319 | } |
| ... | @@ -336,7 +345,11 @@ function checkCode() { | ... | @@ -336,7 +345,11 @@ function checkCode() { |
| 336 | } | 345 | } |
| 337 | } | 346 | } |
| 338 | 347 | ||
| 339 | 348 | function changeCountry() { | |
| 349 | if( form.value.countryId = 240 ){ | ||
| 350 | form.value.idcType = '0' | ||
| 351 | } | ||
| 352 | } | ||
| 340 | function giveBirthDay() { | 353 | function giveBirthDay() { |
| 341 | // 判断身份证正确性/赋值生日 | 354 | // 判断身份证正确性/赋值生日 |
| 342 | if (form.value.idcType == '0') { | 355 | if (form.value.idcType == '0') { | ... | ... |
| ... | @@ -72,12 +72,14 @@ | ... | @@ -72,12 +72,14 @@ |
| 72 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | 72 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" |
| 73 | /> | 73 | /> |
| 74 | </el-form-item> | 74 | </el-form-item> |
| 75 | <el-form-item :label="language==0?'有效证件':'Valid Certificates Scanning Copy'" required> | 75 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> |
| 76 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" | 76 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" |
| 77 | :button-text="language==0?'上传':'Upload'"/> | 77 | :button-text="language==0?'上传':'Upload'"/> |
| 78 | <div class="tip"> | 78 | <div class="tip"> |
| 79 | <span v-if="language==0">请上传护照副本,用于认证 </span> | 79 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等 </span> |
| 80 | <span v-else>Please upload a passport copy for authentication</span> | 80 | <span v-else> |
| 81 | Please upload a scanned copy of your valid passport for verification of identity information, | ||
| 82 | application of visa invitation letter and purchasing insurance etc.</span> | ||
| 81 | </div> | 83 | </div> |
| 82 | 84 | ||
| 83 | </el-form-item> | 85 | </el-form-item> | ... | ... |
| ... | @@ -4,11 +4,20 @@ | ... | @@ -4,11 +4,20 @@ |
| 4 | <el-table-column type="index" :label="language==0?'序号':'Index'" width="80" align="center"/> | 4 | <el-table-column type="index" :label="language==0?'序号':'Index'" width="80" align="center"/> |
| 5 | <el-table-column :label="language==0?'姓氏':'Surname'" prop="xing" min-width="100"/> | 5 | <el-table-column :label="language==0?'姓氏':'Surname'" prop="xing" min-width="100"/> |
| 6 | <el-table-column :label="language==0?'名':'Name'" prop="ming" min-width="100"/> | 6 | <el-table-column :label="language==0?'名':'Name'" prop="ming" min-width="100"/> |
| 7 | <el-table-column :label="language==0?'所属国家/地区':'Nationality'" prop="countryName" min-width="100"/> | 7 | <el-table-column :label="language==0?'所属国家/地区':'Nationality'" prop="countryName" min-width="110"/> |
| 8 | <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> | 8 | <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> |
| 9 | <!-- <el-table-column :label="language==0?'年龄':'Age'" prop="age"/>--> | 9 | <!-- <el-table-column :label="language==0?'年龄':'Age'" prop="age"/>--> |
| 10 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" :min-width="language==0?'80':'160'"/> | 10 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" :min-width="language==0?'80':'160'"/> |
| 11 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> | 11 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"> |
| 12 | <template #default="scope"> | ||
| 13 | <span v-if="scope.row.wdsfMin"></span> | ||
| 14 | <span v-else>{{ scope.row.idcCode }}</span> | ||
| 15 | </template> | ||
| 16 | </el-table-column> | ||
| 17 | <el-table-column align="center" :label="language==0?'代表':'Representing'" prop="representing" min-width="120"/> | ||
| 18 | <el-table-column align="center" :label="language==0?'年龄组':'Age group'" prop="ageGroup" min-width="100"/> | ||
| 19 | <el-table-column align="center" :label="language==0?'舞种':'Division'" prop="division" min-width="100"/> | ||
| 20 | |||
| 12 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> | 21 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> |
| 13 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | 22 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> |
| 14 | <template #default="scope"> | 23 | <template #default="scope"> | ... | ... |
| ... | @@ -63,12 +63,13 @@ | ... | @@ -63,12 +63,13 @@ |
| 63 | <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio> | 63 | <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio> |
| 64 | </el-radio-group> | 64 | </el-radio-group> |
| 65 | </el-form-item> | 65 | </el-form-item> |
| 66 | <el-form-item :label="language==0?'有效证件':'Valid Certificates Scanning Copy'" required> | 66 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> |
| 67 | <file-upload v-model="wdsfData.passportUrl" :limit="1" :is-show-tip="false" | 67 | <file-upload v-model="wdsfData.passportUrl" :limit="1" :is-show-tip="false" |
| 68 | :button-text="language==0?'上传':'Upload'"/> | 68 | :button-text="language==0?'上传':'Upload'"/> |
| 69 | <div class="tip"> | 69 | <div class="tip"> |
| 70 | <span v-if="language==0">请上传护照副本,用于认证 </span> | 70 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> |
| 71 | <span v-else>Please upload a passport copy for authentication</span> | 71 | <span v-else>Please upload a scanned copy of your valid passport for verification of identity information, |
| 72 | application of visa invitation letter and purchasing insurance etc.</span> | ||
| 72 | </div> | 73 | </div> |
| 73 | </el-form-item> | 74 | </el-form-item> |
| 74 | <el-form-item :label="language==0?'证件号':'Passport number'"> | 75 | <el-form-item :label="language==0?'证件号':'Passport number'"> | ... | ... |
| ... | @@ -204,6 +204,16 @@ const goStep1 = () => { | ... | @@ -204,6 +204,16 @@ const goStep1 = () => { |
| 204 | const goStep3 = () => { | 204 | const goStep3 = () => { |
| 205 | proxy.$refs.registerRef.validate(valid => { | 205 | proxy.$refs.registerRef.validate(valid => { |
| 206 | if (valid) { | 206 | if (valid) { |
| 207 | |||
| 208 | if(language.value==0){ | ||
| 209 | var pattern = /^1[3456789]\d{9}$/ | ||
| 210 | if (!pattern.test(form.value.contactTel)) { | ||
| 211 | ElMessage.warning(language.value == 0 ?'请输入正确的手机号':'Please enter the correct mobile phone number') | ||
| 212 | return | ||
| 213 | } | ||
| 214 | } | ||
| 215 | |||
| 216 | |||
| 207 | if (!isAgree.value) { | 217 | if (!isAgree.value) { |
| 208 | ElMessage.warning(language.value == 0?'请勾选接受':'Please check the acceptance') | 218 | ElMessage.warning(language.value == 0?'请勾选接受':'Please check the acceptance') |
| 209 | return | 219 | return | ... | ... |
-
Please register or sign in to post a comment