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
6cbcab31
authored
2024-04-10 15:52:41 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
734b1000
Hide whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
637 additions
and
314 deletions
src/apiPc/match.js
src/assets/styles/ruoyi.scss
src/assets/v1/avatar.png
src/layoutPc/components/AppHeader.vue
src/layoutPc/components/AppTop.vue
src/routerPc/cn.js
src/routerPc/en.js
src/routerPc/index.js
src/viewsPc/center/myInfo.vue
src/viewsPc/center/myMatch.vue
src/viewsPc/center/myMember.vue
src/viewsPc/center/teamInfo.vue
src/viewsPc/index_en.vue
src/viewsPc/match/chooseCoach.vue
src/viewsPc/match/chooseProject.vue
src/viewsPc/match/chooseSportsman.vue
src/viewsPc/match/commitDone.vue
src/viewsPc/match/components/addAccompany.vue
src/viewsPc/match/components/addCoach.vue
src/viewsPc/match/components/addCoach_en.vue
src/viewsPc/match/components/addWdsf.vue
src/viewsPc/match/components/allSportsmanList.vue
src/viewsPc/match/components/extraForm.vue
src/viewsPc/match/components/groupInfo-row.vue
src/viewsPc/match/components/matchInfo-projectList.vue
src/viewsPc/match/components/matchInfo-row.vue
src/viewsPc/match/components/matchInfo.vue
src/viewsPc/match/components/signInfo-table.vue
src/viewsPc/match/components/substation-list.vue
src/viewsPc/match/components/zu-table.vue
src/viewsPc/match/detail_en.vue
src/viewsPc/match/import.html
src/viewsPc/match/index.vue
src/viewsPc/match/pay.vue
src/viewsPc/match/signPreview.vue
src/viewsPc/match/teamSign_bak.vue → src/viewsPc/match/teamSign_Cn.vue
src/viewsPc/register/personal.vue
src/viewsPc/register/team/step2.vue
vite.config.js
src/apiPc/match.js
View file @
6cbcab3
...
...
@@ -15,6 +15,12 @@ export function getMatchById(params) {
params
:
params
})
}
export
function
refundApply
(
orderId
)
{
return
request
({
url
:
`/league/signOrder/refundApply?orderId=
${
orderId
}
`
,
method
:
'post'
})
}
export
function
getMySignCptList
(
query
)
{
return
request
({
...
...
src/assets/styles/ruoyi.scss
View file @
6cbcab3
...
...
@@ -5,7 +5,9 @@
/** 基础通用 **/
.popo
{
position
:
absolute
;
left
:
0
;}
.no-pointer
{
pointer-events
:
none
}
.blur20
{
filter
:
blur
(
20px
)
}
.pt5
{
padding-top
:
5px
;
}
...
...
src/assets/v1/avatar.png
0 → 100644
View file @
6cbcab3
783 Bytes
src/layoutPc/components/AppHeader.vue
View file @
6cbcab3
...
...
@@ -59,10 +59,19 @@
<!-- | <span @click="goRegister">注册</span>-->
</el-button>
<el-button
v-if=
"isLogin"
style=
"border-radius: 20px;"
class=
"loginBtn"
>
<span
@
click=
"router.push('/center/myInfo')"
>
{{ language==0?'个人中心':'Personal' }}
</span>
|
<span
@
click=
"logout()"
>
{{language==0?'退出':'Exit'}}
</span>
</el-button>
<el-dropdown
v-if=
"isLogin"
class=
"mr20"
>
<el-avatar
:icon=
"UserFilled"
>
<!-- {{user.userName.substring(0,4)}}-->
</el-avatar>
<
template
#
dropdown
>
<el-dropdown-menu>
<el-dropdown-item
@
click=
"router.push('/center/myInfo')"
>
{{
language
==
0
?
'个人中心'
:
'Personal'
}}
</el-dropdown-item>
<el-dropdown-item
@
click=
"logout()"
>
{{
language
==
0
?
'退出'
:
'Exit'
}}
</el-dropdown-item>
</el-dropdown-menu>
</
template
>
</el-dropdown>
</div>
</div>
<a
class=
"ropenbtn"
@
click=
"showDrawer"
>
...
...
@@ -134,7 +143,7 @@
import
{
computed
,
ref
,
watch
}
from
'vue'
import
{
useRoute
,
useRouter
}
from
'vue-router'
import
useUserStore
from
'@/store/modules/user'
import
{
Search
}
from
'@element-plus/icons-vue'
import
{
Search
,
UserFilled
}
from
'@element-plus/icons-vue'
import
{
getCurrentInstance
,
onMounted
}
from
'@vue/runtime-core'
import
_
from
'lodash'
import
LoginDialog
from
'@/viewsPc/login'
...
...
@@ -155,11 +164,11 @@ const loginForm = ref({})
const
drawer
=
ref
(
false
)
const
mode
=
ref
(
'horizontal'
)
const
language
=
useStorage
(
'language'
,
0
)
const
user
=
useUserStore
().
user
onMounted
(()
=>
{
console
.
log
(
window
.
location
.
href
)
if
(
use
UserStore
().
use
r
)
{
if
(
user
)
{
isLogin
.
value
=
true
}
if
(
route
.
fullPath
.
indexOf
(
'news'
)
>
-
1
)
{
...
...
src/layoutPc/components/AppTop.vue
View file @
6cbcab3
...
...
@@ -9,12 +9,19 @@
<el-button
v-if=
"!isLogin"
style=
"border-radius: 20px;"
class=
"loginBtn"
>
<span
@
click=
"goLogin"
>
{{
language
==
0
?
'登录'
:
'LOGIN'
}}
</span>
</el-button>
<el-button
v-if=
"isLogin"
style=
"border-radius: 20px;"
class=
"loginBtn"
>
<span
@
click=
"router.push('/center/myInfo')"
>
{{
language
==
0
?
'个人中心'
:
'Personal'
}}
</span>
|
<span
@
click=
"logout()"
>
{{
language
==
0
?
'退出'
:
'Exit'
}}
</span>
</el-button>
<el-dropdown
v-if=
"isLogin"
class=
"mr20"
>
<el-avatar
:icon=
"UserFilled"
>
<!--
{{
user
.
userName
.
substring
(
0
,
4
)
}}
-->
</el-avatar>
<template
#
dropdown
>
<el-dropdown-menu>
<el-dropdown-item
@
click=
"router.push('/center/myInfo')"
>
{{
language
==
0
?
'个人中心'
:
'Personal'
}}
</el-dropdown-item>
<el-dropdown-item
@
click=
"logout()"
>
{{
language
==
0
?
'退出'
:
'Exit'
}}
</el-dropdown-item>
</el-dropdown-menu>
</
template
>
</el-dropdown>
</div>
</div>
<!-- <a class="ropenbtn" @click="showDrawer">-->
...
...
@@ -85,7 +92,6 @@
import
{
computed
,
ref
,
watch
}
from
'vue'
import
{
useRoute
,
useRouter
}
from
'vue-router'
import
useUserStore
from
'@/store/modules/user'
import
{
Search
}
from
'@element-plus/icons-vue'
import
{
getCurrentInstance
,
onMounted
}
from
'@vue/runtime-core'
import
_
from
'lodash'
import
LoginDialog
from
'@/viewsPc/login'
...
...
@@ -95,7 +101,7 @@ import Captcha from './captcha'
import
CaptchaSms
from
'./captchaSms'
import
cache
from
'@/plugins/cache'
import
{
useStorage
}
from
"@vueuse/core/index"
;
import
{
UserFilled
}
from
'@element-plus/icons-vue'
const
router
=
useRouter
()
const
route
=
useRoute
()
const
{
proxy
}
=
getCurrentInstance
()
...
...
src/routerPc/cn.js
View file @
6cbcab3
...
...
@@ -464,31 +464,6 @@ export const constantRoutes = [
]
},
{
path
:
'train'
,
component
:
Empty
,
redirect
:
'/train/list'
,
children
:
[
{
path
:
'list'
,
component
:
()
=>
import
(
'@/viewsPc/train/index'
),
name
:
'trainList'
,
meta
:
{
title
:
'培训'
}
},
{
path
:
'detail/:id'
,
component
:
()
=>
import
(
'@/viewsPc/train/detail'
),
name
:
'trainDetail'
,
meta
:
{
title
:
'培训详情'
}
},
{
path
:
'signUp/:id'
,
component
:
()
=>
import
(
'@/viewsPc/train/signUp'
),
name
:
'trainSignUp'
,
meta
:
{
title
:
'培训报名'
}
}
]
},
{
path
:
'center'
,
component
:
()
=>
import
(
'@/viewsPc/center/index'
),
children
:
[
...
...
src/routerPc/en.js
View file @
6cbcab3
...
...
@@ -466,7 +466,7 @@ export const constantRoutes = [
},
{
path
:
'list/:id/teamSignCn'
,
component
:
()
=>
import
(
'@/viewsPc/match/teamSign_
bak
'
),
component
:
()
=>
import
(
'@/viewsPc/match/teamSign_
Cn
'
),
name
:
'teamSignCn'
,
meta
:
{
title
:
'团队报名-国内赛'
}
},
...
...
src/routerPc/index.js
View file @
6cbcab3
...
...
@@ -430,31 +430,6 @@ export const constantRoutes = [
]
},
{
path
:
'train'
,
component
:
Empty
,
redirect
:
'/train/list'
,
children
:
[
{
path
:
'list'
,
component
:
()
=>
import
(
'@/viewsPc/train/index'
),
name
:
'trainList'
,
meta
:
{
title
:
'培训'
}
},
{
path
:
'detail/:id'
,
component
:
()
=>
import
(
'@/viewsPc/train/detail'
),
name
:
'trainDetail'
,
meta
:
{
title
:
'培训详情'
}
},
{
path
:
'signUp/:id'
,
component
:
()
=>
import
(
'@/viewsPc/train/signUp'
),
name
:
'trainSignUp'
,
meta
:
{
title
:
'培训报名'
}
}
]
},
{
path
:
'center'
,
component
:
()
=>
import
(
'@/viewsPc/center/index'
),
children
:
[
...
...
src/viewsPc/center/myInfo.vue
View file @
6cbcab3
...
...
@@ -13,45 +13,46 @@
<team-info
:form=
"myform"
v-if=
"user.utype=='2'"
/>
<div
class=
"pd20"
v-else
>
<div
class=
"d-form-border"
style=
"margin-top: 0"
>
<el-form
class=
"d-form"
label-width=
"120"
:rules=
"rules"
ref=
"formref"
>
<el-form
class=
"d-form"
label-width=
"120"
:rules=
"rules"
ref=
"formref"
:label-position=
"language==0?'left':'top'"
style=
"max-width: 500px;margin: auto"
>
<el-form-item
:label=
"language==0?'用户名':'Account'"
>
{{
user
.
userName
}}
</el-form-item>
<el-form-item
:label=
"language==0?'姓名':'Real Name'"
required
prop=
"realName"
>
<el-input
v-model=
"myform.realName"
disabled
/>
</el-form-item>
<el-form-item
:label=
"language==0?'性别':'
Sex
'"
required
>
<el-form-item
:label=
"language==0?'性别':'
Gender
'"
required
>
<el-radio-group
v-model=
"myform.sex"
>
<el-radio
value=
"0"
>
{{
language
==
0
?
'女'
:
'female'
}}
</el-radio>
<el-radio
value=
"1"
>
{{
language
==
0
?
'男'
:
'male'
}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
:label=
"language==0?'出生日期':'Birthday'"
required
>
<el-form-item
:label=
"language==0?'出生日期':'Birthday'"
>
<el-date-picker
v-model=
"myform.birth"
style=
"width: 100%;"
type=
"date"
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
/>
</el-form-item>
<el-form-item
label=
"Representing"
>
<el-form-item
:label=
"language==0?'代表':'Representing'"
required
>
<el-input
v-model=
"myform.representing"
disabled
/>
</el-form-item>
<el-form-item
label=
"Age group"
>
<el-form-item
:label=
"language==1?'Age group':'年龄组'"
required
>
<el-input
v-model=
"myform.ageGroup"
disabled
/>
</el-form-item>
<el-form-item
label=
"Division"
>
<el-form-item
:label=
"language==0?'舞种':'Division'"
required
>
<el-input
v-model=
"myform.division"
disabled
/>
</el-form-item>
<el-form-item
label=
"Status"
>
<el-form-item
:label=
"language==0?'状态':'Status'"
required
>
<el-input
v-model=
"myform.wdsfStatus"
disabled
/>
</el-form-item>
<el-form-item
label=
"Passport"
required
>
<el-form-item
:label=
"language==0?'证件号':'Passport number'"
>
<el-input
v-model=
"myform.passportNumber"
/>
</el-form-item>
<el-form-item
label=
"Passport File
"
required
>
<el-form-item
:label=
"language==0?'有效证件':'Valid Certificates Scanning Copy'
"
required
>
<file-upload
v-model=
"myform.passportUrl"
:limit=
"1"
:is-show-tip=
"false"
:button-text=
"'Upload'"
/>
</el-form-item>
<el-form-item
:label=
"language==0?'WDSF会员号':'WDSF
code
'"
prop=
"wdsfMin"
>
<el-form-item
:label=
"language==0?'WDSF会员号':'WDSF
MIN
'"
prop=
"wdsfMin"
>
{{
myform
.
wdsfMin
}}
</el-form-item>
<!--
<el-form-item
:label=
"language==0?'证件类型':'ID type'"
required
prop=
"idcType"
>
-->
...
...
@@ -67,14 +68,14 @@
<!--
<el-form-item
:label=
"language==0?'证件号码':'ID NO'"
prop=
"idcCode"
>
-->
<!--
<el-input
v-model=
"myform.idcCode"
@
blur=
"checkCode"
/>
-->
<!--
</el-form-item>
-->
<el-form-item
:label=
"language==0?'类型':'Type'"
required
>
<el-select
v-model=
"myform.type"
style=
"width: 100%;"
>
<el-option
:label=
"language==0?'业余':'amateur'"
value=
"0"
/
>
<el-option
:label=
"language==0?'专业':'Professional'"
value=
"1"
/
>
<el-option
:label=
"language==0?'大专院校':'Colleges and universities'"
value=
"2"
/
>
<el-option
:label=
"language==0?'其他':'Other'"
value=
"3"
/
>
</el-select
>
</el-form-item
>
<!--
<el-form-item
:label=
"language==0?'类型':'Type'"
required
>
--
>
<!--
<el-select
v-model=
"myform.type"
style=
"width: 100%;"
>
--
>
<!--
<el-option
:label=
"language==0?'业余':'amateur'"
value=
"0"
/>
--
>
<!--
<el-option
:label=
"language==0?'专业':'Professional'"
value=
"1"
/>
--
>
<!--
<el-option
:label=
"language==0?'大专院校':'Colleges and universities'"
value=
"2"
/>
--
>
<!--
<el-option
:label=
"language==0?'其他':'Other'"
value=
"3"
/>
--
>
<!--
</el-select>
--
>
<!--
</el-form-item>
--
>
<!--
<el-form-item
:label=
"language==0?'邮箱':'Email'"
required
prop=
"email"
>
-->
<!--
<el-input
v-model=
"myform.email"
type=
"email"
:placeholder=
"language==0?'请输入内容':''"
/>
-->
<!--
</el-form-item>
-->
...
...
@@ -165,13 +166,9 @@ function getData() {
}
function
save
()
{
proxy
.
$refs
[
'dialogRef'
].
validate
((
valid
)
=>
{
if
(
valid
){
match
.
saveMyBaseInfo
().
then
(
res
=>
{
match
.
saveMyBaseInfo
(
myform
.
value
).
then
(
res
=>
{
ElMessage
.
success
(
language
.
value
==
0
?
'保存成功'
:
'Save successfully'
)
})
}
})
}
...
...
src/viewsPc/center/myMatch.vue
View file @
6cbcab3
...
...
@@ -7,6 +7,7 @@
<span
class=
"bg-primary"
v-if=
"n.auditStatus=='1'"
>
{{
language
==
0
?
'待审核'
:
'Auditing'
}}
</span>
<span
class=
"bg-blue"
v-if=
"n.auditStatus=='2'"
>
{{
language
==
0
?
'审核通过'
:
'Approved'
}}
</span>
<span
class=
"bg-danger"
v-if=
"n.auditStatus=='3'"
>
{{
language
==
0
?
'审核驳回'
:
'Reject'
}}
</span>
<span
class=
"bg-warning"
v-if=
"n.auditStatus=='4'"
>
{{
language
==
0
?
'已取消'
:
'Canceled'
}}
</span>
</div>
<el-row
:gutter=
"15"
>
<el-col
:lg=
"6"
:md=
"8"
:xl=
"10"
>
...
...
@@ -18,8 +19,8 @@
<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
v-if=
"n.groupName"
>
{{
language
==
0
?
'参赛队'
:
'Name of participating team'
}}
:
</label>
{{
n
.
groupName
}}
</p>
<p
class=
"ppl"
><label>
{{
language
==
0
?
'赛事
级别
'
:
'Event Type'
}}
:
</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"
>
<p
class=
"ppl"
><label>
{{
language
==
0
?
'比赛时间'
:
'Event Date'
}}
:
</label>
{{
n
.
signBeginTime
?.
substring
(
0
,
10
)
}}
~
{{
n
.
signEndTime
.
substring
(
0
,
10
)
}}
...
...
@@ -38,7 +39,10 @@
<el-button
plain
round
type=
"primary"
@
click=
"reSign(n)"
v-if=
"n.auditStatus=='3'"
>
{{
language
==
0
?
'重新报名'
:
'Re register'
}}
</el-button>
<el-button
plain
round
type=
"primary"
@
click=
"goDetail(n)"
v-if=
"n.auditStatus=='2'&&n.payStatus=='0'"
>
{{
language
==
0
?
'缴费'
:
'pay'
}}
</el-button>
{{
language
==
0
?
'缴费'
:
'Pay'
}}
</el-button>
<!--
<el-button
plain
round
type=
"primary"
@
click=
"goRefund(n)"
v-if=
"n.orderId"
>
-->
<!--
{{
language
==
0
?
'退款'
:
'Refund'
}}
-->
<!--
</el-button>
-->
</div>
</el-col>
</el-row>
...
...
@@ -71,6 +75,7 @@ import _ from 'lodash'
import
useUserStore
from
"@/store/modules/user"
;
import
cache
from
"@/plugins/cache"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
import
{
refundApply
}
from
"@/apiPc/match"
;
const
language
=
useStorage
(
'language'
,
0
)
const
router
=
useRouter
()
const
{
proxy
}
=
getCurrentInstance
()
...
...
@@ -136,7 +141,7 @@ function reSign(n){
function
continueSign
(
n
){
if
(
n
.
status
==
'0'
){
ElMessage
({
message
:
'The current event is offline.'
,
message
:
language
.
value
==
0
?
'赛事已下线无法继续报名'
:
'The current event is offline.'
,
type
:
'warning'
})
return
...
...
@@ -177,6 +182,20 @@ function goDetail(n){
}
})
}
function
goRefund
(
n
)
{
ElMessageBox
.
confirm
(
'Are you sure to refund?'
,
'Refund'
,
{
confirmButtonText
:
'Confirm'
,
cancelButtonText
:
'Cancel'
,
type
:
'warning'
,
}).
then
(()
=>
{
match
.
refundApply
(
n
.
orderId
).
then
(
res
=>
{
ElMessage
({
message
:
'Refund success'
,
type
:
'success'
})
})
})
}
function
getList
()
{
console
.
log
(
query2
.
value
)
match
.
getMySignCptList
(
query2
.
value
).
then
(
res
=>
{
...
...
@@ -204,8 +223,10 @@ function getList() {
color
:
#FFFFFF
;
span{
border-radius
:
0px
10px
0px
10px
;
padding
:
4px
10px
;}
.bg-danger
{
background
:
#E60012
;}
.bg-warning
{
background
:
#e89f39
;}
.bg-pink
{
background
:
#F740A6
;}
.bg-primary
{
background
:
var
(
--el-color-primary
)}
.bg-blue
{
background
:
#00a0e9
}
}
&
:last-child
{
border-bottom
:
none
;
...
...
src/viewsPc/center/myMember.vue
View file @
6cbcab3
...
...
@@ -2,7 +2,7 @@
<el-card
class=
"mb20"
>
<div
class=
"funcBtns"
>
<el-button
type=
"primary"
@
click=
"addMember"
>
{{
language
==
0
?
'添加选手'
:
'Add Player'
}}
</el-button>
<el-button
type=
"primary"
plain
@
click=
"importSportman"
>
{{
language
==
0
?
'导入选手'
:
'Import Player'
}}
</el-button>
<el-button
type=
"primary"
v-if=
"group.type!='4'"
plain
@
click=
"importSportman"
>
{{
language
==
0
?
'导入选手'
:
'Import Player'
}}
</el-button>
</div>
<div
class=
"from-Card"
>
<el-form
:inline=
"true"
:model=
"query"
class=
"mt20"
:label-width=
"language==0?60:80"
size=
"small"
>
...
...
src/viewsPc/center/teamInfo.vue
View file @
6cbcab3
...
...
@@ -30,7 +30,7 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"language==0?'团体类型':'Group type'"
prop=
"type"
>
<el-select
v-model=
"form.type"
:placeholder=
"language==0?'请选择团体类型':''"
style=
"width: 100%;"
>
<el-select
:disabled=
"form.type=='4'"
v-model=
"form.type"
:placeholder=
"language==0?'请选择团体类型':''"
style=
"width: 100%;"
>
<el-option
:label=
"language==0?'普通院校':'School'"
value=
"0"
/>
<el-option
:label=
"language==0?'专业舞蹈学校':'Professional dance school'"
value=
"1"
/>
<el-option
:label=
"language==0?'培训机构/俱乐部':'Company/Club'"
value=
"2"
/>
...
...
src/viewsPc/index_en.vue
View file @
6cbcab3
...
...
@@ -41,12 +41,13 @@
<div
class=
"box zn-bg"
>
<div
class=
"zn-Box"
>
<img
class=
"bbbg"
v-if=
"matchData
.logoUrl"
:src=
"fillImgUrl(matchData
.logoUrl)"
/>
<img
class=
"bbbg"
v-if=
"matchData
?.logoUrl"
:src=
"fillImgUrl(matchData?
.logoUrl)"
/>
<el-row>
<el-col
:sm=
"24"
:lg=
"10"
>
<div
class=
"bgbg"
>
<h1
style=
"color: #fff"
>
WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024
</h1>
<a
class=
"zn-btn"
href=
"/file/GUIDE.pdf"
target=
"_blank"
>
ENTRY GUIDE
<a
class=
"zn-btn"
href=
"/file/GUIDE.pdf"
target=
"_blank"
>
ENTRY GUIDE
<el-icon><download
/></el-icon>
</a>
</div>
...
...
src/viewsPc/match/chooseCoach.vue
View file @
6cbcab3
...
...
@@ -359,14 +359,25 @@ function goNext() {
}
function
goPrev
()
{
router
.
push
({
name
:
`teamSign`
,
query
:
{
matchId
:
matchId
,
groupId
:
groupId
.
value
,
isNational
:
isNational
.
value
}
})
if
(
isNational
.
value
){
router
.
push
({
name
:
`teamSign`
,
query
:
{
matchId
:
matchId
,
groupId
:
groupId
.
value
,
isNational
:
isNational
.
value
}
})
}
else
{
router
.
push
({
name
:
`teamSignCn`
,
query
:
{
matchId
:
matchId
,
groupId
:
groupId
.
value
,
isNational
:
false
}
})
}
}
function
editPerson
(
id
)
{
...
...
src/viewsPc/match/chooseProject.vue
View file @
6cbcab3
...
...
@@ -17,16 +17,18 @@
<h3
class=
"panel-title"
v-else
>
My Information
</h3>
</div>
<div
class=
"panel-body"
>
<div
class=
"chooseForm"
style=
"display: flex"
>
<div
@
click=
"editPerson"
style=
"width: 50%;text-align: center;"
>
<div
class=
"text-danger fontsize14 mb10"
v-if=
"language==0"
>
*报名双人项目请勾选您的舞伴
</div>
<div
class=
"text-danger fontsize14 mb10"
v-else
>
*Please select your dance mate if you are signing up for a double event
</div>
<div
class=
"chooseForm"
style=
"display: flex;flex-wrap: wrap;"
>
<div
@
click=
"editPerson"
class=
"mb20"
style=
"width: 50%;text-align: center;"
>
<el-avatar
fit=
"cover"
v-if=
"form.picUrl"
:size=
"60"
:src=
"fillImgUrl(form.picUrl)"
/>
<div
v-else
>
<el-avatar
fit=
"cover"
v-if=
"form.sex == 0"
:size=
"60"
src=
"/img/head1.png"
/>
<el-avatar
fit=
"cover"
v-if=
"form.sex == 1"
:size=
"60"
src=
"/img/head0.png"
/>
</div>
<div
class=
"text-center mt10"
>
<span>
{{
form
.
realName
}}
</span>
<el-icon>
<span
class=
"mName"
>
{{
form
.
realName
}}
</span>
<el-icon
size=
"20"
>
<Edit/>
</el-icon>
</div>
...
...
@@ -37,25 +39,24 @@
<el-checkbox
:label=
"form.danceMate.id"
>
<div>
<el-avatar
fit=
"cover"
v-if=
"form.danceMate.picUrl"
:size=
"60"
:src=
"fillImgUrl(form.danceMate.picUrl)"
/>
<el-avatar
fit=
"cover"
v-else-if=
"form.danceMate.sex == 0"
:size=
"60"
src=
"/img/head1.png"
/>
<el-avatar
fit=
"cover"
v-else-if=
"form.danceMate.sex == 1"
:size=
"60"
src=
"/img/head0.png"
/>
<div
class=
"text-center mt10"
@
click=
"editMate(form.danceMate)"
>
<span>
{{
form
.
danceMate
.
realName
}}
</span>
<el-icon
@
click
.
stop=
"editMate(form.danceMate)"
>
<span
class=
"mName"
>
{{
form
.
danceMate
.
realName
}}
</span>
<el-icon
@
click
.
stop=
"editMate(form.danceMate)"
size=
"20"
>
<Edit/>
</el-icon>
<el-icon
@
click
.
stop=
"delMate(form.danceMate)"
>
<Delete/
>
</el-icon
>
<!--
<el-icon
@
click
.
stop=
"delMate(form.danceMate)"
>
--
>
<!--
<Delete/>
--
>
<!--
</el-icon>
--
>
</div>
</div>
</el-checkbox>
</el-checkbox-group>
</div>
<div
style=
"width:50%;"
v-else
@
click=
"addMate"
>
<div
style=
"
min-
width:50%;"
v-else
@
click=
"addMate"
>
<div
class=
"addBttn"
style=
"margin: 0 auto"
>
+
</div>
<div
class=
"text-center mt10 text-primary text-sm"
>
Please add your partner
...
...
@@ -133,23 +134,24 @@
</el-col>
</el-row>
<el-table
class=
"mt20"
:data=
"myMemberTable"
border
>
<el-table-column
type=
"index"
label=
"Index"
width=
"70"
align=
"center"
/>
<el-table-column
:label=
"language==0?'姓氏':'surname'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'名':'name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
label=
"Passport number"
prop=
"idcCode"
min-width=
"120"
/>
<el-table-column
label=
"Birthday"
prop=
"birth"
/>
<el-table-column
label=
"Sex"
prop=
"sexStr"
/>
<el-table-column
label=
"Role"
min-width=
"160"
>
<el-table-column
type=
"index"
:label=
"language==0?'序号':'Index'"
width=
"70"
align=
"center"
/>
<el-table-column
:label=
"language==0?'姓氏':'Surname'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'名':'Name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'国家/地区':'Nationality'"
prop=
"countryName"
min-width=
"100"
/>
<!--
<el-table-column
:label=
"language==0?'证件号':'Valid Documents'"
prop=
"idcCode"
min-width=
"120"
/>
-->
<!--
<el-table-column
label=
"Birthday"
prop=
"birth"
/>
-->
<el-table-column
:label=
"language==0?'性别':'Gender'"
prop=
"sexStr"
/>
<el-table-column
:label=
"language==0?'会员角色':'Role'"
min-width=
"160"
>
<template
#
default=
"scope"
>
<div
class=
"roletd"
>
<span
v-for=
"item in scope.row.label?.split(',')"
:key=
"item.id"
class=
"text-primary"
>
<span
v-if=
"item==='0'"
class=
"ml5"
>
{{
language
==
0
?
'运动员'
:
'athletes'
}}
</span>
<span
v-if=
"item==='1'"
class=
"ml5"
>
{{
language
==
0
?
'教练'
:
'coach'
}}
</span>
<span
v-if=
"item==='2'"
class=
"ml5"
>
{{
language
==
0
?
'领队'
:
'team leader'
}}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{
language
==
0
?
'队医'
:
'team doctor'
}}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{
language
==
0
?
'翻译'
:
'translator'
}}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{
language
==
0
?
'官员'
:
'official'
}}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{
language
==
0
?
'其他'
:
'other'
}}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{
language
==
0
?
'队医'
:
'team doctor'
}}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{
language
==
0
?
'翻译'
:
'translator'
}}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{
language
==
0
?
'官员'
:
'official'
}}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{
language
==
0
?
'其他'
:
'other'
}}
</span>
</span>
</div>
</
template
>
...
...
@@ -184,6 +186,7 @@
<dialogEditWdsf
ref=
"dialogEditWdsfRef"
@
submitForm=
"changeMeDone"
/>
<dialogEditAccompany
ref=
"dialogEditAccompanyRef"
@
submitForm=
"getMyMemberTable"
/>
<addCoachEn
ref=
"dialogAddCoachEnRef"
@
submitForm=
"getMyMemberTable"
/>
<dialogExtraForm
ref=
"popExtraForm"
@
submitForm=
"getSignInfoList"
/>
</div>
</template>
...
...
@@ -192,10 +195,11 @@
import
{
ref
,
reactive
,
toRefs
}
from
'vue'
import
*
as
match
from
'@/apiPc/match'
import
{
getCurrentInstance
,
onMounted
}
from
'@vue/runtime-core'
import
dialogEditWdsf
from
'./components/addWdsf'
import
dialogEditAccompany
from
'./components/addAccompany'
import
dialogAllSportsmanList
from
'./components/allSportsmanList'
import
dialogExtraForm
from
'./components/extraForm'
import
DialogEditWdsf
from
'./components/addWdsf'
import
DialogEditAccompany
from
'./components/addAccompany'
import
AddCoachEn
from
'./components/addCoach_en'
import
DialogAllSportsmanList
from
'./components/allSportsmanList'
import
DialogExtraForm
from
'./components/extraForm'
import
{
Search
,
Switch
}
from
"@element-plus/icons-vue"
;
const
{
proxy
}
=
getCurrentInstance
()
...
...
@@ -295,6 +299,8 @@ function getMyInfo() {
form
.
value
=
res
.
data
myId
.
value
=
res
.
data
.
id
getProjectList
()
}).
catch
(
err
=>
{
router
.
push
({
name
:
'home'
})
})
}
...
...
@@ -309,8 +315,8 @@ function getMyMemberTable() {
}
function
addAccompany
()
{
proxy
.
$refs
[
'dialog
EditAccompany
Ref'
].
open
({
title
:
'Add accompanying personnel'
,
proxy
.
$refs
[
'dialog
AddCoachEn
Ref'
].
open
({
title
:
language
.
value
==
0
?
'添加随行人员'
:
'Add accompanying personnel'
,
cptId
:
matchId
.
value
,
id
:
0
})
...
...
@@ -398,8 +404,8 @@ function submitForm(n) {
if
(
myMemberTable
.
value
.
length
==
0
)
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'是否继续添加随行人员?'
:
'Do you want to add casual personnel?'
,
language
.
value
==
0
?
'提示'
:
'Tip'
,
{
confirmButtonText
:
language
.
value
==
0
?
'
确定
'
:
'Yes'
,
cancelButtonText
:
language
.
value
==
0
?
'
取消'
:
'Cancel
'
,
confirmButtonText
:
language
.
value
==
0
?
'
是
'
:
'Yes'
,
cancelButtonText
:
language
.
value
==
0
?
'
否,进入下一步'
:
'N0,Go Next
'
,
type
:
'warning'
}).
then
(()
=>
{
...
...
@@ -412,8 +418,8 @@ function submitForm(n) {
}
else
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'是否添加随行人员?'
:
'Do you want to add casual personnel?'
,
language
.
value
==
0
?
'提示'
:
'Tip'
,
{
confirmButtonText
:
language
.
value
==
0
?
'
确定
'
:
'Yes'
,
cancelButtonText
:
language
.
value
==
0
?
'
取消'
:
'Cancel
'
,
confirmButtonText
:
language
.
value
==
0
?
'
是
'
:
'Yes'
,
cancelButtonText
:
language
.
value
==
0
?
'
否,进入下一步'
:
'N0,Go Next
'
,
type
:
'warning'
}).
then
(()
=>
{
showPersonList
.
value
=
true
...
...
@@ -553,6 +559,11 @@ function delperson(p) {
function signUp() {
if (projectIds.value.length == 0) {
if (language.value == 0) {
ElMessage.warning('请选择项目')
} else {
ElMessage.warning('Please select project')
}
return
}
let obj = {
...
...
@@ -623,7 +634,9 @@ const goPersonInfo = (row) => {
title: language.value==0?'完善补充信息':'Complete the supplementary information',
participantsInfoArr: extraform.value,
personId: row.personInfo.id,
extraId: row.extraPersonInfo?.id || 0
extraId: row.extraPersonInfo?.id || 0,
isNational:true
}
proxy.$refs['popExtraForm'].open(_.cloneDeep(params))
}
...
...
@@ -673,7 +686,21 @@ function delMate(mate) {
}
function
changeMate
(
e
)
{
console
.
log
(
e
,
mateChosed
.
value
)
console
.
log
(
e
,
mateChosed
.
value
,
form
.
value
.
danceMate
.
passportUrl
)
if
(
form
.
value
.
danceMate
.
passportUrl
==
''
||!
form
.
value
.
danceMate
.
passportUrl
){
mateChosed
.
value
=
[]
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'请先上传舞伴的有效证件'
:
'Please upload the valid certificate of the teammate'
,
language
.
value
==
0
?
'提示'
:
'Tip'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'Yes'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
}).
then
(()
=>
{
editMate
(
form
.
value
.
danceMate
)
return
}).
catch
(()
=>
{
return
})
}
getProjectList
()
}
...
...
@@ -845,4 +872,6 @@ function switchTabletype() {
display
:
inline-block
}
}
.mName
{
color
:
#000
;
font-size
:
15px
;
display
:
inline-block
;
max-width
:
10em
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;}
</
style
>
...
...
src/viewsPc/match/chooseSportsman.vue
View file @
6cbcab3
...
...
@@ -13,7 +13,7 @@
<h3
class=
"panel-title"
v-if=
"language==0"
>
选择参赛运动员清单
</h3>
<h3
class=
"panel-title"
v-else
>
Select list of participating athletes
</h3>
<!--
<a
class=
"fr"
@
click=
"emptyChoosed"
>
{{
language
==
0
?
'清空'
:
'Empty'
}}
</a>
-->
<el-button
type=
"primary"
plain
class=
"fr"
@
click=
"chooseSportman"
>
<el-button
type=
"primary"
plain
class=
"fr"
@
click=
"chooseSportman"
size=
"small"
style=
"top:12px"
>
{{
language
==
0
?
'选手管理'
:
'Player Management'
}}
</el-button>
</div>
...
...
@@ -23,7 +23,7 @@
@
change=
"changechoosed"
>
<el-option
v-for=
"c in athletesList"
:key=
"c.id"
:label=
"c.xing + c.ming"
:value=
"c.id"
>
<div
class=
"flexOption"
>
{{
c
.
xing
}}{{
c
.
ming
}}
{{
c
.
realName
}}
<img
v-if=
"c.sex=='0'"
src=
"@/assets/img/female.png"
/>
<img
v-if=
"c.sex=='1'"
src=
"@/assets/img/male.png"
/>
<!-- -
{{
c
.
age
}}
-->
...
...
@@ -39,6 +39,19 @@
{{ language == 0 ? '重选' : 'Re-select' }}
</el-button>
</div>
<!-- -->
<div
class=
"pd20 text-center"
v-if=
"athletesList.length==0"
>
<span>
{{ language == 0 ? '暂无运动员' : 'No athletes' }}
</span>
<span
class=
"text-primary"
@
click=
"chooseSportman"
>
{{ language == 0 ? '去创建':' Create' }}
</span>
</div>
<div
class=
"pd20 text-center"
v-if=
"choosedchoosed.length==0"
>
<span
class=
"text-warning"
>
{{ language == 0 ? '请在上面的下拉框中选择运动员' : 'Please select athletes in the drop-down box' }}
</span>
</div>
<!-- <div class="noPicChooseForm" id="chooseArr">-->
<!-- <el-checkbox-group v-model="choosedchoosed" @change="changechoosed">-->
<!-- <el-checkbox v-for="c in choosedListBak" :value="c.id" border>-->
...
...
@@ -117,7 +130,7 @@
<!-- </div>-->
<sign-info-table
v-if=
"tableType==0"
:match-id=
"matchId"
:extraform=
"extraform"
:list=
"signInfoList"
@
editExtra=
"goPersonInfo"
/>
@
editExtra=
"goPersonInfo"
:isNational=
"isNational"
/>
<zu-table
v-else
:list=
"zuTableList"
@
delete=
"removeThis"
/>
<div
class=
"text-center mt20"
>
<el-button
type=
"primary"
class=
"w200px"
plain
round
@
click=
"goPrev()"
>
...
...
@@ -146,12 +159,12 @@
</el-dialog>
<dialogExtraForm
ref=
"popExtraForm"
@
submitForm=
"getSignInfoList"
/>
<dialogWdsf
ref=
"popWdsf"
@
submitForm=
"getAthletesList"
@
cancel=
"removeCurproject"
/>
<el-tour
v-model=
"openTour"
:current=
"tourCurrent"
>
<el-tour-step
target=
"#addRef"
title=
"第一步"
description=
"点击选择运动员"
:next-button-props=
"nextButtonProps"
/
>
<el-tour-step
v-if=
"choosedList.length>0"
target=
"#chooseArr"
title=
"第二步"
description=
"勾选报项运动员"
/
>
<el-tour-step
v-if=
"projectList.length>0"
target=
"#projectbox"
title=
"第三步"
description=
"选择报名项目"
/
>
<el-tour-step
v-if=
"projectIds.length>0"
target=
"#signUpBtn"
title=
"第四步"
description=
"点击报项"
/
>
</el-tour
>
<!-- <el-tour v-model="openTour" :current="tourCurrent">--
>
<!-- <el-tour-step target="#addRef" title="第一步" description="点击选择运动员" :next-button-props="nextButtonProps"/>--
>
<!-- <el-tour-step v-if="choosedList.length>0" target="#chooseArr" title="第二步" description="勾选报项运动员"/>--
>
<!-- <el-tour-step v-if="projectList.length>0" target="#projectbox" title="第三步" description="选择报名项目"/>--
>
<!-- <el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/>--
>
<!-- </el-tour>--
>
</div>
</template>
...
...
@@ -342,7 +355,8 @@ function submitForm() {
name
:
'signPreview'
,
query
:
{
matchId
:
matchId
.
value
,
groupId
:
groupId
.
value
groupId
:
groupId
.
value
,
isNational
:
isNational
.
value
}
})
}
...
...
@@ -519,7 +533,8 @@ const goPersonInfo = (row) => {
title
:
language
.
value
==
0
?
'完善补充信息'
:
'Complete the supplementary information'
,
participantsInfoArr
:
extraform
.
value
,
personId
:
row
.
personInfo
.
id
,
extraId
:
row
.
extraPersonInfo
?.
id
||
0
extraId
:
row
.
extraPersonInfo
?.
id
||
0
,
isNational
:
isNational
.
value
}
proxy
.
$refs
[
'popExtraForm'
].
open
(
_
.
cloneDeep
(
params
))
}
...
...
src/viewsPc/match/commitDone.vue
View file @
6cbcab3
...
...
@@ -61,12 +61,11 @@ const goHome = () => {
}
const
goSign
=
()
=>
{
router
.
push
({
name
:
`matchDetail`
,
params
:{
id
:
0
}
name
:
`matchList`
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
.border-info
{
padding
:
30px
;
line-height
:
2
;}
.border-info
{
padding
:
30px
;
line-height
:
2
;}
</
style
>
...
...
src/viewsPc/match/components/addAccompany.vue
View file @
6cbcab3
...
...
@@ -174,8 +174,6 @@ function submitForm() {
}
if
(
Array
.
isArray
(
form
.
value
.
passportUrl
)){
form
.
value
.
passportUrl
=
form
.
value
.
passportUrl
[
0
].
url
}
else
{
form
.
value
.
passportUrl
=
form
.
value
.
passportUrl
}
proxy
.
$refs
[
'dialogRef'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
...
...
src/viewsPc/match/components/addCoach.vue
View file @
6cbcab3
...
...
@@ -324,12 +324,17 @@ function submitForm() {
return
}
}
if
(
!
form
.
value
.
passportUrl
){
ElMessage
.
warning
(
language
.
value
==
0
?
'请上传有效证件'
:
'Please upload your passport file'
)
return
}
if
(
typeof
(
form
.
value
.
regionId
)
===
'object'
)
{
form
.
value
.
regionId
=
_
.
last
(
form
.
value
.
regionId
)
}
form
.
value
.
label
=
form
.
value
.
labelArr
.
toString
()
if
(
Array
.
isArray
(
form
.
value
.
passportUrl
)){
form
.
value
.
passportUrl
=
form
.
value
.
passportUrl
[
0
].
url
}
if
(
groupId
.
value
!=
0
)
{
// 团队
form
.
value
.
groupId
=
groupId
.
value
...
...
src/viewsPc/match/components/addCoach_en.vue
View file @
6cbcab3
...
...
@@ -25,7 +25,7 @@
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"language==0?'姓氏':'Surname'"
prop=
"xing"
required
>
<el-form-item
:label=
"language==0?'姓氏':'Surname'"
prop=
"xing"
:required=
"!editDis"
>
<el-input
v-model=
"form.xing"
:disabled=
"editDis"
/>
</el-form-item>
<el-form-item
:label=
"language==0?'名':'Name'"
prop=
"ming"
required
>
...
...
@@ -38,7 +38,7 @@
</el-radio-group>
</el-form-item>
<el-form-item
:label=
"language==0?'所属国家/地区':'Nationality'"
prop=
"countryId"
required
>
<el-select
:disabled=
"language==0"
filterable
v-model=
"form.countryId"
style=
"width: 100%;"
>
<el-select
filterable
v-model=
"form.countryId"
style=
"width: 100%;"
>
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"language==0?item.name:item.enName"
:value=
"item.id"
/>
</el-select>
...
...
@@ -153,7 +153,7 @@ const data = reactive({
sex
:
'0'
},
rules
:
{
xing
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
//
xing: [{required: true, message: '必填', trigger: 'blur'}],
ming
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
// countryId: [{required: true, message: '必填', trigger: 'change'}],
// idcType: [{required: true, message: '必填', trigger: 'change'}],
...
...
@@ -167,7 +167,7 @@ const data = reactive({
labelArr
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'change'
}]
},
rules_cn
:
{
xing
:
[{
required
:
true
,
message
:
'required'
,
trigger
:
'blur'
}],
//
xing: [{required: true, message: 'required', trigger: 'blur'}],
ming
:
[{
required
:
true
,
message
:
'required'
,
trigger
:
'blur'
}],
countryId
:
[{
required
:
true
,
message
:
'required'
,
trigger
:
'change'
}],
// idcType: [{required: true, message: 'required', trigger: 'change'}],
...
...
@@ -221,13 +221,17 @@ onMounted(() => {
const
editgay
=
ref
(
false
)
const
editDis
=
ref
(
false
)
const
isShow
=
ref
(
false
)
const
cptId
=
ref
(
'0'
)
const
open
=
(
params
)
=>
{
console
.
log
(
params
.
label
)
show
.
value
=
true
title
.
value
=
params
.
title
cptId
.
value
=
params
.
cptId
groupId
.
value
=
params
.
groupId
||
'0'
if
(
params
.
label
)
{
form
.
value
.
labelArr
=
[
params
.
label
]
}
else
{
form
.
value
.
labelArr
=
[]
}
if
(
params
.
id
!=
0
)
{
// 编辑
editgay
.
value
=
true
...
...
@@ -250,6 +254,8 @@ watch(show, (value) => {
form
.
value
=
{
sex
:
'0'
}
card
.
value
=
''
editDis
.
value
=
false
if
(
language
.
value
==
0
)
{
form
.
value
.
countryId
=
240
}
...
...
@@ -376,6 +382,12 @@ function submitForm() {
// return
// }
// }
if
(
!
editDis
.
value
){
if
(
!
form
.
value
.
xing
){
ElMessage
.
warning
(
language
.
value
==
0
?
'请填写姓'
:
'Please fill in surname'
)
return
}
}
if
(
!
form
.
value
.
passportUrl
){
ElMessage
.
warning
(
language
.
value
==
0
?
'请上传护照文件'
:
'Please upload your passport file'
)
return
...
...
@@ -385,8 +397,6 @@ function submitForm() {
}
if
(
Array
.
isArray
(
form
.
value
.
passportUrl
)){
form
.
value
.
passportUrl
=
form
.
value
.
passportUrl
[
0
].
url
}
else
{
form
.
value
.
passportUrl
=
form
.
value
.
passportUrl
}
form
.
value
.
label
=
form
.
value
.
labelArr
.
toString
()
...
...
@@ -414,6 +424,7 @@ function submitForm() {
emit
(
'submitForm'
)
})
}
else
{
form
.
value
.
cptId
=
cptId
.
value
match
.
savePersonForMyPerson
(
form
.
value
).
then
(
res
=>
{
ElMessage
.
success
(
language
.
value
==
0
?
'保存成功'
:
'Save successful'
)
show
.
value
=
false
...
...
src/viewsPc/match/components/addWdsf.vue
View file @
6cbcab3
...
...
@@ -212,8 +212,8 @@ function submitForm() {
// ElMessage.warning('Please upload your photo')
// return
// }
if
(
!
form
.
value
.
passportUrl
)
{
ElMessage
.
warning
(
'Please upload
your
passport file'
)
if
(
!
form
.
value
.
passportUrl
||
form
.
value
.
passportUrl
==
''
||
form
.
value
.
passportUrl
.
length
==
0
)
{
ElMessage
.
warning
(
'Please upload passport file'
)
return
}
if
(
editgay
)
{
...
...
@@ -223,7 +223,7 @@ function submitForm() {
form
.
value
.
passportUrl
=
form
.
value
.
passportUrl
[
0
].
url
}
match
.
editPersonInfo
(
form
.
value
).
then
(
res
=>
{
ElMessage
.
success
(
'保存成功
'
)
ElMessage
.
success
(
language
.
value
==
0
?
'保存成功'
:
'Successfully
'
)
show
.
value
=
false
emit
(
'submitForm'
)
})
...
...
src/viewsPc/match/components/allSportsmanList.vue
View file @
6cbcab3
...
...
@@ -4,7 +4,7 @@
<el-button
type=
"primary"
@
click=
"addMember"
>
{{
language
==
0
?
'添加选手'
:
'Add Player'
}}
</el-button>
<el-button
type=
"primary"
plain
@
click=
"importSportman"
v-if=
"isNational"
>
<el-button
type=
"primary"
plain
@
click=
"importSportman"
v-if=
"
!
isNational"
>
{{
language
==
0
?
'导入选手'
:
'Import Player'
}}
</el-button>
</div>
...
...
@@ -13,7 +13,7 @@
<el-form-item
:label=
"language==0?'姓名':'Name'"
>
<el-input
v-model=
"query.realName"
style=
"width: 120px;"
clearable
/>
</el-form-item>
<el-form-item
:label=
"language==0?'证件类型':'ID Type'"
>
<el-form-item
:label=
"language==0?'证件类型':'ID Type'"
v-if=
"!isNational"
>
<el-select
v-model=
"query.idcType"
style=
"width: 100px;"
clearable
@
change=
"getList"
>
<el-option
v-for=
"item in certificates"
...
...
@@ -23,7 +23,7 @@
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"language==0?'证件号码':'ID NO.'"
>
<el-form-item
:label=
"language==0?'证件号码':'ID NO.'"
v-if=
"!isNational"
>
<el-input
v-model=
"query.idcode"
style=
"width: 120px;"
clearable
/>
</el-form-item>
<!--
<el-form-item
label=
"角色"
>
-->
...
...
@@ -38,20 +38,20 @@
<el-table
ref=
"allSportmenTable"
v-loading=
"loading"
:data=
"tableData"
height=
"60vh"
@
selection-change=
"handleSelectionChange"
>
<!--
<el-table-column
type=
"selection"
:label=
"language==0?'选择':'Selection'"
:selectable=
"selectable"
/>
-->
<el-table-column
type=
"index"
:label=
"language==0?'序号':'Index'"
width=
"60"
:selectable=
"selectable"
/>
<el-table-column
v-
show=
"isNational"
:label=
"language==0?'WDSF 会员号':'
MIN'"
prop=
"wdsfMin"
width=
"100"
/>
<el-table-column
:label=
"language==0?'姓氏':'Surname'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'名':'Name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
v-show
=
"isNational"
:label=
"language==0?'代表':'Representing'"
prop=
"representing"
min-width=
"120"
/>
<el-table-column
:label=
"language==0?'所属国家/地区':'Nationality'"
prop=
"countryName"
min-width=
"10
0"
/>
<el-table-column
align=
"center"
type=
"index"
:label=
"language==0?'序号':'Index'"
width=
"60"
:selectable=
"selectable"
/>
<el-table-column
v-
if=
"isNational"
:label=
"language==0?'WDSF 会员号':'WDSF
MIN'"
prop=
"wdsfMin"
width=
"100"
/>
<el-table-column
align=
"center"
:label=
"language==0?'姓氏':'Surname'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
align=
"center"
:label=
"language==0?'名':'Name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
align=
"center"
v-if
=
"isNational"
:label=
"language==0?'代表':'Representing'"
prop=
"representing"
min-width=
"120"
/>
<el-table-column
align=
"center"
v-if=
"!isNational"
:label=
"language==0?'所属国家/地区':'Nationality'"
prop=
"countryName"
min-width=
"11
0"
/>
<el-table-column
:label=
"language==0?'性别':'Gender'"
prop=
"sexStr"
/>
<el-table-column
v-show
=
"isNational"
:label=
"language==0?'年龄组':'Age group'"
prop=
"ageGroup"
min-width=
"100"
/>
<el-table-column
v-show
=
"isNational"
:label=
"language==0?'舞种':'Division'"
prop=
"division"
min-width=
"100"
/>
<el-table-column
align=
"center"
v-if
=
"isNational"
:label=
"language==0?'年龄组':'Age group'"
prop=
"ageGroup"
min-width=
"100"
/>
<el-table-column
align=
"center"
v-if
=
"isNational"
:label=
"language==0?'舞种':'Division'"
prop=
"division"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'年龄':'Age'"
prop=
"age"
/>
<el-table-column
:label=
"language==0?'出生日期':'Birth'"
prop=
"birth"
width=
"110"
/>
<el-table-column
:label=
"language==0?'证件类型':'ID Type'"
prop=
"idcTypeStr"
width=
"120"
/>
<el-table-column
:label=
"language==0?'证件号码':'ID NO.'"
prop=
"idcCode"
width=
"200"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'年龄':'Age'"
prop=
"age"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'出生日期':'Birth'"
prop=
"birth"
width=
"110"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'证件类型':'ID Type'"
prop=
"idcTypeStr"
width=
"120"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'证件号码':'ID NO.'"
prop=
"idcCode"
width=
"200"
/>
<!--
<el-table-column
label=
"会员角色"
width=
"200"
>
-->
<!--
<template
#
default=
"scope"
>
-->
<!--
<div>
-->
...
...
src/viewsPc/match/components/extraForm.vue
View file @
6cbcab3
...
...
@@ -9,11 +9,16 @@
</el-descriptions-item>
<el-descriptions-item
v-if=
"form.xing"
:label=
"language==0?'姓氏':'Surname'"
>
{{
form
.
xing
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"language==0?'名':'Name'"
>
{{
form
.
ming
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"language==0?'性别':'Sex'"
>
{{
form
.
sexStr
}}
</el-descriptions-item>
<el-descriptions-item
v-if=
"form.countryName"
:label=
"language==0?'所属国家/地区':'Country'"
>
{{
form
.
countryName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"language==0?'证件类型':'ID type'"
>
{{
form
.
idcTypeStr
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"language==0?'证件号码':'ID NO'"
>
{{
form
.
idcCode
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"language==0?'出生日期':'birth'"
>
{{
form
.
birth
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"language==0?'性别':'Gender'"
>
{{
form
.
sexStr
}}
</el-descriptions-item>
<el-descriptions-item
v-if=
"isNational"
:label=
"language==0?'代表':'Representing'"
>
{{
form
.
representing
}}
</el-descriptions-item>
<el-descriptions-item
v-else
:label=
"language==0?'所属国家/地区':'Country'"
>
{{
form
.
countryName
}}
</el-descriptions-item>
<el-descriptions-item
v-if=
"isNational"
:label=
"language==0?'WDSF':'WDSF MIN'"
>
{{
form
.
idcCode
}}
</el-descriptions-item>
<el-descriptions-item
v-else
:label=
"language==0?'证件类型':'ID type'"
>
{{
form
.
idcTypeStr
}}
</el-descriptions-item>
<el-descriptions-item
v-else
:label=
"language==0?'证件号码':'ID NO'"
>
{{
form
.
idcCode
}}
</el-descriptions-item>
<el-descriptions-item
v-if=
"!isNational"
:label=
"language==0?'出生日期':'birth'"
>
{{
form
.
birth
}}
</el-descriptions-item>
</el-descriptions>
<el-row
v-if=
"participantsInfoArr&&participantsInfoArr.length>0"
class=
"mt20"
>
...
...
@@ -66,12 +71,13 @@ const language= useStorage('language',0)
const
data
=
reactive
({
form
:
{},
show
:
false
,
isNational
:
false
,
countryList
:
[],
participantsInfoArr
:
[],
title
:
''
,
groupId
:
'0'
})
const
{
form
,
show
,
countryList
,
participantsInfoArr
,
title
,
groupId
}
=
toRefs
(
data
)
const
{
form
,
show
,
isNational
,
countryList
,
participantsInfoArr
,
title
,
groupId
}
=
toRefs
(
data
)
let
extraId
=
0
let
personId
let
matchId
...
...
@@ -86,6 +92,7 @@ const open = (params) => {
personId
=
params
.
personId
extraId
=
params
.
extraId
matchId
=
params
.
matchId
isNational
.
value
=
params
.
isNational
participantsInfoArr
.
value
=
params
.
participantsInfoArr
init
()
}
...
...
src/viewsPc/match/components/groupInfo-row.vue
View file @
6cbcab3
...
...
@@ -3,7 +3,7 @@
<el-row>
<el-col
:lg=
"8"
>
<el-row
:gutter=
"15"
>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
v-if=
"groupInfo.imgUrl"
>
<img
class=
"w100"
:src=
"fillImgUrl(groupInfo.imgUrl)"
/>
</el-col>
<el-col
:span=
"20"
>
...
...
@@ -20,7 +20,7 @@
</el-col>
<el-col
:lg=
"8"
>
<div
class=
"item"
><label>
{{
language
==
0
?
'负责人姓名'
:
'Contact Person'
}}
</label>
{{
groupInfo
.
contactPerson
}}
</div>
<div
class=
"item"
><label>
{{
language
==
0
?
'参赛队名称'
:
'Name of participating team'
}}
</label>
{{
groupInfo
.
abreviations
}}
</div>
<div
class=
"item"
v-if=
"groupInfo.type!='4'"
><label>
{{
language
==
0
?
'参赛队名称'
:
'Name of participating team'
}}
</label>
{{
groupInfo
.
abreviations
}}
</div>
</el-col>
<el-col
:lg=
"8"
>
<div
class=
"item"
><label>
{{
language
==
0
?
'邮箱'
:
'Email'
}}
</label>
{{
groupInfo
.
contactEmail
}}
</div>
...
...
src/viewsPc/match/components/matchInfo-projectList.vue
View file @
6cbcab3
...
...
@@ -27,9 +27,30 @@
<td>
{{
p
.
danceTypeDetailStr
}}
</td>
<td>
{{
p
.
playTypeStr
}}
</td>
<td>
<div>
{{
p
.
birthPeriod
}}
</div>
<div>
{{
p
.
birthPeriodSecond
}}
</div>
<!--
<div>
{{
p
.
birthAgeGroup
}}
;
{{
p
.
birthAgeSecondGroup
}}
</div>
-->
<!--
{{
isNational
}}
-->
<div
v-if=
"isNational"
>
<span
v-if=
"p.ageGroup == '0'"
>
{{
language
==
0
?
'不限制'
:
'Unlimited'
}}
</span>
<span
v-if=
"p.ageGroup == '1'"
>
Juvenile I
</span>
<span
v-if=
"p.ageGroup == '2'"
>
Juvenile II
</span>
<span
v-if=
"p.ageGroup == '3'"
>
Juv1
&
II (comb.)
</span>
<span
v-if=
"p.ageGroup == '4'"
>
Junior I
</span>
<span
v-if=
"p.ageGroup == '5'"
>
Junior II
</span>
<span
v-if=
"p.ageGroup == '6'"
>
Juv I
&
II (comb.)
</span>
<span
v-if=
"p.ageGroup == '7'"
>
Youth
</span>
<span
v-if=
"p.ageGroup == '8'"
>
Under 21
</span>
<span
v-if=
"p.ageGroup == '9'"
>
Adult
</span>
<span
v-if=
"p.ageGroup == '10'"
>
Senior I
</span>
<span
v-if=
"p.ageGroup == '11'"
>
Senior II
</span>
<span
v-if=
"p.ageGroup == '12'"
>
Senior III
</span>
<span
v-if=
"p.ageGroup == '13'"
>
Senior IV
</span>
<span
v-if=
"p.ageGroup == '14'"
>
Senior V
</span>
</div>
<div
v-else
>
<div>
{{
p
.
birthPeriod
}}
</div>
<div>
{{
p
.
birthPeriodSecond
}}
</div>
</div>
<!--
<div>
{{
p
.
birthAgeGroup
}}
;
{{
p
.
birthAgeSecondGroup
}}
</div>
-->
</td>
<td>
{{
language
==
0
?
'¥'
:
'€'
}}{{
p
.
serviceFee
}}
</td>
</tr>
...
...
@@ -49,7 +70,12 @@ const props = defineProps({
type
:
Array
,
required
:
true
,
default
:[]
}
},
isNational
:
{
type
:
Boolean
,
required
:
false
,
default
:
false
},
})
</
script
>
...
...
src/viewsPc/match/components/matchInfo-row.vue
View file @
6cbcab3
...
...
@@ -6,6 +6,9 @@
<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>
<el-col
:lg=
"8"
><div
class=
"item"
><label>
联系人
</label>
{{
matchInfo
.
contactPerson
}}
</div></el-col>
<el-col
:lg=
"8"
><div
class=
"item"
><label>
联系电话
</label>
086-
{{
matchInfo
.
contactTelno
}}
</div></el-col>
<el-col
:lg=
"8"
><div
class=
"item"
><label>
联系邮箱
</label>
{{
matchInfo
.
contactEmail
}}
</div></el-col>
</el-row>
<el-row
v-else
>
<el-col
:lg=
"8"
><div
class=
"item"
><label>
Event Name
</label>
{{
matchInfo
.
name
}}
</div></el-col>
...
...
@@ -13,6 +16,9 @@
<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>
<el-col
:lg=
"8"
><div
class=
"item"
><label>
Contact Name
</label>
{{
matchInfo
.
contactPerson
}}
</div></el-col>
<el-col
:lg=
"8"
><div
class=
"item"
><label>
Contact Phone
</label>
086-
{{
matchInfo
.
contactTelno
}}
</div></el-col>
<el-col
:lg=
"8"
><div
class=
"item"
><label>
Contact Email
</label>
{{
matchInfo
.
contactEmail
}}
</div></el-col>
</el-row>
</div>
</
template
>
...
...
src/viewsPc/match/components/matchInfo.vue
View file @
6cbcab3
...
...
@@ -82,7 +82,7 @@
<!--
</div>
-->
<div
class=
"indexTitle"
v-if=
"form.type==1 && form.cptProjectList?.length > 0"
><h3
class=
"leftboderTT"
>
Event settings
</h3></div>
<div
v-if=
"form.type==1 && form.cptProjectList?.length > 0"
>
<match-info-project-list
:list=
"form.cptProjectList"
/>
<match-info-project-list
:list=
"form.cptProjectList"
:is-national=
"form.languageSource!='100'"
/>
</div>
</div>
</
template
>
...
...
@@ -91,14 +91,19 @@
import
{
ref
}
from
"vue"
;
import
MatchInfoProjectList
from
"@/viewsPc/match/components/matchInfo-projectList"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
import
{
onMounted
}
from
"@vue/runtime-core"
;
const
language
=
useStorage
(
'language'
,
0
)
const
props
=
defineProps
({
form
:{
type
:
Object
,
required
:
true
}
})
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/viewsPc/match/components/signInfo-table.vue
View file @
6cbcab3
<
template
>
<div
class=
"mt20"
></div>
<div
class=
"mt20"
>
<!--
{{
isNational
}}
-->
</div>
<el-table
:data=
"list"
:sum-text=
"sumText"
border
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
:label=
"language==0?'序号':'Index'"
type=
"index"
width=
"70"
align=
"center"
/>
<el-table-column
:label=
"language==0?'姓氏':'Surname'"
prop=
"personInfo.xing"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'名':'Name'"
prop=
"personInfo.ming"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'所属国家/地区':'Country'"
prop=
""
:min-width=
"language==0?'100':'120'
"
>
<el-table-column
:label=
"language==0?'所属国家/地区':'Country'"
min-width=
"120
"
>
<template
#
default=
"scope"
>
<span
v-if=
"scope.row.personInfo.countryName"
>
{{
scope
.
row
.
personInfo
.
countryName
}}
</span>
<span
v-if=
"scope.row.personInfo.representing"
>
{{
scope
.
row
.
personInfo
.
representing
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"language==0?'性别':'Gender'"
prop=
"personInfo.sexStr"
/>
<el-table-column
:label=
"language==0?'证件类型':'ID Type'"
:width=
"language==0?'':'140'"
prop=
"personInfo.idcTypeStr"
/>
<el-table-column
:label=
"language==0?'证件号码':'ID NO.'"
prop=
"personInfo.idcCode"
width=
"200"
/>
<el-table-column
:label=
"language==0?'出生日期':'Birth'"
prop=
"personInfo.birth"
width=
"110"
/>
<el-table-column
:label=
"language==0?'会员角色':'Role'"
width=
"150"
>
<
template
#
default=
"scope"
>
<div
class=
"esp"
>
<span
v-for=
"item in scope.row.personInfo.label?.split(',')"
:key=
"item.id"
class=
"text-primary"
>
<span
v-if=
"item==='0'"
class=
"ml5"
>
{{
language
==
0
?
'运动员'
:
'athletes'
}}
</span>
<span
v-if=
"item==='1'"
class=
"ml5"
>
{{
language
==
0
?
'教练'
:
'coach'
}}
</span>
<span
v-if=
"item==='2'"
class=
"ml5"
>
{{
language
==
0
?
'领队'
:
'team leader'
}}
</span>
<span
v-if=
"item==='3'"
class=
"ml5"
>
{{
language
==
0
?
'队医'
:
'team doctor'
}}
</span>
<span
v-if=
"item==='4'"
class=
"ml5"
>
{{
language
==
0
?
'翻译'
:
'translator'
}}
</span>
<span
v-if=
"item==='5'"
class=
"ml5"
>
{{
language
==
0
?
'官员'
:
'official'
}}
</span>
<span
v-if=
"item==='6'"
class=
"ml5"
>
{{
language
==
0
?
'其他'
:
'other'
}}
</span>
</span>
</div>
</
template
>
</el-table-column>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'证件类型':'ID Type'"
:width=
"language==0?'':'140'"
prop=
"personInfo.idcTypeStr"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'证件号码':'ID NO.'"
prop=
"personInfo.idcCode"
width=
"200"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'WDSF 会员号':'WDSF MIN'"
prop=
"personInfo.wdsfMin"
width=
"200"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'出生日期':'Birth'"
prop=
"personInfo.birth"
width=
"110"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'年龄组':'Age group'"
prop=
"personInfo.ageGroup"
width=
"110"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'舞种':'Division'"
prop=
"personInfo.division"
width=
"110"
/>
<!-- <el-table-column :label="language==0?'会员角色':'Role'" width="150">-->
<!-- <template #default="scope">-->
<!-- <div class="esp">-->
<!-- <span v-for="item in scope.row.personInfo.label?.split(',')" :key="item.id" class="text-primary">-->
<!-- <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span>-->
<!-- <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span>-->
<!-- <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'team leader' }}</span>-->
<!-- <span v-if="item==='4'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>-->
<!-- <span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>-->
<!-- <span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>-->
<!-- <span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>-->
<!-- </span>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>-->
<el-table-column
:label=
"language==0?'报项':'Entries'"
min-width=
"300"
:fixed=
"hasAction?false:'right'"
>
<
template
#
default=
"props"
>
...
...
@@ -54,8 +59,9 @@
<el-table-column
v-for=
"(e,index) in extraTableHead"
:key=
"index"
:label=
"e"
min-width=
"110"
align=
"center"
>
<
template
#
default=
"scope"
>
<el-link
v-if=
"scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'"
target=
"_blank"
:href=
"fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index].value.url)"
>
{{
scope
.
row
.
signInfo
[
0
].
extraPersonInfoMapList
[
index
].
value
.
name
}}
<span
class=
"text-primary"
>
{{
scope
.
row
.
signInfo
[
0
].
extraPersonInfoMapList
[
index
].
value
.
name
}}
</span>
</el-link>
<img
v-else-if=
"scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'"
style=
"width: 50px;"
:src=
"fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value)"
>
...
...
@@ -120,8 +126,10 @@ import {useStorage} from "@vueuse/core/index";
const
language
=
useStorage
(
'language'
,
0
)
const
extraTableHead
=
ref
([])
const
loading
=
ref
(
true
)
const
isNational
=
ref
(
false
)
const
sumText
=
ref
(
'保险费'
)
getTableHead
()
getMatch
()
const
goPersonInfo
=
(
row
)
=>
{
emit
(
'editExtra'
,
row
)
}
...
...
@@ -131,6 +139,16 @@ function getTableHead() {
loading
.
value
=
false
})
}
function
getMatch
()
{
match
.
getMatchById
({
id
:
props
.
matchId
}).
then
(
res
=>
{
if
(
res
.
data
.
languageSource
==
'100'
){
isNational
.
value
=
false
}
else
{
isNational
.
value
=
true
}
})
}
function
totalMethod
()
{
}
</
script
>
...
...
src/viewsPc/match/components/substation-list.vue
View file @
6cbcab3
...
...
@@ -17,7 +17,7 @@
<p
class=
"ppl esp"
><label>
{{
language
==
0
?
'地    点'
:
'Location'
}}
:
</label>
{{
n
.
address
}}
</p>
<p
class=
"ppl"
><label>
{{
language
==
0
?
'赛事级别'
:
'Level'
}}
:
</label>
{{
n
.
level
}}
</p>
<p
class=
"ppl"
><label>
{{
language
==
0
?
'报名截止'
:
'Registration Deadline'
}}
:
</label>
{{
n
.
signEndTime
?.
slice
(
0
,
10
)
}}
</p>
<p
class=
"ppl"
v-if=
"n.contactPerson"
><label>
{{
language
==
0
?
'联
系人员
'
:
'Contact Person'
}}
:
</label>
{{
n
.
contactPerson
}}
</p>
<p
class=
"ppl"
v-if=
"n.contactPerson"
><label>
{{
language
==
0
?
'联
 系 人
'
:
'Contact Person'
}}
:
</label>
{{
n
.
contactPerson
}}
</p>
<p
class=
"ppl"
><label>
{{
language
==
0
?
'联系电话'
:
'Phone'
}}
:
</label>
086-
{{
n
.
contactTelno
}}
</p>
<p
class=
"ppl"
v-if=
"n.contactEmail"
><label>
{{
language
==
0
?
'邮    箱'
:
'E-mail'
}}
:
</label>
{{
n
.
contactEmail
}}
</p>
...
...
src/viewsPc/match/components/zu-table.vue
View file @
6cbcab3
...
...
@@ -10,7 +10,7 @@
<div
v-html=
"scope.row.project.remarks"
></div>
</
template
>
</el-table-column>
<el-table-column
:label=
"language==0?'参赛运动员':'Participating athletes'"
width=
"120px"
>
<el-table-column
:label=
"language==0?'参赛运动员':'Participating athletes'"
min-
width=
"120px"
>
<
template
#
default=
"scope"
>
<div>
<span
v-for=
"s in scope.row.athletes"
>
{{
s
.
name
}}
,
</span>
...
...
src/viewsPc/match/detail_en.vue
View file @
6cbcab3
...
...
@@ -23,7 +23,7 @@
<img
class=
"mauto w100"
:src=
"fillImgUrl(matchData.coverUrl)"
>
</el-col>
<el-col
:lg=
"9"
:md=
"12"
:xl=
"10"
style=
"position: relative"
>
<h3
class=
"m0"
>
{{ matchData.name }}{{matchData.languageSource
}}
</h3>
<h3
style=
"margin: 0 0 10px"
>
{{ matchData.name
}}
</h3>
<div
v-if=
"matchData.type=='1'"
>
<p
class=
"ppl"
>
<label
class=
"bm2"
>
{{ language == 0 ? '赛事级别' : 'Event Level' }}:
</label>
...
...
@@ -47,9 +47,15 @@
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>
</svg>
{{ language == 0 ? '分
站
赛' : 'Station race' }}:
</label>
{{ language == 0 ? '分
 
站
 
赛' : 'Station race' }}:
</label>
{{ matchData.cpts.length }}
</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?'联
 
系
 
人':'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"
...
...
@@ -60,6 +66,16 @@
</svg>
{{ language == 0 ? '联系电话' : 'Phone' }}:
</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>
{{ language==0?'邮
    
箱':'E-mail' }}:
</label>
{{ matchData.contactEmail }}
</p>
</div>
<div
v-if=
"matchData.type=='0'"
>
...
...
@@ -77,7 +93,7 @@
{{ matchData.signEndTime?.slice(0, 10) }}
</p>
<p
class=
"ppl"
v-if=
"matchData.contactPerson"
>
<label>
{{ language == 0 ? '联
系人员
' : 'Contact Person' }}:
</label>
<label>
{{ language == 0 ? '联
 
系
 
人
' : 'Contact Person' }}:
</label>
{{ matchData.contactPerson }}
</p>
<p
class=
"ppl"
><label>
{{ language == 0 ? '联系电话' : 'Phone' }}:
</label>
...
...
@@ -168,7 +184,7 @@
</div>
<matchInfo
:form=
"matchData"
v-if=
"menu[0].active==1"
/>
<div
v-if=
"menu[1].active==1"
>
<match-info-project-list
:list=
"matchData.cptProjectList"
/>
<match-info-project-list
:list=
"matchData.cptProjectList"
:is-national=
"isNational"
/>
</div>
<match-schedule-list
:match-data=
"matchData"
v-if=
"menu[2].active==1"
/>
<div
v-if=
"menu[3].active==1"
>
...
...
@@ -404,11 +420,11 @@ function choseSignType() {
goPersonalSign
()
}
else
{
ElMessageBox
.
confirm
(
'The current event is a personal event, cannot register'
,
'Warning'
,
language
.
value
==
0
?
'当前活动是个人活动,无法报名'
:
'The current event is a personal event, cannot register'
,
language
.
value
==
0
?
'提示'
:
'Warning'
,
{
confirmButtonText
:
'OK'
,
cancelButtonText
:
'Cancel'
,
confirmButtonText
:
language
.
value
==
0
?
'好的'
:
'OK'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
,
}
)
...
...
@@ -417,11 +433,11 @@ function choseSignType() {
case
'1'
:
if
(
user
.
utype
==
'1'
)
{
ElMessageBox
.
confirm
(
'The current event is a team event, cannot register'
,
'Warning'
,
language
.
value
==
0
?
'当前活动是团队活动,无法报名'
:
'The current event is a team event, cannot register'
,
language
.
value
==
0
?
'提示'
:
'Warning'
,
{
confirmButtonText
:
'OK'
,
cancelButtonText
:
'Cancel'
,
confirmButtonText
:
language
.
value
==
0
?
'好的'
:
'OK'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
,
}
)
...
...
@@ -444,6 +460,18 @@ function choseSignType() {
function
goTeamSign
()
{
if
(
matchData
.
value
.
languageSource
==
'100'
)
{
// 国内
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'
,
}
)
return
}
router
.
push
({
path
:
`
${
route
.
params
.
id
}
/teamSignCn`
,
query
:
{
...
...
@@ -454,6 +482,19 @@ function goTeamSign() {
}
})
}
else
{
// 国际赛
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'
,
}
)
return
}
router
.
push
({
path
:
`
${
route
.
params
.
id
}
/teamSign`
,
query
:
{
...
...
@@ -500,11 +541,11 @@ function checkIsSign() {
return
match
.
getMySignInfo
(
obj
).
then
(
res
=>
{
if
(
res
.
data
.
type
==
'1'
)
{
ElMessageBox
.
confirm
(
'Registered, cannot be duplicated. Do you want to go to the personal center to check
'
,
'Warning'
,
language
.
value
==
0
?
'已报名,不能重复报名,是否前往个人中心查看'
:
'Registered, cannot be duplicated. Go to the personal center to check?
'
,
language
.
value
==
0
?
'提示'
:
'Warning'
,
{
confirmButtonText
:
'OK
'
,
cancelButtonText
:
'Cancel
'
,
confirmButtonText
:
language
.
value
==
1
?
'OK'
:
'确定
'
,
cancelButtonText
:
language
.
value
==
1
?
'Cancel'
:
'取消
'
,
type
:
'warning'
,
}
).
then
(()
=>
{
...
...
@@ -514,18 +555,75 @@ function checkIsSign() {
}
if
(
res
.
data
.
type
==
'2'
)
{
ElMessageBox
.
confirm
(
'Registration approval rejected. Do you want to reapply
'
,
'Warning'
,
language
.
value
==
0
?
'报名审批拒绝,是否重新报名'
:
'Registration approval rejected. Do you want to register again
'
,
language
.
value
==
0
?
'提示'
:
'Warning'
,
{
confirmButtonText
:
'OK
'
,
cancelButtonText
:
'Cancel
'
,
confirmButtonText
:
language
.
value
==
1
?
'OK'
:
'确定
'
,
cancelButtonText
:
language
.
value
==
1
?
'Cancel'
:
'取消
'
,
type
:
'warning'
,
}
).
then
(()
=>
{
match
.
recoverMySignFromCancel
(
matchId
.
value
).
then
((
res
)
=>
{
})
reSign
()
})
return
Promise
.
reject
(
'rejected message'
)
}
if
(
res
.
data
.
type
==
'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'
,
}
).
then
(()
=>
{
reSign
()
})
return
Promise
.
reject
(
'rejected message'
)
}
})
}
function
reSign
(){
match
.
recoverMySignFromCancel
(
matchId
.
value
).
then
((
res
)
=>
{
switch
(
matchData
.
value
.
signType
)
{
case
'0'
:
if
(
user
.
utype
==
'1'
)
{
goPersonalSign
()
}
else
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'当前活动是个人活动,无法报名'
:
'The current event is a personal event, cannot register'
,
language
.
value
==
0
?
'提示'
:
'Warning'
,
{
confirmButtonText
:
language
.
value
==
1
?
'OK'
:
'确定'
,
cancelButtonText
:
language
.
value
==
1
?
'Cancel'
:
'取消'
,
type
:
'warning'
,
}
)
}
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
==
1
?
'OK'
:
'确定'
,
cancelButtonText
:
language
.
value
==
1
?
'Cancel'
:
'取消'
,
type
:
'warning'
,
}
)
}
else
{
goTeamSign
()
}
break
case
'2'
:
if
(
user
.
utype
==
'1'
)
{
goPersonalSign
()
}
else
{
goTeamSign
()
}
break
}
})
}
...
...
src/viewsPc/match/import.html
View file @
6cbcab3
...
...
@@ -173,10 +173,10 @@
<span
v-if=
"item==='0'"
class=
"ml5"
>
{{ language == 0 ? '运动员' : 'athletes' }}
</span>
<span
v-if=
"item==='1'"
class=
"ml5"
>
{{ language == 0 ? '教练' : 'coach' }}
</span>
<span
v-if=
"item==='2'"
class=
"ml5"
>
{{ language == 0 ? '领队' : 'team leader' }}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{ language == 0 ? '队医' : 'team doctor' }}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{ language == 0 ? '翻译' : 'translator' }}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{ language == 0 ? '官员' : 'official' }}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{ language == 0 ? '其他' : 'other' }}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{ language == 0 ? '队医' : 'team doctor' }}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{ language == 0 ? '翻译' : 'translator' }}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{ language == 0 ? '官员' : 'official' }}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{ language == 0 ? '其他' : 'other' }}
</span>
</span>
</td>
<td>
...
...
src/viewsPc/match/index.vue
View file @
6cbcab3
...
...
@@ -59,6 +59,11 @@
<div
class=
"matchItem"
v-for=
"n in list"
:key=
"n.id"
@
click=
"goDetail(n.id)"
>
<el-row
:gutter=
"15"
>
<el-col
:lg=
"7"
:md=
"24"
:xl=
"6"
>
<div
class=
"popo"
>
<el-tag
v-if=
"n.signType==0"
>
{{ language==0?'个人':'Individual' }}
</el-tag>
<el-tag
v-if=
"n.signType==1"
>
{{ language==0?'团体':'Team' }}
</el-tag>
<el-tag
v-if=
"n.signType==2"
>
{{ language==0?'个人/团体':'Individual/Team' }}
</el-tag>
</div>
<img
class=
"mauto mw100 coverLimitHeight"
:src=
"fillImgUrl(n.coverUrl)"
>
</el-col>
<el-col
:lg=
"9"
:md=
"12"
:xl=
"12"
>
...
...
@@ -69,11 +74,11 @@
<!-- <p class="ppl" v-if="n.address"><label>{{ language==0?'地    点':'Location' }}:</label>{{ n.address }}</p>-->
<!-- <p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}:</label>{{ n.signEndTime?.slice(0,10) }}</p>-->
<p
class=
"ppl"
><label>
{{ language==0?'联
系人员
':'Contact Person' }}:
</label>
{{ n.contactPerson }}
</p>
<p
class=
"ppl"
><label>
{{ language==0?'联
 
系
 
人
':'Contact Person' }}:
</label>
{{ n.contactPerson }}
</p>
<p
class=
"ppl"
><label>
{{ language==0?'联系电话':'Phone' }}:
</label>
086-{{ n.contactTelno }}
</p>
<p
class=
"ppl esp"
><label>
{{ language==0?'邮
    
箱':'E-mail' }}:
</label>
{{ n.contactEmail }}
</p>
<p
class=
"ppl"
v-if=
"n.type=='1'"
>
<label>
{{ language==0?'分
站赛':'Station race' }}:
</label>
{{n.cpts?.length
}}
<label>
{{ language==0?'分
 
站
 
赛':'Station race' }}:
</label>
{{n.cptsSize
}}
</p>
</div>
</el-col>
...
...
src/viewsPc/match/pay.vue
View file @
6cbcab3
...
...
@@ -16,11 +16,12 @@
<div>
<el-table
class=
"mt20"
:data=
"myMemberTable"
border
>
<el-table-column
type=
"index"
:label=
"language=='0'?'序号':'Index'"
width=
"70"
align=
"center"
/>
<el-table-column
:label=
"language=='1'?'surname':'姓氏'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
:label=
"language=='0'?'名':'name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
:label=
"language=='1'?'Passport number':'护照号'"
prop=
"idcCode"
min-width=
"120"
/>
<el-table-column
:label=
"language=='1'?'Birthday':'生日'"
prop=
"birth"
/>
<el-table-column
:label=
"language=='1'?'Sex':'性别'"
prop=
"sexStr"
/>
<el-table-column
:label=
"language=='1'?'Surname':'姓氏'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
:label=
"language=='0'?'名':'Name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'国家/地区':'Nationality'"
prop=
"countryName"
min-width=
"100"
/>
<!--
<el-table-column
:label=
"language=='1'?'Passport number':'护照号'"
prop=
"idcCode"
min-width=
"120"
/>
-->
<!--
<el-table-column
:label=
"language=='1'?'Birthday':'生日'"
prop=
"birth"
/>
-->
<el-table-column
:label=
"language=='1'?'Gender':'性别'"
prop=
"sexStr"
/>
<el-table-column
:label=
"language=='1'?'Role':'角色'"
min-width=
"160"
>
<template
#
default=
"scope"
>
<div
class=
"roletd"
>
...
...
@@ -28,10 +29,10 @@
<span
v-if=
"item==='0'"
class=
"ml5"
>
{{
language
==
0
?
'运动员'
:
'athletes'
}}
</span>
<span
v-if=
"item==='1'"
class=
"ml5"
>
{{
language
==
0
?
'教练'
:
'coach'
}}
</span>
<span
v-if=
"item==='2'"
class=
"ml5"
>
{{
language
==
0
?
'领队'
:
'team leader'
}}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{
language
==
0
?
'队医'
:
'team doctor'
}}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{
language
==
0
?
'翻译'
:
'translator'
}}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{
language
==
0
?
'官员'
:
'official'
}}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{
language
==
0
?
'其他'
:
'other'
}}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{
language
==
0
?
'队医'
:
'team doctor'
}}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{
language
==
0
?
'翻译'
:
'translator'
}}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{
language
==
0
?
'官员'
:
'official'
}}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{
language
==
0
?
'其他'
:
'other'
}}
</span>
</span>
</div>
</
template
>
...
...
@@ -39,7 +40,7 @@
</el-table>
</div>
</div>
<div
class=
"pd20"
v-if=
"signInfoList?.length>0"
>
<div
class=
"pd20"
v-if=
"signInfoList?.length>0
||zuQuery.athName
"
>
<div
class=
"leftboderTT"
>
{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}
<div
class=
"fr"
>
<el-input
size=
"small"
v-model=
"zuQuery.athName"
:prefix-icon=
"Search"
...
...
@@ -50,7 +51,7 @@
<sign-info-table
class=
"mt20"
v-if=
"matchId"
:show-summary=
"true"
:total=
"insuranceFeeTotal"
:match-id=
"matchId"
:list=
"signInfoList"
:hasAction=
"false"
/>
</div>
<div
class=
"pd20"
v-if=
"zuTableList?.length>0"
>
<div
class=
"pd20"
v-if=
"zuTableList?.length>0
||zuQuery.groName
"
>
<div
class=
"leftboderTT"
>
{{ language == 0 ? '参赛设项报名费' : 'Registration Fee for Event Entry' }}
<div
class=
"fr"
>
<el-input
size=
"small"
v-model=
"zuQuery.groName"
:prefix-icon=
"Search"
...
...
@@ -108,10 +109,17 @@
<div
v-if=
"form.reason"
class=
"rre"
>
{{language==0?'驳回理由':'Reason'}}:{{form.reason}}
</div>
</div>
</div>
<div
class=
"text-danger flex"
v-if=
"form.auditStatus=='4'"
>
<img
src=
"@/assets/img/w.png"
>
<div>
{{ language==0?'报名已取消':'Registration cancelled' }}
</div>
</div>
</el-col>
<el-col
:lg=
"12"
v-if=
"Number(form.totalFee)>0"
>
<div
class=
"priceb"
v-if=
"form.payStatus=='0'"
>
{{ language==0?'待支付金额':'Amount Due' }}:
<span
class=
"price"
>
{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}
</span></div>
<div
class=
"priceb"
v-if=
"form.payStatus=='1'"
>
{{ language==0?'已支付金额':'Amount Due' }}:
<span
class=
"price"
>
{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}
</span></div>
<div
class=
"priceb"
v-if=
"form.payStatus=='5'"
>
{{ language==0?'已退款':'Refunded' }}:
<span
class=
"price"
>
{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}
</span></div>
</el-col>
</el-row>
</el-card>
...
...
@@ -207,6 +215,15 @@
<img
height=
"360"
src=
"@/assets/img/rr.jpg"
/>
</div>
</div>
<div
class=
"tip text-center text-danger"
v-if=
"language==0"
>
支付后不要关闭此窗口,等待确认支付成功.
若长时间未收到支付成功提醒,请刷新页面
</div>
<div
class=
"tip text-center text-danger"
v-else
>
After payment, do not close this window and wait for confirmation of successful payment.
<br/>
If you have not received a notification of successful payment for a long time,
please refresh the page
</div>
</div>
<div
v-if=
"payType == '3'"
>
...
...
@@ -225,8 +242,8 @@
<th>
{{ language==0?'收款账号':`Receiver's Account Number` }}
</th>
<td>
{{ form.payInformation?.receivingAccount }}
<span
v-if=
"language==0"
class=
"text-primary size12"
>
复制25位账号
</span>
<span
v-else
class=
"text-primary size12"
>
Copy 25-digit Account Number
</span>
<span
v-if=
"language==0"
class=
"text-primary size12
pointer"
@
click=
"copy(form.payInformation?.receivingAccount)
"
>
复制25位账号
</span>
<span
v-else
class=
"text-primary size12
pointer"
@
click=
"copy(form.payInformation?.receivingAccount)
"
>
Copy 25-digit Account Number
</span>
<div
v-if=
"language==0"
class=
"text-gray"
>
请勿重复打款
</div>
<div
v-else
class=
"text-gray"
>
Please do not make duplicate payments
</div>
</td>
...
...
@@ -273,19 +290,18 @@
<el-button
v-if=
"!hideconfirmbtn"
type=
"primary"
@
click=
"goPay"
round
class=
"btn-lineG w200px"
>
{{ language==0?'确定':'Submit' }}
</el-button>
</div>
</div>
</el-card>
<el-card
class=
"mb60"
v-if=
"form.payStatus == '3'"
>
<div
class=
"text-center"
>
<el-icon
color=
"#32B16C"
size=
"80"
><SuccessFilled
/></el-icon>
<p
class=
"text-success"
>
{{ language==0?'支付成功':'successful!' }}
</p>
<h3
class=
"wePrice"
>
{{ language==0?'¥':'€' }}{{form.totalFee}}
</h3>
<h3
class=
"wePrice"
>
{{ language==0?'¥':'€' }}{{form.totalFee
|| 0
}}
</h3>
</div>
</el-card>
<el-card
class=
"mb60"
v-if=
"form.payStatus == '1' && form.curPayType=='2'"
>
<!-- 线下支付待核销-->
<label>
{{ language==0?'线下支付':'Offline Payment' }}
</label>
<div
class=
"text-center"
>
<el-icon
color=
"#32B16C"
size=
"80"
><SuccessFilled
/></el-icon>
<p
class=
"text-success"
>
{{ language==0?'支付成功':'successfully!' }}
</p>
...
...
@@ -336,6 +352,7 @@ import ZuTable from "@/viewsPc/match/components/zu-table";
import
useUserStore
from
"@/store/modules/user"
;
import
FileUpload
from
"@/components/FileUpload"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
import
{
ElMessage
}
from
"element-plus"
;
const
isLogin
=
ref
(
false
)
const
language
=
useStorage
(
'language'
,
0
)
const
signInfoList
=
ref
([])
...
...
@@ -343,7 +360,7 @@ const zuTableList = ref([])
const
totalFee
=
ref
(
''
)
const
wePayCodeUrl
=
ref
(
''
)
const
form
=
ref
({})
const
voucherObj
=
ref
(
{}
)
const
voucherObj
=
ref
(
[]
)
const
myMemberTable
=
ref
([])
const
upForm
=
ref
({
orderId
:
orderId
.
value
...
...
@@ -389,6 +406,10 @@ function getMyMemberTable() {
})
}
function
upRR
()
{
if
(
voucherObj
.
value
.
length
==
0
){
ElMessage
.
warning
(
language
.
value
==
0
?
'请上传凭证'
:
'Please upload the voucher'
)
return
}
upForm
.
value
.
voucher
=
voucherObj
.
value
[
0
].
url
match
.
upReceipt
(
upForm
.
value
).
then
(
res
=>
{
getData
()
...
...
@@ -406,6 +427,11 @@ function getSignList() {
for
(
var
z
of
zuTableList
.
value
){
serviceFeeTotal
.
value
=
serviceFeeTotal
.
value
+
Number
(
z
.
project
.
serviceFee
)
}
}).
catch
(
err
=>
{
if
(
isLogin
.
value
){
router
.
push
({
name
:
'myMatch'
})
return
}
})
}
function
goHome
()
{
...
...
@@ -420,12 +446,15 @@ function changePaytype() {
}
}
function
goPay
(){
if
(
payType
.
value
==
'2'
){
if
(
payType
.
value
==
'2'
&&
form
.
value
.
payTypeArr
.
indexOf
(
'2'
)
>-
1
){
match
.
createWePay
({
orderId
:
orderId
.
value
}).
then
(
res
=>
{
wePayCodeUrl
.
value
=
res
.
data
hideconfirmbtn
.
value
=
true
startforGetData
()
})
}
else
if
(
payType
.
value
==
'2'
&&
form
.
value
.
payTypeArr
.
indexOf
(
'2'
)
==-
1
){
ElMessage
.
warning
(
language
.
value
==
0
?
'请选择支付方式'
:
'Please select payment method'
)
return
}
if
(
payType
.
value
==
'4'
){
match
.
createPalPay
({
orderId
:
orderId
.
value
}).
then
(
res
=>
{
...
...
@@ -501,6 +530,11 @@ function exportPdf() {
}
}
function
copy
(
str
)
{
navigator
.
clipboard
.
writeText
(
str
).
then
(()
=>
{
ElMessage
.
success
(
language
.
value
==
0
?
'复制成功'
:
'Copy successfully'
)
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/viewsPc/match/signPreview.vue
View file @
6cbcab3
...
...
@@ -18,11 +18,13 @@
<div
v-if=
"user.utype=='1'&&myMemberTable.length>0"
>
<el-table
class=
"mt20"
:data=
"myMemberTable"
border
>
<el-table-column
type=
"index"
:label=
"language==0?'序号':'Index'"
width=
"70"
align=
"center"
/>
<el-table-column
:label=
"language==0?'姓氏':'surname'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'名':'name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'护照号':'Passport number'"
prop=
"idcCode"
min-width=
"120"
/>
<el-table-column
:label=
"language==0?'出生日期':'Birthday'"
prop=
"birth"
/>
<el-table-column
:label=
"language==0?'性别':'Sex'"
prop=
"sexStr"
/>
<el-table-column
:label=
"language==0?'姓氏':'Surname'"
prop=
"xing"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'名':'Name'"
prop=
"ming"
min-width=
"100"
/>
<el-table-column
:label=
"language==0?'国家/地区':'Nationality'"
prop=
"countryName"
min-width=
"100"
/>
<!--
<el-table-column
:label=
"language==0?'国家':'Nationality'"
prop=
"countryStr"
min-width=
"120"
/>
-->
<!--
<el-table-column
:label=
"language==0?'护照号':'Passport Number'"
prop=
"idcCode"
min-width=
"120"
/>
-->
<!--
<el-table-column
v-show=
"!isNational"
:label=
"language==0?'出生日期':'Birthday'"
prop=
"birth"
/>
-->
<el-table-column
:label=
"language==0?'性别':'Gender'"
prop=
"sexStr"
/>
<el-table-column
:label=
"language==0?'角色':'Role'"
min-width=
"160"
>
<template
#
default=
"scope"
>
<div
class=
"roletd"
>
...
...
@@ -30,10 +32,10 @@
<span
v-if=
"item==='0'"
class=
"ml5"
>
{{
language
==
0
?
'运动员'
:
'athletes'
}}
</span>
<span
v-if=
"item==='1'"
class=
"ml5"
>
{{
language
==
0
?
'教练'
:
'coach'
}}
</span>
<span
v-if=
"item==='2'"
class=
"ml5"
>
{{
language
==
0
?
'领队'
:
'team leader'
}}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{
language
==
0
?
'队医'
:
'team doctor'
}}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{
language
==
0
?
'翻译'
:
'translator'
}}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{
language
==
0
?
'官员'
:
'official'
}}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{
language
==
0
?
'其他'
:
'other'
}}
</span>
<span
v-if=
"item==='
4
'"
class=
"ml5"
>
{{
language
==
0
?
'队医'
:
'team doctor'
}}
</span>
<span
v-if=
"item==='
5
'"
class=
"ml5"
>
{{
language
==
0
?
'翻译'
:
'translator'
}}
</span>
<span
v-if=
"item==='
6
'"
class=
"ml5"
>
{{
language
==
0
?
'官员'
:
'official'
}}
</span>
<span
v-if=
"item==='
3
'"
class=
"ml5"
>
{{
language
==
0
?
'其他'
:
'other'
}}
</span>
</span>
</div>
</
template
>
...
...
@@ -47,7 +49,8 @@
@
change=
"getSignList"
clearable
/>
</div>
</div>
<sign-info-table
class=
"mt20"
:showSummary=
"true"
:total=
"signTotal"
:match-id=
"matchId"
:list=
"signInfoList"
:hasAction=
"false"
/>
<sign-info-table
class=
"mt20"
:showSummary=
"true"
:total=
"signTotal"
:match-id=
"matchId"
:list=
"signInfoList"
:hasAction=
"false"
:is-national=
"isNational"
/>
</div>
<div
class=
"mt20"
>
<div
class=
"leftboderTT"
>
{{ language==0?'设项报名清单':'Event Registration List' }}
...
...
@@ -66,9 +69,9 @@
<el-row
class=
"priceBar"
>
<el-col
:lg=
"12"
:xs=
"24"
class=
"pd20"
>
<div
class=
"flex"
>
<div
class=
"item"
><label>
{{ language==0?'报名费':'Registration Fee' }}:
</label><span>
{{ language==0?'¥':'€' }}{{form.cptRegistrationFee?.totalFee}}
</span></div>
<div
class=
"item"
><label>
{{ language==0?'保险费':'Insurance Fee' }}:
</label><span>
{{ language==0?'¥':'€' }}{{form.cptInsuranceFee?.totalFee}}
</span></div>
<div
class=
"item"
><label>
{{ language==0?'费用总计':'Total Cost' }}:
</label><span>
{{ language==0?'¥':'€' }}{{form.totalFee}}
</span></div>
<div
class=
"item"
v-if=
"form.cptRegistrationFee?.totalFee>0"
><label>
{{ language==0?'报名费':'Registration Fee' }}:
</label><span>
{{ language==0?'¥':'€' }}{{form.cptRegistrationFee?.totalFee}}
</span></div>
<div
class=
"item"
v-if=
"form.cptInsuranceFee?.totalFee>0"
><label>
{{ language==0?'保险费':'Insurance Fee' }}:
</label><span>
{{ language==0?'¥':'€' }}{{form.cptInsuranceFee?.totalFee}}
</span></div>
<div
class=
"item"
v-if=
"form.totalFee>0"
><label>
{{ language==0?'费用总计':'Total Cost' }}:
</label><span>
{{ language==0?'¥':'€' }}{{form.totalFee}}
</span></div>
</div>
</el-col>
<el-col
:lg=
"12"
:xs=
"24"
class=
"text-right pd20"
>
...
...
@@ -115,14 +118,15 @@ const router = useRouter()
const
activeStep
=
ref
(
3
)
const
groupInfo
=
useUserStore
().
group
||
{}
const
language
=
useStorage
(
'language'
,
0
)
const
groupId
=
ref
(
route
.
query
.
groupId
||
0
)
const
form
=
ref
({})
const
matchId
=
ref
(
route
.
query
.
matchId
)
const
signInfoList
=
ref
([])
const
signEndTime
=
ref
(
''
)
const
zuTableList
=
ref
([])
const
zuTotal
=
ref
(
0
)
const
signTotal
=
ref
(
0
)
const
groupId
=
ref
(
route
.
query
.
groupId
||
0
)
const
matchId
=
ref
(
route
.
query
.
matchId
)
const
isNational
=
ref
(
route
.
query
.
isNational
||
false
)
const
myMemberTable
=
ref
([])
const
user
=
useUserStore
().
user
const
{
proxy
}
=
getCurrentInstance
()
...
...
@@ -145,6 +149,9 @@ function getMatch() {
id
:
matchId
.
value
}).
then
(
res
=>
{
signEndTime
.
value
=
res
.
data
.
signEndTime
}).
catch
(
err
=>
{
router
.
push
({
name
:
'matchList'
})
return
})
}
function
getMyMemberTable
()
{
...
...
src/viewsPc/match/teamSign_
bak
.vue
→
src/viewsPc/match/teamSign_
Cn
.vue
View file @
6cbcab3
...
...
@@ -53,6 +53,12 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"language==0?'详细地址':'Detailed Address'"
prop=
"address"
>
<el-cascader
v-if=
"form.countryId == 240"
v-model=
"form.regionId"
style=
"width: 100%;"
:options=
"regionsList"
:props=
"
{ label:'text' }"
/>
<el-input
type=
"textarea"
v-model=
"form.address"
class=
"mt10"
:placeholder=
"language==0?'请输入详细地址':''"
/>
</el-form-item>
</el-col>
...
...
@@ -186,6 +192,7 @@ onMounted(() => {
signType
.
value
=
route
.
query
.
signType
getRegionsList
()
getCountryList
()
match
.
getMatchById
({
id
:
cptId
.
value
}).
then
(
res
=>
{
coachOrLeaderFlag
.
value
=
res
.
data
.
coachOrLeaderFlag
matchInfo
.
value
=
res
.
data
...
...
@@ -262,7 +269,9 @@ function submitForm() {
return
}
}
if
(
Array
.
isArray
(
form
.
value
.
regionId
)){
form
.
value
.
regionId
=
form
.
value
.
regionId
.
pop
()
}
if
(
participantsInfoArr
.
value
.
length
>
0
)
{
// 保存补充信息
let
fileInfo
=
{}
...
...
src/viewsPc/register/personal.vue
View file @
6cbcab3
...
...
@@ -346,6 +346,8 @@ function next() {
setToken
(
res
.
data
.
token
)
console
.
log
(
matchId
.
value
)
afterR
()
}).
catch
(
err
=>
{
})
}
...
...
src/viewsPc/register/team/step2.vue
View file @
6cbcab3
...
...
@@ -23,18 +23,24 @@
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'机构信息'
:
'Institutional information'
}}
</div>
<div
class=
"d-form-border"
>
<el-form
class=
"d-form"
size=
"large"
:model=
"form"
ref=
"registerRef"
:rules=
"
registerRules
"
label-width=
"120"
:label-position=
"language==0?'left':'top'"
: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=
"是否国家队"
v-if=
"language==0"
>
<el-form-item
label=
"是否国家队"
v-if=
"language==0"
required
>
<el-select
filterable
v-model=
"form.is"
@
change=
"changeIs"
>
<el-option
label=
"是"
value=
"1"
></el-option>
<el-option
label=
"否"
value=
"0"
></el-option>
</el-select>
<div
class=
"tip"
>
注册完成后,该属性不可变更
</div>
</el-form-item>
<el-form-item
:label=
"language==0?'代表国家/地区':'Representing'"
required
prop=
"countryId"
>
<el-select
filterable
v-model=
"form.countryId"
>
<!--
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"language==0?item.name:item.enName"
:value=
"item.id"
/>
-->
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"item.
e
oc||item.enName"
:value=
"item.id"
/>
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"item.
n
oc||item.enName"
:value=
"item.id"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"language==0?'详细地址':'Address'"
prop=
"address"
>
<el-form-item
:label=
"language==0?'详细地址':'Address'"
prop=
"address"
:required=
"form.is=='0'"
>
<el-cascader
v-if=
"form.countryId == 240"
v-model=
"regionArr"
style=
"width: 100%;"
...
...
@@ -43,24 +49,24 @@
/>
<el-input
type=
"textarea"
v-model=
"form.address"
class=
"mt10"
/>
</el-form-item>
<!--
<el-form-item
:label=
"language==0?'团体类型':'Group type'"
prop=
"type"
required
>
--
>
<!--
<el-select
v-model=
"form.type"
:placeholder=
"language==0?'请选择团体类型':''"
style=
"width: 100%;"
>
--
>
<!--
<el-option
:label=
"language==0?'普通院校':'School'"
value=
"0"
/>
--
>
<!--
<el-option
:label=
"language==0?'专业舞蹈学校':'Professional dance school'"
value=
"1"
/>
--
>
<!--
<el-option
:label=
"language==0?'培训机构/俱乐部':'Company/Club'"
value=
"2"
/>
--
>
<!--
<el-option
:label=
"language==0?'地方协会':'Local Association'"
value=
"3"
/>
--
>
<!--
<el-option
:label=
"language==0?'国家协会':'National Association'"
value=
"4"
/>
--
>
<!--
</el-select>
--
>
<!--
</el-form-item>
--
>
<el-form-item
:label=
"language==0?'团体名称':'Team Name'"
required
prop=
"teamName"
>
<el-form-item
v-if=
"form.is=='0'&&language==0"
:label=
"language==0?'团体类型':'Group type'"
prop=
"type"
required
>
<el-select
v-model=
"form.type"
:placeholder=
"language==0?'请选择团体类型':''"
style=
"width: 100%;"
>
<el-option
:label=
"language==0?'普通院校':'School'"
value=
"0"
/
>
<el-option
:label=
"language==0?'专业舞蹈学校':'Professional dance school'"
value=
"1"
/
>
<el-option
:label=
"language==0?'培训机构/俱乐部':'Company/Club'"
value=
"2"
/
>
<el-option
:label=
"language==0?'地方协会':'Local Association'"
value=
"3"
/
>
<el-option
:disabled=
"form.is=='0'"
:label=
"language==0?'国家协会':'National Association'"
value=
"4"
/
>
</el-select
>
</el-form-item
>
<el-form-item
:label=
"language==0?'团体名称':'Team Name'"
:required=
"form.is=='0'"
prop=
"teamName"
>
<el-input
type=
"text"
v-model=
"form.teamName"
:placeholder=
"language==0?'请输入内容':''"
/>
</el-form-item>
<!--
<el-form-item
:label=
"language==0?'专业/业余':'Professional/Amateur'"
required
prop=
"majorFlag"
>
--
>
<!--
<el-select
v-model=
"form.majorFlag"
>
--
>
<!--
<el-option
:label=
"language==0?'专业':'Professional'"
value=
"1"
/>
--
>
<!--
<el-option
:label=
"language==0?'业余':'Amateur'"
value=
"0"
/>
--
>
<!--
</el-select>
--
>
<!--
</el-form-item>
--
>
<el-form-item
v-if=
"form.is=='0'"
:label=
"language==0?'专业/业余':'Professional/Amateur'"
required
prop=
"majorFlag"
>
<el-select
v-model=
"form.majorFlag"
>
<el-option
:label=
"language==0?'专业':'Professional'"
value=
"1"
/
>
<el-option
:label=
"language==0?'业余':'Amateur'"
value=
"0"
/
>
</el-select
>
</el-form-item
>
<el-form-item
:label=
"language==0?'联系人姓名':'Contact Name'"
required
prop=
"contactName"
>
<el-input
type=
"text"
v-model=
"form.contactName"
:placeholder=
"language==0?'请输入内容':''"
/>
</el-form-item>
...
...
@@ -70,7 +76,8 @@
<el-form-item
:label=
"language==0?'联系人邮箱':'Contact Email'"
required
prop=
"contactEmail"
>
<el-input
v-model=
"form.contactEmail"
type=
"email"
:placeholder=
"language==0?'请输入内容':''"
/>
</el-form-item>
<el-form-item
prop=
"photo"
:label=
"language==0?'机构LOGO':'Organizational photos'"
>
<el-form-item
prop=
"photo"
:label=
"language==0?'机构LOGO':'Organizational photos'"
:required=
"form.is=='0'"
>
<ImageUpload2
v-model=
"form.photo"
:crop-height=
"200"
:crop-width=
"200"
:limit=
"1"
:is-show-tip=
"false"
...
...
@@ -127,7 +134,9 @@ const props = defineProps({
}
})
const
data
=
reactive
({
form
:
{},
form
:
{
is
:
'0'
},
loading
:
false
,
countryList
:
[],
regionsList
:
[],
...
...
@@ -135,21 +144,38 @@ const data = reactive({
isAgree
:
false
})
const
{
form
,
countryList
,
regionsList
,
isAgree
,
loading
,
regionArr
}
=
toRefs
(
data
)
const
registerRules
=
ref
(
const
registerRules
En
=
ref
(
{
password
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入您的密码'
},
{
min
:
6
,
max
:
16
,
message
:
'用户密码长度必须介于 6 和 16 之间'
,
trigger
:
'blur'
}
],
confirmPassword
:
[{
required
:
true
,
trigger
:
'blur'
},],
countryId
:
[{
required
:
true
,
trigger
:
'blur'
},],
confirmPassword
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
countryId
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
// address: [{required: true, trigger: 'blur', message: '请输入地址'},],
teamName
:
[{
required
:
true
,
trigger
:
'blur'
},],
contactName
:
[{
required
:
true
,
trigger
:
'blur'
},],
contactTel
:
[{
required
:
true
,
trigger
:
'blur'
},],
contactEmail
:
[{
required
:
true
,
trigger
:
'blur'
},],
//
teamName: [{required: true, trigger: 'blur'},],
contactName
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
contactTel
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
contactEmail
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
// photo: [{required: true, trigger: 'blur', message: '请上传'},],
})
const
registerRules
=
ref
(
{
password
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入您的密码'
},
{
min
:
6
,
max
:
16
,
message
:
'用户密码长度必须介于 6 和 16 之间'
,
trigger
:
'blur'
}
],
confirmPassword
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
countryId
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
address
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
teamName
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
contactName
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
contactTel
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
contactEmail
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
photo
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
type
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please enter'
},],
majorFlag
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
})
const
vconfirmPassword
=
()
=>
{
if
(
form
.
value
.
password
!==
form
.
value
.
confirmPassword
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'两次输入的密码不一致'
:
'The two passwords entered are inconsistent'
)
...
...
@@ -215,7 +241,21 @@ onMounted(() => {
if
(
props
.
accont
.
indexOf
(
'@'
)
>-
1
){
form
.
value
.
contactEmail
=
props
.
accont
}
if
(
language
.
value
==
1
){
form
.
value
.
type
=
'4'
form
.
value
.
is
=
'1'
}
else
{
form
.
value
.
countryId
=
240
}
})
const
changeIs
=
(
e
)
=>
{
console
.
log
(
e
)
if
(
e
==
1
){
form
.
value
.
type
=
'4'
}
else
{
form
.
value
.
type
=
''
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -245,4 +285,10 @@ onMounted(() => {
font-size
:
14px
}
}
.tip
{
line-height
:
1.6
;
font-size
:
12px
;
margin-top
:
6px
;
color
:
#666
;
}
</
style
>
...
...
vite.config.js
View file @
6cbcab3
...
...
@@ -82,8 +82,8 @@ export default defineConfig(({ mode, command }) => {
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api
\/
ztx-webSite/
,
''
)
},
'/dev-api'
:
{
target
:
'http://192.168.1.131
:8081/'
,
//
target: 'https://dance.itechtop.cn/stage-api',
// target: 'http://192.168.1.118
:8081/',
target
:
'https://dance.itechtop.cn/stage-api'
,
changeOrigin
:
true
,
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api/
,
''
)
}
...
...
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