Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jijin
/
dance-pc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
e0d73fd9
authored
2024-04-17 13:53:28 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
4ee16a30
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
180 additions
and
177 deletions
src/assets/styles/ruoyi.scss
src/layoutPc/components/AppHeader.vue
src/store/modules/user.js
src/viewsPc/center/myMatch.vue
src/viewsPc/home.vue
src/viewsPc/index.vue
src/viewsPc/index_en.vue
src/viewsPc/login.vue
src/viewsPc/match/components/addCoach_en.vue
src/viewsPc/match/components/addSportman_en.vue
src/viewsPc/match/components/addWdsf.vue
src/viewsPc/match/components/groupInfo-row.vue
src/viewsPc/match/components/matchInfo-row.vue
src/viewsPc/match/components/quick-row.vue
src/viewsPc/match/components/singleSignStep.vue
src/viewsPc/match/components/substation-list.vue
src/viewsPc/match/components/zu-table.vue
src/viewsPc/match/detail.vue
src/viewsPc/match/detail_en.vue
src/viewsPc/match/index.vue
src/viewsPc/register/components/beauty-step.vue
src/viewsPc/register/components/personal-step.vue
src/viewsPc/register/personal.vue
src/viewsPc/register/team/step1.vue
src/viewsPc/register/team/step2.vue
src/viewsPc/register/team/step3.vue
src/viewsPc/register/team/team.vue
src/viewsPc/saiC/index.vue
src/assets/styles/ruoyi.scss
View file @
e0d73fd
...
...
@@ -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
;
}
...
...
src/layoutPc/components/AppHeader.vue
View file @
e0d73fd
...
...
@@ -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
)
}
})
...
...
src/store/modules/user.js
View file @
e0d73fd
...
...
@@ -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
()
{
...
...
src/viewsPc/center/myMatch.vue
View file @
e0d73fd
...
...
@@ -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"
>
...
...
src/viewsPc/home.vue
View file @
e0d73fd
...
...
@@ -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"
>
...
...
src/viewsPc/index.vue
View file @
e0d73fd
...
...
@@ -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
)
...
...
src/viewsPc/index_en.vue
View file @
e0d73fd
...
...
@@ -29,7 +29,7 @@
</van-count-down>
</div>
<div
class=
"banner-count bb"
v-else
@
click=
"goMatch(n)"
>
R
egister Now
R
EGISTER 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 GUID
E
GUIDELIN
E
<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'
)
}
...
...
src/viewsPc/login.vue
View file @
e0d73fd
...
...
@@ -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-f
orm"
v-if=
"loginStatus==0
"
>
<el-form
v-if=
"loginStatus==0"
ref=
"loginRef"
:model=
"loginF
orm"
: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
>
...
...
src/viewsPc/match/components/addCoach_en.vue
View file @
e0d73fd
...
...
@@ -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
(
','
)
...
...
src/viewsPc/match/components/addSportman_en.vue
View file @
e0d73fd
...
...
@@ -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'
)
}
}
})
...
...
src/viewsPc/match/components/addWdsf.vue
View file @
e0d73fd
...
...
@@ -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'
)
}
}
})
...
...
src/viewsPc/match/components/groupInfo-row.vue
View file @
e0d73fd
...
...
@@ -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>
...
...
src/viewsPc/match/components/matchInfo-row.vue
View file @
e0d73fd
...
...
@@ -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>
...
...
src/viewsPc/match/components/quick-row.vue
View file @
e0d73fd
...
...
@@ -96,6 +96,7 @@ function building() {
ElMessage
.
warning
(
'Building!'
)
}
function
goBooking
(
n
)
{
ElMessage
.
warning
(
'建设中!'
)
// switch (n) {
// case 0:
// // 票务
...
...
src/viewsPc/match/components/singleSignStep.vue
View file @
e0d73fd
<
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>
...
...
src/viewsPc/match/components/substation-list.vue
View file @
e0d73fd
...
...
@@ -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>
...
...
src/viewsPc/match/components/zu-table.vue
View file @
e0d73fd
...
...
@@ -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=
"1
2
0px"
prop=
""
>
<el-table-column
:label=
"language==0?'报名费':'Registration Fee'"
width=
"1
3
0px"
prop=
""
>
<
template
#
default=
"scope"
>
<div
class=
"text-primary"
>
{{
language
==
0
?
'¥'
:
'€'
}}{{
scope
.
row
.
project
.
serviceFee
}}
...
...
src/viewsPc/match/detail.vue
View file @
e0d73fd
...
...
@@ -272,7 +272,7 @@ function changeMenu(menu, l) {
}
}
function
goLogin
()
{
useUserStore
().
setReLogin
(
true
)
useUserStore
().
setReLogin
()
}
function
choseSignType
()
{
console
.
log
(
matchData
.
value
.
signType
,
user
)
...
...
src/viewsPc/match/detail_en.vue
View file @
e0d73fd
...
...
@@ -104,11 +104,9 @@
<label>
{{ language == 0 ? '邮
    
箱' : '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 m
b20 mt2
0 w100"
class=
"btn-lineG m
t1
0 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
()
{
...
...
src/viewsPc/match/index.vue
View file @
e0d73fd
...
...
@@ -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>
...
...
src/viewsPc/register/components/beauty-step.vue
View file @
e0d73fd
<
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'"
/>
...
...
src/viewsPc/register/components/personal-step.vue
View file @
e0d73fd
<
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'"
/>
-->
...
...
src/viewsPc/register/personal.vue
View file @
e0d73fd
...
...
@@ -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
>
<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
;
...
...
src/viewsPc/register/team/step1.vue
View file @
e0d73fd
...
...
@@ -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'
)
})
}
...
...
src/viewsPc/register/team/step2.vue
View file @
e0d73fd
...
...
@@ -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>
...
...
src/viewsPc/register/team/step3.vue
View file @
e0d73fd
...
...
@@ -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
)
...
...
src/viewsPc/register/team/team.vue
View file @
e0d73fd
...
...
@@ -33,7 +33,7 @@ const data = reactive({
isCodeTrue
:
false
,
counting
:
false
,
form
:{
userName
:
'
1111
'
userName
:
''
},
activeStep
:
0
})
...
...
src/viewsPc/saiC/index.vue
View file @
e0d73fd
...
...
@@ -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>
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment