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
85bea01c
authored
2025-05-29 15:49:13 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
报名校验
1 parent
529802ed
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
671 additions
and
28 deletions
src/apiPc/match.js
src/viewsPc/match/components/checkAllSportsman.vue
src/viewsPc/match/components/checkOcr.vue
src/viewsPc/match/detail_en.vue
src/apiPc/match.js
View file @
85bea01
...
...
@@ -815,4 +815,21 @@ export function preCheckForPerson(params) {
})
}
// 人员OCR校验
export
function
checkOcr
(
data
)
{
return
request
({
url
:
`/systemj/personInfo/checkOcr`
,
method
:
'post'
,
data
})
}
// 修改人员
export
function
editOcr
(
data
)
{
return
request
({
url
:
`/systemj/personInfo/editOcr`
,
method
:
'post'
,
data
})
}
...
...
src/viewsPc/match/components/checkAllSportsman.vue
0 → 100644
View file @
85bea01
<
template
>
<el-dialog
v-model=
"show"
:title=
"title"
append-to-body
width=
"1000px"
>
<div
class=
"from-Card"
>
<el-form
:inline=
"true"
:model=
"query"
class=
"mt20"
label-width=
"60"
size=
"small"
>
<el-form-item
:label=
"language==0?'姓名':'Name'"
>
<el-input
v-model=
"query.realName"
clearable
style=
"width: 120px;"
/>
</el-form-item>
<el-form-item
v-if=
"!isNational"
:label=
"language==0?'证件类型':'ID Type'"
>
<el-select
v-model=
"query.idcType"
clearable
style=
"width: 100px;"
@
change=
"getList"
>
<el-option
v-for=
"item in certificates"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
v-if=
"!isNational"
:label=
"language==0?'证件号码':'ID NO.'"
>
<el-input
v-model=
"query.idcCode"
clearable
style=
"width: 120px;"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"getList"
>
{{
language
==
0
?
'查询'
:
'Search'
}}
</el-button>
</el-form-item>
</el-form>
</div>
<p
v-if=
"noPhotoCanSign == 0"
class=
"text-danger"
>
{{
language
==
0
?
'*完善信息才可报名'
:
'*Please complete the information before signing up'
}}
</p>
<el-table
ref=
"allSportmenTable"
v-loading=
"loading"
:data=
"tableData"
height=
"60vh"
>
<el-table-column
:label=
"language==0?'序号':'Index'"
align=
"center"
type=
"index"
width=
"70"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'WDSF 会员号':'WDSF MIN'"
prop=
"wdsfMin"
width=
"100"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'姓名':'Real Name'"
align=
"center"
min-width=
"100"
prop=
"realName"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'姓氏':'Surname'"
align=
"center"
min-width=
"100"
prop=
"xing"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'名':'Name'"
align=
"center"
min-width=
"100"
prop=
"ming"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'代表':'Representing'"
align=
"center"
min-width=
"120"
prop=
"representing"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'所属国家/地区':'Nationality'"
align=
"center"
min-width=
"110"
prop=
"countryName"
/>
<el-table-column
:label=
"language==0?'性别':'Gender'"
prop=
"sexStr"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'年龄组':'Age group'"
align=
"center"
min-width=
"100"
prop=
"ageGroup"
/>
<el-table-column
v-if=
"isNational"
:label=
"language==0?'舞种':'Division'"
align=
"center"
min-width=
"100"
prop=
"division"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'年龄':'Age'"
prop=
"age"
/>
<el-table-column
v-if=
"!isNational"
:label=
"language==0?'出生日期':'Date of Birth'"
prop=
"birth"
width=
"130"
/>
<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=
"language==0?'操作':'Actions'"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
#
default=
"scope"
>
<el-button
v-if=
"scope.row.ocrFlag=='0'"
link
type=
"danger"
@
click=
"editPerson(scope.row)"
>
{{
language
==
0
?
'完善信息'
:
'Complete'
}}
</el-button>
<el-button
v-else
disabled
link
type=
"danger"
>
{{
language
==
0
?
'完善信息'
:
'Complete'
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<paginationPc
v-show=
"total>0"
v-model:limit=
"query.pageSize"
v-model:page=
"query.pageNum"
:total=
"total"
@
pagination=
"getList"
/>
</el-dialog>
<!-- 国内赛运动员-->
<!-- <add-coach ref="dialogAddCoach" @submitForm="getList" />-->
<!-- 国际赛运动员-->
<checkOcr
ref=
"checkOcrRef"
@
submitForm=
"getList"
/>
<Import
ref=
"dialogImportProps"
@
submitForm=
"getList"
/>
</template>
<
script
setup
>
import
{
reactive
,
ref
,
toRefs
}
from
'vue'
import
{
getCurrentInstance
}
from
'vue'
import
*
as
match
from
'@/apiPc/match'
import
checkOcr
from
'../components/checkOcr'
import
Import
from
'../components/import'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
getPerPersonList
}
from
'@/apiPc/match'
const
language
=
useStorage
(
'language'
,
0
)
const
{
proxy
}
=
getCurrentInstance
()
const
data
=
reactive
({
query
:
{
label
:
'0'
,
pageSize
:
10
,
pageNum
:
1
},
tableData
:
[],
show
:
false
,
loading
:
false
,
title
:
'运动员'
,
noPhotoCanSign
:
0
,
total
:
0
,
isNational
:
false
})
const
{
query
,
tableData
,
show
,
title
,
loading
,
noPhotoCanSign
,
total
,
isNational
}
=
toRefs
(
data
)
const
certificates
=
ref
([
{
value
:
'0'
,
label
:
language
.
value
==
0
?
'居民身份证'
:
'Resident ID card'
},
{
value
:
'1'
,
label
:
language
.
value
==
0
?
'护照'
:
'Passport'
},
{
value
:
'2'
,
label
:
language
.
value
==
0
?
'其他'
:
'Other'
}
])
let
groupId
const
type
=
ref
(
'1'
)
const
open
=
(
id
,
val
)
=>
{
show
.
value
=
true
query
.
value
.
id
=
id
type
.
value
=
val
getList
()
}
const
getList
=
async
()
=>
{
loading
.
value
=
true
let
res
if
(
type
.
value
==
1
)
{
res
=
await
match
.
getPerPersonList
(
query
.
value
,
query
.
value
.
id
)
}
else
{
res
=
await
match
.
getGroupPersonList
(
query
.
value
,
query
.
value
.
id
)
}
tableData
.
value
=
res
.
rows
total
.
value
=
res
.
total
loading
.
value
=
false
}
function
editPerson
(
row
)
{
console
.
log
(
isNational
.
value
)
const
params
=
{
id
:
row
.
id
,
title
:
language
.
value
==
0
?
'编辑人员'
:
'Edit Person'
,
groupId
:
groupId
,
label
:
'0'
}
proxy
.
$refs
[
'checkOcrRef'
].
open
(
params
)
}
defineExpose
({
open
})
</
script
>
<
style
lang=
"scss"
scoped
>
.el-form--inline
.el-form-item
{
width
:
auto
;
}
</
style
>
src/viewsPc/match/components/checkOcr.vue
0 → 100644
View file @
85bea01
<
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
width=
"800px"
@
close=
"cancel"
>
<!-- wdsf 个人/舞伴/国际赛运动员-->
<div
class=
"pd10"
/>
<el-form
ref=
"dialogRef"
:label-width=
"language==0?120:180"
:model=
"form"
inline
>
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'完善信息'
:
'ADDITIONAL INFORMATION'
}}
</div>
<div
class=
"h20"
/>
<el-form-item
:label=
"language==0?'个人照片':'photo'"
prop=
"picUrl"
>
<ImageUpload2
v-model=
"form.picUrl"
:crop-height=
"280"
:crop-width=
"200"
:is-show-tip=
"false"
:limit=
"1"
class=
"threeFour"
/>
</el-form-item>
<el-form-item
:label=
"language==0?'有效证件':'Valid Passport'"
required
>
<image-upload
ref=
"uploadPassportRef"
v-model=
"form.passportUrl"
:action=
"'/common/getPersonInfoFromCert/6'"
:button-text=
"language==0?'上传':'Upload'"
:is-show-tip=
"false"
:limit=
"1"
param-name=
"pic"
@
response=
"ocrSuccess"
/>
<div
class=
"tip"
>
<span
v-if=
"language==0"
>
请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等
</span>
<span
v-else
>
Please upload a scanned copy of your valid passport for verification of identity information,
application of visa invitation letter and purchasing insurance etc.
</span>
</div>
</el-form-item>
<el-form-item
:label=
"language==0?'姓名':'Name'"
required
>
<el-input
v-model=
"form.certName"
/>
</el-form-item>
<el-form-item
:label=
"language==0?'性别':'Gender'"
required
>
<el-radio-group
v-model=
"form.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?'出生日期':'Date of Birth'"
required
>
<el-date-picker
v-model=
"form.birth"
:disabled-date=
"disabledBirth"
format=
"YYYY-MM-DD"
style=
"width: 100%;"
type=
"date"
value-format=
"YYYY-MM-DD"
/>
</el-form-item>
<el-form-item
:label=
"language==0?'证件号':'Passport number'"
required
>
<el-input
v-model=
"form.passportNumber"
/>
</el-form-item>
</el-form>
<template
#
footer
>
<div
class=
"dialog-footer text-center"
>
<el-button
class=
"btn-lineG w200px"
round
type=
"primary"
@
click=
"submitForm"
>
{{
language
==
0
?
'确定'
:
'Save'
}}
</el-button>
</div>
</
template
>
</el-dialog>
</template>
<
script
setup
>
import
{
reactive
,
ref
,
toRefs
,
watch
}
from
'vue'
import
{
getCurrentInstance
,
nextTick
}
from
'@vue/runtime-core'
import
*
as
match
from
'@/apiPc/match'
import
{
ElMessage
}
from
'element-plus'
import
{
useStorage
}
from
'@vueuse/core/index'
import
ImageUpload
from
'@/components/ImageUpload/index.vue'
import
ImageUpload2
from
'@/components/ImageUpload/index2.vue'
const
language
=
useStorage
(
'language'
,
0
)
const
{
proxy
}
=
getCurrentInstance
()
const
emit
=
defineEmits
([
'submitForm'
])
const
data
=
reactive
({
form
:
{},
card
:
''
,
show
:
false
,
showVcode
:
false
,
labels
:
[
{
value
:
'0'
,
label
:
'运动员'
,
enlabel
:
'Sportsman'
},
{
value
:
'1'
,
label
:
'教练'
,
enlabel
:
'Coach'
},
{
value
:
'2'
,
label
:
'领队'
,
enlabel
:
'Head of team'
},
{
value
:
'4'
,
label
:
'队医'
,
enlabel
:
'Team Doctor'
},
{
value
:
'5'
,
label
:
'翻译'
,
enlabel
:
'Interpreter'
},
{
value
:
'6'
,
label
:
'官员'
,
enlabel
:
'Official'
},
{
value
:
'3'
,
label
:
'其他'
,
enlabel
:
'Other'
}
],
title
:
'添加选手信息'
,
isMe
:
false
,
isCodeTrue
:
false
,
cptId
:
''
,
failVcode
:
'验证失败,请重试'
,
successVcode
:
'验证通过!'
,
sliderText
:
'拖动滑块完成拼图'
})
const
{
form
,
show
,
showVcode
,
title
,
isCodeTrue
,
card
,
cptId
,
uploadPassportRef
}
=
toRefs
(
data
)
const
groupId
=
ref
(
'0'
)
const
open
=
(
params
)
=>
{
show
.
value
=
true
console
.
log
(
params
)
title
.
value
=
params
.
title
cptId
.
value
=
params
.
cptId
groupId
.
value
=
params
.
groupId
form
.
value
.
id
=
params
.
id
// getMyInfo()
getFormById
(
params
.
id
)
}
function
getMyInfo
()
{
match
.
getMyPersonInfo
().
then
(
res
=>
{
form
.
value
=
res
.
data
})
}
function
getFormById
(
id
)
{
match
.
getPersonInfoById
(
id
).
then
(
res
=>
{
form
.
value
=
res
.
data
form
.
value
.
certName
=
res
.
data
.
realName
form
.
value
.
passportNumber
=
res
.
data
.
idcCode
form
.
value
.
passportUrl
=
''
})
}
watch
(
show
,
(
value
)
=>
{
if
(
!
value
)
{
card
.
value
=
''
isCodeTrue
.
value
=
false
form
.
value
=
{
// sex: '0'
}
}
nextTick
(()
=>
{
proxy
.
$refs
[
'dialogRef'
].
clearValidate
()
})
})
const
ocrSuccess
=
(
res
)
=>
{
// form.value.passportUrl = res.data.url
console
.
log
(
form
.
value
.
passportUrl
)
if
(
res
.
code
==
200
)
{
form
.
value
.
passportUrl
=
res
.
data
.
url
form
.
value
.
passportNumber
=
res
.
data
.
code
form
.
value
.
birth
=
res
.
data
.
birth
?.
slice
(
0
,
10
)
form
.
value
.
sex
=
res
.
data
.
sex
form
.
value
.
certName
=
res
.
data
.
name
}
else
if
(
res
.
code
==
500
)
{
ElMessage
.
warning
(
res
.
msg
)
form
.
value
.
passportUrl
=
''
}
}
function
submitForm
()
{
// if (!form.value.wdsfMin && !card.value) {
// ElMessage.warning(language.value == 0 ? '请输入你的WDSF会员号' : 'Please fill in your WDSF MIN')
// return
// }
// if (card.value && !isCodeTrue.value) {
// ElMessage.warning(language.value == 0 ? '请验证你的WDSF会员号' : 'Please verify your WDSF MIN')
// return
// }
if
(
!
form
.
value
.
passportNumber
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请输入你的证件号'
:
'Please fill in your passport number'
)
return
}
if
(
!
form
.
value
.
birth
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请输入你的出生日期'
:
'Please fill in your birthday'
)
return
}
if
(
!
form
.
value
.
sex
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请选择性别'
:
'Please select your gender'
)
return
}
if
(
!
form
.
value
.
certName
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请输入姓名'
:
'Please enter your name'
)
return
}
if
(
!
form
.
value
.
passportUrl
||
form
.
value
.
passportUrl
==
''
||
form
.
value
.
passportUrl
.
length
==
0
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请上传有效证件'
:
'Please upload valid identification documents'
)
return
}
form
.
value
.
cptId
=
cptId
.
value
if
(
Array
.
isArray
(
form
.
value
.
passportUrl
))
{
form
.
value
.
passportUrl
=
form
.
value
.
passportUrl
[
0
].
url
}
match
.
editOcr
(
form
.
value
).
then
(
res
=>
{
ElMessage
.
success
(
language
.
value
==
0
?
'保存成功'
:
'Successfully'
)
show
.
value
=
false
emit
(
'submitForm'
)
})
// if (editgay) {
// // id不是0
//
// } else {
// if (Array.isArray(form.value.passportUrl)) {
// form.value.passportUrl = form.value.passportUrl[0].url
// }
// if (isMe.value) {
// match.saveMyBaseInfo(form.value).then(res => {
// ElMessage.success('保存成功')
// show.value = false
// emit('submitForm')
// })
// } else {
// delete form.value.status
// delete form.value.id
// form.value.label = '0'
// form.value.cptId = cptId.value
// form.value.wdsfMin = form.value.min
// form.value.idcCode = form.value.passportNumber
// form.value.idcType = '1'
// if (Array.isArray(form.value.passportUrl)) {
// form.value.passportUrl = form.value.passportUrl[0].url
// }
// if (groupId.value == '0' || !groupId.value) {
// addPersonal()
// } else {
// if (groupId.value) {
// addGroupMember()
// }
// }
// }
// }
}
function
addPersonal
()
{
match
.
savePersonForMyPerson2
(
form
.
value
).
then
(
res
=>
{
ElMessage
.
success
(
'保存成功'
)
show
.
value
=
false
emit
(
'submitForm'
,
res
.
data
)
})
}
function
addGroupMember
()
{
form
.
value
.
groupId
=
groupId
match
.
savePersonForMyGroup
(
form
.
value
).
then
(
res
=>
{
ElMessage
.
success
(
language
.
value
==
0
?
'保存成功'
:
'Save successful'
)
show
.
value
=
false
emit
(
'submitForm'
)
})
}
function
cancel
()
{
show
.
value
=
false
showVcode
.
value
=
false
}
// function resetCode() {
// isCodeTrue.value = false
// }
//
// function checkCard() {
// if (isCodeTrue.value) {
// return
// }
// if (!card.value) {
// if (language.value == 0) {
// ElMessage.warning('请填写WDSF卡号')
// } else {
// ElMessage.warning('Please fill in your WDSF code')
// }
// return
// }
// showVcode.value = true
// }
//
// function codeSuccess(msg) {
// console.log('验证通过' + msg)
// showVcode.value = false
// isCodeTrue.value = true
// checkWdsfAthletes({ card: card.value, groupId: groupId }).then(res => {
// if (res.data.wdsfFlag == -1) {
// ElMessage.warning(language.value == 0 ? '您添加的运动员代表国家/地区,与团体账号注册的国家/地区不符,无法添加' : 'The athlete \'s representing, does not match the group account‘s country/region and cannot be added.')
// isCodeTrue.value = false
// return
// }
//
// form.value = res.data
// form.value.xing = form.value.surname
// form.value.ming = form.value.name
// form.value.wdsfStatus = res.data.status
// if (form.value.sex) {
// form.value.sex = res.data.sex
// }
// if (form.value.wdsfFlag == '0') {
// isCodeTrue.value = false
// if (language.value == 0) {
// ElMessage.warning('WDSF卡号错误')
// } else {
// ElMessage.warning('WDSF MIN is Error')
// }
// }
// })
// }
function
disabledBirth
(
time
)
{
return
time
.
getTime
()
>
new
Date
().
getTime
()
}
defineExpose
({
open
})
</
script
>
<
style
lang=
"scss"
>
.el-input-group__append
button
.el-button
,
.el-input-group__append
button
.el-button
:hover
{
color
:
var
(
--el-color-primary
);
background
:
#efefff
;
border
:
var
(
--el-color-primary
)
solid
1px
;
border-radius
:
0
;
}
.leftboderTT
{
color
:
var
(
--el-color-primary
);
font-size
:
16px
;
font-weight
:
600
;
span
{
color
:
#929AA0
;
font-size
:
14px
;
}
}
.threeFour
{
width
:
100%
;
.el-upload--picture-card
{
width
:
120px
;
height
:
160px
;
}
.el-upload-list--picture-card
.el-upload-list__item
{
width
:
120px
;
height
:
160px
;
}
}
.tip
{
font-size
:
13px
;
color
:
#999
;
line-height
:
1.6
;
margin
:
10px
0
;
i
{
color
:
red
;
margin
:
0
4px
0
0
;
}
}
.shenfen
{
.el-upload--picture-card
{
width
:
320px
;
height
:
200px
;
}
.el-upload-list--picture-card
.el-upload-list__item
{
width
:
320px
;
height
:
200px
;
}
}
.touxiang
{
:deep(.el-upload--picture-card
)
{
width
:
140px
;
height
:
200px
;
}
}
.touxiang
{
:deep(.el-upload-list__item
)
{
width
:
140px
;
height
:
200px
;
}
}
.el-form--inline
.el-form-item
{
width
:
100%
}
.boxDialog
{
.el-dialog__header
{
background
:
linear-gradient
(
#ed2c22
,
#fe6d45
);
margin-right
:
0
;
height
:
52px
;
span
{
color
:
#fff
;
}
}
}
</
style
>
src/viewsPc/match/detail_en.vue
View file @
85bea01
...
...
@@ -392,6 +392,8 @@
@
click=
"openPickup"
>
{{ language == 0 ? '接 / 送机服务' : 'Pick-up/drop-off service' }}
</a>
<pickup
ref=
"pickupRef"
/>
<checkAllSportsman
ref=
"checkAllSportsmanRef"
/>
</div>
</template>
...
...
@@ -407,6 +409,8 @@ import { getCurrentInstance, ref } from 'vue'
import
{
reactive
,
onMounted
}
from
'@vue/runtime-core'
import
{
useRoute
,
useRouter
}
from
'vue-router'
import
AffixInvitation
from
'@/viewsPc/match/components/affix-invitation'
import
checkAllSportsman
from
'@/viewsPc/match/components/checkAllSportsman'
const
language
=
useStorage
(
'language'
,
0
)
const
route
=
useRoute
()
...
...
@@ -589,18 +593,7 @@ function goTeamSign() {
return
}
handelPreCheckForGroup
(
router
.
push
({
path
:
`
${
route
.
params
.
id
}
/teamSignCn`
,
query
:
{
matchId
:
matchId
.
value
,
groupId
:
groupId
.
value
,
signType
:
matchData
.
value
.
signType
,
languageSource
:
matchData
.
value
.
languageSource
,
isNational
:
false
}
})
)
handelPreCheckForGroup
(
goTeamSignCn
)
}
else
{
// 国际赛
if
(
group
?.
type
!=
'4'
&&
matchData
.
value
.
countryLimit
==
'1'
)
{
...
...
@@ -615,21 +608,36 @@ function goTeamSign() {
)
return
}
handelPreCheckForGroup
(
router
.
push
({
path
:
`
${
route
.
params
.
id
}
/teamSign`
,
query
:
{
matchId
:
matchId
.
value
,
groupId
:
groupId
.
value
,
signType
:
matchData
.
value
.
signType
,
isNational
:
true
,
languageSource
:
matchData
.
value
.
languageSource
}
})
)
handelPreCheckForGroup
(
goTamSign
)
}
}
function
goTamSign
()
{
router
.
push
({
path
:
`
${
route
.
params
.
id
}
/teamSign`
,
query
:
{
matchId
:
matchId
.
value
,
groupId
:
groupId
.
value
,
signType
:
matchData
.
value
.
signType
,
isNational
:
true
,
languageSource
:
matchData
.
value
.
languageSource
}
})
}
function
goTeamSignCn
()
{
router
.
push
({
path
:
`
${
route
.
params
.
id
}
/teamSignCn`
,
query
:
{
matchId
:
matchId
.
value
,
groupId
:
groupId
.
value
,
signType
:
matchData
.
value
.
signType
,
languageSource
:
matchData
.
value
.
languageSource
,
isNational
:
false
}
})
}
function
goPersonalSign
()
{
// 选项目
router
.
push
({
...
...
@@ -833,7 +841,8 @@ async function handelGeRenNext() {
}
// 正常报名
if
(
res
.
data
==
1
)
{
goPersonalSign
()
const
flag
=
await
getCheckOcr
({
type
:
'1'
})
if
(
flag
)
await
goPersonalSign
()
}
// 提示
if
(
res
.
data
==
2
)
{
...
...
@@ -843,7 +852,8 @@ async function handelGeRenNext() {
:
'The athlete`s WDSF membership number has been changed. Should it be updated?'
)
await
match
.
preCheckForPerson
({
type
:
'2'
})
await
goPersonalSign
()
const
flag
=
await
getCheckOcr
({
type
:
'1'
})
if
(
flag
)
await
goPersonalSign
()
}
}
...
...
@@ -867,7 +877,8 @@ const openPickup = () => {
async
function
handelPreCheckForGroup
(
fn
)
{
const
res
=
await
match
.
preCheckForGroup
(
groupId
.
value
,
'1'
)
if
(
res
.
data
==
1
||
res
.
data
==
0
)
{
await
fn
()
const
flag
=
await
getCheckOcr
({
type
:
'2'
,
groupId
:
groupId
.
value
})
if
(
flag
)
await
fn
()
}
if
(
res
.
data
==
2
)
{
await
proxy
.
$modal
.
confirm
(
...
...
@@ -875,9 +886,23 @@ async function handelPreCheckForGroup(fn) {
?
'运动员的WDSF会员号已变更,是否更新?'
:
'The athlete`s WDSF membership number has been changed. Should it be updated?'
)
await
match
.
preCheckForGroup
(
groupId
.
value
,
'2'
)
await
fn
()
const
flag
=
await
getCheckOcr
({
type
:
'2'
,
groupId
:
groupId
.
value
})
if
(
flag
)
await
fn
()
}
}
async
function
getCheckOcr
(
obj
)
{
const
{
data
}
=
await
match
.
checkOcr
(
obj
)
if
(
!
data
)
{
// 人员ocr未通过
await
proxy
.
$modal
.
confirm
(
language
.
value
==
0
?
'请完善人员信息'
:
'Please complete the personnel information'
)
await
proxy
.
$refs
[
'checkAllSportsmanRef'
].
open
(
obj
.
type
==
1
?
user
.
userId
:
groupId
.
value
,
obj
.
type
)
return
false
}
else
{
return
true
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
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