df7cedb8 by 杨炀

no message

1 parent 534482d2
...@@ -219,6 +219,13 @@ export function withDrawByOrderId(orderId) { ...@@ -219,6 +219,13 @@ export function withDrawByOrderId(orderId) {
219 method: 'post' 219 method: 'post'
220 }) 220 })
221 } 221 }
222 export function recoverMySignFromCancel(cptId) {
223 return request({
224 url: `/league/sign/recoverMySignFromCancel`,
225 method: 'post',
226 data: {cptId: cptId}
227 })
228 }
222 229
223 export function getMyOrderList(params) { 230 export function getMyOrderList(params) {
224 return request({ 231 return request({
......
...@@ -53,7 +53,8 @@ ...@@ -53,7 +53,8 @@
53 <span class="el-icon-document"> {{ getFileName(file.name) }} </span> 53 <span class="el-icon-document"> {{ getFileName(file.name) }} </span>
54 </el-link> 54 </el-link>
55 <div v-if="!disabled" class="ele-upload-list__item-content-action"> 55 <div v-if="!disabled" class="ele-upload-list__item-content-action">
56 <el-link :disabled="props.disabled" :underline="false" type="danger" @click="handleDelete(index)">删除</el-link> 56 <el-link :disabled="props.disabled" :underline="false" type="danger" @click="handleDelete(index)">
57 {{ language==0?'删除':'Delete' }}</el-link>
57 </div> 58 </div>
58 </li> 59 </li>
59 </ul> 60 </ul>
...@@ -65,7 +66,8 @@ ...@@ -65,7 +66,8 @@
65 import { getToken } from '@/utils/auth' 66 import { getToken } from '@/utils/auth'
66 import { computed } from 'vue' 67 import { computed } from 'vue'
67 import _ from 'lodash' 68 import _ from 'lodash'
68 69 import cache from "@/plugins/cache";
70 const language = ref(cache.local.get('language') || 0)
69 const props = defineProps({ 71 const props = defineProps({
70 modelValue: [String, Object, Array], 72 modelValue: [String, Object, Array],
71 // 数量限制 73 // 数量限制
......
...@@ -55,10 +55,10 @@ ...@@ -55,10 +55,10 @@
55 <fieldset class="fieldset-form mt30"> 55 <fieldset class="fieldset-form mt30">
56 <legend>{{ language==0?'机构认证信息':'Institutional certification information' }} </legend> 56 <legend>{{ language==0?'机构认证信息':'Institutional certification information' }} </legend>
57 <div class="pt30" style="max-width: 500px"> 57 <div class="pt30" style="max-width: 500px">
58 <el-form-item :label="language==0?'机构代码':'Organization Code'" required prop="orgCode"> 58 <el-form-item :label="language==0?'机构代码':'Organization Code'" required >
59 <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> 59 <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/>
60 </el-form-item> 60 </el-form-item>
61 <el-form-item :label="language==0?'机构证件':'Institutional documents'" required prop="orgCert"> 61 <el-form-item :label="language==0?'机构证件':'Institutional documents'" required >
62 <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> 62 <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/>
63 </el-form-item> 63 </el-form-item>
64 64
...@@ -67,10 +67,10 @@ ...@@ -67,10 +67,10 @@
67 <fieldset class="fieldset-form mt30"> 67 <fieldset class="fieldset-form mt30">
68 <legend>{{ language==0?'机构法人信息':'Institutional legal person information' }} </legend> 68 <legend>{{ language==0?'机构法人信息':'Institutional legal person information' }} </legend>
69 <div class="pt30" style="max-width: 500px"> 69 <div class="pt30" style="max-width: 500px">
70 <el-form-item :label="language==0?'法人姓名':'Legal Person Name'" required prop="orgCode"> 70 <el-form-item :label="language==0?'法人姓名':'Legal Person Name'" required>
71 <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> 71 <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/>
72 </el-form-item> 72 </el-form-item>
73 <el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required prop="orgCert"> 73 <el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required >
74 <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> 74 <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/>
75 </el-form-item> 75 </el-form-item>
76 76
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
18 {{ user.userName }} 18 {{ user.userName }}
19 </el-form-item> 19 </el-form-item>
20 <el-form-item :label="language==0?'姓名':'Real Name'" required prop="realName"> 20 <el-form-item :label="language==0?'姓名':'Real Name'" required prop="realName">
21 <el-input v-model="myform.realName"/> 21 <el-input v-model="myform.realName" disabled/>
22 </el-form-item> 22 </el-form-item>
23 <el-form-item :label="language==0?'性别':'Sex'" required > 23 <el-form-item :label="language==0?'性别':'Sex'" required >
24 <el-radio-group v-model="myform.sex"> 24 <el-radio-group v-model="myform.sex">
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
43 <el-input v-model="myform.division" disabled/> 43 <el-input v-model="myform.division" disabled/>
44 </el-form-item> 44 </el-form-item>
45 <el-form-item label="Status"> 45 <el-form-item label="Status">
46 <el-input v-model="myform.status" disabled/> 46 <el-input v-model="myform.wdsfStatus" disabled/>
47 </el-form-item> 47 </el-form-item>
48 <el-form-item label="Passport" required> 48 <el-form-item label="Passport" required>
49 <el-input v-model="myform.passportNumber"/> 49 <el-input v-model="myform.passportNumber"/>
...@@ -51,6 +51,9 @@ ...@@ -51,6 +51,9 @@
51 <el-form-item label="Passport File"> 51 <el-form-item label="Passport File">
52 <file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> 52 <file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/>
53 </el-form-item> 53 </el-form-item>
54 <el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin">
55 {{myform.wdsfMin}}
56 </el-form-item>
54 <!-- <el-form-item :label="language==0?'证件类型':'ID type'" required prop="idcType">--> 57 <!-- <el-form-item :label="language==0?'证件类型':'ID type'" required prop="idcType">-->
55 <!-- <el-select v-model="myform.idcType" style="width: 100%">--> 58 <!-- <el-select v-model="myform.idcType" style="width: 100%">-->
56 <!-- <el-option--> 59 <!-- <el-option-->
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
35 {{ language==0?'继续报名':'Continue to register' }}</el-button> 35 {{ language==0?'继续报名':'Continue to register' }}</el-button>
36 <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'"> 36 <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'">
37 {{ language==0?'取消报名':'Cancel registration' }}</el-button> 37 {{ language==0?'取消报名':'Cancel registration' }}</el-button>
38 <el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='3'"> 38 <el-button plain round type="primary" @click="reSign(n)" v-if="n.auditStatus=='3'">
39 {{ language==0?'重新报名':'Re register' }}</el-button> 39 {{ language==0?'重新报名':'Re register' }}</el-button>
40 <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'"> 40 <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'">
41 {{ language==0?'缴费':'pay' }}</el-button> 41 {{ language==0?'缴费':'pay' }}</el-button>
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
44 </el-row> 44 </el-row>
45 </el-col> 45 </el-col>
46 </el-row> 46 </el-row>
47 <el-alert v-if="n.reason" :title="language=0?'驳回理由:':'Reason:'+n.reason" type="error" show-icon :closable="false"/>
47 </div> 48 </div>
48 49
49 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/> 50 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/>
...@@ -77,6 +78,7 @@ import {ElMessage, ElMessageBox} from 'element-plus' ...@@ -77,6 +78,7 @@ import {ElMessage, ElMessageBox} from 'element-plus'
77 import _ from 'lodash' 78 import _ from 'lodash'
78 import useUserStore from "@/store/modules/user"; 79 import useUserStore from "@/store/modules/user";
79 import cache from "@/plugins/cache"; 80 import cache from "@/plugins/cache";
81 import {recoverMySignFromCancel} from "@/apiPc/match";
80 const language = ref(cache.local.get('language') || 0) 82 const language = ref(cache.local.get('language') || 0)
81 const router = useRouter() 83 const router = useRouter()
82 const {proxy} = getCurrentInstance() 84 const {proxy} = getCurrentInstance()
...@@ -143,6 +145,11 @@ function withDraw(n){ ...@@ -143,6 +145,11 @@ function withDraw(n){
143 getList() 145 getList()
144 }) 146 })
145 } 147 }
148 function reSign(n){
149 match.recoverMySignFromCancel(n.id).then((res)=>{
150 continueSign(n)
151 })
152 }
146 function continueSign(n){ 153 function continueSign(n){
147 if (user.utype == '1') { 154 if (user.utype == '1') {
148 // 个人报名 155 // 个人报名
......
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
5 <el-carousel-item style="height: 450px;"> 5 <el-carousel-item style="height: 450px;">
6 <div class="bannerItem"> 6 <div class="bannerItem">
7 <div class="h100"> 7 <div class="h100">
8 <img class="bannerImg" src="@/assets/dance/banner.png"> 8 <img v-if="matchData.bgImgUrl" class="bannerImg" :src="fillImgUrl(matchData.bgImgUrl)">
9 <img v-else class="bannerImg" src="@/assets/dance/banner.png">
9 <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;"> 10 <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
10 <div class="banner-count"> 11 <div class="banner-count">
11 距离开始还有 12 距离开始还有
...@@ -35,6 +36,7 @@ ...@@ -35,6 +36,7 @@
35 36
36 <div class="box zn-bg"> 37 <div class="box zn-bg">
37 <div class="zn-Box"> 38 <div class="zn-Box">
39 <img class="bbbg" v-if="matchData.logoUrl" :src="fillImgUrl(matchData.logoUrl)"/>
38 <el-row style="align-items: center"> 40 <el-row style="align-items: center">
39 <el-col :sm="24" :lg="10"> 41 <el-col :sm="24" :lg="10">
40 <div class="bgbg"> 42 <div class="bgbg">
...@@ -367,6 +369,7 @@ import r03 from '@/assets/dance/r03.png' ...@@ -367,6 +369,7 @@ import r03 from '@/assets/dance/r03.png'
367 import r04 from '@/assets/dance/r04.png' 369 import r04 from '@/assets/dance/r04.png'
368 import r05 from '@/assets/dance/r05.png' 370 import r05 from '@/assets/dance/r05.png'
369 import r06 from '@/assets/dance/r06.png' 371 import r06 from '@/assets/dance/r06.png'
372 import * as match from "@/apiPc/match";
370 373
371 const modules = [Autoplay, Navigation] 374 const modules = [Autoplay, Navigation]
372 const navigationPic = ref({ 375 const navigationPic = ref({
...@@ -408,6 +411,7 @@ const display = ref([]) ...@@ -408,6 +411,7 @@ const display = ref([])
408 const scores = ref([]) 411 const scores = ref([])
409 const nowscores = ref([]) 412 const nowscores = ref([])
410 const livelist = ref([]) 413 const livelist = ref([])
414 const matchData = ref({})
411 const picList = ref([]) 415 const picList = ref([])
412 const calendarValue = ref(dayjs('2024-07-22').toDate()) 416 const calendarValue = ref(dayjs('2024-07-22').toDate())
413 const calendarRange = ref([dayjs('2024-07-21').toDate(),dayjs('2024-07-27').toDate()]) 417 const calendarRange = ref([dayjs('2024-07-21').toDate(),dayjs('2024-07-27').toDate()])
...@@ -441,6 +445,14 @@ const init = () => { ...@@ -441,6 +445,14 @@ const init = () => {
441 ).then(res => { 445 ).then(res => {
442 newest2.value = res.rows 446 newest2.value = res.rows
443 }) 447 })
448 match.getMaList().then((res) => {
449 match.getMatchById({id: res.rows[0].id}).then(resposn => {
450 matchData.value = resposn.data
451 loading.value = false
452 // var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
453 // time.value = dayjs(resposn.data.signEndTime).diff(today, 'millisecond')
454 })
455 })
444 } 456 }
445 457
446 const goDetail = (n) => { 458 const goDetail = (n) => {
...@@ -470,7 +482,8 @@ const goNews = () => { ...@@ -470,7 +482,8 @@ const goNews = () => {
470 482
471 .zn-bg{background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC); 483 .zn-bg{background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC);
472 border-radius: 15px;} 484 border-radius: 15px;}
473 .zn-Box{background: url("@/assets/dance/cszn_bg.png") no-repeat top left;background-size: contain; 485 .zn-Box{background-size: contain;position: relative;overflow: hidden;
486 .bbbg{position: absolute;width: 100%;height: 100%;object-fit: cover;}
474 .bgbg{ 487 .bgbg{
475 padding: 5%; 488 padding: 5%;
476 img{margin: 5% 0} 489 img{margin: 5% 0}
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 9
10 <el-row class="mt20" :gutter="20"> 10 <el-row class="mt20" :gutter="20">
11 <el-col :lg="12"> 11 <el-col :lg="12">
12 <el-card> 12 <el-card v-loading="loading">
13 <template #header> 13 <template #header>
14 <div class="card-header"> 14 <div class="card-header">
15 <img src="@/assets/sign/tag01.png"/> 15 <img src="@/assets/sign/tag01.png"/>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
23 <div class="addBttn" @click="addCoach(0)">+</div> 23 <div class="addBttn" @click="addCoach(0)">+</div>
24 <el-checkbox v-for="c in coachList" :label="c.id"> 24 <el-checkbox v-for="c in coachList" :label="c.id">
25 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> 25 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
26 <p class="name">{{ c.shortName }} 26 <p class="name">{{ c.realName }}
27 <el-icon @click.stop="editPerson(c.id)"> 27 <el-icon @click.stop="editPerson(c.id)">
28 <Edit/> 28 <Edit/>
29 </el-icon> 29 </el-icon>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
34 </el-card> 34 </el-card>
35 </el-col> 35 </el-col>
36 <el-col :lg="12"> 36 <el-col :lg="12">
37 <el-card> 37 <el-card v-loading="loading">
38 <template #header> 38 <template #header>
39 <div class="card-header"> 39 <div class="card-header">
40 <img src="@/assets/sign/tag02.png"/> 40 <img src="@/assets/sign/tag02.png"/>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
48 <div class="addBttn" @click="addCoach(0)">+</div> 48 <div class="addBttn" @click="addCoach(0)">+</div>
49 <el-checkbox v-for="c in leaderList" :label="c.id"> 49 <el-checkbox v-for="c in leaderList" :label="c.id">
50 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> 50 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
51 <p class="name">{{ c.shortName }} 51 <p class="name">{{ c.realName }}
52 <el-icon @click.stop="editPerson(c.id)"> 52 <el-icon @click.stop="editPerson(c.id)">
53 <Edit/> 53 <Edit/>
54 </el-icon> 54 </el-icon>
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
59 </el-card> 59 </el-card>
60 </el-col> 60 </el-col>
61 <el-col :lg="12"> 61 <el-col :lg="12">
62 <el-card class="mt20"> 62 <el-card class="mt20" v-loading="loading">
63 <template #header> 63 <template #header>
64 <div class="card-header"> 64 <div class="card-header">
65 <img src="@/assets/sign/tag03.png"/> 65 <img src="@/assets/sign/tag03.png"/>
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
71 <div class="addBttn" @click="addCoach(0)">+</div> 71 <div class="addBttn" @click="addCoach(0)">+</div>
72 <el-checkbox v-for="c in doctorList" :label="c.id"> 72 <el-checkbox v-for="c in doctorList" :label="c.id">
73 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> 73 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
74 <p class="name">{{ c.shortName }} 74 <p class="name">{{ c.realName }}
75 <el-icon @click.stop="editPerson(c.id)"> 75 <el-icon @click.stop="editPerson(c.id)">
76 <Edit/> 76 <Edit/>
77 </el-icon> 77 </el-icon>
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
82 </el-card> 82 </el-card>
83 </el-col> 83 </el-col>
84 <el-col :lg="12"> 84 <el-col :lg="12">
85 <el-card class="mt20"> 85 <el-card class="mt20" v-loading="loading">
86 <template #header> 86 <template #header>
87 <div class="card-header"> 87 <div class="card-header">
88 <img src="@/assets/sign/tag04.png"/> 88 <img src="@/assets/sign/tag04.png"/>
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
94 <div class="addBttn" @click="addCoach(0)">+</div> 94 <div class="addBttn" @click="addCoach(0)">+</div>
95 <el-checkbox v-for="c in translatorList" :label="c.id"> 95 <el-checkbox v-for="c in translatorList" :label="c.id">
96 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> 96 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
97 <p class="name">{{ c.shortName }} 97 <p class="name">{{ c.realName }}
98 <el-icon @click.stop="editPerson(c.id)"> 98 <el-icon @click.stop="editPerson(c.id)">
99 <Edit/> 99 <Edit/>
100 </el-icon> 100 </el-icon>
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
105 </el-card> 105 </el-card>
106 </el-col> 106 </el-col>
107 <el-col :lg="12"> 107 <el-col :lg="12">
108 <el-card class="mt20"> 108 <el-card class="mt20" v-loading="loading">
109 <template #header> 109 <template #header>
110 <div class="card-header"> 110 <div class="card-header">
111 <img src="@/assets/sign/tag05.png"/> 111 <img src="@/assets/sign/tag05.png"/>
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
117 <div class="addBttn" @click="addCoach(0)">+</div> 117 <div class="addBttn" @click="addCoach(0)">+</div>
118 <el-checkbox v-for="c in officialList" :label="c.id"> 118 <el-checkbox v-for="c in officialList" :label="c.id">
119 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> 119 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
120 <p class="name">{{ c.shortName }} 120 <p class="name">{{ c.realName }}
121 <el-icon @click.stop="editPerson(c.id)"> 121 <el-icon @click.stop="editPerson(c.id)">
122 <Edit/> 122 <Edit/>
123 </el-icon> 123 </el-icon>
...@@ -128,7 +128,7 @@ ...@@ -128,7 +128,7 @@
128 </el-card> 128 </el-card>
129 </el-col> 129 </el-col>
130 <el-col :lg="12"> 130 <el-col :lg="12">
131 <el-card class="mt20"> 131 <el-card class="mt20" v-loading="loading">
132 <template #header> 132 <template #header>
133 <div class="card-header"> 133 <div class="card-header">
134 <img src="@/assets/sign/tag06.png"/> 134 <img src="@/assets/sign/tag06.png"/>
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
140 <div class="addBttn" @click="addCoach(0)">+</div> 140 <div class="addBttn" @click="addCoach(0)">+</div>
141 <el-checkbox v-for="c in otherList" :label="c.id"> 141 <el-checkbox v-for="c in otherList" :label="c.id">
142 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> 142 <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
143 <p class="name">{{ c.shortName }} 143 <p class="name">{{ c.realName }}
144 <el-icon @click.stop="editPerson(c.id)"> 144 <el-icon @click.stop="editPerson(c.id)">
145 <Edit/> 145 <Edit/>
146 </el-icon> 146 </el-icon>
...@@ -183,6 +183,7 @@ import useUserStore from "@/store/modules/user"; ...@@ -183,6 +183,7 @@ import useUserStore from "@/store/modules/user";
183 const language = ref(cache.local.get('language') || 0) 183 const language = ref(cache.local.get('language') || 0)
184 184
185 const data = reactive({ 185 const data = reactive({
186 loading:false,
186 form: { 187 form: {
187 coachs: [], 188 coachs: [],
188 leader: [] 189 leader: []
...@@ -198,7 +199,7 @@ const data = reactive({ ...@@ -198,7 +199,7 @@ const data = reactive({
198 signType: '', 199 signType: '',
199 activeStep: 1 200 activeStep: 1
200 }) 201 })
201 const { 202 const {loading,
202 form, 203 form,
203 coachList, 204 coachList,
204 leaderList, 205 leaderList,
...@@ -239,6 +240,7 @@ function changecoachs(e) { ...@@ -239,6 +240,7 @@ function changecoachs(e) {
239 let hasChooseId 240 let hasChooseId
240 241
241 function tuandui() { 242 function tuandui() {
243 loading.value = true
242 Promise.all([ 244 Promise.all([
243 match.getMyGroupForCpt(groupId.value, matchId), 245 match.getMyGroupForCpt(groupId.value, matchId),
244 match.getChooseDoneGroupCoachs(matchId, groupId.value) 246 match.getChooseDoneGroupCoachs(matchId, groupId.value)
...@@ -249,7 +251,7 @@ function tuandui() { ...@@ -249,7 +251,7 @@ function tuandui() {
249 translatorList.value = res[0].data.translators 251 translatorList.value = res[0].data.translators
250 officialList.value = res[0].data.officials 252 officialList.value = res[0].data.officials
251 otherList.value = res[0].data.others 253 otherList.value = res[0].data.others
252 254 loading.value = false
253 if (res[1].data.id != null) { 255 if (res[1].data.id != null) {
254 hasChooseObj.value = res[1].data 256 hasChooseObj.value = res[1].data
255 hasChooseId = res[1].data.id 257 hasChooseId = res[1].data.id
...@@ -272,6 +274,7 @@ function tuandui() { ...@@ -272,6 +274,7 @@ function tuandui() {
272 } 274 }
273 275
274 function geren() { 276 function geren() {
277 loading.value = true
275 Promise.all([ 278 Promise.all([
276 match.getMyPersonInfoWithcptId(matchId), 279 match.getMyPersonInfoWithcptId(matchId),
277 match.getChooseDoneSingleCoachs(matchId) 280 match.getChooseDoneSingleCoachs(matchId)
...@@ -282,7 +285,7 @@ function geren() { ...@@ -282,7 +285,7 @@ function geren() {
282 doctorList.value = res[0].data.teamDoctors 285 doctorList.value = res[0].data.teamDoctors
283 translatorList.value = res[0].data.translators 286 translatorList.value = res[0].data.translators
284 officialList.value = res[0].data.officials 287 officialList.value = res[0].data.officials
285 288 loading.value = false
286 if (res[1].data.id != null) { 289 if (res[1].data.id != null) {
287 hasChooseObj.value = res[1].data 290 hasChooseObj.value = res[1].data
288 hasChooseId = res[1].data.id 291 hasChooseId = res[1].data.id
...@@ -352,7 +355,13 @@ function goNext() { ...@@ -352,7 +355,13 @@ function goNext() {
352 } 355 }
353 356
354 function goPrev() { 357 function goPrev() {
355 router.back() 358 router.push({
359 name: `teamSign`,
360 query: {
361 matchId: matchId,
362 groupId: groupId.value
363 }
364 })
356 } 365 }
357 366
358 function editPerson(id) { 367 function editPerson(id) {
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
53 </el-checkbox> 53 </el-checkbox>
54 </el-checkbox-group> 54 </el-checkbox-group>
55 </div> 55 </div>
56 <div v-else @click="editMate()"> 56 <div v-else @click="addMate">
57 <div class="addBttn">+</div> 57 <div class="addBttn">+</div>
58 <div class="text-center mt10"> 58 <div class="text-center mt10">
59 <el-icon> 59 <el-icon>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
76 clearable/> 76 clearable/>
77 </div> 77 </div>
78 </div> 78 </div>
79 <div v-loading="loadingProject" style="height: 60vh"> 79 <div v-loading="loadingProject" style="height: 55vh">
80 <el-checkbox-group v-model="projectIds"> 80 <el-checkbox-group v-model="projectIds">
81 <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> 81 <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id">
82 <div class="flexBetween w100"> 82 <div class="flexBetween w100">
...@@ -162,13 +162,19 @@ ...@@ -162,13 +162,19 @@
162 </div> 162 </div>
163 163
164 <div class="text-center mt20"> 164 <div class="text-center mt20">
165 <el-button type="primary" class="" plain round @click="submitForm(0)"> 165 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()">
166 {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }} 166 {{ language == 0 ? '预览报名信息' : 'Preview registration information' }}
167 </el-button>
168 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">
169 {{ language == 0 ? '提交审核' : 'Submit for review' }}
170 </el-button> 167 </el-button>
171 </div> 168 </div>
169
170 <!-- <div class="text-center mt20">-->
171 <!-- <el-button type="primary" class="" plain round @click="submitForm(0)">-->
172 <!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}-->
173 <!-- </el-button>-->
174 <!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">-->
175 <!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}-->
176 <!-- </el-button>-->
177 <!-- </div>-->
172 </div> 178 </div>
173 </el-card> 179 </el-card>
174 </div> 180 </div>
...@@ -296,6 +302,9 @@ function getMyMemberTable() { ...@@ -296,6 +302,9 @@ function getMyMemberTable() {
296 // 302 //
297 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => { 303 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => {
298 myMemberTable.value = res.rows 304 myMemberTable.value = res.rows
305 if(res.rows.length > 0){
306 showPersonList.value = true
307 }
299 }) 308 })
300 } 309 }
301 310
...@@ -350,95 +359,112 @@ function getSignInfoList() { ...@@ -350,95 +359,112 @@ function getSignInfoList() {
350 359
351 360
352 function submitForm(n) { 361 function submitForm(n) {
362 if (signInfoList.value.length == 0) {
363 if (language.value == 0) {
364 ElMessage.error('请至少选择一个项目')
365 } else {
366 ElMessage.error('select at least one project')
367 }
368 return
369 }
370
353 if (signInfoType == '1') { 371 if (signInfoType == '1') {
354 ElMessageBox.confirm('已报项,前往我的报项', '提示', { 372 ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission',
355 confirmButtonText: '确定', 373 language.value==0?'提示':'Tips', {
356 cancelButtonText: '取消', 374 confirmButtonText: language.value==0?'确定':'OK',
375 cancelButtonText: language.value==0?'取消':'Cancel',
357 type: 'warning' 376 type: 'warning'
358 }).then(() => { 377 }).then(() => {
359 router.push({name: 'myMatch'}) 378 router.push({name: 'myMatch'})
360 }) 379 })
361 return 380 return
362 } 381 }
363 if (n == 0) { 382 if (extraform.value && extraform.value.length > 0) {
364 ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核, 383 let needBuchong = false
365 必须在报名截止时间${signEndTime.value}之前完成提交。 384 for (const e of extraform.value) {
366 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`, 385 if (e.status == '0') {
367 language.value == 0 ? '提示' : 'Tip', { 386 needBuchong = true
368 confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ',
369 cancelButtonText: language.value == 0 ? '知道了' : 'OK',
370 type: 'warning'
371 }).then((res) => {
372 console.log(res)
373 router.push({name: 'myMatch'})
374 })
375 } else {
376 if (extraform.value && extraform.value.length > 0) {
377 let needBuchong = false
378 for (const e of extraform.value) {
379 if (e.status == '0') {
380 needBuchong = true
381 }
382 } 387 }
383 for (const s of signInfoList.value) { 388 }
384 if (s.extraPersonInfo == null && needBuchong) { 389 for (const s of signInfoList.value) {
385 ElMessage.error(language.value == 0 ? '请完善运动员补充信息' : 'Complete Supplementary Information') 390 if (s.extraPersonInfo == null && needBuchong) {
386 tableType.value = 0 391 ElMessage.error(language.value == 0 ? '请完善运动员补充信息' : 'Complete Supplementary Information')
387 return 392 tableType.value = 0
388 } 393 return
389 } 394 }
395 }
390 396
391 if (showPersonList.value) { 397 if (showPersonList.value) {
392 if (myMemberTable.value.length == 0) { 398 if (myMemberTable.value.length == 0) {
393 ElMessageBox.confirm(language.value == 0 ? '是否继续添加随性人员?' : 'Do you want to add casual personnel?', 399 ElMessageBox.confirm(language.value == 0 ? '是否继续添加随性人员?' : 'Do you want to add casual personnel?',
394 language.value == 0 ? '提示' : 'Tip', {
395 confirmButtonText: language.value == 0 ? '确定' : 'Yes',
396 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
397 type: 'warning'
398 }).then(() => {
399
400 }).catch(() => {
401 commit()
402 })
403 } else {
404 commit()
405 }
406 } else {
407 ElMessageBox.confirm(language.value == 0 ? '是否添加随性人员?' : 'Do you want to add casual personnel?',
408 language.value == 0 ? '提示' : 'Tip', { 400 language.value == 0 ? '提示' : 'Tip', {
409 confirmButtonText: language.value == 0 ? '确定' : 'Yes', 401 confirmButtonText: language.value == 0 ? '确定' : 'Yes',
410 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 402 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
411 type: 'warning' 403 type: 'warning'
412 }).then(() => { 404 }).then(() => {
413 showPersonList.value = true 405
414 }).catch(() => { 406 }).catch(() => {
415 commit() 407 commit()
416 }) 408 })
409 } else {
410 commit()
417 } 411 }
412 } else {
413 ElMessageBox.confirm(language.value == 0 ? '是否添加随性人员?' : 'Do you want to add casual personnel?',
414 language.value == 0 ? '提示' : 'Tip', {
415 confirmButtonText: language.value == 0 ? '确定' : 'Yes',
416 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
417 type: 'warning'
418 }).then(() => {
419 showPersonList.value = true
420 }).catch(() => {
421 commit()
422 })
418 } 423 }
419
420 } 424 }
425 // if (n == 0) {
426 // ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核,
427 // 必须在报名截止时间${signEndTime.value}之前完成提交。
428 // 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`:
429 // `Your current operation is temporary and not submitted for review,
430 // Submission must be completed before the registration deadline${signEndTime.value}。
431 // You can also find this registration in the My Registration section of your personal center and click submit for review.`,
432 // language.value == 0 ? '提示' : 'Tip', {
433 // confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ',
434 // cancelButtonText: language.value == 0 ? '知道了' : 'OK',
435 // type: 'warning'
436 // }).then((res) => {
437 // console.log(res)
438 // router.push({name: 'myMatch'})
439 // })
440 // }
421 } 441 }
422 442
423 function commit() { 443 function commit() {
424 ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?', 444 router.push({
425 language.value == 0 ? '提示' : 'Tip', 445 name: 'signPreview',
426 { 446 query: {
427 confirmButtonText: language.value == 0 ? '确定' : 'Yes', 447 matchId: matchId.value
428 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 448 }
429 }).then(()=>{ 449 })
430 match.commitSign({ 450 // ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?',
431 groupId: 0, 451 // language.value == 0 ? '提示' : 'Tip',
432 cptId: matchId.value 452 // {
433 }).then(res => { 453 // confirmButtonText: language.value == 0 ? '确定' : 'Yes',
434 router.push({ 454 // cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
435 name: `commitDone`, 455 // }).then(()=>{
436 params: { 456 // match.commitSign({
437 orderId: res.data 457 // groupId: 0,
438 } 458 // cptId: matchId.value
439 }) 459 // }).then(res => {
440 })} 460 // router.push({
441 ) 461 // name: `commitDone`,
462 // params: {
463 // orderId: res.data
464 // }
465 // })
466 // })}
467 // )
442 468
443 } 469 }
444 470
...@@ -616,6 +642,14 @@ function editPerson() { ...@@ -616,6 +642,14 @@ function editPerson() {
616 }) 642 })
617 } 643 }
618 644
645 function addMate() {
646 proxy.$refs['dialogEditWdsfRef'].open({
647 title: language.value == 0 ? '添加舞伴' : 'Add My Mate',
648 isMe: false,
649 cptId:matchId.value,
650 id: 0
651 })
652 }
619 function editMate(obj) { 653 function editMate(obj) {
620 proxy.$refs['dialogEditWdsfRef'].open({ 654 proxy.$refs['dialogEditWdsfRef'].open({
621 title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate', 655 title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate',
......
...@@ -273,11 +273,12 @@ function getSignInfoList() { ...@@ -273,11 +273,12 @@ function getSignInfoList() {
273 273
274 function submitForm() { 274 function submitForm() {
275 if (signInfoType == '1') { 275 if (signInfoType == '1') {
276 ElMessageBox.confirm('已报项,前往我的报项', '提示', { 276 ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission',
277 confirmButtonText: '确定', 277 language.value==0?'提示':'Tips', {
278 cancelButtonText: '取消', 278 confirmButtonText: language.value==0?'确定':'OK',
279 type: 'warning' 279 cancelButtonText: language.value==0?'取消':'Cancel',
280 }).then(() => { 280 type: 'warning'
281 }).then(() => {
281 router.push({name: 'myMatch'}) 282 router.push({name: 'myMatch'})
282 }) 283 })
283 return 284 return
...@@ -458,6 +459,7 @@ function emptyChoosed() { ...@@ -458,6 +459,7 @@ function emptyChoosed() {
458 function emptyChangechoosed() { 459 function emptyChangechoosed() {
459 choosedchoosed.value = [] 460 choosedchoosed.value = []
460 choosed2List.value = [] 461 choosed2List.value = []
462 projectList.value = []
461 } 463 }
462 464
463 function delchoosedchoosed() { 465 function delchoosedchoosed() {
...@@ -502,8 +504,9 @@ function signUp() { ...@@ -502,8 +504,9 @@ function signUp() {
502 } 504 }
503 match.sportsmanDone(obj).then(res => { 505 match.sportsmanDone(obj).then(res => {
504 choosedchoosed.value = [] 506 choosedchoosed.value = []
507 choosed2List.value = []
508 projectList.value = []
505 getSignInfoList() 509 getSignInfoList()
506 getProjectList()
507 }) 510 })
508 } 511 }
509 512
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
25 <div class="border-info mt20" v-else> 25 <div class="border-info mt20" v-else>
26 The audit results will be formally notified to you via email in the future. 26 The audit results will be formally notified to you via email in the future.
27 <br/> 27 <br/>
28 Email sender: <span class="text-primary">{{ user.email }}</span> 28 Email sender: <span class="text-primary">wdsfwuxicenter@wdsfwuxicenter.com</span>
29 Please follow the relevant email notifications. 29 Please follow the relevant email notifications.
30 <br/> 30 <br/>
31 If your registration information is approved, the payment link for the relevant fees will be attached to the email body. Please complete the payment and registration through the link. 31 If your registration information is approved, the payment link for the relevant fees will be attached to the email body. Please complete the payment and registration through the link.
......
...@@ -67,6 +67,7 @@ const query3 = ref({ ...@@ -67,6 +67,7 @@ const query3 = ref({
67 code: `${props.matchId}${language.value == 0 ?'100':'101'}3` 67 code: `${props.matchId}${language.value == 0 ?'100':'101'}3`
68 }) 68 })
69 onMounted(() => { 69 onMounted(() => {
70 console.log(props.matchId,language.value)
70 getList(query1.value) 71 getList(query1.value)
71 getList2(query2.value) 72 getList2(query2.value)
72 getList3(query3.value) 73 getList3(query3.value)
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <el-table-column :label="language==0?'所属国家':'Nationality'" prop="" :min-width="language==0?'100':'120'"> 7 <el-table-column :label="language==0?'所属国家':'Nationality'" prop="" :min-width="language==0?'100':'120'">
8 <template #default="scope"> 8 <template #default="scope">
9 <span v-if="scope.row.personInfo.countryName">{{scope.row.personInfo.countryName}}</span> 9 <span v-if="scope.row.personInfo.countryName">{{scope.row.personInfo.countryName}}</span>
10 <span v-if="scope.row.personInfo.Representing">{{scope.row.personInfo.Representing}}</span> 10 <span v-if="scope.row.personInfo.representing">{{scope.row.personInfo.representing}}</span>
11 </template> 11 </template>
12 </el-table-column> 12 </el-table-column>
13 <!-- <el-table-column :label="language==0?'短名':'Nick Name'" prop="personInfo.shortName" min-width="110"/>--> 13 <!-- <el-table-column :label="language==0?'短名':'Nick Name'" prop="personInfo.shortName" min-width="110"/>-->
......
...@@ -241,7 +241,6 @@ function getMatch(id) { ...@@ -241,7 +241,6 @@ function getMatch(id) {
241 }).catch(res=>{ 241 }).catch(res=>{
242 error.value = true 242 error.value = true
243 loading.value = false 243 loading.value = false
244
245 }) 244 })
246 } 245 }
247 246
......
...@@ -9,6 +9,36 @@ ...@@ -9,6 +9,36 @@
9 <div v-if="isLogin"> 9 <div v-if="isLogin">
10 <group-info-row v-if="groupId" :group-id="groupId"/> 10 <group-info-row v-if="groupId" :group-id="groupId"/>
11 <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/> 11 <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/>
12
13 <div class="pd20" v-if="user.utype=='1'&&myMemberTable.length>0">
14 <div class="leftboderTT">{{ language==0?'随行人员清单':'List of accompanying personnel' }}
15 </div>
16 <div>
17 <el-table class="mt20" :data="myMemberTable" border>
18 <el-table-column type="index" label="Index" width="70" align="center"/>
19 <el-table-column :label="language==0?'姓氏':'surname'" prop="xing" min-width="100"/>
20 <el-table-column :label="language==0?'名':'name'" prop="ming" min-width="100"/>
21 <el-table-column label="Passport number" prop="idcCode" min-width="120"/>
22 <el-table-column label="Birthday" prop="birth"/>
23 <el-table-column label="Sex" prop="sexStr"/>
24 <el-table-column label="Role" min-width="160">
25 <template #default="scope">
26 <div class="roletd">
27 <span v-for="item in scope.row.label?.split(',')" :key="item.id" class="text-primary">
28 <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span>
29 <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span>
30 <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'team leader' }}</span>
31 <span v-if="item==='3'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>
32 <span v-if="item==='4'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>
33 <span v-if="item==='5'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>
34 <span v-if="item==='6'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>
35 </span>
36 </div>
37 </template>
38 </el-table-column>
39 </el-table>
40 </div>
41 </div>
12 <div class="pd20" v-if="signInfoList?.length>0"> 42 <div class="pd20" v-if="signInfoList?.length>0">
13 <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> 43 <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div>
14 <!-- 人员列表--> 44 <!-- 人员列表-->
...@@ -49,8 +79,10 @@ ...@@ -49,8 +79,10 @@
49 </div> 79 </div>
50 <div class="text-danger flex" v-if="form.auditStatus=='3'"> 80 <div class="text-danger flex" v-if="form.auditStatus=='3'">
51 <img src="@/assets/img/w.png"> 81 <img src="@/assets/img/w.png">
52 {{ language==0?'报名信息审核拒绝':'Registration Information rejected' }} 82 <div>
53 <div>{{ language==0?'驳回理由:':'Reason:'}}</div> 83 {{ language==0?'报名信息审核拒绝':'Registration Information rejected' }}
84 <div v-if="form.reason" class="rre">{{language==0?'驳回理由':'Reason'}}:{{form.reason}}</div>
85 </div>
54 </div> 86 </div>
55 </el-col> 87 </el-col>
56 <el-col :lg="12"> 88 <el-col :lg="12">
...@@ -284,6 +316,7 @@ const totalFee = ref('') ...@@ -284,6 +316,7 @@ const totalFee = ref('')
284 const wePayCodeUrl = ref('') 316 const wePayCodeUrl = ref('')
285 const form = ref({}) 317 const form = ref({})
286 const voucherObj = ref({}) 318 const voucherObj = ref({})
319 const myMemberTable = ref([])
287 const upForm = ref({ 320 const upForm = ref({
288 orderId:orderId.value 321 orderId:orderId.value
289 }) 322 })
...@@ -291,6 +324,7 @@ const errorBox = ref(false) ...@@ -291,6 +324,7 @@ const errorBox = ref(false)
291 const hideconfirmbtn = ref(false) 324 const hideconfirmbtn = ref(false)
292 const insuranceFeeTotal = ref(0) 325 const insuranceFeeTotal = ref(0)
293 const serviceFeeTotal = ref(0) 326 const serviceFeeTotal = ref(0)
327 const user = useUserStore().user
294 console.log(route.query.orderId) 328 console.log(route.query.orderId)
295 // 1763462073870237698 329 // 1763462073870237698
296 getData() 330 getData()
...@@ -305,12 +339,20 @@ function getData() { ...@@ -305,12 +339,20 @@ function getData() {
305 groupId.value = form.value.groupId || 0 339 groupId.value = form.value.groupId || 0
306 if(isLogin.value){ 340 if(isLogin.value){
307 getSignList() 341 getSignList()
342 if(user.utype=='1'){
343 getMyMemberTable()
344 }
308 } 345 }
309 }).catch(err=>{ 346 }).catch(err=>{
310 console.log(err) 347 console.log(err)
311 errorBox.value = true 348 errorBox.value = true
312 }) 349 })
313 } 350 }
351 function getMyMemberTable() {
352 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => {
353 myMemberTable.value = res.rows
354 })
355 }
314 function upRR() { 356 function upRR() {
315 upForm.value.voucher = voucherObj.value[0].url 357 upForm.value.voucher = voucherObj.value[0].url
316 match.upReceipt(upForm.value).then(res=>{ 358 match.upReceipt(upForm.value).then(res=>{
...@@ -486,4 +528,5 @@ function showLogin(){ ...@@ -486,4 +528,5 @@ function showLogin(){
486 } 528 }
487 .size26{font-size: 26px;} 529 .size26{font-size: 26px;}
488 } 530 }
531 .rre{color: #333;font-size: 16px;margin-top: 10px}
489 </style> 532 </style>
......
...@@ -2,14 +2,44 @@ ...@@ -2,14 +2,44 @@
2 <div> 2 <div>
3 <div class="box ph-30"> 3 <div class="box ph-30">
4 <el-card class="mb20"> 4 <el-card class="mb20">
5 <team-sign-step :language="language" :active-step="activeStep"/> 5 <team-sign-step v-if="user.utype=='2'" :language="language" :active-step="activeStep"/>
6 <single-sign-step v-if="user.utype=='1'" :language="language" :active-step="2"/>
6 </el-card> 7 </el-card>
7 <el-card :body-style="{ padding: '0px' }"> 8 <el-card :body-style="{ padding: '0px' }">
8 <match-info-row v-if="matchId" :match-id="matchId"/> 9 <match-info-row v-if="matchId" :match-id="matchId"/>
9 <group-info-row v-if="matchId" :match-id="matchId" :group-id="groupId"/> 10 <group-info-row v-if="matchId&&groupId!=0" :match-id="matchId" :group-id="groupId"/>
10 <coach-info-row v-if="matchId" :match-id="matchId" :language="language"/> 11 <coach-info-row v-if="matchId&&user.utype=='2'" :match-id="matchId" :language="language"/>
11 <div style="margin: 20px"> 12
12 13
14
15 <div style="margin: 20px">
16 <div class="leftboderTT" v-if="user.utype=='1'&&myMemberTable.length>0">{{ language==0?'随行人员清单':'List of accompanying personnel' }}
17 </div>
18 <div v-if="user.utype=='1'&&myMemberTable.length>0">
19 <el-table class="mt20" :data="myMemberTable" border>
20 <el-table-column type="index" label="Index" width="70" align="center"/>
21 <el-table-column :label="language==0?'姓氏':'surname'" prop="xing" min-width="100"/>
22 <el-table-column :label="language==0?'名':'name'" prop="ming" min-width="100"/>
23 <el-table-column label="Passport number" prop="idcCode" min-width="120"/>
24 <el-table-column label="Birthday" prop="birth"/>
25 <el-table-column label="Sex" prop="sexStr"/>
26 <el-table-column label="Role" min-width="160">
27 <template #default="scope">
28 <div class="roletd">
29 <span v-for="item in scope.row.label?.split(',')" :key="item.id" class="text-primary">
30 <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span>
31 <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span>
32 <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'team leader' }}</span>
33 <span v-if="item==='3'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>
34 <span v-if="item==='4'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>
35 <span v-if="item==='5'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>
36 <span v-if="item==='6'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>
37 </span>
38 </div>
39 </template>
40 </el-table-column>
41 </el-table>
42 </div>
13 <div class="mt20"> 43 <div class="mt20">
14 <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }} 44 <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }}
15 <div class="fr"> 45 <div class="fr">
...@@ -48,8 +78,9 @@ ...@@ -48,8 +78,9 @@
48 <el-link type="primary" @click="exportSignList(2)"><el-icon><Upload /></el-icon> 78 <el-link type="primary" @click="exportSignList(2)"><el-icon><Upload /></el-icon>
49 {{ language==0?'导出设项报名清单':'Registration Fee for Event Entry' }}</el-link> 79 {{ language==0?'导出设项报名清单':'Registration Fee for Event Entry' }}</el-link>
50 80
51 <el-link type="primary" @click="exportPdf"><el-icon><Upload /></el-icon> 81 <!-- <el-link type="primary" @click="exportPdf"><el-icon><Upload /></el-icon>-->
52 {{ language==0?'导出pdf':'Export PDF' }}</el-link> 82 <!-- {{ language==0?'导出pdf':'Export PDF' }}-->
83 <!-- </el-link>-->
53 </el-col> 84 </el-col>
54 </el-row> 85 </el-row>
55 <div class="text-center pd20"> 86 <div class="text-center pd20">
...@@ -78,6 +109,7 @@ import useUserStore from "@/store/modules/user"; ...@@ -78,6 +109,7 @@ import useUserStore from "@/store/modules/user";
78 import ZuTable from "@/viewsPc/match/components/zu-table"; 109 import ZuTable from "@/viewsPc/match/components/zu-table";
79 import {ElMessageBox} from "element-plus"; 110 import {ElMessageBox} from "element-plus";
80 import {exportCn} from "@/apiPc/match"; 111 import {exportCn} from "@/apiPc/match";
112 import SingleSignStep from "@/viewsPc/match/components/singleSignStep";
81 const route = useRoute() 113 const route = useRoute()
82 const router = useRouter() 114 const router = useRouter()
83 const activeStep = ref(3) 115 const activeStep = ref(3)
...@@ -87,7 +119,10 @@ const groupId = ref(route.query.groupId || 0) ...@@ -87,7 +119,10 @@ const groupId = ref(route.query.groupId || 0)
87 const form = ref({}) 119 const form = ref({})
88 const matchId = ref(route.query.matchId) 120 const matchId = ref(route.query.matchId)
89 const signInfoList = ref([]) 121 const signInfoList = ref([])
122 const signEndTime = ref('')
90 const zuTableList = ref([]) 123 const zuTableList = ref([])
124 const myMemberTable = ref([])
125 const user = useUserStore().user
91 const {proxy} = getCurrentInstance() 126 const {proxy} = getCurrentInstance()
92 const zuQuery = ref({ 127 const zuQuery = ref({
93 cptId: matchId.value, 128 cptId: matchId.value,
...@@ -99,8 +134,23 @@ onMounted(()=>{ ...@@ -99,8 +134,23 @@ onMounted(()=>{
99 // console.log(route.query) 134 // console.log(route.query)
100 getSignList() 135 getSignList()
101 getFee(groupId.value) 136 getFee(groupId.value)
137 if(user.utype=='1'){
138 getMyMemberTable()
139 }
140 getMatch()
102 }) 141 })
103 142 function getMatch() {
143 match.getMatchById({
144 id: matchId.value
145 }).then(res => {
146 signEndTime.value = res.data.signEndTime
147 })
148 }
149 function getMyMemberTable() {
150 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => {
151 myMemberTable.value = res.rows
152 })
153 }
104 154
105 function getSignList() { 155 function getSignList() {
106 match.getMySignInfoList(zuQuery.value).then(res=>{ 156 match.getMySignInfoList(zuQuery.value).then(res=>{
...@@ -109,13 +159,26 @@ function getSignList() { ...@@ -109,13 +159,26 @@ function getSignList() {
109 }) 159 })
110 } 160 }
111 const goPrev = () => { 161 const goPrev = () => {
112 router.push({ 162 if(user.type=='2'){
113 name: 'chooseSportsman', 163 router.push({
114 query: { 164 name: 'chooseSportsman',
115 matchId: matchId.value, 165 query: {
116 groupId: groupId.value 166 matchId: matchId.value,
117 } 167 groupId: groupId.value
118 }) 168 }
169 })
170 } else {
171 router.push({
172 name: 'chooseProject',
173 params:{
174 id:matchId.value
175 },
176 query: {
177 matchId: matchId.value
178 }
179 })
180 }
181
119 } 182 }
120 const getFee = (entryId) => { 183 const getFee = (entryId) => {
121 match.getTotalFee({ 184 match.getTotalFee({
...@@ -127,29 +190,40 @@ const getFee = (entryId) => { ...@@ -127,29 +190,40 @@ const getFee = (entryId) => {
127 } 190 }
128 const submitForm = (n) => { 191 const submitForm = (n) => {
129 if(n==0){ 192 if(n==0){
130 ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核,必须在报名截止时间XXXX-XX-XX之前完成提交。\n` + 193 ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核,
131 '\n' + 194 必须在报名截止时间${signEndTime.value}之前完成提交。
132 '您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。','提示',{ 195 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`:
133 confirmButtonText: '去个人中心', 196 `Your current operation is temporary and not submitted for review,
134 cancelButtonText: '知道了', 197 Submission must be completed before the registration deadline${signEndTime.value}
135 type: 'warning' 198 You can also find this registration in the My Registration section of your personal center and click submit for review.`,
136 }).then((res)=>{ 199 language.value == 0 ? '提示' : 'Tip', {
137 console.log(res) 200 confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ',
138 router.push({name: 'myMatch'}) 201 cancelButtonText: language.value == 0 ? '知道了' : 'OK',
139 }) 202 type: 'warning'
203 }).then((res) => {
204 console.log(res)
205 router.push({name: 'myMatch'})
206 })
140 return 207 return
141 } 208 }
142 match.commitSign({ 209 ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?',
143 groupId: groupId.value, 210 language.value == 0 ? '提示' : 'Tip',
144 cptId: matchId.value 211 {
145 }).then(res=>{ 212 confirmButtonText: language.value == 0 ? '确定' : 'Yes',
146 router.push({ 213 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
147 name:`commitDone`, 214 }).then(()=>{
148 params: { 215 match.commitSign({
149 orderId: res.data 216 groupId: groupId.value||0,
150 } 217 cptId: matchId.value
151 }) 218 }).then(res => {
152 }) 219 router.push({
220 name: `commitDone`,
221 params: {
222 orderId: res.data
223 }
224 })
225 })}
226 )
153 } 227 }
154 function exportSignList(n) { 228 function exportSignList(n) {
155 var obj = { 229 var obj = {
......
...@@ -111,7 +111,7 @@ const data = reactive({ ...@@ -111,7 +111,7 @@ const data = reactive({
111 }, 111 },
112 form: {}, 112 form: {},
113 groupId: route.query.groupId||0, 113 groupId: route.query.groupId||0,
114 cptId: route.query.matchId||0, 114 cptId: route.params.id||0,
115 signType: false, 115 signType: false,
116 regionsList: [], 116 regionsList: [],
117 participantsInfoArr: [], 117 participantsInfoArr: [],
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!