f0cdcd30 by zhangmeng

前台报名

1 parent f638433a
...@@ -257,7 +257,7 @@ export function recoverMySignFromCancel(cptId) { ...@@ -257,7 +257,7 @@ export function recoverMySignFromCancel(cptId) {
257 return request({ 257 return request({
258 url: `/league/sign/recoverMySignFromCancel`, 258 url: `/league/sign/recoverMySignFromCancel`,
259 method: 'post', 259 method: 'post',
260 data: {cptId: cptId} 260 data: { cptId: cptId }
261 }) 261 })
262 } 262 }
263 263
...@@ -402,7 +402,7 @@ export function delPerson(id) { ...@@ -402,7 +402,7 @@ export function delPerson(id) {
402 }) 402 })
403 } 403 }
404 404
405 //个人账号 405 // 个人账号
406 export function delPersonForPersonal(id) { 406 export function delPersonForPersonal(id) {
407 return request({ 407 return request({
408 url: `/systemj/personInfo/singleDelete/${id}`, 408 url: `/systemj/personInfo/singleDelete/${id}`,
...@@ -639,7 +639,7 @@ export function saveWdsfMin(obj, groupId) { ...@@ -639,7 +639,7 @@ export function saveWdsfMin(obj, groupId) {
639 }) 639 })
640 } 640 }
641 641
642 //todo 642 // todo
643 export function bindWdsf(perId, card) { 643 export function bindWdsf(perId, card) {
644 return request({ 644 return request({
645 url: `/systemj/personInfo/bindWdsf/${perId}?card=${card}`, 645 url: `/systemj/personInfo/bindWdsf/${perId}?card=${card}`,
...@@ -771,12 +771,14 @@ export function getAboutUs(params) { ...@@ -771,12 +771,14 @@ export function getAboutUs(params) {
771 params 771 params
772 }) 772 })
773 } 773 }
774
774 export function getppInfo(params) { 775 export function getppInfo(params) {
775 return request({ 776 return request({
776 url: `/portal/website/${params}`, 777 url: `/portal/website/${params}`,
777 method: 'get' 778 method: 'get'
778 }) 779 })
779 } 780 }
781
780 export function getZNList(params) { 782 export function getZNList(params) {
781 return request({ 783 return request({
782 url: `/Portal/websiteInfo/list`, 784 url: `/Portal/websiteInfo/list`,
...@@ -785,4 +787,21 @@ export function getZNList(params) { ...@@ -785,4 +787,21 @@ export function getZNList(params) {
785 }) 787 })
786 } 788 }
787 789
790 // 团体报名校验
791 export function preCheckForGroup(groupId) {
792 return request({
793 url: `/systemj/personInfo/preCheckForGroup/${groupId}`,
794 method: 'get'
795 })
796 }
797
798 // 个人报名校验
799 export function preCheckForPerson(params) {
800 return request({
801 url: `/systemj/personInfo/preCheckForPerson`,
802 method: 'get',
803 params
804 })
805 }
806
788 807
......
1 <template> 1 <template>
2 <div style="padding: 0 20px 20px" v-if="language==0"> 2 <div v-if="language==0" style="padding: 0 20px 20px">
3 <!--赛事详情--> 3 <!--赛事详情-->
4 <div class="indexTitle"> 4 <div class="indexTitle">
5 <h3 class="leftboderTT">组织机构</h3> 5 <h3 class="leftboderTT">组织机构</h3>
6 </div> 6 </div>
7 <div class="xzbox" v-html="form.ocOrganizer"> 7 <div class="xzbox" v-html="form.ocOrganizer" />
8 </div> 8 <div v-if="form.languageSource!='100'" class="indexTitle"><h3 class="leftboderTT">报名须知</h3></div>
9 <div class="indexTitle" v-if="form.languageSource!='100'"><h3 class="leftboderTT">报名须知</h3></div> 9 <div v-if="form.languageSource!='100'" class="xzbox">
10 <div class="xzbox" v-if="form.languageSource!='100'"> 10 <div v-html="form.signKnow" />
11 <div v-html="form.signKnow"></div>
12 <div v-if="form.signKnowUrl"> 11 <div v-if="form.signKnowUrl">
13 <el-link v-for="(item,index) in JSON.parse(form.signKnowUrl)" type="primary" 12 <el-link
14 :href="fillImgUrl(item.url)" target="_blank"> 13 v-for="(item,index) in JSON.parse(form.signKnowUrl)" :key="index" :href="fillImgUrl(item.url)"
14 target="_blank" type="primary"
15 >
15 <el-icon :size="20"> 16 <el-icon :size="20">
16 <Download /> 17 <Download />
17 </el-icon> 18 </el-icon>
18 {{ item.name }} 19 {{ item.name }}
19 </el-link> 20 </el-link>
20 </div> 21 </div>
21
22 </div> 22 </div>
23 <!-- <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div>--> 23 <!-- <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div>-->
24 <!-- <div class="xzbox">--> 24 <!-- <div class="xzbox">-->
25 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">--> 25 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">-->
26 <!-- <el-icon :size="20">--> 26 <!-- <el-icon :size="20">-->
27 <!-- <Download />--> 27 <!-- <Download />-->
28 <!-- </el-icon>--> 28 <!-- </el-icon>-->
29 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}--> 29 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}-->
30 <!-- </el-link>--> 30 <!-- </el-link>-->
31 <!-- </div>--> 31 <!-- </div>-->
32 <div class="indexTitle" v-if="form.languageSource=='100'"><h3 class="leftboderTT">赛事规程</h3></div> 32 <div v-if="form.languageSource=='100'" class="indexTitle"><h3 class="leftboderTT">赛事规程</h3></div>
33 <div class="xzbox" v-if="form.languageSource=='100'"> 33 <div v-if="form.languageSource=='100'" class="xzbox">
34 <div v-html="form.ruleContent"></div> 34 <div v-html="form.ruleContent" />
35 <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank"> 35 <el-link v-if="form.ruleUrl" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank" type="primary">
36 <el-icon :size="20"> 36 <el-icon :size="20">
37 <Download /> 37 <Download />
38 </el-icon> 38 </el-icon>
39 {{ JSON.parse(form.ruleUrl)[0]?.name }} 39 {{ JSON.parse(form.ruleUrl)[0]?.name }}
40 </el-link> 40 </el-link>
41 </div> 41 </div>
42 <!-- <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div>--> 42 <!-- <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div>-->
43 <!-- <div v-if="form.type==1&&form.cptProjectList?.length > 0">--> 43 <!-- <div v-if="form.type==1&&form.cptProjectList?.length > 0">-->
44 44
45 <!-- </div>--> 45 <!-- </div>-->
46 46
47 </div> 47 </div>
48 <div style="padding: 0 20px 20px" v-else> 48 <div v-else style="padding: 0 20px 20px">
49 <!--赛事详情--> 49 <!--赛事详情-->
50 <div class="indexTitle"> 50 <div class="indexTitle">
51 <h3 class="leftboderTT">Organization</h3> 51 <h3 class="leftboderTT">Organization</h3>
52 </div> 52 </div>
53 <div class="xzbox" v-html="form.ocOrganizer"> 53 <div class="xzbox" v-html="form.ocOrganizer" />
54 </div>
55 <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div> 54 <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div>
56 <div class="xzbox"> 55 <div class="xzbox">
57 <div v-html="form.signKnow"></div> 56 <div v-html="form.signKnow" />
58 <el-link v-if="form.signKnowUrl" type="primary" :href="fillImgUrl(JSON.parse(form.signKnowUrl)[0]?.url)" target="_blank"> 57 <el-link
58 v-if="form.signKnowUrl" :href="fillImgUrl(JSON.parse(form.signKnowUrl)[0]?.url)" target="_blank"
59 type="primary"
60 >
59 <el-icon :size="20"> 61 <el-icon :size="20">
60 <Download /> 62 <Download />
61 </el-icon> 63 </el-icon>
62 {{ JSON.parse(form.signKnowUrl)[0]?.name }} 64 {{ JSON.parse(form.signKnowUrl)[0]?.name }}
63 </el-link> 65 </el-link>
64 </div> 66 </div>
65 <!-- <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div>--> 67 <!-- <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div>-->
66 <!-- <div class="xzbox">--> 68 <!-- <div class="xzbox">-->
67 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">--> 69 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">-->
68 <!-- <el-icon :size="20">--> 70 <!-- <el-icon :size="20">-->
69 <!-- <Download />--> 71 <!-- <Download />-->
70 <!-- </el-icon>--> 72 <!-- </el-icon>-->
71 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}--> 73 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}-->
72 <!-- </el-link>--> 74 <!-- </el-link>-->
73 <!-- </div>--> 75 <!-- </div>-->
74 76
75 <!-- <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div>--> 77 <!-- <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div>-->
76 <!-- <div class="xzbox">--> 78 <!-- <div class="xzbox">-->
77 <!-- <div v-html="form.ruleContent">--> 79 <!-- <div v-html="form.ruleContent">-->
78 80
79 <!-- </div>--> 81 <!-- </div>-->
80 <!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">--> 82 <!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">-->
81 <!-- <el-icon :size="20">--> 83 <!-- <el-icon :size="20">-->
82 <!-- <Download />--> 84 <!-- <Download />-->
83 <!-- </el-icon>--> 85 <!-- </el-icon>-->
84 <!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}--> 86 <!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}-->
85 <!-- </el-link>--> 87 <!-- </el-link>-->
86 <!-- </div>--> 88 <!-- </div>-->
87 <div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div> 89 <div v-if="form.type==1 && form.cptProjectList?.length > 0" class="indexTitle"><h3 class="leftboderTT">Event
90 settings</h3></div>
88 <div v-if="form.type==1 && form.cptProjectList?.length > 0"> 91 <div v-if="form.type==1 && form.cptProjectList?.length > 0">
89 <match-info-project-list :match-id="form.id" :is-national="form.languageSource!='100'"/> 92 <match-info-project-list :is-national="form.languageSource!='100'" :match-id="form.id" />
90 </div> 93 </div>
91 </div> 94 </div>
92 </template> 95 </template>
93 96
94 <script setup> 97 <script setup>
95 import {ref} from "vue"; 98 import { ref } from 'vue'
96 import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList"; 99 import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList'
97 import {useStorage} from "@vueuse/core/index"; 100 import { useStorage } from '@vueuse/core/index'
98 import {onMounted} from "@vue/runtime-core"; 101 import { onMounted } from '@vue/runtime-core'
99 102
100 const language= useStorage('language',0) 103 const language = useStorage('language', 0)
101 104
102 const props = defineProps({ 105 const props = defineProps({
103 form:{ 106 form: {
104 type:Object, 107 type: Object,
105 required:true 108 required: true
106 } 109 }
107 }) 110 })
108 111
109 112
110
111 </script> 113 </script>
112 114
113 <style scoped lang="scss"> 115 <style lang="scss" scoped>
114 .indexTitle{margin: 20px 0 12px; 116 .indexTitle {
115 h3{ 117 margin: 20px 0 12px;
118
119 h3 {
116 font-size: 20px; 120 font-size: 20px;
117 color:var(--el-color-primary); 121 color: var(--el-color-primary);
118 } 122 }
119 } 123 }
120 124
......
1 <template> 1 <template>
2 <div v-loading="loading" class="app-container"> 2 <div v-loading="loading" class="app-container">
3 <div class="mt30"/> 3 <div class="mt30" />
4 <div v-if="error"> 4 <div v-if="error">
5 <el-result 5 <el-result
6 :title="language==0?'未找到赛事':'No Data'" 6 :title="language==0?'未找到赛事':'No Data'"
7 icon="error" 7 icon="error"
8 > 8 >
9 <template #extra> 9 <template #extra />
10 </template>
11 </el-result> 10 </el-result>
12 </div> 11 </div>
13 <div v-else class="box mb20"> 12 <div v-else class="box mb20">
...@@ -40,34 +39,44 @@ ...@@ -40,34 +39,44 @@
40 <!-- <p class="ppl" v-if="matchData.signEndTime"><label class="bm4">Registration Deadline:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>--> 39 <!-- <p class="ppl" v-if="matchData.signEndTime"><label class="bm4">Registration Deadline:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>-->
41 40
42 <p class="ppl"><label> 41 <p class="ppl"><label>
43 <svg class="icon" height="18" p-id="37235" style="position: relative;top: 3px;" 42 <svg
43 class="icon" height="18" p-id="37235" style="position: relative;top: 3px;"
44 t="1712726889323" 44 t="1712726889323"
45 version="1.1" viewBox="0 0 1024 1024" width="18" xmlns="http://www.w3.org/2000/svg"> 45 version="1.1" viewBox="0 0 1024 1024" width="18" xmlns="http://www.w3.org/2000/svg"
46 >
46 <path 47 <path
47 d="M290.88 128H928V96a64 64 0 0 0-64-64H288a192 192 0 0 0-192 192v576a192 192 0 0 0 192 192h576a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H290.88A64 64 0 0 1 224 192a64 64 0 0 1 66.88-64z m77.12 608l96-22.72v-29.12a123.2 123.2 0 0 1-58.24-84.48c-29.76-2.24-24.64-41.28-24.64-41.28 0-19.84 10.24-26.24 18.56-27.84v-19.2c0-148.48 128-128 128-128a128 128 0 0 1 55.04 5.12c34.56 11.2 72.32 42.24 72.32 123.2v19.2c8.32 1.92 18.56 8 18.56 28.16 0 0 5.12 39.04-24.64 41.28a123.2 123.2 0 0 1-58.24 84.48v29.12l96 22.72c47.04 16.64 0 96 0 96h-320S320 752 368 736z" 48 d="M290.88 128H928V96a64 64 0 0 0-64-64H288a192 192 0 0 0-192 192v576a192 192 0 0 0 192 192h576a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H290.88A64 64 0 0 1 224 192a64 64 0 0 1 66.88-64z m77.12 608l96-22.72v-29.12a123.2 123.2 0 0 1-58.24-84.48c-29.76-2.24-24.64-41.28-24.64-41.28 0-19.84 10.24-26.24 18.56-27.84v-19.2c0-148.48 128-128 128-128a128 128 0 0 1 55.04 5.12c34.56 11.2 72.32 42.24 72.32 123.2v19.2c8.32 1.92 18.56 8 18.56 28.16 0 0 5.12 39.04-24.64 41.28a123.2 123.2 0 0 1-58.24 84.48v29.12l96 22.72c47.04 16.64 0 96 0 96h-320S320 752 368 736z"
48 fill="#d3d8d9" p-id="37236"></path> 49 fill="#d3d8d9" p-id="37236"
50 />
49 </svg> 51 </svg>
50 {{ language == 0 ? '联&ensp;系&ensp;人' : 'CONTACT PERSON' }}</label>{{ matchData.contactPerson }} 52 {{ language == 0 ? '联&ensp;系&ensp;人' : 'CONTACT PERSON' }}</label>{{ matchData.contactPerson }}
51 </p> 53 </p>
52 54
53 <p class="ppl"> 55 <p class="ppl">
54 <label> 56 <label>
55 <svg class="icon" height="20" p-id="7920" style="position: relative;top: 2px;" 57 <svg
56 t="1711708779620" version="1.1" viewBox="0 0 1024 1024" width="20" xmlns="http://www.w3.org/2000/svg"> 58 class="icon" height="20" p-id="7920" style="position: relative;top: 2px;"
59 t="1711708779620" version="1.1" viewBox="0 0 1024 1024" width="20"
60 xmlns="http://www.w3.org/2000/svg"
61 >
57 <path 62 <path
58 d="M398.652952 165.692952c-32.280381-46.006857-58.172952-61.318095-92.867047-54.808381-14.969905 2.80381-24.210286 7.850667-41.20381 22.528l-12.946285 11.361524-25.185524 20.894476-6.582857 5.753905c-3.705905 3.413333-6.38781 6.217143-9.825524 10.118095-64 72.46019-81.724952 185.782857-44.470857 292.327619 26.794667 76.55619 74.605714 152.624762 142.774857 228.644572 72.289524 80.62781 133.046857 131.364571 202.922666 168.374857 54.857143 29.013333 96.865524 41.74019 145.676191 43.227429 59.001905 1.828571 110.957714-11.50781 153.648762-39.15581a162.133333 162.133333 0 0 0 19.553524-15.189333l8.289523-7.558095 16.335239-15.213715 5.534476-4.924952 10.922666-9.435429c22.040381-19.651048 29.184-31.939048 30.646858-51.370666 2.194286-29.647238-11.215238-52.736-49.737143-85.699048l-26.063238-21.820952-12.117334-10.581334-11.459047-9.825524c-37.229714-30.744381-64.804571-40.69181-100.205715-35.35238-24.283429 3.632762-38.278095 12.141714-63.073523 38.107428l-10.947048 11.654095c-18.041905 19.017143-28.330667 26.258286-43.544381 29.305905-22.25981 4.461714-44.373333-7.046095-80.262095-36.205714-46.250667-37.546667-84.626286-80.676571-117.613715-131.949714-22.869333-35.766857-31.890286-62.902857-24.941714-87.600762 2.82819-9.99619 9.679238-17.042286 24.064-28.184381l14.994286-11.312762 2.413714-1.877334 22.747429-18.553904c20.114286-16.822857 28.281905-28.281905 32.572952-45.836191 8.899048-36.10819 0.487619-66.072381-32.426667-117.638095l-15.62819-24.234667-5.558857-8.533333-6.436572-9.435429z" 63 d="M398.652952 165.692952c-32.280381-46.006857-58.172952-61.318095-92.867047-54.808381-14.969905 2.80381-24.210286 7.850667-41.20381 22.528l-12.946285 11.361524-25.185524 20.894476-6.582857 5.753905c-3.705905 3.413333-6.38781 6.217143-9.825524 10.118095-64 72.46019-81.724952 185.782857-44.470857 292.327619 26.794667 76.55619 74.605714 152.624762 142.774857 228.644572 72.289524 80.62781 133.046857 131.364571 202.922666 168.374857 54.857143 29.013333 96.865524 41.74019 145.676191 43.227429 59.001905 1.828571 110.957714-11.50781 153.648762-39.15581a162.133333 162.133333 0 0 0 19.553524-15.189333l8.289523-7.558095 16.335239-15.213715 5.534476-4.924952 10.922666-9.435429c22.040381-19.651048 29.184-31.939048 30.646858-51.370666 2.194286-29.647238-11.215238-52.736-49.737143-85.699048l-26.063238-21.820952-12.117334-10.581334-11.459047-9.825524c-37.229714-30.744381-64.804571-40.69181-100.205715-35.35238-24.283429 3.632762-38.278095 12.141714-63.073523 38.107428l-10.947048 11.654095c-18.041905 19.017143-28.330667 26.258286-43.544381 29.305905-22.25981 4.461714-44.373333-7.046095-80.262095-36.205714-46.250667-37.546667-84.626286-80.676571-117.613715-131.949714-22.869333-35.766857-31.890286-62.902857-24.941714-87.600762 2.82819-9.99619 9.679238-17.042286 24.064-28.184381l14.994286-11.312762 2.413714-1.877334 22.747429-18.553904c20.114286-16.822857 28.281905-28.281905 32.572952-45.836191 8.899048-36.10819 0.487619-66.072381-32.426667-117.638095l-15.62819-24.234667-5.558857-8.533333-6.436572-9.435429z"
59 fill="#d3d8d9" p-id="7921"></path> 64 fill="#d3d8d9" p-id="7921"
65 />
60 </svg> 66 </svg>
61 {{ language == 0 ? '联系电话' : 'TEL' }}</label>086-{{ matchData.contactTelno }} 67 {{ language == 0 ? '联系电话' : 'TEL' }}</label>086-{{ matchData.contactTelno }}
62 </p> 68 </p>
63 <p class="ppl"> 69 <p class="ppl">
64 <label> 70 <label>
65 <svg class="icon" height="18" p-id="40177" style="position: relative;top: 4px;" 71 <svg
72 class="icon" height="18" p-id="40177" style="position: relative;top: 4px;"
66 t="1712726978978" version="1.1" viewBox="0 0 1024 1024" 73 t="1712726978978" version="1.1" viewBox="0 0 1024 1024"
67 width="18" xmlns="http://www.w3.org/2000/svg"> 74 width="18" xmlns="http://www.w3.org/2000/svg"
75 >
68 <path 76 <path
69 d="M853.333333 341.333333l-341.333333 213.333334-341.333333-213.333334V256l341.333333 213.333333 341.333333-213.333333m0-85.333333H170.666667c-47.36 0-85.333333 37.973333-85.333334 85.333333v512a85.333333 85.333333 0 0 0 85.333334 85.333333h682.666666a85.333333 85.333333 0 0 0 85.333334-85.333333V256a85.333333 85.333333 0 0 0-85.333334-85.333333z" 77 d="M853.333333 341.333333l-341.333333 213.333334-341.333333-213.333334V256l341.333333 213.333333 341.333333-213.333333m0-85.333333H170.666667c-47.36 0-85.333333 37.973333-85.333334 85.333333v512a85.333333 85.333333 0 0 0 85.333334 85.333333h682.666666a85.333333 85.333333 0 0 0 85.333334-85.333333V256a85.333333 85.333333 0 0 0-85.333334-85.333333z"
70 fill="#d3d8d9" p-id="40178"></path> 78 fill="#d3d8d9" p-id="40178"
79 />
71 </svg> 80 </svg>
72 {{ language == 0 ? '邮&ensp;&ensp;&ensp;&ensp;箱' : 'EMAIL' }} 81 {{ language == 0 ? '邮&ensp;&ensp;&ensp;&ensp;箱' : 'EMAIL' }}
73 </label> 82 </label>
...@@ -75,12 +84,15 @@ ...@@ -75,12 +84,15 @@
75 </p> 84 </p>
76 <p class="ppl"> 85 <p class="ppl">
77 <label> 86 <label>
78 <svg class="icon" height="18" p-id="6578" style="position: relative;top: 2px;" 87 <svg
88 class="icon" height="18" p-id="6578" style="position: relative;top: 2px;"
79 t="1711707785514" version="1.1" viewBox="0 0 1024 1024" 89 t="1711707785514" version="1.1" viewBox="0 0 1024 1024"
80 width="18" xmlns="http://www.w3.org/2000/svg"> 90 width="18" xmlns="http://www.w3.org/2000/svg"
91 >
81 <path 92 <path
82 d="M780 68H256c-71.6 0-130.2 55.5-130.2 123.2v711.2c1.5 42.8 50 69.3 90.6 50.6l227.2-105c38.5-17.8 83.4-18.5 122.6-1.9l255.4 108.6c34.8 14.8 76.1-2.7 86.3-37.6 1.6-5.4 2.4-11 2.4-16.9v-709C910.2 123.5 851.6 68 780 68zM276.9 231.3h255.9c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41z m386.8 464H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41h386.8c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41z m0-191H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41h386.8c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41z" 93 d="M780 68H256c-71.6 0-130.2 55.5-130.2 123.2v711.2c1.5 42.8 50 69.3 90.6 50.6l227.2-105c38.5-17.8 83.4-18.5 122.6-1.9l255.4 108.6c34.8 14.8 76.1-2.7 86.3-37.6 1.6-5.4 2.4-11 2.4-16.9v-709C910.2 123.5 851.6 68 780 68zM276.9 231.3h255.9c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41z m386.8 464H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41h386.8c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41z m0-191H276.9c-23.9 0-43.3-18.4-43.3-41s19.4-41 43.3-41h386.8c23.9 0 43.3 18.4 43.3 41s-19.4 41-43.3 41z"
83 fill="#d3d8d9" p-id="6579"></path> 94 fill="#d3d8d9" p-id="6579"
95 />
84 </svg> 96 </svg>
85 {{ language == 0 ? '分&ensp;站&ensp;赛' : 'NO. OF TOURNAMENTS' }}</label> 97 {{ language == 0 ? '分&ensp;站&ensp;赛' : 'NO. OF TOURNAMENTS' }}</label>
86 {{ matchData.cpts.length }} 98 {{ matchData.cpts.length }}
...@@ -112,30 +124,39 @@ ...@@ -112,30 +124,39 @@
112 <label>{{ language == 0 ? '邮&ensp;&ensp;&ensp;&ensp;箱' : 'EMAIL' }}</label> 124 <label>{{ language == 0 ? '邮&ensp;&ensp;&ensp;&ensp;箱' : 'EMAIL' }}</label>
113 {{ matchData.contactEmail }}</p> 125 {{ matchData.contactEmail }}</p>
114 </div> 126 </div>
115 <div style="height: 30px"></div> 127 <div style="height: 30px" />
116 <div class="ppl_pb"> 128 <div class="ppl_pb">
117 <el-link v-if="matchData.signKnowUrl&&JSON.parse(matchData.signKnowUrl)?.length>0" :href="fillImgUrl(JSON.parse(matchData.signKnowUrl)[0]?.url)" 129 <el-link
130 v-if="matchData.signKnowUrl&&JSON.parse(matchData.signKnowUrl)?.length>0"
131 :href="fillImgUrl(JSON.parse(matchData.signKnowUrl)[0]?.url)"
118 class="mr20" 132 class="mr20"
119 target="_blank" type="primary"> 133 target="_blank" type="primary"
134 >
120 <el-icon :size="20"> 135 <el-icon :size="20">
121 <Download/> 136 <Download />
122 </el-icon> 137 </el-icon>
123 {{ language == 0 ? '报名须知' : 'Notes' }} 138 {{ language == 0 ? '报名须知' : 'Notes' }}
124 </el-link> 139 </el-link>
125 140
126 <el-link v-if="matchData.disclaimerUrl&&JSON.parse(matchData.disclaimerUrl)?.length>0" :href="fillImgUrl(JSON.parse(matchData.disclaimerUrl)[0]?.url)" 141 <el-link
142 v-if="matchData.disclaimerUrl&&JSON.parse(matchData.disclaimerUrl)?.length>0"
143 :href="fillImgUrl(JSON.parse(matchData.disclaimerUrl)[0]?.url)"
127 class="mr20" 144 class="mr20"
128 target="_blank" type="primary"> 145 target="_blank" type="primary"
146 >
129 <el-icon :size="20"> 147 <el-icon :size="20">
130 <Download/> 148 <Download />
131 </el-icon> 149 </el-icon>
132 {{ language == 0 ? '免责声明' : 'Disclaimers' }} 150 {{ language == 0 ? '免责声明' : 'Disclaimers' }}
133 </el-link> 151 </el-link>
134 <el-link v-if="matchData.ruleUrl&&JSON.parse(matchData.ruleUrl)?.length>0" :href="fillImgUrl(JSON.parse(matchData.ruleUrl)[0]?.url)" 152 <el-link
153 v-if="matchData.ruleUrl&&JSON.parse(matchData.ruleUrl)?.length>0"
154 :href="fillImgUrl(JSON.parse(matchData.ruleUrl)[0]?.url)"
135 target="_blank" 155 target="_blank"
136 type="primary"> 156 type="primary"
157 >
137 <el-icon :size="20"> 158 <el-icon :size="20">
138 <Download/> 159 <Download />
139 </el-icon> 160 </el-icon>
140 {{ language == 0 ? '赛事规程' : 'Competition Regulations' }} 161 {{ language == 0 ? '赛事规程' : 'Competition Regulations' }}
141 </el-link> 162 </el-link>
...@@ -165,9 +186,11 @@ ...@@ -165,9 +186,11 @@
165 </van-count-down> 186 </van-count-down>
166 187
167 <div class="flexCenter"> 188 <div class="flexCenter">
168 <el-button v-if="matchData.progressStatusCode=='2'" ref="RegisterRef" class="btn-lineG mt10 w100" round 189 <el-button
190 v-if="matchData.progressStatusCode=='2'" ref="RegisterRef" class="btn-lineG mt10 w100" round
169 style="font-size: 16px" 191 style="font-size: 16px"
170 type="primary" @click="choseSignType"> 192 type="primary" @click="choseSignType"
193 >
171 {{ language == 0 ? '我要报名' : 'REGISTER' }} 194 {{ language == 0 ? '我要报名' : 'REGISTER' }}
172 </el-button> 195 </el-button>
173 <div v-else-if="time<=0" class="btn-lineG mb20 mauto text-center" style="opacity: 0.5;"> 196 <div v-else-if="time<=0" class="btn-lineG mb20 mauto text-center" style="opacity: 0.5;">
...@@ -183,10 +206,11 @@ ...@@ -183,10 +206,11 @@
183 206
184 </el-col> 207 </el-col>
185 </el-row> 208 </el-row>
209
186 </el-card> 210 </el-card>
187 211
188 <!-- 只联赛有--> 212 <!-- 只联赛有-->
189 <quick-row v-if="matchData.leagueId==0" :match-id="matchId"/> 213 <quick-row v-if="matchData.leagueId==0" :match-id="matchId" />
190 214
191 <el-row v-if="matchData.type=='0'" :gutter="20"> 215 <el-row v-if="matchData.type=='0'" :gutter="20">
192 <el-col :lg="18"> 216 <el-col :lg="18">
...@@ -198,11 +222,11 @@ ...@@ -198,11 +222,11 @@
198 </li> 222 </li>
199 </ul> 223 </ul>
200 </div> 224 </div>
201 <matchInfo v-if="menu[0].active==1" :form="matchData"/> 225 <matchInfo v-if="menu[0].active==1" :form="matchData" />
202 <div v-if="menu[1].active==1"> 226 <div v-if="menu[1].active==1">
203 <match-info-project-list :is-national="isNational" :match-id="matchData.id"/> 227 <match-info-project-list :is-national="isNational" :match-id="matchData.id" />
204 </div> 228 </div>
205 <match-schedule-list v-if="menu[2].active==1" :match-data="matchData"/> 229 <match-schedule-list v-if="menu[2].active==1" :match-data="matchData" />
206 <div v-if="menu[3].active==1"> 230 <div v-if="menu[3].active==1">
207 <div v-if="matchData.showPersonFlag=='1'"> 231 <div v-if="matchData.showPersonFlag=='1'">
208 <!-- <el-row :gutter="20" v-if="matchData.signType == '0'">--> 232 <!-- <el-row :gutter="20" v-if="matchData.signType == '0'">-->
...@@ -217,32 +241,52 @@ ...@@ -217,32 +241,52 @@
217 <el-col :span="24"> 241 <el-col :span="24">
218 <div class="fr mb20"> 242 <div class="fr mb20">
219 <div class="flex"> 243 <div class="flex">
220 <el-input v-model="queryGroupList.groupName" :placeholder="language == 0 ? '请输入参赛队名称' :'Please enter the Team name'" :prefix-icon="Search" class="mr10" 244 <el-input
245 v-model="queryGroupList.groupName"
246 :placeholder="language == 0 ? '请输入参赛队名称' :'Please enter the Team name'"
247 :prefix-icon="Search" class="mr10"
221 clearable 248 clearable
222 size="small" @change="getGroupListByCptId"/> 249 size="small" @change="getGroupListByCptId"
223 <el-input v-model="queryGroupList.athleteName" :placeholder=" language == 0 ? '请输入运动员查询' :'Please enter the athlete name'" :prefix-icon="Search" 250 />
251 <el-input
252 v-model="queryGroupList.athleteName"
253 :placeholder=" language == 0 ? '请输入运动员查询' :'Please enter the athlete name'"
254 :prefix-icon="Search"
224 clearable 255 clearable
225 size="small" @change="getGroupListByCptId"/> 256 size="small" @change="getGroupListByCptId"
257 />
226 </div> 258 </div>
227 </div> 259 </div>
228 <el-table :data="signDoneGroupList"> 260 <el-table :data="signDoneGroupList">
229 <el-table-column :label="language == 0 ? '组别代码' :'EVENT CODE'" align="center" min-width="120" 261 <el-table-column
230 prop="groupCode"/> 262 :label="language == 0 ? '组别代码' :'EVENT CODE'" align="center" min-width="120"
263 prop="groupCode"
264 />
231 <el-table-column :label="language == 0 ?'组别':'EVENT'" min-width="200" prop="group"> 265 <el-table-column :label="language == 0 ?'组别':'EVENT'" min-width="200" prop="group">
232 <template #default="scope"> 266 <template #default="scope">
233 <div class="esp">{{ scope.row.group }}</div> 267 <div class="esp">{{ scope.row.group }}</div>
234 </template> 268 </template>
235 </el-table-column> 269 </el-table-column>
236 <el-table-column :label="language == 0 ?'男运动员':'man name'" min-width="150" 270 <el-table-column
237 prop="maleAthName"/> 271 :label="language == 0 ?'男运动员':'man name'" min-width="150"
238 <el-table-column :label="language == 0 ?'女运动员':'woman name'" min-width="150" 272 prop="maleAthName"
239 prop="femaleAthName"/> 273 />
240 <el-table-column :label="language == 0 ?'舞种':'Division'" align="center" min-width="90" 274 <el-table-column
241 prop="danceType"/> 275 :label="language == 0 ?'女运动员':'woman name'" min-width="150"
242 <el-table-column :label="language == 0 ?'国籍':'Representing'" align="center" min-width="130" 276 prop="femaleAthName"
243 prop="countryName"/> 277 />
244 <el-table-column :label="language == 0 ?'参赛队名称':'Team name'" align="center" min-width="150" 278 <el-table-column
245 prop="groupName"/> 279 :label="language == 0 ?'舞种':'Division'" align="center" min-width="90"
280 prop="danceType"
281 />
282 <el-table-column
283 :label="language == 0 ?'国籍':'Representing'" align="center" min-width="130"
284 prop="countryName"
285 />
286 <el-table-column
287 :label="language == 0 ?'参赛队名称':'Team name'" align="center" min-width="150"
288 prop="groupName"
289 />
246 </el-table> 290 </el-table>
247 <PaginationPc 291 <PaginationPc
248 v-show="signDoneGroupListToTal>0" 292 v-show="signDoneGroupListToTal>0"
...@@ -255,22 +299,24 @@ ...@@ -255,22 +299,24 @@
255 </el-row> 299 </el-row>
256 </div> 300 </div>
257 <div v-else> 301 <div v-else>
258 <el-empty :image="`/img/order_no.png`" :image-size="228" description=""/> 302 <el-empty :image="`/img/order_no.png`" :image-size="228" description="" />
259 </div> 303 </div>
260 304
261 </div> 305 </div>
262 <div v-if="menu[4].active==1"> 306 <div v-if="menu[4].active==1">
263 <!--成绩--> 307 <!--成绩-->
264 <el-empty :image="`/img/order_no.png`" :image-size="228" description=""/> 308 <el-empty :image="`/img/order_no.png`" :image-size="228" description="" />
265 </div> 309 </div>
266 <div v-if="menu[5].active==1" class="pd20"> 310 <div v-if="menu[5].active==1" class="pd20">
267 <div class="xzbox"> 311 <div class="xzbox">
268 <div v-html="matchData.signKnow"></div> 312 <div v-html="matchData.signKnow" />
269 <div v-if="matchData.signKnowUrl"> 313 <div v-if="matchData.signKnowUrl">
270 <el-link v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" :href="fillImgUrl(item.url)" 314 <el-link
271 target="_blank" type="primary"> 315 v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" :href="fillImgUrl(item.url)"
316 target="_blank" type="primary"
317 >
272 <el-icon :size="20"> 318 <el-icon :size="20">
273 <Download/> 319 <Download />
274 </el-icon> 320 </el-icon>
275 {{ item.name }} 321 {{ item.name }}
276 </el-link> 322 </el-link>
...@@ -278,11 +324,11 @@ ...@@ -278,11 +324,11 @@
278 </div> 324 </div>
279 </div> 325 </div>
280 </el-card> 326 </el-card>
281 <div style="height: 20px"></div> 327 <div style="height: 20px" />
282 328
283 </el-col> 329 </el-col>
284 <el-col :lg="6"> 330 <el-col :lg="6">
285 <match-news :match-id="matchId"/> 331 <match-news :match-id="matchId" />
286 </el-col> 332 </el-col>
287 </el-row> 333 </el-row>
288 334
...@@ -297,24 +343,26 @@ ...@@ -297,24 +343,26 @@
297 </ul> 343 </ul>
298 </div> 344 </div>
299 <!-- 分站赛--> 345 <!-- 分站赛-->
300 <substation-list v-if="menu1[0].active==1" :list="matchData.cpts"/> 346 <substation-list v-if="menu1[0].active==1" :list="matchData.cpts" />
301 <matchInfo v-if="menu1[1].active==1" :form="matchData"/> 347 <matchInfo v-if="menu1[1].active==1" :form="matchData" />
302 <match-schedule-list v-if="menu1[2].active==1" :match-data="matchData"/> 348 <match-schedule-list v-if="menu1[2].active==1" :match-data="matchData" />
303 </el-card> 349 </el-card>
304 </el-col> 350 </el-col>
305 </el-row> 351 </el-row>
306 </div> 352 </div>
307 353
308 <div v-if="matchData.leagueId==0" class="fixed_gg_l" @click="applyInvitation"> 354 <div v-if="matchData.leagueId==0" class="fixed_gg_l" @click="applyInvitation">
309 <img v-if="language==0" src="@/assets/logo/Invitation_c.png"/> 355 <img v-if="language==0" src="@/assets/logo/Invitation_c.png">
310 <img v-else src="@/assets/logo/Invitation_e.png"/> 356 <img v-else src="@/assets/logo/Invitation_e.png">
311 </div> 357 </div>
312 358
313 <affix-invitation ref="dialogInvitationRef"/> 359 <affix-invitation ref="dialogInvitationRef" />
314 <div style="height: 50px"></div> 360 <div style="height: 50px" />
315 361
316 <el-dialog v-model="signTypePop" center class="pcloginpop" 362 <el-dialog
317 close-icon="CircleClose" title="Choose Type" width="450px"> 363 v-model="signTypePop" center class="pcloginpop"
364 close-icon="CircleClose" title="Choose Type" width="450px"
365 >
318 <div> 366 <div>
319 <div class="rItem r1" @click="goLogin"> 367 <div class="rItem r1" @click="goLogin">
320 <h3>{{ language == 0 ? '机构用户' : 'Organization' }}</h3> 368 <h3>{{ language == 0 ? '机构用户' : 'Organization' }}</h3>
...@@ -324,8 +372,10 @@ ...@@ -324,8 +372,10 @@
324 </div> 372 </div>
325 </div> 373 </div>
326 </el-dialog> 374 </el-dialog>
327 <el-dialog v-model="upgradePop" center class="pcloginpop" 375 <el-dialog
328 close-icon="CircleClose" title="Upgrade" width="450px"> 376 v-model="upgradePop" center class="pcloginpop"
377 close-icon="CircleClose" title="Upgrade" width="450px"
378 >
329 <div> 379 <div>
330 <div class="rItem r1" @click="goUpdateTeam"> 380 <div class="rItem r1" @click="goUpdateTeam">
331 <h3>{{ language == 0 ? '升级机构用户' : 'Organization' }}</h3> 381 <h3>{{ language == 0 ? '升级机构用户' : 'Organization' }}</h3>
...@@ -336,35 +386,39 @@ ...@@ -336,35 +386,39 @@
336 </div> 386 </div>
337 </el-dialog> 387 </el-dialog>
338 388
339 <!-- v-if="matchData.leagueId==0"--> 389 <!-- v-if="matchData.leagueId==0"-->
340 <a class="ding" v-if="matchData.isAirView" @click="openPickup" >{{ language==0?'接 / 送机服务':'Pick-up/drop-off service' }}</a> 390 <a
341 <pickup ref="pickupRef"></pickup> 391 v-if="matchData.isAirView" class="ding"
392 @click="openPickup"
393 >{{ language == 0 ? '接 / 送机服务' : 'Pick-up/drop-off service' }}</a>
394 <pickup ref="pickupRef" />
342 </div> 395 </div>
343 </template> 396 </template>
344 397
345 <script setup> 398 <script setup>
346 import MatchInfo from '@/viewsPc/match/components/matchInfo' 399 import MatchInfo from '@/viewsPc/match/components/matchInfo'
347 import MatchScheduleList from "@/viewsPc/match/components/matchScheduleList"; 400 import MatchScheduleList from '@/viewsPc/match/components/matchScheduleList'
348 import MatchNews from "@/viewsPc/match/components/matchNews"; 401 import MatchNews from '@/viewsPc/match/components/matchNews'
349 import SubstationList from "@/viewsPc/match/components/substation-list"; 402 import SubstationList from '@/viewsPc/match/components/substation-list'
350 import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList"; 403 import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList'
351 import QuickRow from "@/viewsPc/match/components/quick-row"; 404 import QuickRow from '@/viewsPc/match/components/quick-row'
352 import Pickup from '@/viewsPc/components/pickup' 405 import Pickup from '@/viewsPc/components/pickup'
353 import {getCurrentInstance, ref} from 'vue' 406 import { getCurrentInstance, ref } from 'vue'
354 import {reactive, onMounted} from '@vue/runtime-core' 407 import { reactive, onMounted } from '@vue/runtime-core'
355 import {useRoute, useRouter} from 'vue-router' 408 import { useRoute, useRouter } from 'vue-router'
356 import AffixInvitation from '@/viewsPc/match/components/affix-invitation' 409 import AffixInvitation from '@/viewsPc/match/components/affix-invitation'
357 410
358 const language = useStorage('language', 0) 411 const language = useStorage('language', 0)
359 const route = useRoute() 412 const route = useRoute()
360 const router = useRouter() 413 const router = useRouter()
361 const {proxy} = getCurrentInstance() 414 const { proxy } = getCurrentInstance()
362 import * as match from '@/apiPc/match' 415 import * as match from '@/apiPc/match'
363 import {toRefs} from '@vueuse/shared' 416 import { toRefs } from '@vueuse/shared'
364 import {dayjs, ElMessage, ElMessageBox} from 'element-plus' 417 import { dayjs, ElMessage, ElMessageBox } from 'element-plus'
365 import useUserStore from "@/store/modules/user" 418 import useUserStore from '@/store/modules/user'
366 import {useStorage} from "@vueuse/core/index" 419 import { useStorage } from '@vueuse/core/index'
367 import {Search} from "@element-plus/icons-vue" 420 import { Search } from '@element-plus/icons-vue'
421 import { preCheckForGroup } from '@/apiPc/match'
368 422
369 const user = useUserStore().user 423 const user = useUserStore().user
370 const group = useUserStore().group 424 const group = useUserStore().group
...@@ -376,16 +430,16 @@ const data = reactive({ ...@@ -376,16 +430,16 @@ const data = reactive({
376 groupId: '', 430 groupId: '',
377 activeName2: 'first', 431 activeName2: 'first',
378 menu: [ 432 menu: [
379 {name: 'Event details', cn: '赛事详情', active: 1}, 433 { name: 'Event details', cn: '赛事详情', active: 1 },
380 {name: 'Event settings', cn: '赛事设项', active: 0}, 434 { name: 'Event settings', cn: '赛事设项', active: 0 },
381 {name: 'Schedule', cn: '日程', active: 0}, 435 { name: 'Schedule', cn: '日程', active: 0 },
382 {name: 'Participating teams', cn: '参赛人员', active: 0}, 436 { name: 'Participating teams', cn: '参赛人员', active: 0 },
383 {name: 'Achievement', cn: '成绩', active: 0}, 437 { name: 'Achievement', cn: '成绩', active: 0 },
384 {name: 'Notes', cn: '报名须知', active: 0}], 438 { name: 'Notes', cn: '报名须知', active: 0 }],
385 menu1: [ 439 menu1: [
386 {name: 'Tournaments', cn: '分站赛', active: 1}, 440 { name: 'Tournaments', cn: '分站赛', active: 1 },
387 {name: 'Event details', cn: '赛事详情', active: 0}, 441 { name: 'Event details', cn: '赛事详情', active: 0 },
388 {name: 'Schedule', cn: '日程', active: 0}], 442 { name: 'Schedule', cn: '日程', active: 0 }],
389 signDoneGroupList: [], 443 signDoneGroupList: [],
390 signDoneGroupListToTal: 0, 444 signDoneGroupListToTal: 0,
391 queryGroupList: { 445 queryGroupList: {
...@@ -426,7 +480,7 @@ onMounted(() => { ...@@ -426,7 +480,7 @@ onMounted(() => {
426 }) 480 })
427 481
428 function getMatchId() { 482 function getMatchId() {
429 match.getMaList({topFlag: 1, status: 1}).then((res) => { 483 match.getMaList({ topFlag: 1, status: 1 }).then((res) => {
430 matchId.value = res.rows[0].id 484 matchId.value = res.rows[0].id
431 getMatch(matchId.value) 485 getMatch(matchId.value)
432 getGroupListByCptId() 486 getGroupListByCptId()
...@@ -435,7 +489,7 @@ function getMatchId() { ...@@ -435,7 +489,7 @@ function getMatchId() {
435 489
436 function getMatch(id) { 490 function getMatch(id) {
437 loading.value = true 491 loading.value = true
438 match.getMatchById({id: id}).then(res => { 492 match.getMatchById({ id: id }).then(res => {
439 matchData.value = res.data 493 matchData.value = res.data
440 loading.value = false 494 loading.value = false
441 var today = dayjs().format('YYYY-MM-DD HH:mm:ss') 495 var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
...@@ -447,7 +501,7 @@ function getMatch(id) { ...@@ -447,7 +501,7 @@ function getMatch(id) {
447 isNational.value = true 501 isNational.value = true
448 } 502 }
449 }).catch(res => { 503 }).catch(res => {
450 router.push({path: '/match/list'}) 504 router.push({ path: '/match/list' })
451 loading.value = false 505 loading.value = false
452 // setTimeout("window.location.reload()", 1000) 506 // setTimeout("window.location.reload()", 1000)
453 }) 507 })
...@@ -474,11 +528,12 @@ function changeMenu(menu, l) { ...@@ -474,11 +528,12 @@ function changeMenu(menu, l) {
474 } 528 }
475 } 529 }
476 530
531
477 function choseSignType() { 532 function choseSignType() {
478 console.log(matchData.value.signType, matchData.value.languageSource, user) 533 console.log(matchData.value.signType, matchData.value.languageSource, user)
479 534
480 if (!user) { 535 if (!user) {
481 //判断signType,如1个人注册-报名; 536 // 判断signType,如1个人注册-报名;
482 switch (matchData.value.signType) { 537 switch (matchData.value.signType) {
483 case '0': 538 case '0':
484 goGeren() 539 goGeren()
...@@ -498,7 +553,7 @@ function choseSignType() { ...@@ -498,7 +553,7 @@ function choseSignType() {
498 } 553 }
499 554
500 function goUpdateTeam() { 555 function goUpdateTeam() {
501 //升级团队 556 // 升级团队
502 router.push({ 557 router.push({
503 name: 'teamRegister', 558 name: 'teamRegister',
504 query: { 559 query: {
...@@ -509,7 +564,7 @@ function goUpdateTeam() { ...@@ -509,7 +564,7 @@ function goUpdateTeam() {
509 } 564 }
510 565
511 function goUpdatePersonal() { 566 function goUpdatePersonal() {
512 //升级团队 567 // 升级团队
513 router.push({ 568 router.push({
514 name: 'personalRegister', 569 name: 'personalRegister',
515 query: { 570 query: {
...@@ -528,7 +583,7 @@ function goTeamSign() { ...@@ -528,7 +583,7 @@ function goTeamSign() {
528 { 583 {
529 confirmButtonText: language.value == 1 ? 'OK' : '确定', 584 confirmButtonText: language.value == 1 ? 'OK' : '确定',
530 cancelButtonText: language.value == 1 ? 'Cancel' : '取消', 585 cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
531 type: 'warning', 586 type: 'warning'
532 } 587 }
533 ) 588 )
534 return 589 return
...@@ -552,7 +607,7 @@ function goTeamSign() { ...@@ -552,7 +607,7 @@ function goTeamSign() {
552 { 607 {
553 confirmButtonText: language.value == 1 ? 'OK' : '确定', 608 confirmButtonText: language.value == 1 ? 'OK' : '确定',
554 cancelButtonText: language.value == 1 ? 'Cancel' : '取消', 609 cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
555 type: 'warning', 610 type: 'warning'
556 } 611 }
557 ) 612 )
558 return 613 return
...@@ -568,7 +623,6 @@ function goTeamSign() { ...@@ -568,7 +623,6 @@ function goTeamSign() {
568 } 623 }
569 }) 624 })
570 } 625 }
571
572 } 626 }
573 627
574 function goPersonalSign() { 628 function goPersonalSign() {
...@@ -586,12 +640,12 @@ function goLogin() { ...@@ -586,12 +640,12 @@ function goLogin() {
586 } 640 }
587 641
588 function goGeren() { 642 function goGeren() {
589 //注册 643 // 注册
590 router.push({name: 'personalRegister', query: {matchId: matchId.value}}) 644 router.push({ name: 'personalRegister', query: { matchId: matchId.value }})
591 } 645 }
592 646
593 function popChangeType() { 647 function popChangeType() {
594 //选择登录类型 648 // 选择登录类型
595 signTypePop.value = true 649 signTypePop.value = true
596 } 650 }
597 651
...@@ -614,7 +668,7 @@ function checkIsSign() { ...@@ -614,7 +668,7 @@ function checkIsSign() {
614 { 668 {
615 confirmButtonText: language.value == 1 ? 'Withdraw the registration' : '撤回报名信息', 669 confirmButtonText: language.value == 1 ? 'Withdraw the registration' : '撤回报名信息',
616 cancelButtonText: language.value == 1 ? 'Cancel' : '取消', 670 cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
617 type: 'warning', 671 type: 'warning'
618 } 672 }
619 ).then(() => { 673 ).then(() => {
620 withDraw(res.data.orderId) 674 withDraw(res.data.orderId)
...@@ -628,7 +682,7 @@ function checkIsSign() { ...@@ -628,7 +682,7 @@ function checkIsSign() {
628 { 682 {
629 confirmButtonText: language.value == 1 ? 'OK' : '确定', 683 confirmButtonText: language.value == 1 ? 'OK' : '确定',
630 cancelButtonText: language.value == 1 ? 'Cancel' : '取消', 684 cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
631 type: 'warning', 685 type: 'warning'
632 } 686 }
633 ).then(() => { 687 ).then(() => {
634 reSign() 688 reSign()
...@@ -642,7 +696,7 @@ function checkIsSign() { ...@@ -642,7 +696,7 @@ function checkIsSign() {
642 { 696 {
643 confirmButtonText: language.value == 1 ? 'OK' : '确定', 697 confirmButtonText: language.value == 1 ? 'OK' : '确定',
644 cancelButtonText: language.value == 1 ? 'Cancel' : '取消', 698 cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
645 type: 'warning', 699 type: 'warning'
646 } 700 }
647 ).then(() => { 701 ).then(() => {
648 reSign() 702 reSign()
...@@ -657,7 +711,7 @@ function checkIsSign() { ...@@ -657,7 +711,7 @@ function checkIsSign() {
657 { 711 {
658 confirmButtonText: language.value == 1 ? 'OK' : '确定', 712 confirmButtonText: language.value == 1 ? 'OK' : '确定',
659 cancelButtonText: language.value == 1 ? 'Cancel' : '取消', 713 cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
660 type: 'warning', 714 type: 'warning'
661 } 715 }
662 ).then(() => { 716 ).then(() => {
663 // router.push({name: 'myMatch'}) 717 // router.push({name: 'myMatch'})
...@@ -672,7 +726,7 @@ function checkIsSign() { ...@@ -672,7 +726,7 @@ function checkIsSign() {
672 { 726 {
673 confirmButtonText: language.value == 1 ? 'OK' : '确定', 727 confirmButtonText: language.value == 1 ? 'OK' : '确定',
674 cancelButtonText: language.value == 1 ? 'Cancel' : '取消', 728 cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
675 type: 'warning', 729 type: 'warning'
676 } 730 }
677 ) 731 )
678 return Promise.reject('rejected message') 732 return Promise.reject('rejected message')
...@@ -695,9 +749,19 @@ function reSign() { ...@@ -695,9 +749,19 @@ function reSign() {
695 749
696 function switchSignType() { 750 function switchSignType() {
697 switch (matchData.value.signType) { 751 switch (matchData.value.signType) {
698 case '0': 752 case '0':// 个人
699 if (user.utype == '1') { 753 if (user.utype == '1') {
754 match.preCheckForPerson().then(res => {
755 if (res.data == 1) {
700 goPersonalSign() 756 goPersonalSign()
757 } else {
758 return proxy.$modal.msgError(
759 language.value == 0
760 ? '您绑定的WDSF会员号已过期,请先到WDSF官网激活您的会员号。'
761 : 'Your bound WDSF Number has expired. Please activate your WDSF Number on the WDSF official website first.'
762 )
763 }
764 })
701 } 765 }
702 if (user.utype == '2') { 766 if (user.utype == '2') {
703 ElMessageBox.confirm( 767 ElMessageBox.confirm(
...@@ -706,7 +770,7 @@ function switchSignType() { ...@@ -706,7 +770,7 @@ function switchSignType() {
706 { 770 {
707 confirmButtonText: language.value == 0 ? '好的' : 'OK', 771 confirmButtonText: language.value == 0 ? '好的' : 'OK',
708 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 772 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
709 type: 'warning', 773 type: 'warning'
710 } 774 }
711 ) 775 )
712 } 776 }
...@@ -714,7 +778,9 @@ function switchSignType() { ...@@ -714,7 +778,9 @@ function switchSignType() {
714 goGeren() 778 goGeren()
715 } 779 }
716 break 780 break
717 case '1': 781 case '1':// 团体
782
783
718 if (user.utype == '1') { 784 if (user.utype == '1') {
719 ElMessageBox.confirm( 785 ElMessageBox.confirm(
720 language.value == 0 ? '当前活动是团队活动,无法报名' : 'The current event is a team event, cannot register', 786 language.value == 0 ? '当前活动是团队活动,无法报名' : 'The current event is a team event, cannot register',
...@@ -722,27 +788,29 @@ function switchSignType() { ...@@ -722,27 +788,29 @@ function switchSignType() {
722 { 788 {
723 confirmButtonText: language.value == 0 ? '好的' : 'OK', 789 confirmButtonText: language.value == 0 ? '好的' : 'OK',
724 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 790 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
725 type: 'warning', 791 type: 'warning'
726 } 792 }
727 ) 793 )
728 } 794 }
729 if (user.utype == '2') { 795 if (user.utype == '2') {
730 goTeamSign() 796 match.preCheckForGroup(groupId.value).then(goTeamSign)
731 } 797 }
732 if (user.utype == '3') { 798 if (user.utype == '3') {
733 // 团队活动 且 游客 799 // 团队活动 且 游客
734 upgradePop.value = true 800 upgradePop.value = true
735 } 801 }
736 break 802 break
737 case '2': 803 case '2':// 团体队伍
738 if (user.utype == '1') { 804 if (user.utype == '1') {
739 goPersonalSign() 805 match.preCheckForGroup(groupId.value).then(goPersonalSign)
806 // goPersonalSign()
740 } 807 }
741 if (user.utype == '2') { 808 if (user.utype == '2') {
742 goTeamSign() 809 match.preCheckForGroup(groupId.value).then(goTeamSign)
810 // goTeamSign()
743 } 811 }
744 if (user.utype == '3') { 812 if (user.utype == '3') {
745 //游客 813 // 游客
746 upgradePop.value = true 814 upgradePop.value = true
747 } 815 }
748 break 816 break
...@@ -752,7 +820,7 @@ function switchSignType() { ...@@ -752,7 +820,7 @@ function switchSignType() {
752 function applyInvitation() { 820 function applyInvitation() {
753 var obj = { 821 var obj = {
754 title: language.value == 0 ? '邀请函申请' : 'Visa Invitation Letter ', 822 title: language.value == 0 ? '邀请函申请' : 'Visa Invitation Letter ',
755 cptId: matchId.value, 823 cptId: matchId.value
756 } 824 }
757 proxy.$refs['dialogInvitationRef'].open(obj) 825 proxy.$refs['dialogInvitationRef'].open(obj)
758 } 826 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!