e0d73fd9 by 杨炀

no message

1 parent 4ee16a30
......@@ -7,7 +7,7 @@
.popo{position: absolute;left: 0;}
.no-pointer { pointer-events: none }
.blur20 { filter: blur(20px) }
.text-gray{color: #999}
.pt5 {
padding-top: 5px;
}
......
......@@ -13,7 +13,7 @@
<el-menu-item index="/">{{ language==0?'首页':'HOME' }}</el-menu-item>
<el-menu-item index="/news">{{ language==0?'新闻资讯':'NEWS' }}</el-menu-item>
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'SIGN UP' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'REGISTRATION' }}</el-menu-item>
<el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item>
<el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
......@@ -31,7 +31,7 @@
<el-menu-item index="/">{{ language==0?'首页':'HOME' }}</el-menu-item>
<el-menu-item index="/news">{{ language==0?'新闻资讯':'NEWS' }}</el-menu-item>
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'SIGN UP' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'REGISTRATION' }}</el-menu-item>
<el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item>
<el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
......@@ -122,7 +122,7 @@
<el-menu-item index="/">HOME</el-menu-item>
<el-menu-item index="/news">NEWS</el-menu-item>
<el-menu-item index="/notice">NOTICEBOARD</el-menu-item>
<el-menu-item index="/match/list">SIGN UP</el-menu-item>
<el-menu-item index="/match/list">REGISTRATION</el-menu-item>
<el-menu-item index="/saiC">COMPETITIONS</el-menu-item>
<el-menu-item index="/meta">MEDIA</el-menu-item>
<el-menu-item index="/guide">GUIDELINE</el-menu-item>
......@@ -216,14 +216,14 @@ const logout = () => {
})
}
const goLogin = (flag) => {
let param = null
if (_.isBoolean(flag)) {
param = {
notShowClose: flag
}
}
proxy.$refs['pcloginDialog'].open(param)
const goLogin = (query) => {
let param = {}
// if (_.isBoolean(flag)) {
// param = {
// notShowClose: flag
// }
// }
proxy.$refs['pcloginDialog'].open(query)
}
const reFlash = () => {
......@@ -231,8 +231,9 @@ const reFlash = () => {
location.reload()
}
watch(() => useUserStore().reLogin, (val) => {
if (val) {
goLogin()
if (val.show) {
console.log(val)
goLogin(val.query)
}
})
......
......@@ -30,7 +30,7 @@ const useUserStore = defineStore(
isExam: '1', // 是否为考点,0:是;1:否,
genFlag: '', // 是否是自动的协会
badge: {},
reLogin: false,
reLogin: {show:false,query:{}},
language: 0
}),
actions: {
......@@ -138,10 +138,11 @@ const useUserStore = defineStore(
this.badge = res.data
})
},
setReLogin() {
this.reLogin = true
setReLogin(query) {
console.log(query)
this.reLogin = {show:true,query:query}
setTimeout(() => {
this.reLogin = false
this.reLogin = {show:false,query:query}
}, 1000)
},
checkAndLogin() {
......
......@@ -19,7 +19,7 @@
<h3>{{ n.name }}</h3>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{ language==0?'赛事级别':'Event Type' }}</label>{{ n.level }}</p>
<p class="ppl"><label>{{ language==0?'赛事级别':'Event Level' }}</label>{{ n.level }}</p>
<p class="ppl" v-if="n.languageSource=='100'"><label v-if="n.groupName">{{ language==0?'参赛队':'Name of participating team' }}</label>{{n.groupName}}</p>
</el-col>
<el-col :lg="8">
......
......@@ -2,6 +2,61 @@
<div>
<index-Ch v-if="language ==0"/>
<index-En v-else/>
<div v-if="showgg" class="fixed_gg">
<!--天气-->
<el-icon class="cclose" @click.stop="showgg=false"><circle-close /></el-icon>
<div class="bg-lineg pd20">
<div class="smallToday" @click="popWeather">
<div>
<div class="type">
<weather-icon :type="weatherObj.forecast[0]?.type" :width="50"/>
</div>
</div>
<div>
<h3 v-if="language == 0">无锡</h3>
<h3 v-else>WUXI</h3>
<div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div>
</div>
</div>
</div>
<el-dialog v-model="weatherdialog" width="540" :close-on-click-modal="true"
style="--el-dialog-padding-primary:0;--el-dialog-border-radius:15px;
--el-dialog-bg-color:transparent;overflow: hidden;">
<div class="bg-lineg pd20">
<div class="weatherbox">
<div class="today">
<div>
<div class="wd">{{weatherObj.wendu}}°c</div>
<div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div>
<div class="week">{{weatherObj.forecast[0]?.week}}</div>
</div>
<div>
<div class="type">
<weather-icon :type="weatherObj.forecast[0].type" :width="64"/>
</div>
</div>
</div>
<ul class="wlist">
<li v-for="n in weatherObj.forecast.slice(1,6)">
<div class="type">
<weather-icon :type="n.type" :width="32"/>
</div>
<div class="wd">{{n.low.slice(2,-1)}}/{{n.high.slice(2)}}</div>
<div class="week" v-if="language==1">
{{n.week=='星期一'?'Mon':n.week=='星期二'?'Tue':n.week=='星期三'?'Wed':n.week=='星期四'?'Thu':n.week=='星期五'?'Fri':n.week=='星期六'?'Sat':n.week=='星期日'?'Sun':''}}
</div>
<div class="week" v-else>
{{n.week}}
</div>
<div class="date mt10">{{n.ymd.slice(5,10)}}</div>
</li>
</ul>
</div>
</div>
</el-dialog>
</div>
</div>
</template>
......@@ -9,9 +64,29 @@
<script setup>
import IndexCh from '/src/viewsPc/index'
import IndexEn from '/src/viewsPc/index_en'
import WeatherIcon from '@/viewsPc/components/weatherIcon'
import {useStorage} from "@vueuse/core/index";
import {ref} from "vue";
import {getWeather} from "@/apiPc/webSite";
const showgg = ref(true)
const language = useStorage('language', 0)
const weatherObj = ref({
forecast:[]
})
const weatherdialog = ref(false)
init()
function init(){
getWeather().then(res=>{
weatherObj.value = JSON.parse(res.data).data
console.log(weatherObj.value)
})
}
const popWeather = () => {
weatherdialog.value = true
}
</script>
<style scoped lang="scss">
......
......@@ -354,62 +354,6 @@
</el-col>
</el-row>
</div>
<div v-if="showgg" class="fixed_gg">
<!--天气-->
<el-icon class="cclose" @click.stop="showgg=false"><circle-close /></el-icon>
<!-- <img src="@/assets/dance/weather_en.png">-->
<div class="bg-lineg pd10">
<div class="smallToday" @click="popWeather">
<div>
<div class="type">
<weather-icon :type="weatherObj.forecast[0]?.type" :width="50"/>
</div>
</div>
<div>
<h3>无锡</h3>
<div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div>
</div>
</div>
<!-- <iframe width="150" scrolling="no" height="60" frameborder="0" allowtransparency="true" src="https://i.tianqi.com?c=code&id=84&color=%23FFFFFF&bgc=%23&icon=1&py=binhuqu&site=17"></iframe>-->
</div>
<el-dialog v-model="weatherdialog" width="540" :close-on-click-modal="true" :show-close="false"
style="--el-dialog-padding-primary:0;--el-dialog-border-radius:15px;
--el-dialog-bg-color:transparent;overflow: hidden;">
<div class="bg-lineg pd20">
<!-- <iframe width="500" scrolling="no" height="270" frameborder="0" allowtransparency="true" src="https://i.tianqi.com?c=code&id=95&color=%23FFFFFF&icon=4&py=binhuqu&site=15"></iframe>-->
<div class="weatherbox">
<div class="today">
<div>
<div class="wd">{{weatherObj.wendu}}°c</div>
<div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div>
<div class="week">{{weatherObj.forecast[0]?.week}}</div>
</div>
<div>
<div class="type">
<weather-icon :type="weatherObj.forecast[0].type" :width="64"/>
<!-- <div class="mt10">{{weatherObj.forecast[0].type}}</div>-->
</div>
</div>
</div>
<ul class="wlist">
<li v-for="n in weatherObj.forecast.slice(1,6)">
<div class="type">
<weather-icon :type="n.type" :width="32"/>
</div>
<div class="wd">{{n.low.slice(2,-1)}}/{{n.high.slice(2)}}</div>
<!-- <div class="date">{{n.ymd}}</div>-->
<div class="week">
{{n.week}}
</div>
</li>
</ul>
</div>
</div>
</el-dialog>
</div>
</div>
</template>
<script setup>
......@@ -424,7 +368,6 @@ import {Autoplay, Navigation} from 'swiper'
import 'swiper/css'
import {dayjs, ElMessage} from 'element-plus'
import * as match from "@/apiPc/match";
import WeatherIcon from '@/viewsPc/components/weatherIcon'
const modules = [Autoplay, Navigation]
const navigationPic = ref({
nextEl: '.picnext',
......@@ -466,7 +409,7 @@ const weatherdialog = ref(false)
const picList = ref([])
const calendarValue = ref(dayjs('2024-07-22').toDate())
const calendarRange = ref([dayjs('2024-07-21').toDate(), dayjs('2024-07-27').toDate()])
const showgg = ref(true)
onMounted(() => {
init()
})
......@@ -514,11 +457,6 @@ const init = () => {
}
matchData.value = maList.value[0]
})
getWeather().then(res=>{
weatherObj.value = JSON.parse(res.data).data
console.log(weatherObj.value)
})
}
const carouselChange = (e) => {
console.log(e)
......
......@@ -29,7 +29,7 @@
</van-count-down>
</div>
<div class="banner-count bb" v-else @click="goMatch(n)">
Register Now
REGISTER NOW
<!-- <el-button class="btn-lineG" style="font-size: 17px;height: 40px" round type="primary">开始报名</el-button>-->
</div>
</div>
......@@ -47,7 +47,7 @@
<div class="bgbg">
<h1 style="color: #fff">WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024</h1>
<a class="zn-btn" @click="goGuide">
ENTRY GUIDE
GUIDELINE
<el-icon><download /></el-icon>
</a>
</div>
......@@ -368,55 +368,7 @@
</el-row>
</div>
<div v-if="showgg" class="fixed_gg">
<!--天气-->
<el-icon class="cclose" @click.stop="showgg=false"><circle-close /></el-icon>
<div class="bg-lineg pd20">
<div class="smallToday" @click="popWeather">
<div>
<div class="type">
<weather-icon :type="weatherObj.forecast[0]?.type" :width="50"/>
</div>
</div>
<div>
<h3>WUXI</h3>
<div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div>
</div>
</div>
</div>
<el-dialog v-model="weatherdialog" width="540" :close-on-click-modal="true"
style="--el-dialog-padding-primary:0;--el-dialog-border-radius:15px;
--el-dialog-bg-color:transparent;overflow: hidden;">
<div class="bg-lineg pd20">
<div class="weatherbox">
<div class="today">
<div>
<div class="wd">{{weatherObj.wendu}}°c</div>
<div class="wd_p">{{weatherObj.forecast[0]?.low.slice(2)}}~{{weatherObj.forecast[0]?.high.slice(2)}}</div>
<div class="week">{{weatherObj.forecast[0]?.week}}</div>
</div>
<div>
<div class="type">
<weather-icon :type="weatherObj.forecast[0].type" :width="64"/>
</div>
</div>
</div>
<ul class="wlist">
<li v-for="n in weatherObj.forecast.slice(1,6)">
<div class="type">
<weather-icon :type="n.type" :width="32"/>
</div>
<div class="wd">{{n.low.slice(2,-1)}}/{{n.high.slice(2)}}</div>
<!-- <div class="date">{{n.ymd}}</div>-->
<div class="week">
{{n.week=='星期一'?'Mon':n.week=='星期二'?'Tue':n.week=='星期三'?'Wed':n.week=='星期四'?'Thu':n.week=='星期五'?'Fri':n.week=='星期六'?'Sat':n.week=='星期日'?'Sun':''}}
</div>
</li>
</ul>
</div>
</div>
</el-dialog>
</div>
</div>
</template>
<script setup>
......@@ -424,7 +376,6 @@ import { ref, nextTick, onMounted, watch } from 'vue'
import { getCurrentInstance } from '@vue/runtime-core'
import { getNewsListById, getNewsList,getWeather} from '@/apiPc/webSite'
import { useRouter } from 'vue-router'
import WeatherIcon from '@/viewsPc/components/weatherIcon'
import _ from 'lodash'
import { Swiper, SwiperSlide } from 'swiper/vue'
import { Autoplay, Navigation } from 'swiper'
......@@ -440,10 +391,7 @@ const navigationPic = ref({
const router = useRouter()
const { proxy } = getCurrentInstance()
const time = ref(0)
const weatherObj = ref({
forecast:[]
})
const weatherdialog = ref(false)
const personList = ref([
{ name: 'Wolfgang Eliasch', pp: 'Chairperson for Latin AUT', src: '/img/1.png' },
{ name: 'Nenad Jeftic', pp: 'Chairperson for Standard SRB', src: '/img/2.png' },
......@@ -467,7 +415,7 @@ const livelist = ref([])
const maList = ref([])
const picList = ref([])
const calendarValue = ref('2024-07-22')
const showgg = ref(true)
const matchData = ref({})
onMounted(() => {
init()
......@@ -506,10 +454,6 @@ const init = () => {
}
matchData.value = maList.value[0]
})
getWeather().then(res=>{
weatherObj.value = JSON.parse(res.data).data
console.log(weatherObj.value)
})
}
......@@ -544,9 +488,7 @@ const goMatch = (n) => {
path: `/match/list/${n.id}`
})
}
const popWeather = () => {
weatherdialog.value = true
}
const building = () => {
ElMessage.warning('Building')
}
......
......@@ -4,8 +4,8 @@
destroy-on-close :show-close="showClose" :close-on-click-modal="false" @close="close"
>
<div class="pd10"></div>
<el-form ref="loginRef" :model="loginForm" :rules="language==0?loginRules:loginRules_en" class="login-form"
v-if="loginStatus==0">
<el-form v-if="loginStatus==0" ref="loginRef" :model="loginForm"
:rules="language==0?loginRules:loginRules_en" class="login-form">
<el-form-item prop="username">
<el-input
......@@ -81,6 +81,7 @@
</el-form>
<div v-if="loginStatus==1">
<a class="poLeft" @click="close()"><el-icon><ArrowLeftBold /></el-icon></a>
<div class="rItem r1" @click="goRegister(1)">
<h3>{{ language == 0 ? '机构用户' : 'Organization' }}</h3>
</div>
......@@ -89,6 +90,7 @@
</div>
</div>
<div v-if="loginStatus==2">
<a class="poLeft" @click="close()"><el-icon><ArrowLeftBold /></el-icon></a>
<el-form ref="changePasswordRef" :model="changePasswordForm"
:rules="language==0?changePasswordRules:changePasswordRules_en" class="login-form">
<el-form-item prop="username">
......@@ -241,8 +243,11 @@ const changePasswordForm = ref({
})
const open = (params) => {
console.log(params)
show.value = true
showClose.value = !(params?.notShowClose || false)
loginStatus.value = params?.active || 0
changePasswordForm.value.username = params?.account || ''
if (language.value == 0) {
title.value = '用户登录'
} else {
......@@ -561,4 +566,5 @@ function handleChangePassword() {
border: var(--el-color-primary) solid 1px;
border-radius: 0;
}
.poLeft{position: absolute;top:24px;font-size: 20px;left:20px}
</style>
......
......@@ -24,6 +24,10 @@
</el-button>
</template>
</el-input>
<a class="text-primary text-sm mt10" href="https://www.worlddancesport.org/Athlete/List" target="_blank">
<el-icon><Link /></el-icon>
{{language==0?'去WDSF官网查询我的会员号':'Search my WSDF MIN on the WDSF official website'}}
</a>
</el-form-item>
<el-form-item :label="language==0?'姓氏':'Surname'" prop="xing" :required="!editDis">
<el-input v-model="form.xing" :disabled="editDis"/>
......@@ -37,7 +41,10 @@
<el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="language==0?'所属国家/地区':'Nationality'" prop="countryId" required>
<el-form-item v-if="form.wdsfMin" :label="language==0?'代表':'Representing'" required>
<el-input v-model="form.representing" disabled/>
</el-form-item>
<el-form-item v-else :label="language==0?'所属国家/地区':'Nationality'" prop="countryId" required>
<el-select filterable v-model="form.countryId" style="width: 100%;" @change="changeCountry">
<el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName"
:value="item.id"/>
......@@ -244,6 +251,13 @@ const open = (params) => {
match.getPersonInfoById(params.id).then(res => {
form.value = res.data
form.value.id = params.id
if(form.value.wdsfMin){
editDis.value = true
}
if(form.value.idcType=='3'){
form.value.idcType = ''
form.value.idcCode = ''
}
if (form.value.label) {
// {0:0,1:1,2:3}
form.value.labelArr = form.value.label.split(',')
......
......@@ -255,7 +255,7 @@ function codeSuccess(msg) {
if (language.value == 0) {
ElMessage.warning('WDSF卡号错误')
} else {
ElMessage.warning('WDSF ID is Error')
ElMessage.warning('WDSF MIN is Error')
}
}
})
......
......@@ -7,10 +7,10 @@
<!-- wdsf 个人/舞伴/国际赛运动员-->
<div class="pd10"></div>
<el-form ref="dialogRef" :model="form" :label-width="language==0?120:180" inline>
<el-form-item :label="language==0?'WDSF卡号':'WDSF ID'" v-if="form.id&&form.id!='0'">
<el-form-item :label="language==0?'WDSF卡号':'WDSF MIN'" v-if="form.id&&form.id!='0'">
{{ form.wdsfMin }}
</el-form-item>
<el-form-item :label="language==0?'WDSF卡号':'WDSF ID'" required v-else>
<el-form-item :label="language==0?'WDSF卡号':'WDSF MIN'" required v-else>
<el-input type="text" v-model="card" @change="resetCode">
<template #append>
<el-button type="primary" plain style="width: 110px" @click="checkCard">
......@@ -21,6 +21,11 @@
</el-button>
</template>
</el-input>
<a class="text-primary text-sm mt10" href="https://www.worlddancesport.org/Athlete/List" target="_blank">
<el-icon><Link /></el-icon>
{{language==0?'去WDSF官网查询我的会员号':'Search my WSDF MIN on the WDSF official website'}}
</a>
<Vcode :show="showVcode" :z-index="2999" @success="codeSuccess()"></Vcode>
</el-form-item>
<div class="h30"></div>
......@@ -321,7 +326,7 @@ function codeSuccess(msg) {
if (language.value == 0) {
ElMessage.warning('WDSF卡号错误')
} else {
ElMessage.warning('WDSF ID is Error')
ElMessage.warning('WDSF MIN is Error')
}
}
})
......
......@@ -7,7 +7,8 @@
<img class="w100" :src="fillImgUrl(groupInfo.imgUrl)"/>
</el-col>
<el-col :span="20">
<div class="item"><label>{{ language==0?'团体名称':'Team Name' }}</label>{{ groupInfo.name }}</div>
<div class="item" v-if="groupInfo.type=='4'"><label>{{ language==0?'代表队':'Represent' }}</label>{{ groupInfo.name?.substring(0,3) }}</div>
<div class="item" v-if="groupInfo.type!='4'"><label>{{ language==0?'团体名称':'Team name' }}</label>{{ groupInfo.name?.substring(0,3) }}</div>
<div class="item"><label>{{ language==0?'团体类型':'Group type' }}</label>
<text v-if="groupInfo.type=='0'">{{language==0?'普通院校':'School'}}</text>
<text v-if="groupInfo.type=='1'">{{language==0?'专业舞蹈学校':'Professional dance school'}}</text>
......
......@@ -2,7 +2,7 @@
<div class="border-info" style="margin: 20px" v-loading="loading">
<el-row v-if="language==0">
<el-col :lg="8"><div class="item"><label>赛事名称</label>{{matchInfo.name}}</div></el-col>
<el-col :lg="8"><div class="item"><label>赛事类型</label>{{matchInfo.level}}</div></el-col>
<el-col :lg="8"><div class="item"><label>赛事级别</label>{{matchInfo.level}}</div></el-col>
<el-col :lg="8"><div class="item"><label>赛事时间</label>{{matchInfo.beginTime?.slice(0,10)}}{{ matchInfo.endTime?.slice(0,10) }}</div></el-col>
<el-col :lg="8"><div class="item"><label>报名时间</label>{{ matchInfo.signBeginTime?.slice(0,10) }}{{ matchInfo.signEndTime?.slice(0,10) }}</div></el-col>
<el-col :lg="16"><div class="item"><label>比赛地址</label>{{matchInfo.address}}</div></el-col>
......@@ -12,7 +12,7 @@
</el-row>
<el-row v-else>
<el-col :lg="8"><div class="item"><label>Event Name</label>{{matchInfo.name}}</div></el-col>
<el-col :lg="8"><div class="item"><label>Event Type</label>{{matchInfo.level}}</div></el-col>
<el-col :lg="8"><div class="item"><label>Event Level</label>{{matchInfo.level}}</div></el-col>
<el-col :lg="8"><div class="item"><label>Event Date</label>{{matchInfo.beginTime?.slice(0,10)}} ~ {{ matchInfo.endTime?.slice(0,10) }}</div></el-col>
<el-col :lg="8"><div class="item"><label>Registration Period</label>{{ matchInfo.signBeginTime?.slice(0,10) }} ~{{ matchInfo.signEndTime?.slice(0,10) }}</div></el-col>
<el-col :lg="16"><div class="item"><label>Event Address</label>{{matchInfo.address}}</div></el-col>
......
......@@ -96,6 +96,7 @@ function building() {
ElMessage.warning('Building!')
}
function goBooking(n) {
ElMessage.warning('建设中!')
// switch (n) {
// case 0:
// // 票务
......
<template>
<el-steps :active="activeStep" align-center>
<el-step :title="language==0?'校验 WDSF 会员号':'Check WDSF ID'" />
<el-step :title="language==0?'校验 WDSF 会员号':'Check WDSF MIN'" />
<el-step :title="language==0?'选手报名':'Participant Registration'" />
<el-step :title="language==0?'提交审核':'Submit for review'" />
</el-steps>
......
......@@ -50,6 +50,7 @@
<div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">
{{ language == 0 ? '报名已结束' : 'Registration has ended' }}
</div>
<p class="text-gray">{{ language==0?'报名截止':'Registration Deadline' }}:{{ n.signEndTime?.slice(0,10) }}</p>
</div>
</el-col>
</el-row>
......
......@@ -5,7 +5,7 @@
<el-table-column :label="language==0?'组别代码':'Group code'" width="120px" prop="zuName"/>
<el-table-column :label="language==0?'组别':'Group'" prop="project.name"/>
<el-table-column :label="language==0?'舞种':'Dance Style'" width="120px" prop="project.danceType"/>
<el-table-column :label="language==0?'参赛说明':'Participation Instructions'">
<el-table-column :label="language==0?'参赛说明':'Participation Instructions'" min-width="110px">
<template #default="scope">
<div v-html="scope.row.project.remarks"></div>
</template>
......@@ -17,7 +17,7 @@
</div>
</template>
</el-table-column>
<el-table-column :label="language==0?'报名费':'Registration Fee'" width="120px" prop="">
<el-table-column :label="language==0?'报名费':'Registration Fee'" width="130px" prop="">
<template #default="scope">
<div class="text-primary">
{{ language==0?'¥':'€' }}{{ scope.row.project.serviceFee }}
......
......@@ -272,7 +272,7 @@ function changeMenu(menu, l) {
}
}
function goLogin() {
useUserStore().setReLogin(true)
useUserStore().setReLogin()
}
function choseSignType() {
console.log(matchData.value.signType,user)
......
......@@ -104,11 +104,9 @@
<label>{{ language == 0 ? '邮&ensp;&ensp;&ensp;&ensp;箱' : 'E-mail' }}:</label>
{{ matchData.contactEmail }}</p>
</div>
<div style="height: 30px"></div>
<div class="ppl_pb">
<el-link class="mr20" v-if="matchData.signKnowUrl" type="primary"
<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-icon :size="20">
<Download/>
......@@ -116,14 +114,14 @@
{{ language == 0 ? '报名须知' : 'Notes' }}
</el-link>
<el-link class="mr20" v-if="matchData.disclaimerUrl" type="primary"
<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-icon :size="20">
<Download/>
</el-icon>
{{ language == 0 ? '免责声明' : 'Disclaimers' }}
</el-link>
<el-link v-if="matchData.ruleUrl" type="primary"
<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-icon :size="20">
......@@ -155,7 +153,7 @@
<div class="flexCenter">
<el-button v-if="matchData.progressStatusCode=='2'" ref="RegisterRef" type="primary" round
class="btn-lineG mb20 mt20 w100"
class="btn-lineG mt10 w100"
@click="choseSignType" style="font-size: 16px">
{{ language == 0 ? '我要报名' : 'Register' }}
</el-button>
......@@ -165,8 +163,9 @@
<div v-else-if="startSign>0" style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">
{{ language == 0 ? '报名未开始' : 'Not started yet' }}
</div>
</div>
<p class="text-gray text-center">{{ language==0?'报名截止':'Registration Deadline' }}:{{ matchData.signEndTime?.slice(0,10) }}</p>
</el-col>
</el-row>
</el-card>
......@@ -520,7 +519,7 @@ function goPersonalSign() {
}
function goLogin() {
useUserStore().setReLogin(true)
useUserStore().setReLogin()
}
function goGeren() {
......
......@@ -104,6 +104,7 @@
<a class="btn-lineG mb20 mauto" v-if="n.time>0" style="display: block;">
{{ language==0?'我要报名':'Register' }}</a>
<div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto">{{ language==0?'报名已结束':'Registration has ended' }}</div>
<p class="text-gray">{{ language==0?'报名截止':'Registration Deadline' }}:{{ n.signEndTime?.slice(0,10) }}</p>
</div>
</el-col>
</el-row>
......
<template>
<el-card>
<el-steps :active="activeStep" finish-status="success" align-center>
<el-step :title="language==0?'创建账号':'Check WDSF ID'"/>
<el-step :title="language==0?'创建账号':'Check WDSF MIN'"/>
<el-step :title="language==0?'账号信息':'Participant Registration'" />
<!-- <el-step :title="language==0?'提交审核':'Submit for review'" />-->
<el-step :title="language==0?'注册完成':'stered successfully'" />
......
<template>
<el-card>
<el-steps :active="activeStep" finish-status="success" align-center>
<el-step :title="language==0?'创建账号':'Check WDSF ID'"/>
<el-step :title="language==0?'创建账号':'Check WDSF MIN'"/>
<el-step :title="language==0?'选手报名':'Participant Registration'" />
<el-step :title="language==0?'提交审核':'Submit for review'" />
<!-- <el-step :title="language==0?'注册完成':'stered successfully'" />-->
......
......@@ -20,6 +20,11 @@
</el-button>
</template>
</el-input>
<a class="text-primary text-sm mt10" href="https://www.worlddancesport.org/Athlete/List" target="_blank">
<el-icon><Link /></el-icon>
{{language==0?'去WDSF官网查询我的会员号':'Search my WSDF MIN on the WDSF official website'}}
</a>
</el-form-item>
<div class="h30"></div>
<div class="leftboderTT">{{ language == 0 ? '个人信息' : 'Personal information' }}
......@@ -91,8 +96,14 @@
v-if="language==0">(登录时需要验证,保护账户信息)</span></div>
<div class="h20"></div>
<el-form-item :label="language==0?'邮箱':'E-mail'" required>
<el-input type="text" v-model="wdsfData.email" @change="resetCode(1)" autocomplete="false"
@blur="verifyCode" :disabled="wdsfData.personFlag=='1'"/>
<div class="pvbox">
<el-input type="text" v-model="wdsfData.email" @change="resetCode(1)" autocomplete="false"
@blur="verifyCode" :disabled="wdsfData.personFlag=='1'"/>
<span class="text-primary" v-if="wdsfData.personFlag=='1'" @click="forgetPassword(wdsfData.email)">忘记密码</span>
</div>
<div class="tip" v-if="wdsfData.personFlag=='0'">
<div v-if="language==0">
(请填写正确的邮箱信息,邮箱信息在注册完成后无法修改。
......@@ -138,7 +149,7 @@
<el-button class="primary-kx" round @click="goBack"> {{ language == 0 ? '取消' : 'Cancel' }}</el-button>
<el-button type="primary" class="btn-lineG w200px" round @click="next" v-if="wdsfData.wdsfFlag=='1'">
<span v-if="matchId=='0'">{{ language == 0 ? '立即注册' : 'Register Now' }}</span>
<span>{{ language == 0 ? '下一步' : 'Next' }}</span>
<span v-else>{{ language == 0 ? '下一步' : 'Next' }}</span>
</el-button>
</div>
</el-card>
......@@ -163,6 +174,7 @@ import PersonalStep from "@/viewsPc/register/components/personal-step";
import FileUpload from "@/components/FileUpload";
import {useRouter, useRoute} from "vue-router";
import {useStorage} from "@vueuse/core/index";
import useUserStore from "@/store/modules/user";
const language= useStorage('language',0)
const router = useRouter()
......@@ -275,6 +287,7 @@ function codeSuccess(msg) {
counting.value = true
getCaptchaSms({account: wdsfData.value.email}).then(res => {
isCodeTrue.value = 1
ElMessage.success(language.value == 0 ? '发送成功,请关注邮箱邮件' :'Send success, please check your email')
}).catch(err => {
isCodeTrue.value = 1
})
......@@ -306,6 +319,7 @@ function next() {
ElMessage.warning(language.value == 0 ? '请上传护照文件' :'Please upload your passport file')
return
}
console.log(wdsfData.value.personFlag)
if (wdsfData.value.personFlag == '0') {
let obj = {
card: form.value.card,
......@@ -383,9 +397,15 @@ function afterR() {
})
}
}
function forgetPassword(account) {
useUserStore().setReLogin({account: account,active:2})
}
</script>
<style scoped lang="scss">
.pvbox{position: relative;width: 100%;
.text-primary{position: absolute;right: -5em;cursor: pointer;text-decoration: underline;}
}
.tip {
line-height: 1.6;
font-size: 12px;
......
......@@ -115,6 +115,7 @@ function codeSuccess(msg) {
getCaptchaSms({account: form.value.account}).then(res => {
counting.value = true
isCodeTrue.value = true
ElMessage.success(language.value == 0 ? '发送成功,请关注邮箱邮件' :'Send success, please check your email')
})
}
......
......@@ -25,7 +25,7 @@
<el-form class="d-form" size="large" :model="form" ref="registerRef"
:rules="form.is=='0'?registerRules:registerRulesEn" label-width="120" :label-position="language==0?'left':'top'"
style="max-width: 500px;margin: auto">
<el-form-item :label="language==0?'是否国家队':'National Team'" required>
<el-form-item :label="language==0?'是否国家队':'National Team'" required v-show="language==0">
<el-select filterable v-model="form.is" @change="changeIs">
<el-option :label="language==0?'是':'Yes'" value="1"></el-option>
<el-option :label="language==0?'否':'No'" value="0"></el-option>
......
......@@ -19,10 +19,7 @@
<script setup>
import {reactive,toRefs} from "@vue/runtime-core";
const router = useRouter()
import Vcode from "vue3-puzzle-vcode"
import {ElMessage} from 'element-plus'
import CountDown from '@chenfengyuan/vue-countdown'
import {getCaptchaSms, checkRegisterCode} from "@/apiPc/match"
import {useRouter} from "vue-router";
import {useStorage} from "@vueuse/core/index";
const language= useStorage('language',0)
......
......@@ -33,7 +33,7 @@ const data = reactive({
isCodeTrue:false,
counting:false,
form:{
userName:'1111'
userName:''
},
activeStep: 0
})
......
......@@ -40,7 +40,7 @@
<table class="table table-striped">
<thead>
<tr class="bg-lineg">
<td class="text-center">{{ language==0?'名次':'RANK' }}</td>
<td class="text-center" style="width: 120px;">{{ language==0?'名次':'RANK' }}</td>
<td class="text-center">{{ language==0?'组合':'COUPLE' }}</td>
<td class="text-center w15">{{ language==0?'国家':'COUNTRY' }}</td>
<td class="text-center w15">START #</td>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!