077d6ac3 by zhangmeng

接机隐藏

1 parent 23e7b3d9
<template>
<div class="app-container" v-loading="loading">
<div v-loading="loading" class="app-container">
<div class="mt30"/>
<div v-if="error">
<el-result
icon="error"
:title="language==0?'未找到赛事':'No Data'"
:title="language==0?'未找到赛事':'No Data'"
icon="error"
>
<template #extra>
</template>
</el-result>
</div>
<div class="box mb20" v-else>
<div v-else class="box mb20">
<el-card class="mb20">
<el-row :gutter="20" align="middle">
<el-col :lg="matchData.type=='0'?7:8" :md="12" :xl="6">
<div class="popo">
<el-tag v-if="matchData.signType==0">{{ language==0?'个人':'Individual' }}</el-tag>
<el-tag v-if="matchData.signType==1">{{ language==0?'团体':'Team' }}</el-tag>
<el-tag v-if="matchData.signType==2">{{ language==0?'个人/团体':'Individual/Team' }}</el-tag>
<el-tag v-if="matchData.signType==0">{{ language == 0 ? '个人' : 'Individual' }}</el-tag>
<el-tag v-if="matchData.signType==1">{{ language == 0 ? '团体' : 'Team' }}</el-tag>
<el-tag v-if="matchData.signType==2">{{ language == 0 ? '个人/团体' : 'Individual/Team' }}</el-tag>
</div>
<img class="mauto w100 as16_9" :src="fillImgUrl(matchData.coverUrl)">
<img :src="fillImgUrl(matchData.coverUrl)" class="mauto w100 as16_9">
</el-col>
<el-col :lg="matchData.type=='0'?9:16" :md="12" :xl="10" style="position: relative">
<h3 style="margin: 0 0 10px">{{ matchData.name }}</h3>
......@@ -32,7 +32,7 @@
<label class="bm1">{{ language == 0 ? '赛事时间' : 'COMPETITION DATE' }}:</label>
{{ matchData.beginTime?.slice(0, 10) }} ~
{{ matchData.endTime?.slice(0, 10) }}</p>
<p class="ppl" v-if="matchData.address">
<p v-if="matchData.address" class="ppl">
<label class="bm3">
{{ language == 0 ? '地&ensp;&ensp;&ensp;&ensp;点' : 'LOCATION' }}:
</label>
......@@ -40,39 +40,47 @@
<!-- <p class="ppl" v-if="matchData.signEndTime"><label class="bm4">Registration Deadline:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>-->
<p class="ppl"><label>
<svg style="position: relative;top: 3px;" t="1712726889323" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="37235" width="18" height="18">
<path 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" fill="#d3d8d9" p-id="37236"></path></svg>
{{ language==0?'联&ensp;&ensp;人':'CONTACT PERSON' }}:</label>{{ matchData.contactPerson }}</p>
<svg class="icon" height="18" p-id="37235" style="position: relative;top: 3px;"
t="1712726889323"
version="1.1" viewBox="0 0 1024 1024" width="18" xmlns="http://www.w3.org/2000/svg">
<path
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"
fill="#d3d8d9" p-id="37236"></path>
</svg>
{{ language == 0 ? '联&ensp;&ensp;人' : 'CONTACT PERSON' }}:</label>{{ matchData.contactPerson }}
</p>
<p class="ppl">
<label>
<svg style="position: relative;top: 2px;" t="1711708779620" class="icon" viewBox="0 0 1024 1024"
version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7920" width="20" height="20">
<svg class="icon" height="20" p-id="7920" style="position: relative;top: 2px;"
t="1711708779620" version="1.1" viewBox="0 0 1024 1024" width="20" xmlns="http://www.w3.org/2000/svg">
<path
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"
p-id="7921" fill="#d3d8d9"></path>
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"
fill="#d3d8d9" p-id="7921"></path>
</svg>
{{ language == 0 ? '联系电话' : 'TEL' }}:</label>086-{{ matchData.contactTelno }}
</p>
<p class="ppl">
<label>
<svg style="position: relative;top: 4px;" t="1712726978978" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="40177"
width="18" height="18">
<path 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" fill="#d3d8d9" p-id="40178"></path>
<svg class="icon" height="18" p-id="40177" style="position: relative;top: 4px;"
t="1712726978978" version="1.1" viewBox="0 0 1024 1024"
width="18" xmlns="http://www.w3.org/2000/svg">
<path
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"
fill="#d3d8d9" p-id="40178"></path>
</svg>
{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'EMAIL' }}:
</label>
{{ language == 0 ? '邮&ensp;&ensp;&ensp;&ensp;箱' : 'EMAIL' }}:
</label>
{{ matchData.contactEmail }}
</p>
<p class="ppl">
<label>
<svg style="position: relative;top: 2px;" t="1711707785514" class="icon" viewBox="0 0 1024 1024"
version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6578"
width="18" height="18">
<svg class="icon" height="18" p-id="6578" style="position: relative;top: 2px;"
t="1711707785514" version="1.1" viewBox="0 0 1024 1024"
width="18" xmlns="http://www.w3.org/2000/svg">
<path
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"
p-id="6579" fill="#d3d8d9"></path>
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"
fill="#d3d8d9" p-id="6579"></path>
</svg>
{{ language == 0 ? '分&ensp;&ensp;赛' : 'NO. OF TOURNAMENTS' }}:</label>
{{ matchData.cpts.length }}
......@@ -89,41 +97,43 @@
{{ matchData.address }}
</p>
<p class="ppl"><label>{{ language == 0 ? '赛事级别' : 'EVENT LEVEL' }}:</label>{{ matchData.level }}</p>
<!-- <p class="ppl">-->
<!-- <label>{{ language == 0 ? '报名截止' : 'Registration Deadline' }}:</label>-->
<!-- {{ matchData.signEndTime?.slice(0, 10) }}-->
<!-- </p>-->
<p class="ppl" v-if="matchData.contactPerson">
<!-- <p class="ppl">-->
<!-- <label>{{ language == 0 ? '报名截止' : 'Registration Deadline' }}:</label>-->
<!-- {{ matchData.signEndTime?.slice(0, 10) }}-->
<!-- </p>-->
<p v-if="matchData.contactPerson" class="ppl">
<label>{{ language == 0 ? '联&ensp;&ensp;人' : 'CONTACT PERSON' }}:</label>
{{ matchData.contactPerson }}
</p>
<p class="ppl"><label>{{ language == 0 ? '联系电话' : 'TEL' }}:</label>
086-{{ matchData.contactTelno }}
</p>
<p class="ppl" v-if="matchData.contactEmail">
<p v-if="matchData.contactEmail" class="ppl">
<label>{{ language == 0 ? '邮&ensp;&ensp;&ensp;&ensp;箱' : 'EMAIL' }}:</label>
{{ matchData.contactEmail }}</p>
</div>
<div style="height: 30px"></div>
<div class="ppl_pb">
<el-link class="mr20" v-if="matchData.signKnowUrl&&JSON.parse(matchData.signKnowUrl)?.length>0" type="primary"
:href="fillImgUrl(JSON.parse(matchData.signKnowUrl)[0]?.url)" target="_blank">
<el-link v-if="matchData.signKnowUrl&&JSON.parse(matchData.signKnowUrl)?.length>0" :href="fillImgUrl(JSON.parse(matchData.signKnowUrl)[0]?.url)"
class="mr20"
target="_blank" type="primary">
<el-icon :size="20">
<Download/>
</el-icon>
{{ language == 0 ? '报名须知' : 'Notes' }}
</el-link>
<el-link class="mr20" v-if="matchData.disclaimerUrl&&JSON.parse(matchData.disclaimerUrl)?.length>0" type="primary"
:href="fillImgUrl(JSON.parse(matchData.disclaimerUrl)[0]?.url)" target="_blank">
<el-link v-if="matchData.disclaimerUrl&&JSON.parse(matchData.disclaimerUrl)?.length>0" :href="fillImgUrl(JSON.parse(matchData.disclaimerUrl)[0]?.url)"
class="mr20"
target="_blank" type="primary">
<el-icon :size="20">
<Download/>
</el-icon>
{{ language == 0 ? '免责声明' : 'Disclaimers' }}
</el-link>
<el-link v-if="matchData.ruleUrl&&JSON.parse(matchData.ruleUrl)?.length>0" type="primary"
:href="fillImgUrl(JSON.parse(matchData.ruleUrl)[0]?.url)"
target="_blank">
<el-link v-if="matchData.ruleUrl&&JSON.parse(matchData.ruleUrl)?.length>0" :href="fillImgUrl(JSON.parse(matchData.ruleUrl)[0]?.url)"
target="_blank"
type="primary">
<el-icon :size="20">
<Download/>
</el-icon>
......@@ -132,12 +142,12 @@
</div>
</el-col>
<el-col :lg="8" :md="12" :xl="8" v-if="matchData.type=='0'">
<p class="countDownTitle" v-if="language==0">
<el-col v-if="matchData.type=='0'" :lg="8" :md="12" :xl="8">
<p v-if="language==0" class="countDownTitle">
<span v-if="startSign>0">报名开始倒计时</span>
<span v-else>报名截止倒计时</span>
</p>
<p class="countDownTitle" v-else>
<p v-else class="countDownTitle">
<span>REGISTRATION COUNTDOWN</span>
</p>
......@@ -155,83 +165,91 @@
</van-count-down>
<div class="flexCenter">
<el-button v-if="matchData.progressStatusCode=='2'" ref="RegisterRef" type="primary" round
class="btn-lineG mt10 w100"
@click="choseSignType" style="font-size: 16px">
<el-button v-if="matchData.progressStatusCode=='2'" ref="RegisterRef" class="btn-lineG mt10 w100" round
style="font-size: 16px"
type="primary" @click="choseSignType">
{{ language == 0 ? '我要报名' : 'REGISTER' }}
</el-button>
<div v-else-if="time<=0" style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">
<div v-else-if="time<=0" class="btn-lineG mb20 mauto text-center" style="opacity: 0.5;">
{{ language == 0 ? '报名已结束' : 'Registration has ended' }}
</div>
<div v-else-if="startSign>0" style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">
<div v-else-if="startSign>0" class="btn-lineG mb20 mauto text-center" style="opacity: 0.5;">
{{ language == 0 ? '报名未开始' : 'Not started yet' }}
</div>
</div>
<p class="text-gray text-center uppercase">{{ language==0?'报名截止':'Registration Deadline' }}:{{ matchData.signEndTime?.slice(0,10) }}</p>
<p class="text-gray text-center uppercase">{{
language == 0 ? '报名截止' : 'Registration Deadline'
}}:{{ matchData.signEndTime?.slice(0, 10) }}</p>
</el-col>
</el-row>
</el-card>
<!-- 只联赛有-->
<quick-row :match-id="matchId" v-if="matchData.leagueId==0"/>
<!-- 只联赛有-->
<quick-row v-if="matchData.leagueId==0" :match-id="matchId"/>
<el-row :gutter="20" v-if="matchData.type=='0'">
<el-row v-if="matchData.type=='0'" :gutter="20">
<el-col :lg="18">
<el-card :body-style="{'padding':'0'}">
<div class="lineHead">
<ul>
<li v-for="l in menu" :key="l.name" @click="changeMenu(menu,l)" :class="l.active==1?'active':''">
<li v-for="l in menu" :key="l.name" :class="l.active==1?'active':''" @click="changeMenu(menu,l)">
{{ language == 0 ? l.cn : l.name }}
</li>
</ul>
</div>
<matchInfo :form="matchData" v-if="menu[0].active==1"/>
<matchInfo v-if="menu[0].active==1" :form="matchData"/>
<div v-if="menu[1].active==1">
<match-info-project-list :match-id="matchData.id" :is-national="isNational"/>
<match-info-project-list :is-national="isNational" :match-id="matchData.id"/>
</div>
<match-schedule-list :match-data="matchData" v-if="menu[2].active==1"/>
<match-schedule-list v-if="menu[2].active==1" :match-data="matchData"/>
<div v-if="menu[3].active==1">
<div v-if="matchData.showPersonFlag=='1'">
<!-- <el-row :gutter="20" v-if="matchData.signType == '0'">-->
<!-- <el-col v-for="t in signDoneGroupList" :key="t.id" :span="8">-->
<!-- <div class="teamItem">-->
<!-- <el-avatar :size="60" :src="fillImgUrl(t.imgUrl||t.avatar)"/>-->
<!-- <span class="name">{{ t.name }}</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row :gutter="20" v-if="matchData.signType == '0'">-->
<!-- <el-col v-for="t in signDoneGroupList" :key="t.id" :span="8">-->
<!-- <div class="teamItem">-->
<!-- <el-avatar :size="60" :src="fillImgUrl(t.imgUrl||t.avatar)"/>-->
<!-- <span class="name">{{ t.name }}</span>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row :gutter="20" class="pd20">
<el-col :span="24">
<div class="fr mb20">
<div class="flex">
<el-input class="mr10" size="small" v-model="queryGroupList.groupName" :prefix-icon="Search"
:placeholder="language == 0 ? '请输入参赛队名称' :'Please enter the Team name'"
@change="getGroupListByCptId" clearable/>
<el-input size="small" v-model="queryGroupList.athleteName" :prefix-icon="Search"
:placeholder=" language == 0 ? '请输入运动员查询' :'Please enter the athlete name'"
@change="getGroupListByCptId" clearable/>
<el-input v-model="queryGroupList.groupName" :placeholder="language == 0 ? '请输入参赛队名称' :'Please enter the Team name'" :prefix-icon="Search" class="mr10"
clearable
size="small" @change="getGroupListByCptId"/>
<el-input v-model="queryGroupList.athleteName" :placeholder=" language == 0 ? '请输入运动员查询' :'Please enter the athlete name'" :prefix-icon="Search"
clearable
size="small" @change="getGroupListByCptId"/>
</div>
</div>
<el-table :data="signDoneGroupList">
<el-table-column prop="groupCode" align="center" :label="language == 0 ? '组别代码' :'EVENT CODE'" min-width="120"/>
<el-table-column prop="group" :label="language == 0 ?'组别':'EVENT'" min-width="200">
<el-table-column :label="language == 0 ? '组别代码' :'EVENT CODE'" align="center" min-width="120"
prop="groupCode"/>
<el-table-column :label="language == 0 ?'组别':'EVENT'" min-width="200" prop="group">
<template #default="scope">
<div class="esp">{{scope.row.group}}</div>
<div class="esp">{{ scope.row.group }}</div>
</template>
</el-table-column>
<el-table-column prop="maleAthName" :label="language == 0 ?'男运动员':'man name'" min-width="150"/>
<el-table-column prop="femaleAthName" :label="language == 0 ?'女运动员':'woman name'" min-width="150"/>
<el-table-column prop="danceType" align="center" :label="language == 0 ?'舞种':'Division'" min-width="90"/>
<el-table-column prop="countryName" align="center" :label="language == 0 ?'国籍':'Representing'" min-width="130"/>
<el-table-column prop="groupName" align="center" :label="language == 0 ?'参赛队名称':'Team name'" min-width="150"/>
<el-table-column :label="language == 0 ?'男运动员':'man name'" min-width="150"
prop="maleAthName"/>
<el-table-column :label="language == 0 ?'女运动员':'woman name'" min-width="150"
prop="femaleAthName"/>
<el-table-column :label="language == 0 ?'舞种':'Division'" align="center" min-width="90"
prop="danceType"/>
<el-table-column :label="language == 0 ?'国籍':'Representing'" align="center" min-width="130"
prop="countryName"/>
<el-table-column :label="language == 0 ?'参赛队名称':'Team name'" align="center" min-width="150"
prop="groupName"/>
</el-table>
<PaginationPc
v-show="signDoneGroupListToTal>0"
:total="signDoneGroupListToTal"
v-model:page="queryGroupList.pageNum"
v-model:limit="queryGroupList.pageSize"
@pagination="getGroupListByCptId"
v-show="signDoneGroupListToTal>0"
v-model:limit="queryGroupList.pageSize"
v-model:page="queryGroupList.pageNum"
:total="signDoneGroupListToTal"
@pagination="getGroupListByCptId"
/>
</el-col>
</el-row>
......@@ -249,10 +267,10 @@
<div class="xzbox">
<div v-html="matchData.signKnow"></div>
<div v-if="matchData.signKnowUrl">
<el-link v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" type="primary"
:href="fillImgUrl(item.url)" target="_blank">
<el-link v-for="(item,index) in JSON.parse(matchData.signKnowUrl)" :href="fillImgUrl(item.url)"
target="_blank" type="primary">
<el-icon :size="20">
<Download />
<Download/>
</el-icon>
{{ item.name }}
</el-link>
......@@ -273,30 +291,30 @@
<el-card :body-style="{'padding':'0'}">
<div class="lineHead">
<ul>
<li v-for="l in menu1" :key="l.name" @click="changeMenu(menu1,l)" :class="l.active==1?'active':''">
<li v-for="l in menu1" :key="l.name" :class="l.active==1?'active':''" @click="changeMenu(menu1,l)">
{{ language == 0 ? l.cn : l.name }}
</li>
</ul>
</div>
<!-- 分站赛-->
<substation-list v-if="menu1[0].active==1" :list="matchData.cpts"/>
<matchInfo :form="matchData" v-if="menu1[1].active==1"/>
<match-schedule-list :match-data="matchData" v-if="menu1[2].active==1"/>
<matchInfo v-if="menu1[1].active==1" :form="matchData"/>
<match-schedule-list v-if="menu1[2].active==1" :match-data="matchData"/>
</el-card>
</el-col>
</el-row>
</div>
<div class="fixed_gg_l" @click="applyInvitation" v-if="matchData.leagueId==0">
<img src="@/assets/logo/Invitation_c.png" v-if="language==0"/>
<img src="@/assets/logo/Invitation_e.png" v-else/>
<div v-if="matchData.leagueId==0" class="fixed_gg_l" @click="applyInvitation">
<img v-if="language==0" src="@/assets/logo/Invitation_c.png"/>
<img v-else src="@/assets/logo/Invitation_e.png"/>
</div>
<affix-invitation ref="dialogInvitationRef"/>
<div style="height: 50px"></div>
<el-dialog v-model="signTypePop" class="pcloginpop" close-icon="CircleClose"
center width="450px" title="Choose Type">
<el-dialog v-model="signTypePop" center class="pcloginpop"
close-icon="CircleClose" title="Choose Type" width="450px">
<div>
<div class="rItem r1" @click="goLogin">
<h3>{{ language == 0 ? '机构用户' : 'Organization' }}</h3>
......@@ -306,8 +324,8 @@
</div>
</div>
</el-dialog>
<el-dialog v-model="upgradePop" class="pcloginpop" close-icon="CircleClose"
center width="450px" title="Upgrade">
<el-dialog v-model="upgradePop" center class="pcloginpop"
close-icon="CircleClose" title="Upgrade" width="450px">
<div>
<div class="rItem r1" @click="goUpdateTeam">
<h3>{{ language == 0 ? '升级机构用户' : 'Organization' }}</h3>
......@@ -318,7 +336,7 @@
</div>
</el-dialog>
<a class="ding" @click="openPickup" v-if="matchData.leagueId==0&&matchId=='1802602359043600385'">{{ language==0?'接 / 送机服务':'Pick-up/drop-off service' }}</a>
<!-- <a class="ding" @click="openPickup" v-if="matchData.leagueId==0&&matchId=='1802602359043600385'">{{ language==0?'接 / 送机服务':'Pick-up/drop-off service' }}</a>-->
<pickup ref="pickupRef"></pickup>
</div>
</template>
......@@ -335,6 +353,7 @@ import {getCurrentInstance, ref} from 'vue'
import {reactive, onMounted} from '@vue/runtime-core'
import {useRoute, useRouter} from 'vue-router'
import AffixInvitation from '@/viewsPc/match/components/affix-invitation'
const language = useStorage('language', 0)
const route = useRoute()
const router = useRouter()
......@@ -345,6 +364,7 @@ import {dayjs, ElMessage, ElMessageBox} from 'element-plus'
import useUserStore from "@/store/modules/user"
import {useStorage} from "@vueuse/core/index"
import {Search} from "@element-plus/icons-vue"
const user = useUserStore().user
const group = useUserStore().group
const data = reactive({
......@@ -366,15 +386,15 @@ const data = reactive({
{name: 'Event details', cn: '赛事详情', active: 0},
{name: 'Schedule', cn: '日程', active: 0}],
signDoneGroupList: [],
signDoneGroupListToTal:0,
queryGroupList:{
name:'',
pageSize:10,
pageNum:1
signDoneGroupListToTal: 0,
queryGroupList: {
name: '',
pageSize: 10,
pageNum: 1
},
time: '',
startSign: '',
isNational:false
isNational: false
})
const {
error,
......@@ -384,8 +404,8 @@ const {
groupId,
menu,
menu1,
signDoneGroupList,signDoneGroupListToTal,queryGroupList,
time, startSign,isNational
signDoneGroupList, signDoneGroupListToTal, queryGroupList,
time, startSign, isNational
} = toRefs(data)
const signTypePop = ref(false)
const upgradePop = ref(false)
......@@ -420,7 +440,7 @@ function getMatch(id) {
var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond')
startSign.value = dayjs(res.data.signBeginTime).diff(today, 'millisecond')
if(matchData.value.languageSource=='100'){
if (matchData.value.languageSource == '100') {
isNational.value = false
} else {
isNational.value = true
......@@ -433,15 +453,15 @@ function getMatch(id) {
}
function getGroupListByCptId() {
match.getGroupListByCptId(matchId.value,queryGroupList.value).then(res => {
match.getGroupListByCptId(matchId.value, queryGroupList.value).then(res => {
signDoneGroupList.value = res.rows
signDoneGroupListToTal.value = res.total
})
}
function changeMenu(menu, l) {
console.log(matchData.value.leagueId,l.name)
if(matchData.value.leagueId=='1778253367748993026' && (l.name=='成绩'||l.name=='Achievement')){
console.log(matchData.value.leagueId, l.name)
if (matchData.value.leagueId == '1778253367748993026' && (l.name == '成绩' || l.name == 'Achievement')) {
window.open('http://www.cdsf.org.cn/h5/sscj.index?matchID=526')
}
for (const n of menu) {
......@@ -475,37 +495,40 @@ function choseSignType() {
})
}
}
function goUpdateTeam() {
//升级团队
router.push({
name:'teamRegister',
query:{
step:'1',
matchId:matchId.value
name: 'teamRegister',
query: {
step: '1',
matchId: matchId.value
}
})
}
function goUpdatePersonal() {
//升级团队
router.push({
name:'personalRegister',
query:{
matchId:matchId.value
name: 'personalRegister',
query: {
matchId: matchId.value
}
})
}
function goTeamSign() {
if (matchData.value.languageSource == '100') {
// 国内
if(group.type =='4'){
if (group.type == '4') {
ElMessageBox.confirm(
language.value==0?'您的团体类型不符合报名条件':'Your Team type does not meet the registration requirements',
language.value==0?'提示':'Warning',
{
confirmButtonText: language.value==1?'OK':'确定',
cancelButtonText: language.value==1?'Cancel':'取消',
type: 'warning',
}
language.value == 0 ? '您的团体类型不符合报名条件' : 'Your Team type does not meet the registration requirements',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 1 ? 'OK' : '确定',
cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
type: 'warning',
}
)
return
}
......@@ -521,15 +544,15 @@ function goTeamSign() {
})
} else {
// 国际赛
if(group?.type!='4'&& matchData.value.countryLimit=='1'){
if (group?.type != '4' && matchData.value.countryLimit == '1') {
ElMessageBox.confirm(
language.value==0?'您的团体类型不符合报名条件':'Your Team type does not meet the registration requirements',
language.value==0?'提示':'Warning',
{
confirmButtonText: language.value==1?'OK':'确定',
cancelButtonText: language.value==1?'Cancel':'取消',
type: 'warning',
}
language.value == 0 ? '您的团体类型不符合报名条件' : 'Your Team type does not meet the registration requirements',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 1 ? 'OK' : '确定',
cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
type: 'warning',
}
)
return
}
......@@ -578,20 +601,20 @@ function checkIsSign() {
groupId: groupId.value || 0
}
return match.getMySignInfo(obj).then(res => {
switch (res.data.type){
switch (res.data.type) {
case '0':
// 未报名
break
case '1':
// 提交报名,未审核
ElMessageBox.confirm(
language.value == 0 ?'您的报名信息已提交,是否撤回,重新填写报名信息?':'Your registration information has been submitted. Do you want to withdraw it and fill in the registration information again?',
language.value==0?'提示':'Warning',
{
confirmButtonText: language.value==1?'Withdraw the registration':'撤回报名信息',
cancelButtonText: language.value==1?'Cancel':'取消',
type: 'warning',
}
language.value == 0 ? '您的报名信息已提交,是否撤回,重新填写报名信息?' : 'Your registration information has been submitted. Do you want to withdraw it and fill in the registration information again?',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 1 ? 'Withdraw the registration' : '撤回报名信息',
cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
type: 'warning',
}
).then(() => {
withDraw(res.data.orderId)
})
......@@ -599,13 +622,13 @@ function checkIsSign() {
break
case '2':
ElMessageBox.confirm(
language.value == 0 ?'报名审批拒绝,是否重新报名':'Registration approval rejected. Do you want to register again',
language.value==0?'提示':'Warning',
{
confirmButtonText: language.value==1?'OK':'确定',
cancelButtonText: language.value==1?'Cancel':'取消',
type: 'warning',
}
language.value == 0 ? '报名审批拒绝,是否重新报名' : 'Registration approval rejected. Do you want to register again',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 1 ? 'OK' : '确定',
cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
type: 'warning',
}
).then(() => {
reSign()
})
......@@ -613,13 +636,13 @@ function checkIsSign() {
break
case '3':
ElMessageBox.confirm(
language.value == 0 ?'报名已取消,是否重新报名':'Registration cancelled. Do you want to register again',
language.value==0?'提示':'Warning',
{
confirmButtonText: language.value==1?'OK':'确定',
cancelButtonText: language.value==1?'Cancel':'取消',
type: 'warning',
}
language.value == 0 ? '报名已取消,是否重新报名' : 'Registration cancelled. Do you want to register again',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 1 ? 'OK' : '确定',
cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
type: 'warning',
}
).then(() => {
reSign()
})
......@@ -628,13 +651,13 @@ function checkIsSign() {
case '4':
// 审核通过未缴费
ElMessageBox.confirm(
language.value == 0 ?'您的报名信息已审核通过,如需修改,请联系组委会':'Your registration information has been approved. If you need to make any changes, please contact the organizing committee',
language.value==0?'提示':'Warning',
{
confirmButtonText: language.value==1?'OK':'确定',
cancelButtonText: language.value==1?'Cancel':'取消',
type: 'warning',
}
language.value == 0 ? '您的报名信息已审核通过,如需修改,请联系组委会' : 'Your registration information has been approved. If you need to make any changes, please contact the organizing committee',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 1 ? 'OK' : '确定',
cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
type: 'warning',
}
).then(() => {
// router.push({name: 'myMatch'})
})
......@@ -643,60 +666,63 @@ function checkIsSign() {
case '5':
// 审核通过已缴费
ElMessageBox.confirm(
language.value == 0 ?'您的报名信息已完成缴费,如需修改,请联系组委会':'Your registration information has been paid. If you need to make any changes, please contact the organizing committee',
language.value==0?'提示':'Warning',
{
confirmButtonText: language.value==1?'OK':'确定',
cancelButtonText: language.value==1?'Cancel':'取消',
type: 'warning',
}
language.value == 0 ? '您的报名信息已完成缴费,如需修改,请联系组委会' : 'Your registration information has been paid. If you need to make any changes, please contact the organizing committee',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 1 ? 'OK' : '确定',
cancelButtonText: language.value == 1 ? 'Cancel' : '取消',
type: 'warning',
}
)
return Promise.reject('rejected message')
break
}
})
}
function withDraw(orderId) {
match.withDrawByOrderId(orderId).then(res=>{
match.withDrawByOrderId(orderId).then(res => {
choseSignType()
})
}
function reSign(){
function reSign() {
match.recoverMySignFromCancel(matchId.value).then((res) => {
switchSignType()
})
}
function switchSignType() {
switch (matchData.value.signType) {
case '0':
if (user.utype == '1' ) {
if (user.utype == '1') {
goPersonalSign()
}
if(user.utype == '2'){
if (user.utype == '2') {
ElMessageBox.confirm(
language.value == 0 ?'当前活动是个人活动,无法报名':'The current event is a personal event, cannot register',
language.value == 0 ?'提示':'Warning',
{
confirmButtonText: language.value == 0 ?'好的':'OK',
cancelButtonText: language.value == 0 ?'取消':'Cancel',
type: 'warning',
}
language.value == 0 ? '当前活动是个人活动,无法报名' : 'The current event is a personal event, cannot register',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 0 ? '好的' : 'OK',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
type: 'warning',
}
)
}
if(user.utype == '3'){
if (user.utype == '3') {
goGeren()
}
break
case '1':
if (user.utype == '1') {
ElMessageBox.confirm(
language.value == 0 ?'当前活动是团队活动,无法报名':'The current event is a team event, cannot register',
language.value == 0 ?'提示':'Warning',
{
confirmButtonText: language.value == 0 ?'好的':'OK',
cancelButtonText: language.value == 0 ?'取消':'Cancel',
type: 'warning',
}
language.value == 0 ? '当前活动是团队活动,无法报名' : 'The current event is a team event, cannot register',
language.value == 0 ? '提示' : 'Warning',
{
confirmButtonText: language.value == 0 ? '好的' : 'OK',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
type: 'warning',
}
)
}
if (user.utype == '2') {
......@@ -721,29 +747,30 @@ function switchSignType() {
break
}
}
function applyInvitation() {
var obj = {
title: language.value==0?'邀请函申请':'Visa Invitation Letter ',
title: language.value == 0 ? '邀请函申请' : 'Visa Invitation Letter ',
cptId: matchId.value,
}
proxy.$refs['dialogInvitationRef'].open(obj)
}
const openPickup= () => {
const openPickup = () => {
const obj = {
title:language.value==0?'接 / 送机服务':'Pick-up/drop-off service' ,
cptId:matchId.value
title: language.value == 0 ? '接 / 送机服务' : 'Pick-up/drop-off service',
cptId: matchId.value
}
proxy.$refs['pickupRef'].open(obj)
}
</script>
<style scoped lang="scss">
.ding{
<style lang="scss" scoped>
.ding {
position: fixed;
right: 0;
z-index:99;
top:38%;
z-index: 99;
top: 38%;
background: linear-gradient(-90deg, #8623FC, #453DEA) !important;
box-shadow: 0 0 10px #666;
color: #fff;
......@@ -751,6 +778,7 @@ const openPickup= () => {
padding: 10px 20px;
text-align: center;
}
.rItem {
height: 130px;
cursor: pointer;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!