Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
杨炀
/
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
b6c72052
authored
2025-07-29 11:53:53 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
邮箱正则
1 parent
8fdfc7b0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
43 deletions
src/viewsPc/match/components/affix-invitation.vue
src/viewsPc/match/components/affix-invitation.vue
View file @
b6c7205
<
template
>
<el-dialog
v-model=
"show"
:close-on-click-modal=
"false"
:title=
"title"
append-to-body
center
class=
"pcloginpop"
close-icon=
"CircleClose"
destroy-on-close
v-model=
"show"
:close-on-click-modal=
"false"
:title=
"title"
append-to-body
center
class=
"pcloginpop"
close-icon=
"CircleClose"
destroy-on-close
>
<div
class=
"boxInvitation"
>
<div
v-if=
"showR"
class=
"text-center pd20"
>
<img
class=
"mauto"
src=
"@/assets/dance/ok.png"
/>
<!-- 提交成功等待审核-->
...
...
@@ -19,13 +19,13 @@
<br/>
Thank you so much for your kind patience.
</h4>
<div
class=
"red"
>
To check your application status, please go to Account > Personal > Visa Review Record, or
refer to your email for any updates.
</div>
</div>
<el-form
v-else
ref=
"iformRef"
:model=
"form"
:rules=
"rules"
label-position=
"top"
>
<el-form-item
:label=
"language==0?'申请人类别':'Applicant Type'"
prop=
"applicatType"
required
>
<el-select
v-model=
"form.applicatType"
@
change=
"changeApplicatType"
>
...
...
@@ -59,7 +59,7 @@
<!--
<el-radio
value=
"0"
>
{{
language
==
0
?
'否'
:
'No'
}}
</el-radio>
-->
<!--
</el-radio-group>
-->
<!--
</el-form-item>
-->
<!-- 一般信息-->
<el-form-item
:label=
"language==0?'国家/地区协会名':'MNA/Team Name'"
:required=
"form.applicatType==1"
prop=
"associationCode"
>
...
...
@@ -110,7 +110,7 @@
<el-form-item
:label=
"language==0?'中国大使馆邮箱':'Chinese Embassy Email'"
prop=
"embassyEmail"
required
>
<el-input
v-model=
"form.embassyEmail"
/>
</el-form-item>
<!--上传护照,多张-->
<div
class=
"cptVisaInfoBosTable"
>
<el-form-item
:label=
"language==0?'有效证件':'Passport Copy'"
required
>
...
...
@@ -268,9 +268,9 @@
</
template
>
<
template
#
default=
"scope"
>
<el-date-picker
v-model=
"scope.row.issueDate"
format=
"YYYY-MM-DD"
placeholder=
"YYYY-MM-DD"
size=
"small"
style=
"width: 100%;"
type=
"date"
value-format=
"YYYY-MM-DD"
v-model=
"scope.row.issueDate"
format=
"YYYY-MM-DD"
placeholder=
"YYYY-MM-DD"
size=
"small"
style=
"width: 100%;"
type=
"date"
value-format=
"YYYY-MM-DD"
/>
</
template
>
</el-table-column>
...
...
@@ -282,9 +282,9 @@
</
template
>
<
template
#
default=
"scope"
>
<el-date-picker
v-model=
"scope.row.expiryDate"
format=
"YYYY-MM-DD"
placeholder=
"YYYY-MM-DD"
size=
"small"
style=
"width: 100%;"
type=
"date"
value-format=
"YYYY-MM-DD"
v-model=
"scope.row.expiryDate"
format=
"YYYY-MM-DD"
placeholder=
"YYYY-MM-DD"
size=
"small"
style=
"width: 100%;"
type=
"date"
value-format=
"YYYY-MM-DD"
/>
</
template
>
</el-table-column>
...
...
@@ -308,8 +308,8 @@
<file-upload
v-model=
"form.files"
:button-text=
"language==0?'上传':'Upload'"
:is-show-tip=
"false"
:limit=
"1"
/>
</el-form-item>
<div
class=
"text-center"
>
<el-button
:disabled=
"!cptId"
class=
"btn-lineG"
round
size=
"large"
type=
"primary"
@
click=
"submit"
>
{{ language == 0 ? '提交' : 'SUBMIT' }}
...
...
@@ -357,16 +357,16 @@ const countrys = ref([])
const
mnaList
=
ref
([])
const
cptId
=
ref
(
''
)
const
rules
=
ref
(
{
nationality
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
name
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
email
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
birth
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
passportNo
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
passportCopy
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请上传'
:
'Please Upload'
},],
arrival
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
departure
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
})
{
nationality
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
name
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
email
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
birth
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
passportNo
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请输入'
:
'Please enter'
},],
passportCopy
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
language
.
value
==
0
?
'请上传'
:
'Please Upload'
},],
arrival
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
departure
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
language
.
value
==
0
?
'请选择'
:
'Please choose'
},],
})
const
open
=
(
params
)
=>
{
show
.
value
=
true
title
.
value
=
params
.
title
...
...
@@ -392,7 +392,7 @@ defineExpose({
show
.
value
=
true
showR
.
value
=
false
title
.
value
=
language
.
value
==
0
?
'邀请函申请'
:
'Visa Invitation Letter '
getCountryList
()
getMNAList
()
getInvitation
(
id
).
then
((
res
=>
{
...
...
@@ -404,11 +404,11 @@ defineExpose({
_
.
each
(
res
.
data
,
(
item
)
=>
{
delete
item
.
id
})
if
(
form
.
value
.
invitationFile
)
{
form
.
value
.
invitationFileArr
=
JSON
.
parse
(
form
.
value
.
invitationFile
)
}
form
.
value
.
cptVisaInfoBos
=
res
.
data
})
})
...
...
@@ -465,23 +465,23 @@ const submit = () => {
return
;
}
}
if
(
form
.
value
.
files
&&
Array
.
isArray
(
form
.
value
.
files
))
{
form
.
value
.
files
=
form
.
value
.
files
[
0
]?.
url
}
if
(
form
.
value
.
invitationFileArr
)
{
form
.
value
.
invitationFile
=
JSON
.
stringify
(
form
.
value
.
invitationFileArr
)
}
proxy
.
$refs
.
iformRef
.
validate
(
valid
=>
{
if
(
valid
)
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'请确认信息正确并提交吗?'
:
'Please confirm that the information is correct and submit it'
,
language
.
value
==
0
?
'提示'
:
'Tips'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'Confirm'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
}).
then
(()
=>
{
language
.
value
==
0
?
'请确认信息正确并提交吗?'
:
'Please confirm that the information is correct and submit it'
,
language
.
value
==
0
?
'提示'
:
'Tips'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'Confirm'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
}).
then
(()
=>
{
form
.
value
.
cptId
=
cptId
.
value
addInvitation
(
form
.
value
).
then
((
res
)
=>
{
if
(
res
.
data
==
-
200
)
{
...
...
@@ -515,7 +515,7 @@ const getPassportInfo = (res) => {
}
else
{
if
(
res
.
data
)
{
ElMessage
.
error
(
res
.
data
.
code
)
let
obj
=
{
position
:
''
,
lastName
:
''
,
...
...
@@ -544,8 +544,16 @@ function sendEmail() {
ElMessage
.
error
(
language
.
value
==
0
?
'请输入邮箱'
:
'Please enter contact Email'
)
return
}
if
(
!
/^
[
a-zA-Z0-9_-
]
+@
[
a-zA-Z0-9_-
]
+
(\.[
a-zA-Z0-9_-
]
+
)
+$/
.
test
(
form
.
value
.
email
))
{
ElMessage
.
error
(
language
.
value
==
0
?
'请输入正确的邮箱'
:
'Please enter the correct contact email'
)
// if (!/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(form.value.email)) {
// ElMessage.error(language.value == 0 ? '请输入正确的邮箱' : 'Please enter the correct contact email')
// return
// }
if
(
form
.
value
.
email
.
indexOf
(
'@'
)
==
-
1
)
{
if
(
language
.
value
==
0
)
{
ElMessage
.
warning
(
'请填写正确的邮箱'
)
}
else
{
ElMessage
.
warning
(
'Please fill in the correct email'
)
}
return
}
codeloading
.
value
=
true
...
...
@@ -594,7 +602,7 @@ h4 {
padding
:
10px
;
margin-bottom
:
20px
;
border
:
1px
dashed
#ebeef5
;
:deep(.el-table
.el-table__header-wrapper
th)
{
font-size
:
12px
;
}
...
...
@@ -608,6 +616,6 @@ h4 {
.codeBtn
{
background-color
:
#0540EC
!important
;
color
:
#fff
!important
;
}
</
style
>
...
...
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