no message
Showing
29 changed files
with
321 additions
and
202 deletions
src/assets/img/female.png
0 → 100644
463 Bytes
src/assets/img/male.png
0 → 100644
478 Bytes
| ... | @@ -548,12 +548,6 @@ export const constantRoutes = [ | ... | @@ -548,12 +548,6 @@ export const constantRoutes = [ |
| 548 | meta: { title: '选择参赛项目' } | 548 | meta: { title: '选择参赛项目' } |
| 549 | }, | 549 | }, |
| 550 | { | 550 | { |
| 551 | path: 'list/:id/expenseDetails', | ||
| 552 | component: () => import('@/viewsPc/match/expenseDetails'), | ||
| 553 | name: 'expenseDetails', | ||
| 554 | meta: { title: '费用明细' } | ||
| 555 | }, | ||
| 556 | { | ||
| 557 | path: 'list/:id/signPreview', | 551 | path: 'list/:id/signPreview', |
| 558 | component: () => import('@/viewsPc/match/signPreview'), | 552 | component: () => import('@/viewsPc/match/signPreview'), |
| 559 | name: 'signPreview', | 553 | name: 'signPreview', | ... | ... |
| ... | @@ -453,12 +453,6 @@ export const constantRoutes = [ | ... | @@ -453,12 +453,6 @@ export const constantRoutes = [ |
| 453 | meta: { title: '选择参赛项目' } | 453 | meta: { title: '选择参赛项目' } |
| 454 | }, | 454 | }, |
| 455 | { | 455 | { |
| 456 | path: 'list/:id/expenseDetails', | ||
| 457 | component: () => import('@/viewsPc/match/expenseDetails'), | ||
| 458 | name: 'expenseDetails', | ||
| 459 | meta: { title: '费用明细' } | ||
| 460 | }, | ||
| 461 | { | ||
| 462 | path: 'list/:id/signPreview', | 456 | path: 'list/:id/signPreview', |
| 463 | component: () => import('@/viewsPc/match/signPreview'), | 457 | component: () => import('@/viewsPc/match/signPreview'), |
| 464 | name: 'signPreview', | 458 | name: 'signPreview', | ... | ... |
| ... | @@ -438,12 +438,6 @@ export const constantRoutes = [ | ... | @@ -438,12 +438,6 @@ export const constantRoutes = [ |
| 438 | component: () => import('@/viewsPc/match/chooseProject'), | 438 | component: () => import('@/viewsPc/match/chooseProject'), |
| 439 | name: 'chooseProject', | 439 | name: 'chooseProject', |
| 440 | meta: { title: '选择参赛项目' } | 440 | meta: { title: '选择参赛项目' } |
| 441 | }, | ||
| 442 | { | ||
| 443 | path: 'list/:id/expenseDetails', | ||
| 444 | component: () => import('@/viewsPc/match/expenseDetails'), | ||
| 445 | name: 'expenseDetails', | ||
| 446 | meta: { title: '费用明细' } | ||
| 447 | } | 441 | } |
| 448 | ] | 442 | ] |
| 449 | }, | 443 | }, | ... | ... |
| ... | @@ -9,15 +9,16 @@ | ... | @@ -9,15 +9,16 @@ |
| 9 | <el-form-item :label="language==0?'姓名':'Name'"> | 9 | <el-form-item :label="language==0?'姓名':'Name'"> |
| 10 | <el-input v-model="query.realName" style="width: 120px;" clearable/> | 10 | <el-input v-model="query.realName" style="width: 120px;" clearable/> |
| 11 | </el-form-item> | 11 | </el-form-item> |
| 12 | <el-form-item :label="language==0?'短名':'Nick Name'"> | 12 | <!-- <el-form-item :label="language==0?'短名':'Nick Name'">--> |
| 13 | <el-input v-model="query.shortName" style="width: 120px;" clearable/> | 13 | <!-- <el-input v-model="query.shortName" style="width: 120px;" clearable/>--> |
| 14 | </el-form-item> | 14 | <!-- </el-form-item>--> |
| 15 | <el-form-item :label="language==0?'手机号码':'Phone'"> | 15 | <!-- <el-form-item :label="language==0?'手机号码':'Phone'">--> |
| 16 | <el-input v-model="query.phone" style="width: 120px;" clearable/> | 16 | <!-- <el-input v-model="query.phone" style="width: 120px;" clearable/>--> |
| 17 | </el-form-item> | 17 | <!-- </el-form-item>--> |
| 18 | <el-form-item :label="language==0?'邮箱':'E-mail'"> | 18 | <!-- <el-form-item :label="language==0?'邮箱':'E-mail'">--> |
| 19 | <el-input v-model="query.email" style="width: 120px;" clearable/> | 19 | <!-- <el-input v-model="query.email" style="width: 120px;" clearable/>--> |
| 20 | </el-form-item> | 20 | <!-- </el-form-item>--> |
| 21 | |||
| 21 | <el-form-item :label="language==0?'证件类型':'ID Type'"> | 22 | <el-form-item :label="language==0?'证件类型':'ID Type'"> |
| 22 | <el-input v-model="query.idcType" style="width: 120px;" clearable/> | 23 | <el-input v-model="query.idcType" style="width: 120px;" clearable/> |
| 23 | </el-form-item> | 24 | </el-form-item> |
| ... | @@ -29,6 +30,9 @@ | ... | @@ -29,6 +30,9 @@ |
| 29 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?(l.label):(l.enlabel)"/> | 30 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?(l.label):(l.enlabel)"/> |
| 30 | </el-select> | 31 | </el-select> |
| 31 | </el-form-item> | 32 | </el-form-item> |
| 33 | <el-form-item :label="language==0?'WDSF':'WDSF'"> | ||
| 34 | <el-input v-model="query.wdsfMin" style="width: 120px;" clearable/> | ||
| 35 | </el-form-item> | ||
| 32 | <el-form-item> | 36 | <el-form-item> |
| 33 | <el-button type="primary" @click="getList">{{ language==0?'查询':'Search' }}</el-button> | 37 | <el-button type="primary" @click="getList">{{ language==0?'查询':'Search' }}</el-button> |
| 34 | </el-form-item> | 38 | </el-form-item> | ... | ... |
| ... | @@ -23,6 +23,15 @@ | ... | @@ -23,6 +23,15 @@ |
| 23 | <el-form-item :label="language==0?'机构名称':'Team Name'" required prop="name"> | 23 | <el-form-item :label="language==0?'机构名称':'Team Name'" required prop="name"> |
| 24 | <el-input type="text" v-model="form.name" :placeholder="language==0?'请输入内容':''"/> | 24 | <el-input type="text" v-model="form.name" :placeholder="language==0?'请输入内容':''"/> |
| 25 | </el-form-item> | 25 | </el-form-item> |
| 26 | <el-form-item :label="language==0?'团体类型':'Group type'" prop="type" required> | ||
| 27 | <el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;"> | ||
| 28 | <el-option :label="language==0?'普通院校':'School'" value="0" /> | ||
| 29 | <el-option :label="language==0?'专业舞蹈学校':'Professional dance school'" value="1" /> | ||
| 30 | <el-option :label="language==0?'培训机构/俱乐部':'Company/Club'" value="2" /> | ||
| 31 | <el-option :label="language==0?'地方协会':'Local Association'" value="3" /> | ||
| 32 | <el-option :label="language==0?'国家协会':'National Association'" value="4" /> | ||
| 33 | </el-select> | ||
| 34 | </el-form-item> | ||
| 26 | <el-form-item :label="language==0?'联系人姓名':'Contact Person'" required prop="contactPerson"> | 35 | <el-form-item :label="language==0?'联系人姓名':'Contact Person'" required prop="contactPerson"> |
| 27 | <el-input type="text" v-model="form.contactPerson" :placeholder="language==0?'请输入内容':''"/> | 36 | <el-input type="text" v-model="form.contactPerson" :placeholder="language==0?'请输入内容':''"/> |
| 28 | </el-form-item> | 37 | </el-form-item> | ... | ... |
| ... | @@ -11,7 +11,7 @@ | ... | @@ -11,7 +11,7 @@ |
| 11 | v-model.trim="loginForm.username" | 11 | v-model.trim="loginForm.username" |
| 12 | size="large" | 12 | size="large" |
| 13 | auto-complete="off" | 13 | auto-complete="off" |
| 14 | :placeholder="language==0?'账号(注册时使用的邮箱/手机号码)':'Account (e-mail/ cell-phone number)'" | 14 | :placeholder="language==0?'账号(注册时使用的邮箱)':'Account (e-mail)'" |
| 15 | > | 15 | > |
| 16 | 16 | ||
| 17 | </el-input> | 17 | </el-input> | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -14,22 +14,15 @@ | ... | @@ -14,22 +14,15 @@ |
| 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"> | 17 | <div class="panel-body" style="padding: 10px"> |
| 18 | <div class="chooseForm"> | 18 | <div class="noPicChooseForm"> |
| 19 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> | 19 | <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> |
| 20 | <div class="addBttn" @click="chooseSportman">+</div> | 20 | <el-button plain @click="chooseSportman">+{{ language == 0 ?'选择':'add' }}</el-button> |
| 21 | <el-checkbox v-for="c in choosedList" :label="c.id"> | 21 | <el-checkbox v-for="c in choosedList" :label="c.id" border> |
| 22 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 22 | <p class="name">{{ c.realName }} |
| 23 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="@/assets/img/head1.png"/> | 23 | <!-- ({{ c.sexStr }})--> |
| 24 | <el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="@/assets/img/head0.png"/> | 24 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> |
| 25 | 25 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> | |
| 26 | <p class="name">{{ c.shortName }}({{ c.sexStr }}) | ||
| 27 | <!-- <el-icon @click.stop="editPerson(c.id)">--> | ||
| 28 | <!-- <Edit/>--> | ||
| 29 | <!-- </el-icon>--> | ||
| 30 | <!-- <el-icon @click.stop="delthischoosed(c)">--> | ||
| 31 | <!-- <Delete/>--> | ||
| 32 | <!-- </el-icon>--> | ||
| 33 | </p> | 26 | </p> |
| 34 | </el-checkbox> | 27 | </el-checkbox> |
| 35 | </el-checkbox-group> | 28 | </el-checkbox-group> |
| ... | @@ -42,6 +35,7 @@ | ... | @@ -42,6 +35,7 @@ |
| 42 | <div class="panel-header "> | 35 | <div class="panel-header "> |
| 43 | <h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3> | 36 | <h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3> |
| 44 | <h3 class="panel-title" v-else>Select a Participating team</h3> | 37 | <h3 class="panel-title" v-else>Select a Participating team</h3> |
| 38 | <a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> | ||
| 45 | </div> | 39 | </div> |
| 46 | <div class="panel-body"> | 40 | <div class="panel-body"> |
| 47 | <div class="chooseForm"> | 41 | <div class="chooseForm"> |
| ... | @@ -51,7 +45,10 @@ | ... | @@ -51,7 +45,10 @@ |
| 51 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> | 45 | <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 52 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="@/assets/img/head1.png"/> | 46 | <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="@/assets/img/head1.png"/> |
| 53 | <el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="@/assets/img/head0.png"/> | 47 | <el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="@/assets/img/head0.png"/> |
| 54 | <p class="name">{{ c.shortName }}({{ c.sexStr }}) | 48 | <p class="name">{{ c.realName }} |
| 49 | <!-- ({{ c.sexStr }})--> | ||
| 50 | <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> | ||
| 51 | <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> | ||
| 55 | <!-- <el-icon @click.stop="editPerson(c.id)">--> | 52 | <!-- <el-icon @click.stop="editPerson(c.id)">--> |
| 56 | <!-- <Edit/>--> | 53 | <!-- <Edit/>--> |
| 57 | <!-- </el-icon>--> | 54 | <!-- </el-icon>--> |
| ... | @@ -68,11 +65,12 @@ | ... | @@ -68,11 +65,12 @@ |
| 68 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> | 65 | <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> |
| 69 | <h3 class="panel-title" v-else>Eligible Events for Registration</h3> | 66 | <h3 class="panel-title" v-else>Eligible Events for Registration</h3> |
| 70 | <div class="fr"> | 67 | <div class="fr"> |
| 71 | <el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" @change="getProjectList" | 68 | <el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" |
| 69 | @change="getProjectList" | ||
| 72 | clearable/> | 70 | clearable/> |
| 73 | </div> | 71 | </div> |
| 74 | </div> | 72 | </div> |
| 75 | <div v-loading="loadingProject"> | 73 | <div v-loading="loadingProject" style="height: 60vh"> |
| 76 | <el-checkbox-group v-model="projectIds"> | 74 | <el-checkbox-group v-model="projectIds"> |
| 77 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> | 75 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> |
| 78 | <div class="flexBetween w100"> | 76 | <div class="flexBetween w100"> |
| ... | @@ -80,7 +78,7 @@ | ... | @@ -80,7 +78,7 @@ |
| 80 | {{ c.code }}:{{ c.name }} | 78 | {{ c.code }}:{{ c.name }} |
| 81 | <div>{{ c.danceTypeDetailStr }}</div> | 79 | <div>{{ c.danceTypeDetailStr }}</div> |
| 82 | </div> | 80 | </div> |
| 83 | <div class="text-primary">¥{{ c.serviceFee }}</div> | 81 | <div class="text-primary">{{ language==0?'¥':'£' }}{{ c.serviceFee }}</div> |
| 84 | </div> | 82 | </div> |
| 85 | </el-checkbox> | 83 | </el-checkbox> |
| 86 | </el-checkbox-group> | 84 | </el-checkbox-group> |
| ... | @@ -336,26 +334,6 @@ function afterRecover() { | ... | @@ -336,26 +334,6 @@ function afterRecover() { |
| 336 | } | 334 | } |
| 337 | return | 335 | return |
| 338 | } | 336 | } |
| 339 | // 判断是否收费 | ||
| 340 | if (chargeFlag == '0') { | ||
| 341 | var obj = { | ||
| 342 | cptId: matchId.value, | ||
| 343 | groupId: groupId.value | ||
| 344 | } | ||
| 345 | match.commitSign(obj).then(res => { | ||
| 346 | console.log(res.data) | ||
| 347 | showResult.value = true | ||
| 348 | }) | ||
| 349 | } else { | ||
| 350 | // 生成账单 | ||
| 351 | router.push({ | ||
| 352 | name: 'expenseDetails', | ||
| 353 | query: { | ||
| 354 | matchId: matchId.value, | ||
| 355 | groupId: groupId.value | ||
| 356 | } | ||
| 357 | }) | ||
| 358 | } | ||
| 359 | } | 337 | } |
| 360 | 338 | ||
| 361 | function goPrev() { | 339 | function goPrev() { |
| ... | @@ -472,6 +450,10 @@ function delthischoosed(p) { | ... | @@ -472,6 +450,10 @@ function delthischoosed(p) { |
| 472 | function emptyChoosed() { | 450 | function emptyChoosed() { |
| 473 | choosedList.value = [] | 451 | choosedList.value = [] |
| 474 | } | 452 | } |
| 453 | function emptyChangechoosed() { | ||
| 454 | choosedchoosed.value = [] | ||
| 455 | choosed2List.value = [] | ||
| 456 | } | ||
| 475 | 457 | ||
| 476 | function delchoosedchoosed() { | 458 | function delchoosedchoosed() { |
| 477 | console.log(choosedchoosed.value) | 459 | console.log(choosedchoosed.value) |
| ... | @@ -514,6 +496,7 @@ function signUp() { | ... | @@ -514,6 +496,7 @@ function signUp() { |
| 514 | groupId: groupId.value | 496 | groupId: groupId.value |
| 515 | } | 497 | } |
| 516 | match.sportsmanDone(obj).then(res => { | 498 | match.sportsmanDone(obj).then(res => { |
| 499 | choosedchoosed.value = [] | ||
| 517 | getSignInfoList() | 500 | getSignInfoList() |
| 518 | getProjectList() | 501 | getProjectList() |
| 519 | }) | 502 | }) |
| ... | @@ -756,4 +739,14 @@ function switchTabletype() { | ... | @@ -756,4 +739,14 @@ function switchTabletype() { |
| 756 | } | 739 | } |
| 757 | } | 740 | } |
| 758 | } | 741 | } |
| 742 | .noPicChooseForm{ | ||
| 743 | .el-checkbox-group{display: flex;flex-wrap: wrap;text-align: justify; | ||
| 744 | .el-button{width: 31%;margin:1%;} | ||
| 745 | .el-checkbox{margin: 1%;width: 31%;overflow: hidden;} | ||
| 746 | .name{justify-content: left;} | ||
| 747 | } | ||
| 748 | } | ||
| 749 | .name{display: flex;align-items: center;justify-content: center; | ||
| 750 | img{height: 20px;margin-left: 4px;} | ||
| 751 | } | ||
| 759 | </style> | 752 | </style> | ... | ... |
| ... | @@ -7,24 +7,12 @@ | ... | @@ -7,24 +7,12 @@ |
| 7 | <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="120px" inline> | 7 | <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="120px" inline> |
| 8 | <el-row :gutter="30"> | 8 | <el-row :gutter="30"> |
| 9 | <el-col :lg="12" class="touxiang"> | 9 | <el-col :lg="12" class="touxiang"> |
| 10 | <el-form-item prop="picUrl" :label="language==0?'个人照片':'photo'" required> | 10 | |
| 11 | <ImageUpload2 | ||
| 12 | v-model="form.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1" | ||
| 13 | :is-show-tip="false" | ||
| 14 | /> | ||
| 15 | </el-form-item> | ||
| 16 | <el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required> | 11 | <el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required> |
| 17 | <el-input v-model="form.xing"/> | 12 | <el-input v-model="form.xing"/> |
| 18 | </el-form-item> | 13 | </el-form-item> |
| 19 | <el-form-item :label="language==0?'短名':'nike name'" prop="shortName" required> | 14 | <el-form-item :label="language==0?'名':'name'" prop="ming" required> |
| 20 | <el-input v-model="form.shortName" :placeholder="language==0?'赛事用名':''"/> | 15 | <el-input v-model="form.ming"/> |
| 21 | </el-form-item> | ||
| 22 | <el-form-item :label="language==0?'出生日期':'birth'" prop="birth" required> | ||
| 23 | <el-date-picker | ||
| 24 | v-model="form.birth" | ||
| 25 | style="width: 100%;" | ||
| 26 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | ||
| 27 | /> | ||
| 28 | </el-form-item> | 16 | </el-form-item> |
| 29 | <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required> | 17 | <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required> |
| 30 | <el-select v-model="form.idcType" style="width: 100%;"> | 18 | <el-select v-model="form.idcType" style="width: 100%;"> |
| ... | @@ -36,16 +24,42 @@ | ... | @@ -36,16 +24,42 @@ |
| 36 | /> | 24 | /> |
| 37 | </el-select> | 25 | </el-select> |
| 38 | </el-form-item> | 26 | </el-form-item> |
| 39 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone" required> | 27 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> |
| 40 | <el-input v-model="form.phone" type="number"/> | 28 | <el-input v-model="form.idcCode" @blur="checkCode"/> |
| 41 | </el-form-item> | 29 | </el-form-item> |
| 42 | <el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin"> | 30 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> |
| 43 | <el-input v-model="form.wdsfMin" type="number"/> | 31 | <el-radio-group v-model="form.sex"> |
| 32 | <el-radio label="0">{{ language==0?'女':'female' }}</el-radio> | ||
| 33 | <el-radio label="1">{{ language==0?'男':'male' }}</el-radio> | ||
| 34 | </el-radio-group> | ||
| 35 | </el-form-item> | ||
| 36 | |||
| 37 | <el-form-item :label="language==0?'出生日期':'birth'" prop="birth" required> | ||
| 38 | <el-date-picker | ||
| 39 | v-model="form.birth" | ||
| 40 | style="width: 100%;" | ||
| 41 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | ||
| 42 | /> | ||
| 44 | </el-form-item> | 43 | </el-form-item> |
| 44 | <el-form-item :label="language==0?'主要会员角色':'roles'" prop="labelArr"> | ||
| 45 | <el-select v-model="form.labelArr" multiple @change="labelvalue"> | ||
| 46 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?l.label:l.enlabel"/> | ||
| 47 | </el-select> | ||
| 48 | </el-form-item> | ||
| 49 | <!-- <el-form-item :label="language==0?'短名':'nike name'" prop="shortName" required>--> | ||
| 50 | <!-- <el-input v-model="form.shortName" :placeholder="language==0?'赛事用名':''"/>--> | ||
| 51 | <!-- </el-form-item>--> | ||
| 52 | |||
| 53 | |||
| 45 | </el-col> | 54 | </el-col> |
| 46 | <el-col :lg="12"> | 55 | <el-col :lg="12"> |
| 56 | <el-form-item :label="language==0?'手机号码':'Phone'" prop="phone" required> | ||
| 57 | <el-input v-model="form.phone" type="number"/> | ||
| 58 | </el-form-item> | ||
| 59 | |||
| 60 | |||
| 47 | <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required> | 61 | <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required> |
| 48 | <el-select filterable v-model="form.countryId" style="width: 100%;" @change="changeCountryId"> | 62 | <el-select :disabled="language==0" filterable v-model="form.countryId" style="width: 100%;" @change="changeCountryId"> |
| 49 | <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/> | 63 | <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/> |
| 50 | </el-select> | 64 | </el-select> |
| 51 | </el-form-item> | 65 | </el-form-item> |
| ... | @@ -59,26 +73,21 @@ | ... | @@ -59,26 +73,21 @@ |
| 59 | <el-input v-model="form.address" type="textarea" :rows="4"/> | 73 | <el-input v-model="form.address" type="textarea" :rows="4"/> |
| 60 | 74 | ||
| 61 | </el-form-item> | 75 | </el-form-item> |
| 62 | <el-form-item :label="language==0?'名':'name'" prop="ming" required> | 76 | <el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin"> |
| 63 | <el-input v-model="form.ming"/> | 77 | <el-input v-model="form.wdsfMin" type="number"/> |
| 64 | </el-form-item> | ||
| 65 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> | ||
| 66 | <el-radio-group v-model="form.sex"> | ||
| 67 | <el-radio label="0">{{ language==0?'女':'female' }}</el-radio> | ||
| 68 | <el-radio label="1">{{ language==0?'男':'male' }}</el-radio> | ||
| 69 | </el-radio-group> | ||
| 70 | </el-form-item> | ||
| 71 | <el-form-item :label="language==0?'邮箱':'Email'" prop="email" required> | ||
| 72 | <el-input v-model="form.email"/> | ||
| 73 | </el-form-item> | ||
| 74 | <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required> | ||
| 75 | <el-input v-model="form.idcCode" @blur="checkCode"/> | ||
| 76 | </el-form-item> | 78 | </el-form-item> |
| 77 | <el-form-item :label="language==0?'主要会员角色':'roles'" prop="labelArr"> | 79 | <el-form-item prop="picUrl" :label="language==0?'个人照片':'photo'"> |
| 78 | <el-select v-model="form.labelArr" multiple @change="labelvalue"> | 80 | <ImageUpload2 |
| 79 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?l.label:l.enlabel"/> | 81 | v-model="form.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1" |
| 80 | </el-select> | 82 | :is-show-tip="false" |
| 83 | /> | ||
| 81 | </el-form-item> | 84 | </el-form-item> |
| 85 | |||
| 86 | <!-- <el-form-item :label="language==0?'邮箱':'Email'" prop="email" required>--> | ||
| 87 | <!-- <el-input v-model="form.email"/>--> | ||
| 88 | <!-- </el-form-item>--> | ||
| 89 | |||
| 90 | |||
| 82 | </el-col> | 91 | </el-col> |
| 83 | </el-row> | 92 | </el-row> |
| 84 | </el-form> | 93 | </el-form> |
| ... | @@ -117,13 +126,13 @@ const {proxy} = getCurrentInstance() | ... | @@ -117,13 +126,13 @@ const {proxy} = getCurrentInstance() |
| 117 | const emit = defineEmits(['submitForm']) | 126 | const emit = defineEmits(['submitForm']) |
| 118 | const data = reactive({ | 127 | const data = reactive({ |
| 119 | form: { | 128 | form: { |
| 120 | countryId: 240 | 129 | // countryId: 240 |
| 121 | }, | 130 | }, |
| 122 | rules: { | 131 | rules: { |
| 123 | xing: [{required: true, message: '必填', trigger: 'blur'}], | 132 | xing: [{required: true, message: '必填', trigger: 'blur'}], |
| 124 | ming: [{required: true, message: '必填', trigger: 'blur'}], | 133 | ming: [{required: true, message: '必填', trigger: 'blur'}], |
| 125 | shortName: [{required: true, message: '必填', trigger: 'blur'}], | 134 | // shortName: [{required: true, message: '必填', trigger: 'blur'}], |
| 126 | email: [{required: true, message: '必填', trigger: 'blur'}], | 135 | // email: [{required: true, message: '必填', trigger: 'blur'}], |
| 127 | countryId: [{required: true, message: '必填', trigger: 'change'}], | 136 | countryId: [{required: true, message: '必填', trigger: 'change'}], |
| 128 | idcType: [{required: true, message: '必填', trigger: 'change'}], | 137 | idcType: [{required: true, message: '必填', trigger: 'change'}], |
| 129 | idcCode: [{required: true, message: '必填', trigger: 'blur'}], | 138 | idcCode: [{required: true, message: '必填', trigger: 'blur'}], |
| ... | @@ -131,15 +140,15 @@ const data = reactive({ | ... | @@ -131,15 +140,15 @@ const data = reactive({ |
| 131 | // regionId: [{ required: true, message: '必填', trigger: 'change' }], | 140 | // regionId: [{ required: true, message: '必填', trigger: 'change' }], |
| 132 | birth: [{required: true, message: '必填', trigger: 'change'}], | 141 | birth: [{required: true, message: '必填', trigger: 'change'}], |
| 133 | address: [{ required: true, message: '必填', trigger: 'blur' }], | 142 | address: [{ required: true, message: '必填', trigger: 'blur' }], |
| 134 | picUrl: [{required: true, message: '必填', trigger: 'blur'}], | 143 | // picUrl: [{required: true, message: '必填', trigger: 'blur'}], |
| 135 | sex: [{required: true, message: '必填', trigger: 'change'}], | 144 | sex: [{required: true, message: '必填', trigger: 'change'}], |
| 136 | labelArr: [{required: true, message: '必填', trigger: 'change'}] | 145 | labelArr: [{required: true, message: '必填', trigger: 'change'}] |
| 137 | }, | 146 | }, |
| 138 | rules_cn:{ | 147 | rules_cn:{ |
| 139 | xing: [{required: true, message: 'required', trigger: 'blur'}], | 148 | xing: [{required: true, message: 'required', trigger: 'blur'}], |
| 140 | ming: [{required: true, message: 'required', trigger: 'blur'}], | 149 | ming: [{required: true, message: 'required', trigger: 'blur'}], |
| 141 | shortName: [{required: true, message: 'required', trigger: 'blur'}], | 150 | // shortName: [{required: true, message: 'required', trigger: 'blur'}], |
| 142 | email: [{required: true, message: 'required', trigger: 'blur'}], | 151 | // email: [{required: true, message: 'required', trigger: 'blur'}], |
| 143 | countryId: [{required: true, message: 'required', trigger: 'change'}], | 152 | countryId: [{required: true, message: 'required', trigger: 'change'}], |
| 144 | idcType: [{required: true, message: 'required', trigger: 'change'}], | 153 | idcType: [{required: true, message: 'required', trigger: 'change'}], |
| 145 | idcCode: [{required: true, message: 'required', trigger: 'blur'}], | 154 | idcCode: [{required: true, message: 'required', trigger: 'blur'}], |
| ... | @@ -147,7 +156,7 @@ const data = reactive({ | ... | @@ -147,7 +156,7 @@ const data = reactive({ |
| 147 | // regionId: [{ required: true, message: 'required', trigger: 'change' }], | 156 | // regionId: [{ required: true, message: 'required', trigger: 'change' }], |
| 148 | birth: [{required: true, message: 'required', trigger: 'change'}], | 157 | birth: [{required: true, message: 'required', trigger: 'change'}], |
| 149 | address: [{ required: true, message: 'required', trigger: 'blur' }], | 158 | address: [{ required: true, message: 'required', trigger: 'blur' }], |
| 150 | picUrl: [{required: true, message: 'required', trigger: 'blur'}], | 159 | // picUrl: [{required: true, message: 'required', trigger: 'blur'}], |
| 151 | sex: [{required: true, message: 'required', trigger: 'change'}], | 160 | sex: [{required: true, message: 'required', trigger: 'change'}], |
| 152 | labelArr: [{required: true, message: 'required', trigger: 'change'}] | 161 | labelArr: [{required: true, message: 'required', trigger: 'change'}] |
| 153 | }, | 162 | }, |
| ... | @@ -172,6 +181,7 @@ const {showRequire, form, rules,rules_cn, show, countryList, regionsList, title, | ... | @@ -172,6 +181,7 @@ const {showRequire, form, rules,rules_cn, show, countryList, regionsList, title, |
| 172 | onMounted(() => { | 181 | onMounted(() => { |
| 173 | getCountryList() | 182 | getCountryList() |
| 174 | getRegionsList() | 183 | getRegionsList() |
| 184 | |||
| 175 | }) | 185 | }) |
| 176 | let editgay = false | 186 | let editgay = false |
| 177 | const open = (params) => { | 187 | const open = (params) => { |
| ... | @@ -180,6 +190,9 @@ const open = (params) => { | ... | @@ -180,6 +190,9 @@ const open = (params) => { |
| 180 | title.value = params.title | 190 | title.value = params.title |
| 181 | groupId.value = params.groupId || '0' | 191 | groupId.value = params.groupId || '0' |
| 182 | isMe.value = params.isMe | 192 | isMe.value = params.isMe |
| 193 | if(language.value == 0){ | ||
| 194 | form.value.countryId = 240 | ||
| 195 | } | ||
| 183 | if(isMe.value){ | 196 | if(isMe.value){ |
| 184 | //个人 | 197 | //个人 |
| 185 | match.getMyPersonInfo().then(res => { | 198 | match.getMyPersonInfo().then(res => { | ... | ... |
| ... | @@ -13,15 +13,6 @@ | ... | @@ -13,15 +13,6 @@ |
| 13 | <el-form-item :label="language==0?'姓名':'Name'"> | 13 | <el-form-item :label="language==0?'姓名':'Name'"> |
| 14 | <el-input v-model="query.realName" style="width: 120px;" clearable/> | 14 | <el-input v-model="query.realName" style="width: 120px;" clearable/> |
| 15 | </el-form-item> | 15 | </el-form-item> |
| 16 | <el-form-item :label="language==0?'短名':'Nick Name'"> | ||
| 17 | <el-input v-model="query.shortName" style="width: 120px;" clearable/> | ||
| 18 | </el-form-item> | ||
| 19 | <el-form-item :label="language==0?'手机号码':'Phone Number'"> | ||
| 20 | <el-input v-model="query.phone" style="width: 120px;" clearable/> | ||
| 21 | </el-form-item> | ||
| 22 | <el-form-item :label="language==0?'邮箱':'E-mail'"> | ||
| 23 | <el-input v-model="query.email" style="width: 120px;" clearable/> | ||
| 24 | </el-form-item> | ||
| 25 | <el-form-item :label="language==0?'证件类型':'ID Type'"> | 16 | <el-form-item :label="language==0?'证件类型':'ID Type'"> |
| 26 | <el-input v-model="query.idcType" style="width: 120px;" clearable/> | 17 | <el-input v-model="query.idcType" style="width: 120px;" clearable/> |
| 27 | </el-form-item> | 18 | </el-form-item> |
| ... | @@ -40,15 +31,12 @@ | ... | @@ -40,15 +31,12 @@ |
| 40 | <el-table ref="allSportmenTable" v-loading="loading" :data="tableData" height="60vh" | 31 | <el-table ref="allSportmenTable" v-loading="loading" :data="tableData" height="60vh" |
| 41 | @selection-change="handleSelectionChange"> | 32 | @selection-change="handleSelectionChange"> |
| 42 | <el-table-column type="selection" :label="language==0?'选择':'Selection'" :selectable="selectable"/> | 33 | <el-table-column type="selection" :label="language==0?'选择':'Selection'" :selectable="selectable"/> |
| 43 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="countryName" min-width="100"/> | ||
| 44 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="xing" min-width="100"/> | 34 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="xing" min-width="100"/> |
| 45 | <el-table-column :label="language==0?'名':'First Name'" prop="ming" min-width="100"/> | 35 | <el-table-column :label="language==0?'名':'First Name'" prop="ming" min-width="100"/> |
| 46 | <el-table-column :label="language==0?'短名':'Nick Name'" prop="shortName" min-width="110"/> | 36 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="countryName" min-width="100"/> |
| 47 | <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> | 37 | <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> |
| 48 | <el-table-column :label="language==0?'年龄':'Age'" prop="age"/> | 38 | <el-table-column :label="language==0?'年龄':'Age'" prop="age"/> |
| 49 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> | 39 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> |
| 50 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="phone" width="120"/> | ||
| 51 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="email" width="150"/> | ||
| 52 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr"/> | 40 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr"/> |
| 53 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> | 41 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> |
| 54 | <!-- <el-table-column label="会员角色" width="200">--> | 42 | <!-- <el-table-column label="会员角色" width="200">--> |
| ... | @@ -68,7 +56,6 @@ | ... | @@ -68,7 +56,6 @@ |
| 68 | <!-- </div>--> | 56 | <!-- </div>--> |
| 69 | <!-- </template>--> | 57 | <!-- </template>--> |
| 70 | <!-- </el-table-column>--> | 58 | <!-- </el-table-column>--> |
| 71 | <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="address" min-width="140"/> | ||
| 72 | <el-table-column :label="language==0?'操作':'Actions'" width="120" fixed="right" align="center"> | 59 | <el-table-column :label="language==0?'操作':'Actions'" width="120" fixed="right" align="center"> |
| 73 | <template #default="scope"> | 60 | <template #default="scope"> |
| 74 | <el-button link type="primary" @click="editPerson(scope.row)"> | 61 | <el-button link type="primary" @click="editPerson(scope.row)"> |
| ... | @@ -77,6 +64,13 @@ | ... | @@ -77,6 +64,13 @@ |
| 77 | </template> | 64 | </template> |
| 78 | </el-table-column> | 65 | </el-table-column> |
| 79 | </el-table> | 66 | </el-table> |
| 67 | <paginationPc | ||
| 68 | v-show="total>0" | ||
| 69 | v-model:page="query.pageNum" | ||
| 70 | v-model:limit="query.pageSize" | ||
| 71 | :total="total" | ||
| 72 | @pagination="getList" | ||
| 73 | /> | ||
| 80 | <template #footer> | 74 | <template #footer> |
| 81 | <div class="dialog-footer text-center"> | 75 | <div class="dialog-footer text-center"> |
| 82 | <el-button type="primary" @click="submitForm">{{language==0?'确定':'Confirm'}}</el-button> | 76 | <el-button type="primary" @click="submitForm">{{language==0?'确定':'Confirm'}}</el-button> |
| ... | @@ -104,16 +98,18 @@ const {proxy} = getCurrentInstance() | ... | @@ -104,16 +98,18 @@ const {proxy} = getCurrentInstance() |
| 104 | const emit = defineEmits(['submitForm', 'transfer']) | 98 | const emit = defineEmits(['submitForm', 'transfer']) |
| 105 | const data = reactive({ | 99 | const data = reactive({ |
| 106 | query: { | 100 | query: { |
| 107 | label:'0' | 101 | label:'0', |
| 102 | pageNum:1, | ||
| 103 | pageSize:10 | ||
| 108 | }, | 104 | }, |
| 109 | tableData: [], | 105 | tableData: [], |
| 110 | birthArr: [], | ||
| 111 | show: false, | 106 | show: false, |
| 112 | loading: false, | 107 | loading: false, |
| 113 | title: '选择运动员', | 108 | title: '选择运动员', |
| 114 | noPhotoCanSign: 0 | 109 | noPhotoCanSign: 0, |
| 110 | total: 0 | ||
| 115 | }) | 111 | }) |
| 116 | const {query, tableData, show, title, birthArr, loading, noPhotoCanSign} = toRefs(data) | 112 | const {query, tableData, show, title, loading, noPhotoCanSign,total} = toRefs(data) |
| 117 | let matchId | 113 | let matchId |
| 118 | let groupId | 114 | let groupId |
| 119 | let choosedList = [] | 115 | let choosedList = [] |
| ... | @@ -142,12 +138,9 @@ const selectable = (row) => { | ... | @@ -142,12 +138,9 @@ const selectable = (row) => { |
| 142 | } | 138 | } |
| 143 | const getList = () => { | 139 | const getList = () => { |
| 144 | loading.value = true | 140 | loading.value = true |
| 145 | if (birthArr.value) { | ||
| 146 | query.value.birthBegin = birthArr.value[0] | ||
| 147 | query.value.birthEnd = birthArr.value[1] | ||
| 148 | } | ||
| 149 | match.getGroupPersonList(query.value, groupId).then(res => { | 141 | match.getGroupPersonList(query.value, groupId).then(res => { |
| 150 | tableData.value = res.rows | 142 | tableData.value = res.rows |
| 143 | total.value = res.total | ||
| 151 | nextTick(() => { | 144 | nextTick(() => { |
| 152 | for (const n in tableData.value) { | 145 | for (const n in tableData.value) { |
| 153 | if (choosedIds.indexOf(tableData.value[n].id) > -1) { | 146 | if (choosedIds.indexOf(tableData.value[n].id) > -1) { | ... | ... |
| ... | @@ -3,23 +3,23 @@ | ... | @@ -3,23 +3,23 @@ |
| 3 | <el-row> | 3 | <el-row> |
| 4 | <el-col :lg="8"> | 4 | <el-col :lg="8"> |
| 5 | <div class="item"><label>{{ language == 0 ? '教练' : 'Coach' }}</label> | 5 | <div class="item"><label>{{ language == 0 ? '教练' : 'Coach' }}</label> |
| 6 | <span v-for="c in names.coachList">{{ c.shortName }}</span> | 6 | <span v-for="c in names.coachList">{{ c.realName}}, </span> |
| 7 | <span v-if="!names.coachList">--</span> | 7 | <span v-if="!names.coachList">--</span> |
| 8 | </div> | 8 | </div> |
| 9 | <div class="item"><label>{{ language == 0 ? '翻译' : 'Translator' }}</label> | 9 | <div class="item"><label>{{ language == 0 ? '翻译' : 'Translator' }}</label> |
| 10 | <span v-for="c in names.translatorList">{{ c.shortName }}</span> | 10 | <span v-for="c in names.translatorList">{{ c.realName }}</span> |
| 11 | <span v-if="!names.translatorList">--</span> | 11 | <span v-if="!names.translatorList">--</span> |
| 12 | </div> | 12 | </div> |
| 13 | </el-col> | 13 | </el-col> |
| 14 | <el-col :lg="8"> | 14 | <el-col :lg="8"> |
| 15 | <div class="item"> | 15 | <div class="item"> |
| 16 | <label>{{ language == 0 ? '领队' : 'Team leader' }}</label> | 16 | <label>{{ language == 0 ? '领队' : 'Team leader' }}</label> |
| 17 | <span v-for="c in names.leaderList">{{ c.shortName }}</span> | 17 | <span v-for="c in names.leaderList">{{ c.realName }}</span> |
| 18 | <span v-if="!names.leaderList">--</span> | 18 | <span v-if="!names.leaderList">--</span> |
| 19 | </div> | 19 | </div> |
| 20 | <div class="item"> | 20 | <div class="item"> |
| 21 | <label>{{ language == 0 ? '官员' : 'Official' }}</label> | 21 | <label>{{ language == 0 ? '官员' : 'Official' }}</label> |
| 22 | <span class="mr5" v-for="c in names.officialList">{{ c.shortName }}</span> | 22 | <span class="mr5" v-for="c in names.officialList">{{ c.realName }}</span> |
| 23 | <span v-if="!names.officialList">--</span> | 23 | <span v-if="!names.officialList">--</span> |
| 24 | </div> | 24 | </div> |
| 25 | </el-col> | 25 | </el-col> |
| ... | @@ -27,7 +27,7 @@ | ... | @@ -27,7 +27,7 @@ |
| 27 | <div class="item"> | 27 | <div class="item"> |
| 28 | <label>{{ language == 0 ? '队医' : 'Team doctor' }}</label> | 28 | <label>{{ language == 0 ? '队医' : 'Team doctor' }}</label> |
| 29 | <span class="mr5" v-for="c in names.teamDoctorList"> | 29 | <span class="mr5" v-for="c in names.teamDoctorList"> |
| 30 | {{ c.shortName }} | 30 | {{ c.realName }} |
| 31 | </span> | 31 | </span> |
| 32 | <span v-if="!names.teamDoctorList">--</span> | 32 | <span v-if="!names.teamDoctorList">--</span> |
| 33 | </div> | 33 | </div> | ... | ... |
| ... | @@ -9,15 +9,11 @@ | ... | @@ -9,15 +9,11 @@ |
| 9 | </el-descriptions-item> | 9 | </el-descriptions-item> |
| 10 | <el-descriptions-item :label="language==0?'姓氏':'surname'">{{ form.xing }}</el-descriptions-item> | 10 | <el-descriptions-item :label="language==0?'姓氏':'surname'">{{ form.xing }}</el-descriptions-item> |
| 11 | <el-descriptions-item :label="language==0?'名':'name'">{{ form.ming }}</el-descriptions-item> | 11 | <el-descriptions-item :label="language==0?'名':'name'">{{ form.ming }}</el-descriptions-item> |
| 12 | <el-descriptions-item :label="language==0?'短名':'short name'">{{ form.shortName }}</el-descriptions-item> | ||
| 13 | <el-descriptions-item :label="language==0?'性别':'sex'">{{ form.sexStr }}</el-descriptions-item> | 12 | <el-descriptions-item :label="language==0?'性别':'sex'">{{ form.sexStr }}</el-descriptions-item> |
| 14 | <el-descriptions-item :label="language==0?'所属国家':'Nationality'">{{ form.countryName }}</el-descriptions-item> | 13 | <el-descriptions-item :label="language==0?'所属国家':'Nationality'">{{ form.countryName }}</el-descriptions-item> |
| 15 | <el-descriptions-item :label="language==0?'证件类型':'ID type'">{{ form.idcTypeStr }}</el-descriptions-item> | 14 | <el-descriptions-item :label="language==0?'证件类型':'ID type'">{{ form.idcTypeStr }}</el-descriptions-item> |
| 16 | <el-descriptions-item :label="language==0?'证件号码':'ID NO'">{{ form.idcCode }}</el-descriptions-item> | 15 | <el-descriptions-item :label="language==0?'证件号码':'ID NO'">{{ form.idcCode }}</el-descriptions-item> |
| 17 | <el-descriptions-item :label="language==0?'出生日期':'birth'">{{ form.birth }}</el-descriptions-item> | 16 | <el-descriptions-item :label="language==0?'出生日期':'birth'">{{ form.birth }}</el-descriptions-item> |
| 18 | <el-descriptions-item :label="language==0?'手机号码':'Phone'">{{ form.phone }}</el-descriptions-item> | ||
| 19 | <el-descriptions-item :label="language==0?'邮箱':'Email'">{{ form.email }}</el-descriptions-item> | ||
| 20 | <el-descriptions-item :label="language==0?'详细地址':'Address'">{{ form.address }}</el-descriptions-item> | ||
| 21 | </el-descriptions> | 17 | </el-descriptions> |
| 22 | 18 | ||
| 23 | <el-row v-if="participantsInfoArr&&participantsInfoArr.length>0" class="mt20"> | 19 | <el-row v-if="participantsInfoArr&&participantsInfoArr.length>0" class="mt20"> | ... | ... |
| ... | @@ -35,12 +35,12 @@ const language = ref(cache.local.get('language') || 0) | ... | @@ -35,12 +35,12 @@ const language = ref(cache.local.get('language') || 0) |
| 35 | const props = defineProps({ | 35 | const props = defineProps({ |
| 36 | groupId: { | 36 | groupId: { |
| 37 | type: Object, | 37 | type: Object, |
| 38 | required: true | 38 | required: false |
| 39 | } | 39 | } |
| 40 | }) | 40 | }) |
| 41 | const user = useUserStore().user | 41 | const user = useUserStore().user |
| 42 | const groupInfo = useUserStore().group | 42 | const groupInfo = useUserStore().group |
| 43 | if(props.groupId!=0){ | 43 | if(props.groupId){ |
| 44 | getGroupInfo() | 44 | getGroupInfo() |
| 45 | } | 45 | } |
| 46 | function getGroupInfo() { | 46 | function getGroupInfo() { | ... | ... |
| ... | @@ -55,7 +55,7 @@ | ... | @@ -55,7 +55,7 @@ |
| 55 | <td>{{ p.danceTypeDetailStr }}</td> | 55 | <td>{{ p.danceTypeDetailStr }}</td> |
| 56 | <td>{{ p.playTypeStr }}</td> | 56 | <td>{{ p.playTypeStr }}</td> |
| 57 | <td>{{ p.birthPeriod }}</td> | 57 | <td>{{ p.birthPeriod }}</td> |
| 58 | <td>¥{{ p.serviceFee }}</td> | 58 | <td>{{ language==0?'¥':'£' }}{{ p.serviceFee }}</td> |
| 59 | </tr> | 59 | </tr> |
| 60 | </table> | 60 | </table> |
| 61 | </div> | 61 | </div> |
| ... | @@ -122,7 +122,7 @@ | ... | @@ -122,7 +122,7 @@ |
| 122 | <td>{{ p.danceTypeDetailStr }}</td> | 122 | <td>{{ p.danceTypeDetailStr }}</td> |
| 123 | <td>{{ p.playTypeStr }}</td> | 123 | <td>{{ p.playTypeStr }}</td> |
| 124 | <td>{{ p.birthPeriod }}</td> | 124 | <td>{{ p.birthPeriod }}</td> |
| 125 | <td>¥{{ p.serviceFee }}</td> | 125 | <td>{{ language==0?'¥':'£' }}{{ p.serviceFee }}</td> |
| 126 | </tr> | 126 | </tr> |
| 127 | </table> | 127 | </table> |
| 128 | </div> | 128 | </div> | ... | ... |
| ... | @@ -2,18 +2,17 @@ | ... | @@ -2,18 +2,17 @@ |
| 2 | <!-- 人员表格--> | 2 | <!-- 人员表格--> |
| 3 | <el-table :data="tableData" class="mt20"> | 3 | <el-table :data="tableData" class="mt20"> |
| 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?'所属国家':'Nationality'" prop="countryName" min-width="100"/> | ||
| 6 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="xing" min-width="100"/> | 5 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="xing" min-width="100"/> |
| 7 | <el-table-column :label="language==0?'名':'First Name'" prop="ming" min-width="100"/> | 6 | <el-table-column :label="language==0?'名':'First Name'" prop="ming" min-width="100"/> |
| 8 | <el-table-column :label="language==0?'短名':'Nick Name'" prop="shortName" min-width="110"/> | 7 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="countryName" min-width="100"/> |
| 8 | <!-- <el-table-column :label="language==0?'短名':'Nick Name'" prop="shortName" min-width="110"/>--> | ||
| 9 | <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> | 9 | <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> |
| 10 | <el-table-column :label="language==0?'年龄':'Age'" prop="age"/> | 10 | <!-- <el-table-column :label="language==0?'年龄':'Age'" prop="age"/>--> |
| 11 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> | 11 | <!-- <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="phone" width="120"/>--> |
| 12 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="phone" width="120"/> | 12 | <!-- <el-table-column :label="language==0?'邮箱':'E-mail'" prop="email" width="150"/>--> |
| 13 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="email" width="150"/> | ||
| 14 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" :min-width="language==0?'80':'160'"/> | 13 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" :min-width="language==0?'80':'160'"/> |
| 15 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> | 14 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> |
| 16 | <el-table-column :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin" width="200"/> | 15 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> |
| 17 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | 16 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> |
| 18 | <template #default="scope"> | 17 | <template #default="scope"> |
| 19 | <div class="esp"> | 18 | <div class="esp"> |
| ... | @@ -29,7 +28,8 @@ | ... | @@ -29,7 +28,8 @@ |
| 29 | </div> | 28 | </div> |
| 30 | </template> | 29 | </template> |
| 31 | </el-table-column> | 30 | </el-table-column> |
| 32 | <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="address" min-width="140"/> | 31 | <el-table-column :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin" width="200"/> |
| 32 | <!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="address" min-width="140"/>--> | ||
| 33 | <el-table-column :label="language==0?'操作':'Actions'" fixed="right" width="160" header-align="center" | 33 | <el-table-column :label="language==0?'操作':'Actions'" fixed="right" width="160" header-align="center" |
| 34 | align="center"> | 34 | align="center"> |
| 35 | <template #default="scope"> | 35 | <template #default="scope"> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-table :data="list" border style="width: 100%" v-loading="loading"> | 2 | <div class="mt20"></div> |
| 3 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="personInfo.countryName" min-width="100"/> | 3 | <el-table :data="list" :sum-text="sumText" border style="width: 100%" v-loading="loading"> |
| 4 | <el-table-column :label="language==0?'序号':'Index'" type="index" width="70" align="center"/> | ||
| 4 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="personInfo.xing" min-width="100"/> | 5 | <el-table-column :label="language==0?'姓氏':'Last Name'" prop="personInfo.xing" min-width="100"/> |
| 5 | <el-table-column :label="language==0?'名':'First Name'" prop="personInfo.ming" min-width="100"/> | 6 | <el-table-column :label="language==0?'名':'First Name'" prop="personInfo.ming" min-width="100"/> |
| 6 | <el-table-column :label="language==0?'短名':'Nick Name'" prop="personInfo.shortName" min-width="110"/> | 7 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="personInfo.countryName" :min-width="language==0?'100':'120'"/> |
| 8 | <!-- <el-table-column :label="language==0?'短名':'Nick Name'" prop="personInfo.shortName" min-width="110"/>--> | ||
| 7 | <el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr"/> | 9 | <el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr"/> |
| 8 | <el-table-column :label="language==0?'年龄':'Age'" prop="personInfo.age"/> | 10 | <!-- <el-table-column :label="language==0?'年龄':'Age'" prop="personInfo.age"/>--> |
| 9 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="personInfo.birth" width="110"/> | 11 | <!-- <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="personInfo.phone" min-width="130"/>--> |
| 10 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="personInfo.phone" min-width="130"/> | 12 | <!-- <el-table-column :label="language==0?'邮箱':'E-mail'" prop="personInfo.email" width="150"/>--> |
| 11 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="personInfo.email" width="150"/> | 13 | <el-table-column :label="language==0?'证件类型':'ID Type'" :width="language==0?'':'140'" prop="personInfo.idcTypeStr"/> |
| 12 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="personInfo.idcTypeStr"/> | ||
| 13 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200"/> | 14 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200"/> |
| 15 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="personInfo.birth" width="110"/> | ||
| 14 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | 16 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> |
| 15 | <template #default="scope"> | 17 | <template #default="scope"> |
| 16 | <div class="esp"> | 18 | <div class="esp"> |
| ... | @@ -26,8 +28,7 @@ | ... | @@ -26,8 +28,7 @@ |
| 26 | </div> | 28 | </div> |
| 27 | </template> | 29 | </template> |
| 28 | </el-table-column> | 30 | </el-table-column> |
| 29 | <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/> | 31 | <!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>--> |
| 30 | |||
| 31 | <el-table-column :label="language==0?'报项':'Entries'" min-width="300" :fixed="hasAction?false:'right'"> | 32 | <el-table-column :label="language==0?'报项':'Entries'" min-width="300" :fixed="hasAction?false:'right'"> |
| 32 | <template #default="props"> | 33 | <template #default="props"> |
| 33 | <ol> | 34 | <ol> |
| ... | @@ -45,7 +46,7 @@ | ... | @@ -45,7 +46,7 @@ |
| 45 | </el-table-column> | 46 | </el-table-column> |
| 46 | <el-table-column :fixed="hasAction?false:'right'" min-width="100" :label="language==0?'保险费':'Premium'" prop="insuranceFee"> | 47 | <el-table-column :fixed="hasAction?false:'right'" min-width="100" :label="language==0?'保险费':'Premium'" prop="insuranceFee"> |
| 47 | <template #default="scope"> | 48 | <template #default="scope"> |
| 48 | <span class="text-primary">¥{{ scope.row.insuranceFee }}</span> | 49 | <span class="text-primary">{{ language==0?'¥':'£' }}{{ scope.row.insuranceFee }}</span> |
| 49 | </template> | 50 | </template> |
| 50 | </el-table-column> | 51 | </el-table-column> |
| 51 | <!-- 补充信息--> | 52 | <!-- 补充信息--> |
| ... | @@ -69,6 +70,11 @@ | ... | @@ -69,6 +70,11 @@ |
| 69 | </template> | 70 | </template> |
| 70 | </el-table-column> | 71 | </el-table-column> |
| 71 | </el-table> | 72 | </el-table> |
| 73 | <div v-if="showSummary" class="rowSummary"> | ||
| 74 | <div> | ||
| 75 | {{ language==0?'金额小计':'Amount' }}: <span>{{ language==0?'¥':'£' }}{{ total }}</span> | ||
| 76 | </div> | ||
| 77 | </div> | ||
| 72 | 78 | ||
| 73 | </template> | 79 | </template> |
| 74 | 80 | ||
| ... | @@ -95,12 +101,23 @@ const props = defineProps({ | ... | @@ -95,12 +101,23 @@ const props = defineProps({ |
| 95 | type: Boolean, | 101 | type: Boolean, |
| 96 | required: false, | 102 | required: false, |
| 97 | default: true | 103 | default: true |
| 104 | }, | ||
| 105 | showSummary:{ | ||
| 106 | type: Boolean, | ||
| 107 | required: false, | ||
| 108 | default: false | ||
| 109 | }, | ||
| 110 | total:{ | ||
| 111 | type: String, | ||
| 112 | required: false, | ||
| 113 | default: '0' | ||
| 98 | } | 114 | } |
| 99 | }) | 115 | }) |
| 100 | import cache from "@/plugins/cache"; | 116 | import cache from "@/plugins/cache"; |
| 101 | const language = ref(cache.local.get('language') || 0) | 117 | const language = ref(cache.local.get('language') || 0) |
| 102 | const extraTableHead = ref([]) | 118 | const extraTableHead = ref([]) |
| 103 | const loading = ref(true) | 119 | const loading = ref(true) |
| 120 | const sumText = ref('保险费') | ||
| 104 | getTableHead() | 121 | getTableHead() |
| 105 | const goPersonInfo = (row) => { | 122 | const goPersonInfo = (row) => { |
| 106 | emit('editExtra', row) | 123 | emit('editExtra', row) |
| ... | @@ -111,8 +128,17 @@ function getTableHead() { | ... | @@ -111,8 +128,17 @@ function getTableHead() { |
| 111 | loading.value = false | 128 | loading.value = false |
| 112 | }) | 129 | }) |
| 113 | } | 130 | } |
| 131 | function totalMethod() { | ||
| 132 | } | ||
| 114 | </script> | 133 | </script> |
| 115 | 134 | ||
| 116 | <style scoped> | 135 | <style scoped lang="scss"> |
| 117 | 136 | .rowSummary{text-align: right;padding: 0 20px; | |
| 137 | height: 40px;line-height: 40px; | ||
| 138 | background: #FAFBFD;font-size: 16px; | ||
| 139 | color: #95A1A6; | ||
| 140 | border: 1px solid #EEEFF0; | ||
| 141 | span{font-size: 18px;font-family: DIN Alternate; | ||
| 142 | color: #000;} | ||
| 143 | } | ||
| 118 | </style> | 144 | </style> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="mt20"></div> | ||
| 2 | <el-table :data="list" border style="width: 100%"> | 3 | <el-table :data="list" border style="width: 100%"> |
| 4 | <el-table-column :label="language==0?'序号':'Index'" type="index" width="70" align="center"/> | ||
| 3 | <el-table-column :label="language==0?'组别代码':'Group code'" width="120px" prop="zuName"/> | 5 | <el-table-column :label="language==0?'组别代码':'Group code'" width="120px" prop="zuName"/> |
| 4 | <el-table-column :label="language==0?'组别':'Group'" prop="project.name"/> | 6 | <el-table-column :label="language==0?'组别':'Group'" prop="project.name"/> |
| 5 | <el-table-column :label="language==0?'舞种':'Dance Style'" width="120px" prop="project.danceType"/> | 7 | <el-table-column :label="language==0?'舞种':'Dance Style'" width="120px" prop="project.danceType"/> |
| ... | @@ -14,7 +16,7 @@ | ... | @@ -14,7 +16,7 @@ |
| 14 | <el-table-column :label="language==0?'报名费':'Registration Fee'" width="120px" prop=""> | 16 | <el-table-column :label="language==0?'报名费':'Registration Fee'" width="120px" prop=""> |
| 15 | <template #default="scope"> | 17 | <template #default="scope"> |
| 16 | <div class="text-primary"> | 18 | <div class="text-primary"> |
| 17 | ¥{{ scope.row.project.serviceFee }} | 19 | {{ language==0?'¥':'£' }}{{ scope.row.project.serviceFee }} |
| 18 | </div> | 20 | </div> |
| 19 | </template> | 21 | </template> |
| 20 | </el-table-column> | 22 | </el-table-column> |
| ... | @@ -27,7 +29,11 @@ | ... | @@ -27,7 +29,11 @@ |
| 27 | </template> | 29 | </template> |
| 28 | </el-table-column> | 30 | </el-table-column> |
| 29 | </el-table> | 31 | </el-table> |
| 30 | 32 | <div v-if="showSummary" class="rowSummary"> | |
| 33 | <div> | ||
| 34 | {{ language==0?'金额小计':'Amount' }}: <span>{{ language==0?'¥':'£' }}{{ total }}</span> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 31 | </template> | 37 | </template> |
| 32 | 38 | ||
| 33 | <script setup> | 39 | <script setup> |
| ... | @@ -41,6 +47,16 @@ const props = defineProps({ | ... | @@ -41,6 +47,16 @@ const props = defineProps({ |
| 41 | type: Boolean, | 47 | type: Boolean, |
| 42 | required: false, | 48 | required: false, |
| 43 | default: true | 49 | default: true |
| 50 | }, | ||
| 51 | showSummary:{ | ||
| 52 | type: Boolean, | ||
| 53 | required: false, | ||
| 54 | default: false | ||
| 55 | }, | ||
| 56 | total:{ | ||
| 57 | type: String, | ||
| 58 | required: false, | ||
| 59 | default: '0' | ||
| 44 | } | 60 | } |
| 45 | }) | 61 | }) |
| 46 | import cache from "@/plugins/cache"; | 62 | import cache from "@/plugins/cache"; |
| ... | @@ -50,6 +66,12 @@ const remove = (id) => { | ... | @@ -50,6 +66,12 @@ const remove = (id) => { |
| 50 | } | 66 | } |
| 51 | </script> | 67 | </script> |
| 52 | 68 | ||
| 53 | <style scoped> | 69 | <style scoped lang="scss"> |
| 54 | 70 | .rowSummary{text-align: right;padding: 0 20px; | |
| 71 | height: 40px;line-height: 40px; | ||
| 72 | background: #FAFBFD;font-size: 16px; | ||
| 73 | color: #95A1A6; | ||
| 74 | border: 1px solid #EEEFF0; | ||
| 75 | span{font-size: 18px;font-family: DIN Alternate;color: #000;} | ||
| 76 | } | ||
| 55 | </style> | 77 | </style> | ... | ... |
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/viewsPc/match/expenseDetails.vue
deleted
100644 → 0
This diff is collapsed.
Click to expand it.
| ... | @@ -12,16 +12,25 @@ | ... | @@ -12,16 +12,25 @@ |
| 12 | <div class="pd20" v-if="signInfoList?.length>0"> | 12 | <div class="pd20" v-if="signInfoList?.length>0"> |
| 13 | <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> | 13 | <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> |
| 14 | <!-- 人员列表--> | 14 | <!-- 人员列表--> |
| 15 | <sign-info-table class="mt20" v-if="matchId" :match-id="matchId" :list="signInfoList" :hasAction="false"/> | 15 | <sign-info-table class="mt20" v-if="matchId" :show-summary="true" :total="insuranceFeeTotal" :match-id="matchId" :list="signInfoList" :hasAction="false"/> |
| 16 | </div> | 16 | </div> |
| 17 | <div class="pd20" v-if="zuTableList?.length>0"> | 17 | <div class="pd20" v-if="zuTableList?.length>0"> |
| 18 | <div class="leftboderTT">{{ language == 0 ? '参赛设项报名费' : 'Registration Fee for Event Entry' }}</div> | 18 | <div class="leftboderTT">{{ language == 0 ? '参赛设项报名费' : 'Registration Fee for Event Entry' }}</div> |
| 19 | <zu-table class="mt20" :list="zuTableList" :hasAction="false"/> | 19 | <zu-table class="mt20" :list="zuTableList" :show-summary="true" :total="serviceFeeTotal" :hasAction="false"/> |
| 20 | </div> | 20 | </div> |
| 21 | <el-row class="priceBar"> | ||
| 22 | <el-col :lg="24" :xs="24"> | ||
| 23 | <div class="flex"> | ||
| 24 | <div class="item" v-if="signInfoList?.length>0"><label>{{ language==0?'报名费':'Registration Fee' }}:</label><span>{{ language==0?'¥':'£' }}{{serviceFeeTotal}}</span></div> | ||
| 25 | <div class="item" v-if="zuTableList?.length>0"><label>{{ language==0?'保险费':'Insurance Fee' }}:</label><span>{{ language==0?'¥':'£' }}{{insuranceFeeTotal}}</span></div> | ||
| 26 | <div class="item"><label>{{ language==0?'费用总计':'Total Cost' }}:</label><span class="size26">{{ language==0?'¥':'£' }}{{form.totalFee}}</span></div> | ||
| 27 | </div> | ||
| 28 | </el-col> | ||
| 29 | </el-row> | ||
| 21 | </div> | 30 | </div> |
| 22 | <div v-else class="pd20 skeletonBox"> | 31 | <div v-else class="pd20 skeletonBox"> |
| 23 | <el-skeleton :rows="8"/> | 32 | <el-skeleton :rows="8"/> |
| 24 | <el-button type="primary" class="w200px btn-lineG" round @click="showLogin"> | 33 | <el-button type="primary" class="btn-lineG" size="large" :style="language == 0 ?'width:200px':'width:400px'" round @click="showLogin"> |
| 25 | {{ language == 0 ?'登录后查看详细报项信息':'View detailed report information after logging in' }} | 34 | {{ language == 0 ?'登录后查看详细报项信息':'View detailed report information after logging in' }} |
| 26 | </el-button> | 35 | </el-button> |
| 27 | </div> | 36 | </div> |
| ... | @@ -41,11 +50,12 @@ | ... | @@ -41,11 +50,12 @@ |
| 41 | <div class="text-danger flex" v-if="form.auditStatus=='3'"> | 50 | <div class="text-danger flex" v-if="form.auditStatus=='3'"> |
| 42 | <img src="@/assets/img/w.png"> | 51 | <img src="@/assets/img/w.png"> |
| 43 | {{ language==0?'报名信息审核拒绝':'Registration Information rejected' }} | 52 | {{ language==0?'报名信息审核拒绝':'Registration Information rejected' }} |
| 53 | <div>{{ language==0?'驳回理由:':'Reason:'}}</div> | ||
| 44 | </div> | 54 | </div> |
| 45 | </el-col> | 55 | </el-col> |
| 46 | <el-col :lg="12"> | 56 | <el-col :lg="12"> |
| 47 | <div class="priceb" v-if="form.payStatus=='0'">{{ language==0?'待支付金额':'Amount Due' }}:<span class="price">¥{{ Number(totalFee).toFixed(2) }}</span></div> | 57 | <div class="priceb" v-if="form.payStatus=='0'">{{ language==0?'待支付金额':'Amount Due' }}:<span class="price">{{ language==0?'¥':'£' }}{{ Number(totalFee).toFixed(2) }}</span></div> |
| 48 | <div class="priceb" v-if="form.payStatus=='1'">{{ language==0?'已支付金额':'Amount Due' }}:<span class="price">¥{{ Number(totalFee).toFixed(2) }}</span></div> | 58 | <div class="priceb" v-if="form.payStatus=='1'">{{ language==0?'已支付金额':'Amount Due' }}:<span class="price">{{ language==0?'¥':'£' }}{{ Number(totalFee).toFixed(2) }}</span></div> |
| 49 | </el-col> | 59 | </el-col> |
| 50 | </el-row> | 60 | </el-row> |
| 51 | </el-card> | 61 | </el-card> |
| ... | @@ -147,7 +157,7 @@ | ... | @@ -147,7 +157,7 @@ |
| 147 | <tr> | 157 | <tr> |
| 148 | <th>{{ language==0?'付款金额':'Payment Amount' }}</th> | 158 | <th>{{ language==0?'付款金额':'Payment Amount' }}</th> |
| 149 | <td> | 159 | <td> |
| 150 | ¥{{ totalFee }} | 160 | {{ language==0?'¥':'£' }}{{ totalFee }} |
| 151 | <div class="text-gray">{{ language==0?'请按照指定金额进行打款':'Please make the payment according to the specified amount' }}</div> | 161 | <div class="text-gray">{{ language==0?'请按照指定金额进行打款':'Please make the payment according to the specified amount' }}</div> |
| 152 | </td> | 162 | </td> |
| 153 | </tr> | 163 | </tr> |
| ... | @@ -211,7 +221,7 @@ | ... | @@ -211,7 +221,7 @@ |
| 211 | <div class="text-center"> | 221 | <div class="text-center"> |
| 212 | <el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon> | 222 | <el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon> |
| 213 | <p class="text-success">{{ language==0?'支付成功':'successful!' }}</p> | 223 | <p class="text-success">{{ language==0?'支付成功':'successful!' }}</p> |
| 214 | <h3 class="wePrice">¥{{form.totalFee}}</h3> | 224 | <h3 class="wePrice">{{ language==0?'¥':'£' }}{{form.totalFee}}</h3> |
| 215 | </div> | 225 | </div> |
| 216 | </el-card> | 226 | </el-card> |
| 217 | <el-card class="mb60" v-if="form.payStatus == '1' && form.curPayType=='2'"> | 227 | <el-card class="mb60" v-if="form.payStatus == '1' && form.curPayType=='2'"> |
| ... | @@ -219,7 +229,7 @@ | ... | @@ -219,7 +229,7 @@ |
| 219 | <div class="text-center"> | 229 | <div class="text-center"> |
| 220 | <el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon> | 230 | <el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon> |
| 221 | <p class="text-success">{{ language==0?'支付成功':'successful!' }}</p> | 231 | <p class="text-success">{{ language==0?'支付成功':'successful!' }}</p> |
| 222 | <h3 class="wePrice">¥{{form.totalFee}}</h3> | 232 | <h3 class="wePrice">{{ language==0?'¥':'£' }}{{form.totalFee}}</h3> |
| 223 | <span v-if="language==0" class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> | 233 | <span v-if="language==0" class="text-danger size12">*您可以在上传汇款单完成后,与联系人进行电话确认。具体缴费结果,可以在个人中心-我的报名中查看进度</span> |
| 224 | <span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span> | 234 | <span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span> |
| 225 | 235 | ||
| ... | @@ -279,6 +289,8 @@ const upForm = ref({ | ... | @@ -279,6 +289,8 @@ const upForm = ref({ |
| 279 | }) | 289 | }) |
| 280 | const errorBox = ref(false) | 290 | const errorBox = ref(false) |
| 281 | const hideconfirmbtn = ref(false) | 291 | const hideconfirmbtn = ref(false) |
| 292 | const insuranceFeeTotal = ref(0) | ||
| 293 | const serviceFeeTotal = ref(0) | ||
| 282 | console.log(route.query.orderId) | 294 | console.log(route.query.orderId) |
| 283 | // 1763462073870237698 | 295 | // 1763462073870237698 |
| 284 | getData() | 296 | getData() |
| ... | @@ -310,8 +322,17 @@ function getSignList() { | ... | @@ -310,8 +322,17 @@ function getSignList() { |
| 310 | cptId: matchId.value, | 322 | cptId: matchId.value, |
| 311 | groupId: groupId.value | 323 | groupId: groupId.value |
| 312 | }).then(res => { | 324 | }).then(res => { |
| 325 | insuranceFeeTotal.value = 0 | ||
| 326 | serviceFeeTotal.value = 0 | ||
| 313 | signInfoList.value = res.data.singleData | 327 | signInfoList.value = res.data.singleData |
| 314 | zuTableList.value = res.data.zuData | 328 | zuTableList.value = res.data.zuData |
| 329 | for(var s of signInfoList.value){ | ||
| 330 | insuranceFeeTotal.value = insuranceFeeTotal.value + Number(s.insuranceFee) | ||
| 331 | } | ||
| 332 | for(var z of zuTableList.value){ | ||
| 333 | serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee) | ||
| 334 | } | ||
| 335 | |||
| 315 | }) | 336 | }) |
| 316 | } | 337 | } |
| 317 | function goHome() { | 338 | function goHome() { |
| ... | @@ -456,4 +477,13 @@ function showLogin(){ | ... | @@ -456,4 +477,13 @@ function showLogin(){ |
| 456 | } | 477 | } |
| 457 | } | 478 | } |
| 458 | .payImgbox{text-align: center;border: 1px solid #fff;padding: 20px;} | 479 | .payImgbox{text-align: center;border: 1px solid #fff;padding: 20px;} |
| 480 | .priceBar{padding: 0 0 20px; | ||
| 481 | .flex{display: flex;justify-content: right;align-items: baseline; | ||
| 482 | .item{font-size: 16px;margin-right: 15px; | ||
| 483 | label{color: #95A1A6;} | ||
| 484 | span{font-family: DIN Alternate;} | ||
| 485 | } | ||
| 486 | } | ||
| 487 | .size26{font-size: 26px;} | ||
| 488 | } | ||
| 459 | </style> | 489 | </style> | ... | ... |
| ... | @@ -11,12 +11,22 @@ | ... | @@ -11,12 +11,22 @@ |
| 11 | <div style="margin: 20px"> | 11 | <div style="margin: 20px"> |
| 12 | 12 | ||
| 13 | <div class="mt20"> | 13 | <div class="mt20"> |
| 14 | <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }}</div> | 14 | <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }} |
| 15 | <sign-info-table class="mt20" :match-id="matchId" :list="signInfoList" :hasAction="false"/> | 15 | <div class="fr"> |
| 16 | <el-input size="small" v-model="zuQuery.name" :prefix-icon="Search" | ||
| 17 | @change="getSignList" clearable/> | ||
| 18 | </div> | ||
| 19 | </div> | ||
| 20 | <sign-info-table class="mt20" :showSummary="true" :total="form.cptInsuranceFee?.totalFee" :match-id="matchId" :list="signInfoList" :hasAction="false"/> | ||
| 16 | </div> | 21 | </div> |
| 17 | <div class="mt20"> | 22 | <div class="mt20"> |
| 18 | <div class="leftboderTT">{{ language==0?'设项报名清单':'Event Registration List' }}</div> | 23 | <div class="leftboderTT">{{ language==0?'设项报名清单':'Event Registration List' }} |
| 19 | <zu-table class="mt20" :list="zuTableList" :hasAction="false"/> | 24 | <div class="fr"> |
| 25 | <el-input size="small" v-model="zuQuery.groupName" :prefix-icon="Search" | ||
| 26 | @change="getSignList" clearable/> | ||
| 27 | </div> | ||
| 28 | </div> | ||
| 29 | <zu-table class="mt20" :showSummary="true" :total="form.cptRegistrationFee?.totalFee" :list="zuTableList" :hasAction="false"/> | ||
| 20 | </div> | 30 | </div> |
| 21 | </div> | 31 | </div> |
| 22 | 32 | ||
| ... | @@ -26,9 +36,9 @@ | ... | @@ -26,9 +36,9 @@ |
| 26 | <el-row class="priceBar"> | 36 | <el-row class="priceBar"> |
| 27 | <el-col :lg="16" :xs="24" class="pd20"> | 37 | <el-col :lg="16" :xs="24" class="pd20"> |
| 28 | <div class="flex"> | 38 | <div class="flex"> |
| 29 | <div class="item"><label>{{ language==0?'报名费':'Registration Fee' }}:</label><span>¥{{form.cptRegistrationFee?.totalFee}}</span></div> | 39 | <div class="item"><label>{{ language==0?'报名费':'Registration Fee' }}:</label><span>{{ language==0?'¥':'£' }}{{form.cptRegistrationFee?.totalFee}}</span></div> |
| 30 | <div class="item"><label>{{ language==0?'保险费':'Insurance Fee' }}:</label><span>¥{{form.cptInsuranceFee?.totalFee}}</span></div> | 40 | <div class="item"><label>{{ language==0?'保险费':'Insurance Fee' }}:</label><span>{{ language==0?'¥':'£' }}{{form.cptInsuranceFee?.totalFee}}</span></div> |
| 31 | <div class="item"><label>{{ language==0?'费用总计':'Total Cost' }}:</label><span>¥{{form.totalFee}}</span></div> | 41 | <div class="item"><label>{{ language==0?'费用总计':'Total Cost' }}:</label><span>{{ language==0?'¥':'£' }}{{form.totalFee}}</span></div> |
| 32 | </div> | 42 | </div> |
| 33 | </el-col> | 43 | </el-col> |
| 34 | <el-col :lg="8" :xs="24" class="text-right pd20"> | 44 | <el-col :lg="8" :xs="24" class="text-right pd20"> |
| ... | @@ -49,6 +59,7 @@ | ... | @@ -49,6 +59,7 @@ |
| 49 | </template> | 59 | </template> |
| 50 | 60 | ||
| 51 | <script setup> | 61 | <script setup> |
| 62 | import {Search} from "@element-plus/icons-vue"; | ||
| 52 | import TeamSignStep from './components/teamSignStep' | 63 | import TeamSignStep from './components/teamSignStep' |
| 53 | import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row" | 64 | import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row" |
| 54 | import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row" | 65 | import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row" |
| ... | @@ -68,32 +79,32 @@ const router = useRouter() | ... | @@ -68,32 +79,32 @@ const router = useRouter() |
| 68 | const activeStep = ref(3) | 79 | const activeStep = ref(3) |
| 69 | const groupInfo = useUserStore().group || {} | 80 | const groupInfo = useUserStore().group || {} |
| 70 | const language = ref(cache.local.get('language') || 0) | 81 | const language = ref(cache.local.get('language') || 0) |
| 71 | const groupId = ref() | 82 | const groupId = ref(route.query.groupId || 0) |
| 72 | const form = ref({}) | 83 | const form = ref({}) |
| 73 | const matchId = ref(route.query.matchId) | 84 | const matchId = ref(route.query.matchId) |
| 74 | const signInfoList = ref([]) | 85 | const signInfoList = ref([]) |
| 75 | const zuTableList = ref([]) | 86 | const zuTableList = ref([]) |
| 76 | const {proxy} = getCurrentInstance() | 87 | const {proxy} = getCurrentInstance() |
| 88 | const zuQuery = ref({ | ||
| 89 | cptId: matchId.value, | ||
| 90 | groupId: groupId.value, | ||
| 91 | name:'', | ||
| 92 | groupName:'' | ||
| 93 | }) | ||
| 77 | onMounted(()=>{ | 94 | onMounted(()=>{ |
| 78 | // console.log(route.query) | 95 | // console.log(route.query) |
| 79 | matchId.value = route.query.matchId | ||
| 80 | groupId.value = route.query.groupId || 0 | ||
| 81 | getSignList() | 96 | getSignList() |
| 82 | getFee(groupId.value) | 97 | getFee(groupId.value) |
| 83 | }) | 98 | }) |
| 84 | 99 | ||
| 85 | 100 | ||
| 86 | function getSignList() { | 101 | function getSignList() { |
| 87 | match.getMySignInfoList({ | 102 | match.getMySignInfoList(zuQuery.value).then(res=>{ |
| 88 | cptId: matchId.value, | ||
| 89 | groupId: groupId.value | ||
| 90 | }).then(res=>{ | ||
| 91 | signInfoList.value = res.data.singleData | 103 | signInfoList.value = res.data.singleData |
| 92 | zuTableList.value = res.data.zuData | 104 | zuTableList.value = res.data.zuData |
| 93 | }) | 105 | }) |
| 94 | } | 106 | } |
| 95 | const goPrev = () => { | 107 | const goPrev = () => { |
| 96 | // router.go(-1) | ||
| 97 | router.push({ | 108 | router.push({ |
| 98 | name: 'chooseSportsman', | 109 | name: 'chooseSportsman', |
| 99 | query: { | 110 | query: { |
| ... | @@ -181,6 +192,7 @@ function exportSignList(n) { | ... | @@ -181,6 +192,7 @@ function exportSignList(n) { |
| 181 | .flex{display: flex; | 192 | .flex{display: flex; |
| 182 | .item{font-size: 16px;margin-right: 15px; | 193 | .item{font-size: 16px;margin-right: 15px; |
| 183 | label{color: #95A1A6;} | 194 | label{color: #95A1A6;} |
| 195 | span{font-family: DIN Alternate;} | ||
| 184 | } | 196 | } |
| 185 | } | 197 | } |
| 186 | } | 198 | } | ... | ... |
| ... | @@ -23,6 +23,9 @@ | ... | @@ -23,6 +23,9 @@ |
| 23 | </el-form-item> | 23 | </el-form-item> |
| 24 | </el-col> | 24 | </el-col> |
| 25 | <el-col :lg="10"> | 25 | <el-col :lg="10"> |
| 26 | <el-form-item :label="language==0?'参赛队名称':'Name of participating team'" required prop="abreviations"> | ||
| 27 | <el-input type="text" v-model="form.abreviations" :placeholder="language==0?'请输入内容':''"/> | ||
| 28 | </el-form-item> | ||
| 26 | <el-form-item :label="language==0?'团体名称':'Team Name'" prop="name"> | 29 | <el-form-item :label="language==0?'团体名称':'Team Name'" prop="name"> |
| 27 | <el-input v-model="form.name" :placeholder="language==0?'请输入团体名称':''" /> | 30 | <el-input v-model="form.name" :placeholder="language==0?'请输入团体名称':''" /> |
| 28 | </el-form-item> | 31 | </el-form-item> |
| ... | @@ -32,9 +35,6 @@ | ... | @@ -32,9 +35,6 @@ |
| 32 | <el-form-item :label="language==0?'邮箱':'Email'" required prop="contactEmail"> | 35 | <el-form-item :label="language==0?'邮箱':'Email'" required prop="contactEmail"> |
| 33 | <el-input v-model="form.contactEmail" type="email" placeholder="请输入内容"/> | 36 | <el-input v-model="form.contactEmail" type="email" placeholder="请输入内容"/> |
| 34 | </el-form-item> | 37 | </el-form-item> |
| 35 | <el-form-item :label="language==0?'详细地址':'Detailed Address'" required prop="address"> | ||
| 36 | <el-input type="textarea" v-model="form.address" class="mt10" placeholder="请输入详细地址"/> | ||
| 37 | </el-form-item> | ||
| 38 | <el-form-item :label="language==0?'团体类型':'Group type'" prop="type"> | 38 | <el-form-item :label="language==0?'团体类型':'Group type'" prop="type"> |
| 39 | <el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;"> | 39 | <el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;"> |
| 40 | <el-option :label="language==0?'普通院校':'School'" value="0" /> | 40 | <el-option :label="language==0?'普通院校':'School'" value="0" /> |
| ... | @@ -44,10 +44,12 @@ | ... | @@ -44,10 +44,12 @@ |
| 44 | <el-option :label="language==0?'国家协会':'National Association'" value="4" /> | 44 | <el-option :label="language==0?'国家协会':'National Association'" value="4" /> |
| 45 | </el-select> | 45 | </el-select> |
| 46 | </el-form-item> | 46 | </el-form-item> |
| 47 | <el-form-item :label="language==0?'参赛队名称':'Name of participating team'" required prop="abreviations"> | 47 | <el-form-item :label="language==0?'详细地址':'Detailed Address'" required prop="address"> |
| 48 | <el-input type="text" v-model="form.abreviations" :placeholder="language==0?'请输入内容':''"/> | 48 | <el-input type="textarea" v-model="form.address" class="mt10" placeholder="请输入详细地址"/> |
| 49 | </el-form-item> | 49 | </el-form-item> |
| 50 | 50 | ||
| 51 | |||
| 52 | |||
| 51 | </el-col> | 53 | </el-col> |
| 52 | </el-row> | 54 | </el-row> |
| 53 | <el-row v-if="participantsInfoArr&&participantsInfoArr.length>0"> | 55 | <el-row v-if="participantsInfoArr&&participantsInfoArr.length>0"> | ... | ... |
| 1 | <template> | ||
| 2 | <el-card> | ||
| 3 | <el-steps :active="activeStep" finish-status="success" align-center> | ||
| 4 | <el-step :title="language==0?'创建账号':'Check WDSF ID'"/> | ||
| 5 | <el-step :title="language==0?'选手报名':'Participant Registration'" /> | ||
| 6 | <el-step :title="language==0?'提交审核':'Submit for review'" /> | ||
| 7 | <!-- <el-step :title="language==0?'注册完成':'stered successfully'" />--> | ||
| 8 | </el-steps> | ||
| 9 | </el-card> | ||
| 10 | </template> | ||
| 11 | |||
| 12 | <script setup> | ||
| 13 | import {ref} from "vue"; | ||
| 14 | import cache from "@/plugins/cache"; | ||
| 15 | |||
| 16 | const language = ref(cache.local.get('language') || 0) | ||
| 17 | const props = defineProps({ | ||
| 18 | activeStep: { | ||
| 19 | type: Number, | ||
| 20 | required: true | ||
| 21 | } | ||
| 22 | }) | ||
| 23 | </script> | ||
| 24 | |||
| 25 | <style scoped> | ||
| 26 | |||
| 27 | </style> |
This diff is collapsed.
Click to expand it.
| ... | @@ -2,8 +2,9 @@ | ... | @@ -2,8 +2,9 @@ |
| 2 | <el-card style="min-height: 50vh"> | 2 | <el-card style="min-height: 50vh"> |
| 3 | <div class="pt30"> | 3 | <div class="pt30"> |
| 4 | <el-form class="d-form" size="large" :label-width="language==0?120:200" style="max-width: 500px;margin: auto"> | 4 | <el-form class="d-form" size="large" :label-width="language==0?120:200" style="max-width: 500px;margin: auto"> |
| 5 | <el-form-item :label="language==0?'手机/邮箱':'E-mail / Phone number'" required> | 5 | <el-form-item :label="language==0?'邮箱':'E-mail'" required> |
| 6 | <el-input type="text" v-model="form.account" @change="resetCode" @blur="verifyCode"/> | 6 | <el-input type="text" v-model="form.account" @change="resetCode" @blur="verifyCode" |
| 7 | /> | ||
| 7 | </el-form-item> | 8 | </el-form-item> |
| 8 | <el-form-item :label="language==0?'验证码':'Code'" required> | 9 | <el-form-item :label="language==0?'验证码':'Code'" required> |
| 9 | <el-input v-model="form.code"> | 10 | <el-input v-model="form.code"> | ... | ... |
| ... | @@ -42,6 +42,15 @@ | ... | @@ -42,6 +42,15 @@ |
| 42 | <el-form-item :label="language==0?'机构名称':'Institution name'" required prop="teamName"> | 42 | <el-form-item :label="language==0?'机构名称':'Institution name'" required prop="teamName"> |
| 43 | <el-input type="text" v-model="form.teamName" :placeholder="language==0?'请输入内容':''"/> | 43 | <el-input type="text" v-model="form.teamName" :placeholder="language==0?'请输入内容':''"/> |
| 44 | </el-form-item> | 44 | </el-form-item> |
| 45 | <el-form-item :label="language==0?'团体类型':'Group type'" prop="type" required> | ||
| 46 | <el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;"> | ||
| 47 | <el-option :label="language==0?'普通院校':'School'" value="0" /> | ||
| 48 | <el-option :label="language==0?'专业舞蹈学校':'Professional dance school'" value="1" /> | ||
| 49 | <el-option :label="language==0?'培训机构/俱乐部':'Company/Club'" value="2" /> | ||
| 50 | <el-option :label="language==0?'地方协会':'Local Association'" value="3" /> | ||
| 51 | <el-option :label="language==0?'国家协会':'National Association'" value="4" /> | ||
| 52 | </el-select> | ||
| 53 | </el-form-item> | ||
| 45 | <el-form-item :label="language==0?'联系人姓名':'Contact Name'" required prop="contactName"> | 54 | <el-form-item :label="language==0?'联系人姓名':'Contact Name'" required prop="contactName"> |
| 46 | <el-input type="text" v-model="form.contactName" :placeholder="language==0?'请输入内容':''"/> | 55 | <el-input type="text" v-model="form.contactName" :placeholder="language==0?'请输入内容':''"/> |
| 47 | </el-form-item> | 56 | </el-form-item> | ... | ... |
-
Please register or sign in to post a comment