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
24c59e8d
authored
2025-07-22 11:56:53 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
旅游
1 parent
82d4fb2e
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
658 additions
and
535 deletions
src/viewsPc/auth/components/query/coach.vue
src/viewsPc/auth/components/query/examiner.vue
src/viewsPc/auth/components/query/person.vue
src/viewsPc/auth/components/query/referee.vue
src/viewsPc/booking/pay_old.vue
src/viewsPc/center/myCanKP.vue
src/viewsPc/match/chooseProject_bak.vue
src/viewsPc/match/chooseSportsman.vue
src/viewsPc/match/chooseSportsman_bak.vue
src/viewsPc/match/pay.vue
src/viewsPc/match/signPreview.vue
vite.config.js
src/viewsPc/auth/components/query/coach.vue
View file @
24c59e8
...
...
@@ -3,8 +3,8 @@
<el-row>
<el-col
v-for=
"(d,i) in listData"
:key=
"i"
:lg=
"24"
:sm=
"24"
>
<div
class=
"person-item"
>
<img
v-if=
"d.photo"
class=
"photo"
:src=
"fillImgUrl(d.photo)
"
>
<img
v-else
class=
"photo"
s
tyle=
"object-fit: contain;background: #fff;"
src=
"@/assets/v1/default.png
"
>
<img
v-if=
"d.photo"
:src=
"fillImgUrl(d.photo)"
class=
"photo
"
>
<img
v-else
class=
"photo"
s
rc=
"@/assets/v1/default.png"
style=
"object-fit: contain;background: #fff;
"
>
<div
class=
"info"
>
<div
class=
"name"
>
{{
d
.
name
}}
<el-image
v-if=
"d.sex=='0'||d.sex=='1'"
:src=
"d.sex=='0'?male:female"
/>
...
...
@@ -15,7 +15,7 @@
<el-form-item
label=
"所属省份:"
>
{{
d
.
provinceName
}}
</el-form-item>
</div>
<div>
<!--
<el-form-item
label=
"有效期开始:"
>
{{
parseTime
(
d
.
createTime
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item>--
>
<!--
<el-form-item
label=
"有效期开始:"
>
{{
parseTime
(
d
.
createTime
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item>--
>
<
el
-
form
-
item
label
=
"有效期结束:"
>
{{
parseTime
(
d
.
validityDate
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item
>
<
/div
>
<
div
>
...
...
@@ -64,22 +64,23 @@ const loading = ref(false)
function
handleQuery
()
{
loading
.
value
=
true
queryParams
.
pageNum
++
authentic
.
query
(
queryParams
).
then
((
res
)
=>
{
_
.
each
(
res
.
data
.
personalList
.
rows
,
(
r
)
=>
{
listData
.
value
.
push
(
r
)
}
)
showMore
.
value
=
listData
.
value
.
length
<
res
.
data
.
personalList
.
total
loading
.
value
=
false
}
)
}
function
vipDownLoad
(
perId
)
{
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
)
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
,
{
}
,
'application/pdf'
)
}
let
queryParams
=
{
}
function
init
()
{
queryParams
=
{
pageNum
:
0
,
...
...
@@ -88,7 +89,7 @@ function init() {
name
:
props
.
query
.
name
}
listData
.
value
=
[]
handleQuery
()
}
...
...
@@ -97,7 +98,7 @@ defineExpose({
}
)
<
/script
>
<
style
scoped
lang
=
"scss"
>
<
style
lang
=
"scss"
scoped
>
.
flex
{
display
:
flex
;
justify
-
content
:
space
-
between
;
...
...
@@ -110,28 +111,28 @@ defineExpose({
background
:
#
F5F7F9
;
border
-
radius
:
2
px
;
padding
:
10
px
20
px
;
.
photo
{
width
:
100
px
;
height
:
130
px
}
.
info
{
margin
-
left
:
20
px
;
width
:
90
%
;
.
name
{
font
-
size
:
24
px
;
display
:
flex
;
align
-
items
:
center
;
margin
:
10
px
0
;
}
.
el
-
form
-
item
--
default
{
margin
-
bottom
:
0
;
}
}
.
el
-
form
-
item__content
{
font
-
size
:
18
px
;
color
:
#
95
A1A6
;
...
...
@@ -141,15 +142,15 @@ defineExpose({
@
media
(
max
-
width
:
500
px
)
{
.
person
-
item
{
margin
:
15
px
0
;
.
photo
{
width
:
120
px
;
height
:
140
px
;
}
.
info
{
margin
-
left
:
15
px
;
.
name
{
font
-
size
:
18
px
}
...
...
src/viewsPc/auth/components/query/examiner.vue
View file @
24c59e8
...
...
@@ -3,13 +3,13 @@
<el-row>
<el-col
v-for=
"(d,i) in listData"
:key=
"i"
:lg=
"24"
:sm=
"24"
>
<div
class=
"person-item"
>
<img
v-if=
"d.photo"
class=
"photo"
:src=
"fillImgUrl(d.photo)
"
>
<img
v-else
class=
"photo"
s
tyle=
"object-fit: contain;background: #fff;"
src=
"@/assets/v1/default.png
"
>
<img
v-if=
"d.photo"
:src=
"fillImgUrl(d.photo)"
class=
"photo
"
>
<img
v-else
class=
"photo"
s
rc=
"@/assets/v1/default.png"
style=
"object-fit: contain;background: #fff;
"
>
<div
class=
"info"
>
<div
class=
"name"
>
{{
d
.
name
}}
<el-image
v-if=
"d.sex=='0'||d.sex=='1'"
style=
"width: 20px;height: 20px;margin-left: 10px
"
:src=
"d.sex=='0'?male:female
"
v-if=
"d.sex=='0'||d.sex=='1'"
:src=
"d.sex=='0'?male:female
"
style=
"width: 20px;height: 20px;margin-left: 10px
"
/>
</div>
<div
class=
"flex"
>
...
...
@@ -18,12 +18,12 @@
<el-form-item
label=
"所属省份:"
>
{{
d
.
provinceName
}}
</el-form-item>
</div>
<div>
<!--
<el-form-item
label=
"有效期开始:"
>
{{
parseTime
(
d
.
createTime
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item>--
>
<
el
-
form
-
item
label
=
"有效期结束:"
>
{{
parseTime
(
d
.
validityDate
,
'
{
y
}
-
{
m
}
-
{
d
}
')
||
'
--
'
}}
<
/el-form-item
>
<!--
<el-form-item
label=
"有效期开始:"
>
{{
parseTime
(
d
.
createTime
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item>--
>
<
el
-
form
-
item
label
=
"有效期结束:"
>
{{
parseTime
(
d
.
validityDate
,
'
{
y
}
-
{
m
}
-
{
d
}
')
||
'
--
'
}}
<
/el-form-item
>
<
/div
>
<
div
>
<
el
-
form
-
item
label
=
"考官类型:"
>
{{
d
.
examinerTypeStr
}}
<
/el-form-item
>
<
/div
>
<
div
style
=
"width: 170px"
>
<
div
v
-
if
=
"d.canDownCert=='1'"
class
=
"vipDownLoad"
@
click
=
"vipDownLoad(d.perId)"
>
...
...
@@ -68,22 +68,23 @@ const loading = ref(false)
function
handleQuery
()
{
loading
.
value
=
true
queryParams
.
pageNum
++
authentic
.
query
(
queryParams
).
then
((
res
)
=>
{
_
.
each
(
res
.
data
.
personalList
.
rows
,
(
r
)
=>
{
listData
.
value
.
push
(
r
)
}
)
showMore
.
value
=
listData
.
value
.
length
<
res
.
data
.
personalList
.
total
loading
.
value
=
false
}
)
}
function
vipDownLoad
(
perId
)
{
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
)
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
,
{
}
,
'application/pdf'
)
}
let
queryParams
=
{
}
function
init
()
{
queryParams
=
{
pageNum
:
0
,
...
...
@@ -92,7 +93,7 @@ function init() {
name
:
props
.
query
.
name
}
listData
.
value
=
[]
handleQuery
()
}
...
...
@@ -101,7 +102,7 @@ defineExpose({
}
)
<
/script
>
<
style
scoped
lang
=
"scss"
>
<
style
lang
=
"scss"
scoped
>
.
flex
{
display
:
flex
;
justify
-
content
:
space
-
between
;
...
...
@@ -114,28 +115,28 @@ defineExpose({
background
:
#
F5F7F9
;
border
-
radius
:
2
px
;
padding
:
10
px
20
px
;
.
photo
{
width
:
100
px
;
height
:
130
px
}
.
info
{
margin
-
left
:
20
px
;
width
:
90
%
;
.
name
{
font
-
size
:
24
px
;
display
:
flex
;
align
-
items
:
center
;
margin
:
10
px
0
;
}
.
el
-
form
-
item
--
default
{
margin
-
bottom
:
0
;
}
}
.
el
-
form
-
item__content
{
font
-
size
:
18
px
;
color
:
#
95
A1A6
;
...
...
@@ -145,15 +146,15 @@ defineExpose({
@
media
(
max
-
width
:
500
px
)
{
.
person
-
item
{
margin
:
15
px
0
;
.
photo
{
width
:
120
px
;
height
:
140
px
;
}
.
info
{
margin
-
left
:
15
px
;
.
name
{
font
-
size
:
18
px
}
...
...
src/viewsPc/auth/components/query/person.vue
View file @
24c59e8
...
...
@@ -117,7 +117,7 @@ function handleQuery() {
}
function
vipDownLoad
(
perId
)
{
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
)
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
,
{
}
,
'application/pdf'
)
}
let
queryParams
=
{
}
...
...
src/viewsPc/auth/components/query/referee.vue
View file @
24c59e8
...
...
@@ -3,8 +3,8 @@
<el-row>
<el-col
v-for=
"(d,i) in listData"
:key=
"i"
:lg=
"24"
:sm=
"24"
>
<div
class=
"person-item"
>
<img
v-if=
"d.photo"
class=
"photo"
:src=
"fillImgUrl(d.photo)
"
>
<img
v-else
class=
"photo"
s
tyle=
"object-fit: contain;background: #fff;"
src=
"@/assets/v1/default.png
"
>
<img
v-if=
"d.photo"
:src=
"fillImgUrl(d.photo)"
class=
"photo
"
>
<img
v-else
class=
"photo"
s
rc=
"@/assets/v1/default.png"
style=
"object-fit: contain;background: #fff;
"
>
<div
class=
"info"
>
<div
class=
"name"
>
{{
d
.
name
}}
<el-image
v-if=
"d.sex=='0'||d.sex=='1'"
:src=
"d.sex=='0'?male:female"
/>
...
...
@@ -15,7 +15,7 @@
<el-form-item
label=
"所属省份:"
>
{{
d
.
provinceName
}}
</el-form-item>
</div>
<div>
<!--
<el-form-item
label=
"有效期开始:"
>
{{
parseTime
(
d
.
createTime
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item>--
>
<!--
<el-form-item
label=
"有效期开始:"
>
{{
parseTime
(
d
.
createTime
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item>--
>
<
el
-
form
-
item
label
=
"有效期结束:"
>
{{
parseTime
(
d
.
validityDate
,
'
{
y
}
-
{
m
}
-
{
d
}'
)
}}
<
/el-form-item
>
<
/div
>
<
div
>
...
...
@@ -26,7 +26,7 @@
<
i
/>
会员证
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
...
@@ -65,22 +65,23 @@ const loading = ref(false)
function
handleQuery
()
{
loading
.
value
=
true
queryParams
.
pageNum
++
authentic
.
query
(
queryParams
).
then
((
res
)
=>
{
_
.
each
(
res
.
data
.
personalList
.
rows
,
(
r
)
=>
{
listData
.
value
.
push
(
r
)
}
)
showMore
.
value
=
listData
.
value
.
length
<
res
.
data
.
personalList
.
total
loading
.
value
=
false
}
)
}
function
vipDownLoad
(
perId
)
{
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
)
proxy
.
download
(
`/person/info/downStuCert/${perId
}
`
,
{
}
,
'会员证.pdf'
,
{
}
,
'application/pdf'
)
}
let
queryParams
=
{
}
function
init
()
{
queryParams
=
{
pageNum
:
0
,
...
...
@@ -89,7 +90,7 @@ function init() {
name
:
props
.
query
.
name
}
listData
.
value
=
[]
handleQuery
()
}
...
...
@@ -97,33 +98,59 @@ defineExpose({
init
}
)
<
/script
>
<
style
scoped
lang
=
"scss"
>
.
flex
{
display
:
flex
;
justify
-
content
:
space
-
between
;
}
.
person
-
item
{
position
:
relative
;
display
:
flex
;
margin
:
30
px
0
;
background
:
#
F5F7F9
;
border
-
radius
:
2
px
;
padding
:
10
px
20
px
;
.
photo
{
width
:
100
px
;
height
:
130
px
}
.
info
{
margin
-
left
:
20
px
;
width
:
90
%
;
.
name
{
font
-
size
:
24
px
;
display
:
flex
;
align
-
items
:
center
;
margin
:
10
px
0
;
}
.
el
-
form
-
item
--
default
{
margin
-
bottom
:
0
;
}
<
style
lang
=
"scss"
scoped
>
.
flex
{
display
:
flex
;
justify
-
content
:
space
-
between
;
}
.
person
-
item
{
position
:
relative
;
display
:
flex
;
margin
:
30
px
0
;
background
:
#
F5F7F9
;
border
-
radius
:
2
px
;
padding
:
10
px
20
px
;
.
photo
{
width
:
100
px
;
height
:
130
px
}
.
el
-
form
-
item__content
{
.
info
{
margin
-
left
:
20
px
;
width
:
90
%
;
.
name
{
font
-
size
:
24
px
;
display
:
flex
;
align
-
items
:
center
;
margin
:
10
px
0
;
}
.
el
-
form
-
item
--
default
{
margin
-
bottom
:
0
;
}
}
.
el
-
form
-
item__content
{
font
-
size
:
18
px
;
color
:
#
95
A1A6
;
}
color
:
#
95
A1A6
;
}
}
@
media
(
max
-
width
:
500
px
)
{
.
person
-
item
{
margin
:
15
px
0
;
.
photo
{
width
:
120
px
;
height
:
140
px
;
}
.
info
{
margin
-
left
:
15
px
;
.
name
{
font
-
size
:
18
px
}
...
...
src/viewsPc/booking/pay_old.vue
View file @
24c59e8
...
...
@@ -33,7 +33,7 @@
<div
class=
"border-info mt20"
>
<div
class=
"flex aic"
>
<h3
class=
"esp"
>
{{
form
.
checkIn
}}
</h3>
<img
class=
"w40px mlr20 "
src=
"@/assets/booking/wf.png"
style=
"height: 40px;"
/
>
<img
class=
"w40px mlr20 "
src=
"@/assets/booking/wf.png"
style=
"height: 40px;"
>
<h3
class=
"esp"
>
{{
form
.
checkOut
}}
</h3>
</div>
</div>
...
...
@@ -46,8 +46,8 @@
<el-row>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
class=
"mb10"
>
{{
language
==
0
?
'送餐地址'
:
'Delivery Address'
}}
:
{{
form
.
address
||
'-'
}}
form
.
address
||
'-'
}}
</div>
</el-col>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
...
...
@@ -67,11 +67,13 @@
</el-col>
<el-col>
{{
language
==
0
?
'套餐'
:
'Package'
}}
:
{{
formInfo
.
mealName
}}
<span
style=
"margin-left: 40px"
>
{{
language
==
0
?
'价格'
:
'Price'
}}
</span><span
class=
"price"
>
{{
language
==
0
?
'¥'
+
formInfo
.
mealPrice
:
'€'
+
formInfo
.
mealPriceEn
}}
</span>
style=
"margin-left: 40px"
>
{{
language
==
0
?
'价格'
:
'Price'
}}
</span><span
class=
"price"
>
{{
language
==
0
?
'¥'
+
formInfo
.
mealPrice
:
'€'
+
formInfo
.
mealPriceEn
}}
</span>
<span
style=
"margin-left: 40px"
>
{{
language
==
0
?
'工作室电话'
:
'Studio phone number'
}}
:
{{
formInfo
.
contact
}}
</span>
language
==
0
?
'工作室电话'
:
'Studio phone number'
}}
:
{{
formInfo
.
contact
}}
</span>
</el-col>
<el-col>
<div
class=
"esp_3 s"
@
click=
"handleView()"
>
...
...
@@ -101,8 +103,10 @@
</el-col>
<el-col>
{{
language
==
0
?
'套餐'
:
'Package'
}}
:
{{
formInfo
.
photoName
}}
<span
style=
"margin-left: 40px"
>
{{
language
==
0
?
'价格'
:
'Price'
}}
</span><span
class=
"price"
>
{{
language
==
0
?
'¥'
+
formInfo
.
photoPrice
:
'€'
+
formInfo
.
photoPriceEn
}}
</span>
style=
"margin-left: 40px"
>
{{
language
==
0
?
'价格'
:
'Price'
}}
</span><span
class=
"price"
>
{{
language
==
0
?
'¥'
+
formInfo
.
photoPrice
:
'€'
+
formInfo
.
photoPriceEn
}}
</span>
</el-col>
<el-col>
{{
language
==
0
?
'套餐说明'
:
'Package Description'
}}
:
{{
formInfo
.
introduction
}}
...
...
@@ -155,23 +159,23 @@
<!--
}}
{{
language
==
0
?
'元'
:
'Euro'
}}
x
1
-->
<!--
{{
language
==
0
?
'张'
:
'Tickets'
}}
-->
<!--
<
/el-col>--
>
<
/el-row
>
<
/div
>
<
/div
>
<
div
class
=
"leftboderTT"
>
{{
language
==
0
?
'预订信息'
:
'Booking information'
}}
<
/div
>
<
div
class
=
"border-info mt20"
>
<
el
-
row
v
-
if
=
"type == 'hotel'"
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
<
div
>
{{
language
==
0
?
'入住人'
:
'Check-in Person'
}}
:
{{
form
.
rzUsers
}}
<
/div
>
<
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
{{
language
==
0
?
'联系方式'
:
'Contact Information'
}}
:
{{
form
.
phone
}}
language
==
0
?
'联系方式'
:
'Contact Information'
}}
:
{{
form
.
phone
}}
<
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
><
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
/
>
<
/el-row
>
<
el
-
row
v
-
if
=
"type == 'car'"
>
<
el
-
col
v
-
if
=
"form.pickUpBo?.revTime"
:
lg
=
"12"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
...
...
@@ -184,12 +188,12 @@
<
el
-
tag
class
=
"mr10"
>
{{
car
.
carSeat
}}
{{
language
==
0
?
'座 '
:
'Sets'
}}
<
/el-tag
>
<
el
-
tag
>
{{
car
.
carColor
}}
<
/el-tag
>
<
/div
>
<
span
v
-
if
=
"car.num > 0"
>
{{
car
.
num
}}
{{
language
==
0
?
'辆'
:
'Cars'
}}
*
{{
language
==
0
?
'¥'
:
'€'
}}
{{
car
.
price
}}
<
/span
>
language
==
0
?
'辆'
:
'Cars'
}}
*
{{
language
==
0
?
'¥'
:
'€'
}}
{{
car
.
price
}}
<
/span
>
<
/div
>
<
div
>
{{
language
==
0
?
'人数'
:
'People'
}}
:
{{
form
.
pickUpBo
.
count
}}
<
/div
>
<
div
>
{{
language
==
0
?
'航班/火车班次'
:
'Flight/Train'
}}
:
{{
form
.
pickUpBo
.
no
}}
<
/div
>
<
div
>
{{
language
==
0
?
'接机/接站地点'
:
'Pick-up/Drop-off Place'
}}
:
...
...
@@ -211,10 +215,10 @@
<
el
-
tag
class
=
"mr10"
>
{{
car
.
carSeat
}}
{{
language
==
0
?
'座 '
:
'Sets'
}}
<
/el-tag
>
<
el
-
tag
>
{{
car
.
carColor
}}
<
/el-tag
>
<
/div
>
<
span
v
-
if
=
"car.num > 0"
>
{{
car
.
num
}}
{{
language
==
0
?
'辆'
:
'Cars'
}}
*
{{
language
==
0
?
'¥'
:
'€'
}}
{{
car
.
price
}}
<
/span
>
language
==
0
?
'辆'
:
'Cars'
}}
*
{{
language
==
0
?
'¥'
:
'€'
}}
{{
car
.
price
}}
<
/span
>
<
/div
>
<
div
>
{{
language
==
0
?
'人数'
:
'Counts'
}}
:
{{
form
.
dropOffBo
.
count
}}
<
/div
>
<
div
>
{{
language
==
0
?
'联系人'
:
'Contact Person'
}}
:
{{
form
.
dropOffBo
.
contacts
}}
<
/div
>
...
...
@@ -234,16 +238,16 @@
<
/el-col
>
<
el
-
col
:
lg
=
"12"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
<
div
class
=
"mb10"
>
{{
language
==
0
?
'订餐周期'
:
'Check-in date'
}}
:
{{
form
.
extJsonObj
?.
dcStart
||
'-'
}}
~
{{
form
.
extJsonObj
?.
dcEnd
||
'-'
}}
language
==
0
?
'订餐周期'
:
'Check-in date'
}}
:
{{
form
.
extJsonObj
?.
dcStart
||
'-'
}}
~
{{
form
.
extJsonObj
?.
dcEnd
||
'-'
}}
<
/div
>
<
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
<
div
class
=
"mb10"
>
{{
language
==
0
?
'联系人'
:
'Contact Person'
}}
:
{{
form
.
contacts
}}
<
/div
>
<
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
{{
language
==
0
?
'联系方式'
:
'Contact Phone'
}}
:
{{
form
.
phone
}}
language
==
0
?
'联系方式'
:
'Contact Phone'
}}
:
{{
form
.
phone
}}
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
remarks
||
'-'
}}
<
/el-col
>
<
/el-row
>
...
...
@@ -261,7 +265,7 @@
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
<
div
class
=
"mb10"
>
{{
language
==
0
?
'联系人'
:
'Contact Person'
}}
:
{{
form
.
contacts
}}
<
/div
>
<
/el-col
>
<
el
-
col
:
lg
=
12
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
<
el
-
col
:
lg
=
"12"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
<
div
class
=
"mb10"
>
{{
language
==
0
?
'联系方式'
:
'Contact Phone'
}}
:
{{
form
.
phone
}}
<
/div
>
...
...
@@ -291,8 +295,8 @@
<
div
class
=
"mb10"
>
{{
language
==
0
?
'联系人'
:
'Contact Person'
}}
:
{{
form
.
contacts
}}
<
/div
>
<
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
{{
language
==
0
?
'联系方式'
:
'Contact Phone'
}}
:
{{
form
.
phone
}}
language
==
0
?
'联系方式'
:
'Contact Phone'
}}
:
{{
form
.
phone
}}
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
remarks
}}
<
/el-col
>
<
/el-row
>
...
...
@@ -330,13 +334,13 @@
<
el
-
row
style
=
"width: 100%"
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
<
div
>
{{
language
==
0
?
'购票数量'
:
'Number of tickets purchased'
}}
:
{{
form
.
num
}}
{{
language
==
0
?
'张'
:
'Tickets'
}}
language
==
0
?
'购票数量'
:
'Number of tickets purchased'
}}
:
{{
form
.
num
}}
{{
language
==
0
?
'张'
:
'Tickets'
}}
<
/div
>
<
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
{{
language
==
0
?
'联系方式'
:
'Contact Information'
}}
:
{{
form
.
phone
}}
language
==
0
?
'联系方式'
:
'Contact Information'
}}
:
{{
form
.
phone
}}
<
/el-col
>
<
el
-
col
:
lg
=
"8"
:
md
=
"12"
:
sm
=
"12"
:
xs
=
"24"
>
{{
language
==
0
?
'共计'
:
'total'
}}
:{{
...
...
@@ -344,11 +348,11 @@
}}
{{
Number
(
totalFee
).
toFixed
(
2
)
}}
<
/el-col
>
<
/el-row
>
<
/el-row
>
<
/div
>
<
el
-
row
align
=
"middle"
justify
=
"space-between"
>
<
el
-
col
:
lg
=
"12"
>
<
div
v
-
if
=
"form.payDate"
>
{{
language
==
0
?
'支付时间'
:
'Payment Time'
}}
:
{{
form
.
payDate
}}
<
/div
>
...
...
@@ -377,12 +381,14 @@
<
/el-col
>
<
el
-
col
:
lg
=
"24"
>
<
div
class
=
"text-center"
>
<
el
-
button
v
-
if
=
"(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'"
class
=
"mt20 btn-lineG"
round
size
=
"large"
type
=
"primary"
@
click
=
"exportPdf"
>
<
el
-
button
v
-
if
=
"(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'"
class
=
"mt20 btn-lineG"
round
size
=
"large"
type
=
"primary"
@
click
=
"exportPdf"
>
<
el
-
icon
>
<
Upload
/>
<
Upload
/>
<
/el-icon
>
{{
language
==
0
?
'导出酒店预订单'
:
'Export PDF'
}}
<
/el-button
>
...
...
@@ -391,9 +397,10 @@
class
=
"mt20 btn-lineG"
round
size
=
"large"
type
=
"primary"
@
click
=
"downInvoice"
>
@
click
=
"downInvoice"
>
<
el
-
icon
>
<
Download
/>
<
Download
/>
<
/el-icon
>
{{
language
==
0
?
'下载收据'
:
'DownLoad Invoice'
}}
<
/el-button
>
...
...
@@ -403,69 +410,85 @@
<
/div
>
<
/div
>
<
div
v
-
else
class
=
"pd20 skeletonBox"
>
<
el
-
skeleton
:
rows
=
"8"
/>
<
el
-
button
:
style
=
"language == 0 ?'width:200px':'width:400px'"
class
=
"btn-lineG"
round
size
=
"large"
type
=
"primary"
@
click
=
"showLogin"
>
<
el
-
skeleton
:
rows
=
"8"
/>
<
el
-
button
:
style
=
"language == 0 ?'width:200px':'width:400px'"
class
=
"btn-lineG"
round
size
=
"large"
type
=
"primary"
@
click
=
"showLogin"
>
{{
language
==
0
?
'登录后查看明细'
:
'View detailed information after logging in'
}}
<
/el-button
>
<
/div
>
<
div
v
-
if
=
"form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')"
class
=
"pd20"
>
<
div
class
=
"leftboderTT"
>
{{
language
==
0
?
'选择支付方式'
:
'Choose payment method'
}}
<
/div
>
<
div
class
=
"mt20"
>
<
el
-
radio
-
group
v
-
model
=
"payType"
>
<
el
-
radio
v
-
if
=
"language==0"
border
value
=
"2"
>
<!--
微信
-->
<
svg
class
=
"icon"
height
=
"40"
p
-
id
=
"24747"
t
=
"1709002960407"
version
=
"1.1"
viewBox
=
"0 0 3152 1024"
width
=
"94"
xmlns
=
"http://www.w3.org/2000/svg"
>
<
svg
class
=
"icon"
height
=
"40"
p
-
id
=
"24747"
t
=
"1709002960407"
version
=
"1.1"
viewBox
=
"0 0 3152 1024"
width
=
"94"
xmlns
=
"http://www.w3.org/2000/svg"
>
<
path
d
=
"M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z"
fill
=
"#09BB07"
p
-
id
=
"24748"
><
/path
>
fill
=
"#09BB07"
p
-
id
=
"24748"
/>
<
path
d
=
"M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z"
fill
=
"#595757"
p
-
id
=
"24749"
><
/path
>
fill
=
"#595757"
p
-
id
=
"24749"
/>
<
/svg
>
<
/el-radio
>
<
el
-
radio
v
-
if
=
"language==1"
border
value
=
"3"
>
<!--
paypal
-->
<
svg
class
=
"icon"
height
=
"40"
p
-
id
=
"22654"
t
=
"1709002828937"
version
=
"1.1"
viewBox
=
"0 0 4220 1024"
width
=
"94"
xmlns
=
"http://www.w3.org/2000/svg"
>
<
svg
class
=
"icon"
height
=
"40"
p
-
id
=
"22654"
t
=
"1709002828937"
version
=
"1.1"
viewBox
=
"0 0 4220 1024"
width
=
"94"
xmlns
=
"http://www.w3.org/2000/svg"
>
<
path
d
=
"M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z"
fill
=
"#009CDE"
p
-
id
=
"22655"
><
/path
>
fill
=
"#009CDE"
p
-
id
=
"22655"
/>
<
path
d
=
"M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
fill
=
"#003087"
p
-
id
=
"22656"
><
/path
>
fill
=
"#003087"
p
-
id
=
"22656"
/>
<
path
d
=
"M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
fill
=
"#009CDE"
p
-
id
=
"22657"
><
/path
>
fill
=
"#009CDE"
p
-
id
=
"22657"
/>
<
path
d
=
"M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z"
fill
=
"#003087"
p
-
id
=
"22658"
><
/path
>
fill
=
"#003087"
p
-
id
=
"22658"
/>
<
path
d
=
"M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z"
fill
=
"#009CDE"
p
-
id
=
"22659"
><
/path
>
fill
=
"#009CDE"
p
-
id
=
"22659"
/>
<
path
d
=
"M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175"
fill
=
"#009CDE"
p
-
id
=
"22660"
><
/path
>
fill
=
"#009CDE"
p
-
id
=
"22660"
/>
<
path
d
=
"M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857"
fill
=
"#012169"
p
-
id
=
"22661"
><
/path
>
fill
=
"#012169"
p
-
id
=
"22661"
/>
<
path
d
=
"M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z"
fill
=
"#003087"
p
-
id
=
"22662"
><
/path
>
fill
=
"#003087"
p
-
id
=
"22662"
/>
<
/svg
>
<
/el-radio
>
<
/el-radio-group
>
<
div
v
-
if
=
"payType == '2'&&wePayCodeUrl"
>
<
div
class
=
"payImgbox flexCenter"
>
<
div
>
<
img
:
src
=
"wePayCodeUrl"
class
=
"border"
width
=
"260"
/
>
<
img
class
=
"mt20"
src
=
"@/assets/img/sm.png"
/
>
<
img
:
src
=
"wePayCodeUrl"
class
=
"border"
width
=
"260"
>
<
img
class
=
"mt20"
src
=
"@/assets/img/sm.png"
>
<
/div
>
<
div
class
=
"ml20"
>
<
img
height
=
"360"
src
=
"@/assets/img/rr.jpg"
/
>
<
img
height
=
"360"
src
=
"@/assets/img/rr.jpg"
>
<
/div
>
<
/div
>
<
div
v
-
if
=
"language==0"
class
=
"tip text-center text-danger"
>
...
...
@@ -474,7 +497,7 @@
<
/div
>
<
div
v
-
else
class
=
"tip text-center text-danger"
>
After
payment
,
do
not
close
this
window
and
wait
for
confirmation
of
successful
payment
.
<
br
/
>
<
br
>
If
you
have
not
received
a
notification
of
successful
payment
for
a
long
time
,
please
refresh
the
page
<
/div
>
...
...
@@ -483,8 +506,10 @@
<
/div
>
<
el
-
row
align
=
"middle"
class
=
"mt20 mb60"
justify
=
"center"
>
<
el
-
col
:
span
=
"24"
class
=
"text-center"
>
<
el
-
button
v
-
if
=
"!hideconfirmbtn&&form.viewStatus == '0'"
class
=
"btn-lineG w200px"
round
type
=
"primary"
@
click
=
"goPay"
>
<
el
-
button
v
-
if
=
"!hideconfirmbtn&&form.viewStatus == '0'"
class
=
"btn-lineG w200px"
round
type
=
"primary"
@
click
=
"goPay"
>
{{
language
==
0
?
'确定'
:
'Submit'
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"form.viewStatus == '5'"
round
@
click
=
"unsubscribe"
>
...
...
@@ -495,11 +520,11 @@
<
/el-button
>
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"form.payDate&&form.viewStatus=='1'"
>
<
div
class
=
"text-center"
>
<
el
-
icon
color
=
"#32B16C"
size
=
"80"
>
<
SuccessFilled
/>
<
SuccessFilled
/>
<
/el-icon
>
<
p
class
=
"text-success"
>
{{
language
==
0
?
'支付成功'
:
'successful!'
}}
<
/p
>
<
h3
class
=
"wePrice"
>
{{
language
==
0
?
'¥'
:
'€'
}}
{{
totalFee
||
0
}}
<
/h3
>
...
...
@@ -507,7 +532,7 @@
<
/div
>
<
/el-card
>
<
/div
>
<
div
v
-
if
=
"errorBox"
class
=
"box"
>
<
el
-
result
:
sub
-
title
=
"language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
...
...
@@ -521,14 +546,16 @@
<
/template
>
<
/el-result
>
<
/div
>
<
Dialog
ref
=
"DialogRef"
/>
<
el
-
dialog
v
-
model
=
"showSJDialog"
:
close
-
on
-
click
-
modal
=
"false"
:
close
-
on
-
press
-
escape
=
"false"
:
title
=
"language==0?'开收据':'Issue a receipt'"
width
=
"460px"
>
<
Dialog
ref
=
"DialogRef"
/>
<
el
-
dialog
v
-
model
=
"showSJDialog"
:
close
-
on
-
click
-
modal
=
"false"
:
close
-
on
-
press
-
escape
=
"false"
:
title
=
"language==0?'开收据':'Issue a receipt'"
width
=
"460px"
>
<
div
class
=
"flex"
>
<
el
-
form
-
item
:
label
=
"language==0?'开票人':'Name'"
>
<
div
class
=
"flex"
>
<
el
-
input
v
-
model
=
"lpName"
:
placeholder
=
"language==0?'请输入开票人':'Please enter your name'"
><
/el-input
>
<
el
-
input
v
-
model
=
"lpName"
:
placeholder
=
"language==0?'请输入开票人':'Please enter your name'"
/
>
<
el
-
button
type
=
"primary"
@
click
=
"submitSJ"
>
{{
language
==
0
?
'提交并下载'
:
'Submit'
}}
<
/el-button
>
<
/div
>
<
/el-form-item
>
...
...
@@ -544,16 +571,16 @@
<
/template
>
<
script
setup
>
import
{
Search
}
from
"@element-plus/icons-vue"
import
{
getCurrentInstance
,
ref
}
from
'vue'
import
{
onMounted
}
from
"@vue/runtime-core"
import
{
useRoute
,
useRouter
}
from
"vue-router"
import
*
as
booking
from
"@/apiPc/booking"
import
{
Search
}
from
'@element-plus/icons-vue'
import
{
getCurrentInstance
,
ref
}
from
'vue'
import
{
onMounted
}
from
'@vue/runtime-core'
import
{
useRoute
,
useRouter
}
from
'vue-router'
import
*
as
booking
from
'@/apiPc/booking'
import
Dialog
from
'@/viewsPc/booking/component/dailog.vue'
import
MatchInfoRow
from
"@/viewsPc/match/components/matchInfo-row"
;
import
MatchInfoRow
from
'@/viewsPc/match/components/matchInfo-row'
const
{
proxy
}
=
getCurrentInstance
()
const
{
proxy
}
=
getCurrentInstance
()
const
route
=
useRoute
()
const
router
=
useRouter
()
const
matchInfo
=
ref
({
}
)
...
...
@@ -563,19 +590,19 @@ const payType = ref('2')
const
orderId
=
ref
(
route
.
query
.
orderId
)
const
matchId
=
ref
()
const
groupId
=
ref
()
import
useUserStore
from
"@/store/modules/user"
;
import
FileUpload
from
"@/components/FileUpload"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
useUserStore
from
'@/store/modules/user'
import
FileUpload
from
'@/components/FileUpload'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
{
cancelOrder
,
cancelOrder2
,
getBaseInfoByActiveId
,
getCarBilldetailbyId
,
getFoodBilldetailbyId
,
getMealOrderInfoByLogex
,
getPhotoOrderInfo
,
getPhotoOrderInfoByLogex
,
getTicketInfoByActivityId
,
getTicketOrderInfo
,
}
from
"@/apiPc/booking"
;
getMealOrderInfoByLogex
,
getPhotoOrderInfo
,
getPhotoOrderInfoByLogex
,
getTicketInfoByActivityId
,
getTicketOrderInfo
}
from
'@/apiPc/booking'
import
dayjs
from
'dayjs'
import
{
delPerson
}
from
"@/api/exam/person"
;
import
{
delPerson
}
from
'@/api/exam/person'
const
isLogin
=
ref
(
false
)
const
language
=
useStorage
(
'language'
,
0
)
...
...
@@ -635,7 +662,7 @@ onMounted(() => {
function
getData
()
{
if
(
type
.
value
==
'car'
)
{
return
booking
.
getCarBilldetailbyId
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
return
booking
.
getCarBilldetailbyId
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
form
.
value
=
res
.
data
if
(
language
.
value
==
0
)
{
totalFee
.
value
=
res
.
data
.
total
...
...
@@ -648,7 +675,7 @@ function getData() {
}
)
}
if
(
type
.
value
==
'food'
)
{
return
booking
.
getFoodBilldetailbyId
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
return
booking
.
getFoodBilldetailbyId
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
if
(
language
.
value
==
0
)
{
totalFee
.
value
=
res
.
data
.
total
}
else
{
...
...
@@ -661,7 +688,7 @@ function getData() {
}
)
}
if
(
type
.
value
==
'hotel'
)
{
return
booking
.
getRoomBilldetailbyId
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
return
booking
.
getRoomBilldetailbyId
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
if
(
language
.
value
==
0
)
{
totalFee
.
value
=
res
.
data
.
total
}
else
{
...
...
@@ -692,7 +719,7 @@ function getData() {
// 票务订单详情
async
function
getTicketOrderInfoFN
()
{
const
res
=
await
getTicketOrderInfo
({
orderId
:
orderId
.
value
}
)
const
res
=
await
getTicketOrderInfo
({
orderId
:
orderId
.
value
}
)
form
.
value
=
res
.
data
form
.
value
.
extJson
=
JSON
.
parse
(
form
.
value
.
extJson
)
try
{
...
...
@@ -701,19 +728,18 @@ async function getTicketOrderInfoFN() {
form
.
value
.
extJson
.
message
=
JSON
.
parse
(
form
.
value
.
extJson
.
message
)
await
getDetail
(
form
.
value
.
extJson
.
ticketDate
.
activityId
)
matchId
.
value
=
form
.
value
.
extJson
.
ticketDate
.
activityId
totalFee
.
value
=
language
.
value
==
0
?
form
.
value
.
total
:
form
.
value
.
totalEn
}
catch
(
e
)
{
console
.
log
(
e
)
}
finally
{
}
console
.
log
(
form
.
value
)
}
async
function
getDetail
(
activeId
)
{
const
res
=
await
getTicketInfoByActivityId
({
activityId
:
activeId
}
)
const
res
=
await
getTicketInfoByActivityId
({
activityId
:
activeId
}
)
matchForm
.
value
=
res
.
data
console
.
log
(
matchForm
.
value
)
}
...
...
@@ -725,14 +751,14 @@ function goHome() {
function
goPay
()
{
if
(
payType
.
value
==
'2'
)
{
booking
.
createWePay
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
booking
.
createWePay
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
wePayCodeUrl
.
value
=
res
.
data
hideconfirmbtn
.
value
=
true
startforGetData
()
}
)
}
if
(
payType
.
value
==
'3'
)
{
booking
.
createPalPay
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
booking
.
createPalPay
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
if
(
res
.
data
)
{
location
.
href
=
res
.
data
}
...
...
@@ -740,7 +766,7 @@ function goPay() {
}
}
let
handle
;
let
handle
function
startforGetData
()
{
handle
=
setTimeout
(()
=>
{
...
...
@@ -798,7 +824,7 @@ function showLogin() {
function
MakeUpOrder
()
{
return
booking
.
getMealOrderInfo
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
return
booking
.
getMealOrderInfo
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
form
.
value
=
res
.
data
totalFee
.
value
=
language
.
value
==
0
?
form
.
value
.
total
:
form
.
value
.
totalEn
matchId
.
value
=
form
.
value
.
activeId
...
...
@@ -811,10 +837,10 @@ function MakeUpOrder() {
}
function
MakeUpIno
()
{
booking
.
getMealOrderInfoByLogex
({
asmId
:
form
.
value
.
asmId
}
).
then
(
res
=>
{
formInfo
.
value
=
res
.
data
console
.
log
(
res
)
}
)
booking
.
getMealOrderInfoByLogex
({
asmId
:
form
.
value
.
asmId
}
).
then
(
res
=>
{
formInfo
.
value
=
res
.
data
console
.
log
(
res
)
}
)
.
catch
((
e
)
=>
{
console
.
log
(
e
)
errorBox
.
value
=
true
...
...
@@ -823,7 +849,7 @@ function MakeUpIno() {
function
photographyOrder
()
{
return
booking
.
getPhotoOrderInfo
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
return
booking
.
getPhotoOrderInfo
({
orderId
:
orderId
.
value
}
).
then
(
res
=>
{
form
.
value
=
res
.
data
totalFee
.
value
=
language
.
value
==
0
?
form
.
value
.
total
:
form
.
value
.
totalEn
photographyInfo
()
...
...
@@ -834,7 +860,7 @@ function photographyOrder() {
}
function
photographyInfo
()
{
booking
.
getPhotoOrderInfoByLogex
({
aspId
:
form
.
value
.
aspId
}
).
then
(
res
=>
{
booking
.
getPhotoOrderInfoByLogex
({
aspId
:
form
.
value
.
aspId
}
).
then
(
res
=>
{
formInfo
.
value
=
res
.
data
}
)
// .catch((e) =>
{
...
...
@@ -844,7 +870,7 @@ function photographyInfo() {
}
const
cancel
=
()
=>
{
//取消订单
//
取消订单
proxy
.
$modal
.
confirm
(
language
.
value
==
0
?
'确定取消订单吗 ?'
:
`Are you sure to cancel the order?`
).
then
(()
=>
{
return
cancelOrder2
(
orderId
.
value
).
then
(
res
=>
{
getData
()
...
...
@@ -874,13 +900,12 @@ function exportPdf() {
if
(
language
.
value
==
0
)
{
proxy
.
download
(
'/ota/orderRoom/downRoomConfirmation'
,
{
...
obj
}
,
`订房确认书.pdf`
)
}
,
`订房确认书.pdf`
,
{
}
,
'application/pdf'
)
}
else
{
proxy
.
download
(
'/ota/orderRoom/downRoomConfirmation'
,
{
...
obj
}
,
`Hotel Reservation.pdf`
)
}
,
`Hotel Reservation.pdf`
,
{
}
,
'application/pdf'
)
}
}
// 套餐详情
...
...
@@ -934,11 +959,11 @@ const showSJ = () => {
// proxy.download(`/ota/norder/getReceipt/$
{
obj
.
orderId
}
`, {
// ...obj
//
}
, `
Receipt_$
{
new
Date
().
getTime
()
}
.
pdf
`)
// 报名
proxy.download(`
/
ota
/
norder
/
getReceipt
/
$
{
obj
.
orderId
}
`, {
...obj
}
, `
Receipt_$
{
new
Date
().
getTime
()
}
.
pdf
`)
}
, `
Receipt_$
{
new
Date
().
getTime
()
}
.
pdf
`
, {
}
, 'application/pdf'
)
showSJDialog.value = false
getData()
}
...
...
@@ -985,27 +1010,27 @@ const showSJ = () => {
width: 100%;
max-width: 1000px;
margin: 20px auto;
.head {
background: #EFF2F7;
height: 50px;
font-size: 16px;
font-weight: 400;
}
th {
background: #FAFBFD;
font-size: 14px;
border-bottom: 1px solid #E5E5E5;
border-right: 1px solid #E5E5E5;
}
td {
border-bottom: 1px solid #E5E5E5;
border-right: 1px solid #E5E5E5;
padding: 10px;
}
&.table-border {
border-top: 1px solid #E5E5E5;
border-left: 1px solid #E5E5E5;
...
...
@@ -1024,23 +1049,23 @@ const showSJ = () => {
.result {
font-size: 22px;
.flex {
display: flex;
align-items: center;
font-weight: 500;
img {
margin-right: 10px
}
}
.priceb {
color: #7B7F83;
font-size: 16px;
text-align: right;
line-height: 50px;
span {
font-weight: bold;
font-size: 22px;
...
...
@@ -1053,7 +1078,7 @@ const showSJ = () => {
.skeletonBox {
position: relative;
overflow: hidden;
.btn-lineG {
position: absolute;
left: 0;
...
...
@@ -1063,7 +1088,7 @@ const showSJ = () => {
bottom: 0;
width: 200px;
box-shadow: 0 0 1000px 500px rgba(255, 255, 255, 0.5);
}
}
...
...
@@ -1075,26 +1100,26 @@ const showSJ = () => {
.priceBar {
padding: 0 0 20px;
.flex {
display: flex;
justify-content: right;
align-items: baseline;
.item {
font-size: 16px;
margin-right: 15px;
label {
color: #95A1A6;
}
span {
font-family: DIN Alternate;
}
}
}
.size26 {
font-size: 26px;
}
...
...
src/viewsPc/center/myCanKP.vue
View file @
24c59e8
...
...
@@ -40,7 +40,7 @@
<span>
{{
b
.
id
}}
</span>
<span
class=
"fr text-warning status"
>
{{
b
.
invoiceStr
}}
</span>
</div>
<el-row
align=
"middle"
class=
"pd20 mt10"
justify=
"space-between"
>
<el-col
:lg=
"9"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<h3
class=
"m0"
>
{{
b
.
name
}}
</h3>
...
...
@@ -48,7 +48,9 @@
<!--
b
.
messageObj
.
ticketDate
.
name
-->
<!--
}}
</p>
-->
<p
class=
"common"
>
{{
language
==
0
?
"张数"
:
"Location"
}}
:
{{
b
.
messageObj
.
touristList
.
length
}}{{
language
==
0
?
"张"
:
"tickets"
}}
{{
language
==
0
?
"张数"
:
"Location"
}}
:
{{
b
.
messageObj
.
touristList
.
length
}}{{
language
==
0
?
"张"
:
"tickets"
}}
</p>
</el-col>
<el-col
:lg=
"3"
:md=
"6"
:sm=
"6"
:xs=
"6"
class=
"text-center"
>
...
...
@@ -81,7 +83,7 @@
<span>
{{
b
.
id
}}
</span>
<span
class=
"fr text-warning status"
>
{{
b
.
invoiceStr
}}
</span>
</div>
<el-row
align=
"middle"
class=
"pd20 mt10"
justify=
"space-between"
>
<el-col
:lg=
"9"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<h3
class=
"m0"
>
{{
b
.
name
}}
</h3>
...
...
@@ -89,7 +91,9 @@
b
.
messageObj
.
atName
}}
</p>
<p
class=
"common"
>
{{
language
==
0
?
"张数"
:
"Location"
}}
:
{{
b
.
messageObj
.
orderCustomerList
.
length
}}{{
language
==
0
?
"张"
:
"tickets"
}}
{{
language
==
0
?
"张数"
:
"Location"
}}
:
{{
b
.
messageObj
.
orderCustomerList
.
length
}}{{
language
==
0
?
"张"
:
"tickets"
}}
</p>
</el-col>
<el-col
:lg=
"3"
:md=
"6"
:sm=
"6"
:xs=
"6"
class=
"text-center"
>
...
...
@@ -174,7 +178,7 @@
<span>
{{
language
==
0
?
'订单编号:'
:
'No.'
}}
{{
b
.
id
}}
</span>
<span
class=
"fr text-warning status"
>
{{
b
.
invoiceStr
}}
</span>
</div>
<el-row
align=
"middle"
class=
"pd20 mt10"
justify=
"space-between"
>
<el-col
:lg=
"9"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
v-if=
"b.orderType == 0"
>
...
...
@@ -239,7 +243,7 @@
</div>
</div>
</el-card>
<el-dialog
v-model=
"showSJDialog"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
:title=
"language==0?'开收据':'Issue a receipt'"
width=
"460px"
...
...
@@ -258,7 +262,7 @@
{{
remark
}}
</div>
</div>
</el-dialog>
</div>
</
template
>
...
...
@@ -313,10 +317,12 @@ onMounted(() => {
getList
()
route
.
query
.
orderSn
&&
getDataInfo
()
})
async
function
getDataInfo
()
{
const
res
=
await
getOrderDetail
({
orderSn
:
route
.
query
.
orderSn
})
formDate
.
value
=
res
.
data
}
const
getList
=
()
=>
{
loading
.
value
=
true
if
(
query
.
value
.
orderType
==
'5'
)
{
...
...
@@ -489,12 +495,12 @@ const showSJ = (item) => {
// 预约
proxy
.
download
(
`/ota/norder/getReceipt/
${
obj
.
orderId
}
`
,
{
...
obj
},
`Receipt_
${
new
Date
().
getTime
()}
.pdf`
)
},
`Receipt_
${
new
Date
().
getTime
()}
.pdf`
,
{},
'application/pdf'
)
}
else
{
// 报名
proxy
.
download
(
`/ota/signOrder/getReceipt/
${
obj
.
orderId
}
`
,
{
...
obj
},
`Receipt_
${
new
Date
().
getTime
()}
.pdf`
)
},
`Receipt_
${
new
Date
().
getTime
()}
.pdf`
,
{},
'application/pdf'
)
}
}
const
submitSJ
=
()
=>
{
...
...
@@ -559,11 +565,11 @@ const downloadAndSend = () => {
overflow
:
visible
;
padding
:
0
20px
15px
;
border-bottom
:
1px
solid
#e5e5e5
;
.fr
{
margin
:
-8px
0
0
}
h3
{
display
:
inline-block
;
font-size
:
16px
;
...
...
@@ -587,28 +593,28 @@ const downloadAndSend = () => {
top
:
0
;
font-size
:
12px
;
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
}
...
...
@@ -620,38 +626,38 @@ const downloadAndSend = () => {
color
:
#000000
;
margin
:
0
0
10px
;
}
p
{
margin
:
8px
0
0
;
color
:
#707070
;
font-size
:
14px
;
}
margin
:
0
0
20px
;
border
:
1px
solid
#E5E5E5
;
border-radius
:
10px
;
position
:
relative
;
.bbody
{
padding
:
0
15px
20px
;
}
.title
{
background
:
#F7F7F7
;
border-bottom
:
1px
solid
#E5E5E5
;
span
{
font-size
:
14px
;
color
:
#4C5359
;
}
.status
{
font-size
:
12px
;
font-weight
:
bold
;
padding
:
2px
10px
;
}
}
.title
label
{
border-radius
:
5px
0
5px
0
;
font-size
:
12px
;
...
...
@@ -659,15 +665,15 @@ const downloadAndSend = () => {
padding
:
4px
10px
;
margin-right
:
10px
;
}
.blueTag
{
background-color
:
#1EC886
;
}
.purpleTag
{
background-color
:
#717bef
;
}
.orangeTag
{
background-color
:
#ff8124
;
}
...
...
src/viewsPc/match/chooseProject_bak.vue
View file @
24c59e8
...
...
@@ -3,90 +3,100 @@
<!-- 个人报名-国外-->
<div
class=
"box ph-30"
>
<el-card
class=
"mb20"
>
<single-sign-step
:active
Step=
"1"
:language=
"language"
/>
<single-sign-step
:active
-step=
"1"
:language=
"language"
/>
</el-card>
<el-card
:body-style=
"
{'padding': '0'}">
<match-info-row
:match-id=
"matchId"
/>
<match-info-row
:match-id=
"matchId"
/>
<div
class=
"pd20"
>
<el-row
:gutter=
"20"
>
<el-col
:lg=
"6"
>
<div
class=
"panel border"
>
<div
class=
"panel-header "
>
<h3
class=
"panel-title"
v-if=
"language==0
"
>
完善我的信息
</h3>
<h3
class=
"panel-title"
v-else
>
My Information
</h3>
<h3
v-if=
"language==0"
class=
"panel-title
"
>
完善我的信息
</h3>
<h3
v-else
class=
"panel-title"
>
My Information
</h3>
</div>
<div
class=
"panel-body"
>
<div
v-if=
"form.danceMate"
>
<div
class=
"text-danger fontsize14 mb10"
v-if=
"language==0"
>
*如果您报名双人舞项目,请勾选您的舞伴
</div>
<div
class=
"text-danger fontsize14 mb10"
v-else
>
<div
v-if=
"language==0"
class=
"text-danger fontsize14 mb10"
>
*如果您报名双人舞项目,请勾选您的舞伴
</div>
<div
v-else
class=
"text-danger fontsize14 mb10"
>
*Please select your dance partner if you are registering for a couple event
</div>
</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
class=
"mb20"
style=
"width: 50%;text-align: center;"
@
click=
"editPerson
"
>
<el-avatar
v-if=
"form.picUrl"
:size=
"60"
:src=
"fillImgUrl(form.picUrl)"
fit=
"cover"
/>
<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"
/>
<el-avatar
v-if=
"form.sex == 0"
:size=
"60"
fit=
"cover"
src=
"/img/head1.png"
/>
<el-avatar
v-if=
"form.sex == 1"
:size=
"60"
fit=
"cover"
src=
"/img/head0.png"
/>
</div>
<div
class=
"text-center mt10"
>
<span
class=
"mName"
>
{{
form
.
realName
}}
</span>
<el-icon
size=
"20"
>
<Edit/>
<Edit
/>
</el-icon>
</div>
</div>
<!--舞伴-->
<div
style=
"width:50%;text-align: center;"
v-if=
"form.danceMate
"
>
<div
v-if=
"form.danceMate"
style=
"width:50%;text-align: center;
"
>
<el-checkbox-group
v-model=
"mateChosed"
@
change=
"changeMate"
>
<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"
/>
<el-avatar
v-if=
"form.danceMate.picUrl"
:size=
"60"
:src=
"fillImgUrl(form.danceMate.picUrl)"
fit=
"cover"
/>
<el-avatar
v-else-if=
"form.danceMate.sex == 0"
:size=
"60"
fit=
"cover"
src=
"/img/head1.png"
/>
<el-avatar
v-else-if=
"form.danceMate.sex == 1"
:size=
"60"
fit=
"cover"
src=
"/img/head0.png"
/>
<div
class=
"text-center mt10"
@
click=
"editMate(form.danceMate)"
>
<span
class=
"mName"
>
{{
form
.
danceMate
.
realName
}}
</span>
<el-icon
@
click
.
stop=
"editMate(form.danceMate)"
size=
"20
"
>
<Edit/>
<el-icon
size=
"20"
@
click
.
stop=
"editMate(form.danceMate)
"
>
<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=
"min-width:50%;"
v-else
@
click=
"addMate"
hidden
>
-->
<!--
<div
class=
"addBttn"
style=
"margin: 0 auto"
>
+
</div>
-->
<!--
<div
class=
"text-center mt10 text-primary text-sm"
>
-->
<!-- Please add your partner-->
<!--
<el-icon>
-->
<!--
<Edit/>
-->
<!--
</el-icon>
-->
<!--
</div>
-->
<!--
</div>
-->
<!--
<div
style=
"min-width:50%;"
v-else
@
click=
"addMate"
hidden
>
-->
<!--
<div
class=
"addBttn"
style=
"margin: 0 auto"
>
+
</div>
-->
<!--
<div
class=
"text-center mt10 text-primary text-sm"
>
-->
<!-- Please add your partner-->
<!--
<el-icon>
-->
<!--
<Edit/>
-->
<!--
</el-icon>
-->
<!--
</div>
-->
<!--
</div>
-->
</div>
</div>
</div>
</el-col>
<el-col
:lg=
"18"
>
<div
class=
"panel border"
>
<div
class=
"panel-header "
>
<h3
class=
"panel-title"
v-if=
"language==0
"
>
可参与报名的项目
</h3>
<h3
class=
"panel-title"
v-else
>
Search Events
</h3>
<h3
v-if=
"language==0"
class=
"panel-title
"
>
可参与报名的项目
</h3>
<h3
v-else
class=
"panel-title"
>
Search Events
</h3>
<div
class=
"fr"
>
<el-input
size=
"small"
v-model=
"projectQuery.name"
:prefix-icon=
"Search"
@
change=
"getProjectList"
clearable
/>
<el-input
v-model=
"projectQuery.name"
:prefix-icon=
"Search"
clearable
size=
"small"
@
change=
"getProjectList"
/>
</div>
</div>
<div
v-loading=
"loadingProject"
style=
"height: 55vh;overflow: auto;"
>
<el-checkbox-group
v-model=
"projectIds"
>
<el-checkbox
class=
"flexBetweenBox"
v-for=
"c in projectList"
:label=
"c.id"
:key=
"c.id
"
>
<el-checkbox
v-for=
"c in projectList"
:key=
"c.id"
:label=
"c.id"
class=
"flexBetweenBox
"
>
<div
class=
"flexBetween w100"
>
<div
class=
"l"
>
{{
c
.
code
}}
:
{{
c
.
name
}}
...
...
@@ -96,8 +106,10 @@
</div>
</el-checkbox>
</el-checkbox-group>
<el-empty
v-if=
"projectList.length==0"
:image=
"`/img/order_no.png`"
:image-size=
"228"
:description=
"language==0?'无可选项目':''"
/>
<el-empty
v-if=
"projectList.length==0"
:description=
"language==0?'无可选项目':''"
:image=
"`/img/order_no.png`"
:image-size=
"228"
/>
</div>
</div>
</el-col>
...
...
@@ -106,13 +118,13 @@
<el-row
class=
"mt20"
>
<el-col
:span=
"24"
>
<div
class=
"text-center"
>
<el-button
type=
"primary"
class=
"btn-lineG w200px"
round
@
click=
"signUp"
>
<el-button
class=
"btn-lineG w200px"
round
type=
"primary"
@
click=
"signUp"
>
{{
language
==
0
?
'确定'
:
'Confirm'
}}
</el-button>
</div>
</el-col>
</el-row>
<div
class=
"m20"
>
<!--
<el-button
type=
"success"
@
click=
"importSportman"
>
批量导入人员
</el-button>
-->
<!--
<el-button
type=
"success"
@
click=
"addCoach"
>
新增运动员
</el-button>
-->
...
...
@@ -124,27 +136,29 @@
{{
language
==
0
?
'按人员查看报项'
:
'Check Registrations by Participant'
}}
</div>
</div>
<sign-info-table
v-if=
"tableType==0"
:match-id=
"matchId"
:extraform=
"extraform"
:language=
"language"
:list=
"signInfoList"
@
editExtra=
"goPersonInfo"
/>
<zu-table
v-else
:list=
"zuTableList"
:language=
"language"
@
delete=
"removeThis"
/>
<sign-info-table
v-if=
"tableType==0"
:extraform=
"extraform"
:language=
"language"
:list=
"signInfoList"
:match-id=
"matchId"
@
editExtra=
"goPersonInfo"
/>
<zu-table
v-else
:language=
"language"
:list=
"zuTableList"
@
delete=
"removeThis"
/>
<div
v-if=
"showPersonList||myMemberTable.length>0"
>
<el-row
class=
"mt20"
>
<el-col
:span=
"24"
>
<el-button
@
click=
"addAccompany"
type=
"primary"
plain
>
<el-button
plain
type=
"primary"
@
click=
"addAccompany"
>
{{
language
==
0
?
'添加随行人员'
:
'Add accompanying personnel'
}}
</el-button>
</el-col>
</el-row>
<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?'国家/地区':'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
:data=
"myMemberTable"
border
class=
"mt20"
>
<el-table-column
:label=
"language==0?'序号':'Index'"
align=
"center"
type=
"index"
width=
"70"
/>
<el-table-column
:label=
"language==0?'姓氏':'Surname'"
min-width=
"100"
prop=
"xing"
/>
<el-table-column
:label=
"language==0?'名':'Name'"
min-width=
"100"
prop=
"ming"
/>
<el-table-column
:label=
"language==0?'国家/地区':'Nationality'"
min-width=
"100"
prop=
"countryName"
/>
<!--
<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"
>
...
...
@@ -169,59 +183,59 @@
</el-table-column>
</el-table>
</div>
<div
class=
"text-center mt20"
>
<el-button
type=
"primary"
class=
"btn-lineG w200px"
round
@
click=
"submitForm()"
>
<el-button
class=
"btn-lineG w200px"
round
type=
"primary"
@
click=
"submitForm()"
>
{{ language == 0 ? '预览报名信息' : 'Preview Registration Information' }}
</el-button>
</div>
<!-- <div class="text-center mt20">-->
<!-- <el-button type="primary" class="" plain round @click="submitForm(0)">-->
<!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}-->
<!-- </el-button>-->
<!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">-->
<!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}-->
<!-- </el-button>-->
<!-- </div>-->
<!-- <div class="text-center mt20">-->
<!-- <el-button type="primary" class="" plain round @click="submitForm(0)">-->
<!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}-->
<!-- </el-button>-->
<!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">-->
<!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}-->
<!-- </el-button>-->
<!-- </div>-->
</div>
</el-card>
</div>
<dialogEditWdsf
ref=
"dialogEditWdsfRef"
@
submitForm=
"changeMeDone"
/>
<dialogEditAccompany
ref=
"dialogEditAccompanyRef"
@
submitForm=
"getMyMemberTable"
/>
<addCoachEn
ref=
"dialogAddCoachEnRef"
@
submitForm=
"getMyMemberTable"
/>
<dialogExtraForm
ref=
"popExtraForm"
@
submitForm=
"getSignInfoList"
/>
<dialogEditWdsf
ref=
"dialogEditWdsfRef"
@
submitForm=
"changeMeDone"
/>
<dialogEditAccompany
ref=
"dialogEditAccompanyRef"
@
submitForm=
"getMyMemberTable"
/>
<addCoachEn
ref=
"dialogAddCoachEnRef"
@
submitForm=
"getMyMemberTable"
/>
<dialogExtraForm
ref=
"popExtraForm"
@
submitForm=
"getSignInfoList"
/>
</div>
</template>
<
script
setup
>
import
{
ref
,
reactive
,
toRefs
}
from
'vue'
import
{
ref
,
reactive
,
toRefs
}
from
'vue'
import
*
as
match
from
'@/apiPc/match'
import
{
getCurrentInstance
,
onMounted
}
from
'@vue/runtime-core'
import
{
getCurrentInstance
,
onMounted
}
from
'@vue/runtime-core'
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"
;
import
{
Search
,
Switch
}
from
'@element-plus/icons-vue'
const
{
proxy
}
=
getCurrentInstance
()
const
{
proxy
}
=
getCurrentInstance
()
const
router
=
useRouter
()
const
route
=
useRoute
()
import
_
from
'lodash'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
cache
from
"@/plugins/cache"
import
TeamSignStep
from
"@/viewsPc/match/components/teamSignStep"
import
CoachInfoRow
from
"@/viewsPc/match/components/coachInfo-row"
import
SignInfoTable
from
"@/viewsPc/match/components/signInfo-table"
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
cache
from
'@/plugins/cache'
import
TeamSignStep
from
'@/viewsPc/match/components/teamSignStep'
import
CoachInfoRow
from
'@/viewsPc/match/components/coachInfo-row'
import
SignInfoTable
from
'@/viewsPc/match/components/signInfo-table'
import
ZuTable
from
'@/viewsPc/match/components/zu-table'
import
SingleSignStep
from
"@/viewsPc/match/components/singleSignStep"
;
import
MatchInfoRow
from
"@/viewsPc/match/components/matchInfo-row"
;
import
useUserStore
from
"@/store/modules/user"
;
import
{
getPerPersonList
}
from
"@/apiPc/match"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
import
SingleSignStep
from
'@/viewsPc/match/components/singleSignStep'
import
MatchInfoRow
from
'@/viewsPc/match/components/matchInfo-row'
import
useUserStore
from
'@/store/modules/user'
import
{
getPerPersonList
}
from
'@/apiPc/match'
import
{
useStorage
}
from
'@vueuse/core/index'
const
language
=
useStorage
(
'language'
,
0
)
const
language
=
useStorage
(
'language'
,
0
)
const
data
=
reactive
({
coachForm
:
{},
activeStep
:
2
,
...
...
@@ -247,7 +261,7 @@ const data = reactive({
mateChosed
:
[],
projectIds
:
[],
projectList
:
[],
choosed2List
:
[],
projectQuery
:
{},
tableType
:
1
,
choosed2List
:
[],
projectQuery
:
{},
tableType
:
1
})
const
{
activeTeam
,
...
...
@@ -303,15 +317,15 @@ function getMyInfo() {
myId
.
value
=
res
.
data
.
id
getProjectList
()
}).
catch
(
err
=>
{
router
.
push
({
name
:
'home'
})
router
.
push
({
name
:
'home'
})
})
}
function
getMyMemberTable
()
{
//
match
.
getPerPersonList
({
cptId
:
matchId
.
value
,
searchLabels
:
'1,2,3,4,5,6'
},
userId
.
value
).
then
(
res
=>
{
match
.
getPerPersonList
({
cptId
:
matchId
.
value
,
searchLabels
:
'1,2,3,4,5,6'
},
userId
.
value
).
then
(
res
=>
{
myMemberTable
.
value
=
res
.
rows
if
(
res
.
rows
.
length
>
0
)
{
if
(
res
.
rows
.
length
>
0
)
{
showPersonList
.
value
=
true
}
})
...
...
@@ -376,15 +390,15 @@ function submitForm(n) {
}
return
}
if
(
signInfoType
==
'1'
)
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'已报项,前往我的报项'
:
'Reported items, go to my submission'
,
language
.
value
==
0
?
'提示'
:
'Tips'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'OK'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
}).
then
(()
=>
{
router
.
push
({
name
:
'myMatch'
})
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'已报项,前往我的报项'
:
'Reported items, go to my submission'
,
language
.
value
==
0
?
'提示'
:
'Tips'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'OK'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
}).
then
(()
=>
{
router
.
push
({
name
:
'myMatch'
})
})
return
}
...
...
@@ -406,12 +420,12 @@ function submitForm(n) {
if
(
showPersonList
.
value
)
{
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
?
'否,进入下一步'
:
'NO,Go Next'
,
type
:
'warning'
}).
then
(()
=>
{
language
.
value
==
0
?
'提示'
:
'Tip'
,
{
confirmButtonText
:
language
.
value
==
0
?
'是'
:
'Yes'
,
cancelButtonText
:
language
.
value
==
0
?
'否,进入下一步'
:
'NO,Go Next'
,
type
:
'warning'
}).
then
(()
=>
{
}).
catch
(()
=>
{
commit
()
})
...
...
@@ -420,11 +434,11 @@ 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
?
'否,进入下一步'
:
'NO,Go Next'
,
type
:
'warning'
}).
then
(()
=>
{
language
.
value
==
0
?
'提示'
:
'Tip'
,
{
confirmButtonText
:
language
.
value
==
0
?
'是'
:
'Yes'
,
cancelButtonText
:
language
.
value
==
0
?
'否,进入下一步'
:
'NO,Go Next'
,
type
:
'warning'
}).
then
(()
=>
{
showPersonList
.
value
=
true
}).
catch
(()
=>
{
commit
()
...
...
@@ -473,13 +487,12 @@ function commit() {
// })
// })}
// )
}
function
getProjectList
()
{
projectIds
.
value
=
[]
loadingProject
.
value
=
true
//根据已选人员id 获取项目列表
//
根据已选人员id 获取项目列表
var
obj
=
{}
if
(
mateChosed
.
value
.
length
>
0
&&
form
.
value
.
danceMate
)
{
obj
=
{
...
...
@@ -532,7 +545,7 @@ function addCoach() {
}
function delperson(p) {
//删除团队下的人
//
删除团队下的人
let text = ''
let t = '提示'
let s = '确定'
...
...
@@ -562,21 +575,21 @@ function delperson(p) {
function signUp() {
if (projectIds.value.length == 0) {
if (language.value == 0) {
ElMessage.warning('请选择项目')
} else {
ElMessage.warning('Please select project')
}
if (language.value == 0) {
ElMessage.warning('请选择项目')
} else {
ElMessage.warning('Please select project')
}
return
}
le
t obj = {
cons
t obj = {
projectIds: projectIds.value.toString(),
groupId: 0
}
if (mateChosed.value.length > 0 && form.value.danceMate) {
obj.athleteIds= `
$
{
myId
.
value
},
$
{
form
.
value
.
danceMate
?.
id
}
`
obj.athleteIds
= `
$
{
myId
.
value
},
$
{
form
.
value
.
danceMate
?.
id
}
`
} else {
obj.athleteIds= myId.value
obj.athleteIds
= myId.value
}
match.sportsmanDone(obj).then(res => {
getSignInfoList()
...
...
@@ -586,11 +599,11 @@ function signUp() {
function removeThis(id) {
ElMessageBox.confirm(language.value == 0 ? '确定移除这条报项吗?' : 'Are you sure to remove this report item',
language.value == 0 ? '提示' : 'Tips', {
confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
type: 'warning'
}).then(() => {
language.value == 0 ? '提示' : 'Tips', {
confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
type: 'warning'
}).then(() => {
match.deleteSign(id).then(res => {
// 重新获取已报名信息
ElMessage.success(language.value == 0 ? '已移除该报项' : 'success')
...
...
@@ -620,13 +633,13 @@ function goMySign() {
const goPersonInfo = (row) => {
if (signInfoType == '1') {
ElMessageBox.alert(
language.value == 0 ? '已报项,前往我的报项' : 'Reported items, go to my submission',
language.value == 0 ? '提示' : 'Tips', {
confirmButtonText: 'OK',
callback: (Action) => {
router.push({name: 'myMatch'
})
}
})
language.value == 0 ? '已报项,前往我的报项' : 'Reported items, go to my submission',
language.value == 0 ? '提示' : 'Tips', {
confirmButtonText: 'OK',
callback: (Action) => {
router.push({ name: 'myMatch'
})
}
})
return
}
// 完善补充信息
...
...
@@ -634,12 +647,12 @@ const goPersonInfo = (row) => {
// debugger
const params = {
matchId: matchId.value,
title: language.value
==0?'完善补充信息':
'Complete the supplementary information',
title: language.value
== 0 ? '完善补充信息' :
'Complete the supplementary information',
participantsInfoArr: extraform.value,
personId: row.personInfo.id,
extraId: row.extraPersonInfo?.id || 0,
isNational:true
isNational:
true
}
proxy.$refs['popExtraForm'].open(_.cloneDeep(params))
}
...
...
@@ -647,7 +660,7 @@ const goPersonInfo = (row) => {
function downloadVoucher() {
// 下载凭证
proxy.download(
`
/
pdf
/
getPayedOrderPdf
/
$
{
matchId
.
value
}
/${groupId.value || 0}`, {}, '报项凭证.
pdf
'
`
/
pdf
/
getPayedOrderPdf
/
$
{
matchId
.
value
}
/${groupId.value || 0}`, {}, '报项凭证.pdf', {}, 'application/
pdf
'
)
}
...
...
@@ -662,16 +675,17 @@ function addMate() {
proxy.$refs['
dialogEditWdsfRef
'].open({
title: language.value == 0 ? '
添加舞伴
' : '
Add
My
Mate
',
isMe: false,
cptId
:
matchId
.
value
,
cptId:
matchId.value,
id: 0
})
}
function editMate(obj) {
proxy.$refs['
dialogEditWdsfRef
'].open({
title: language.value == 0 ? '
编辑舞伴
' : '
Edit
My
Mate
',
isMe: false,
form: obj || {},
cptId
:
matchId
.
value
,
cptId:
matchId.value,
id: obj?.id || 0
})
}
...
...
@@ -689,19 +703,18 @@ function delMate(mate) {
}
function changeMate(e) {
console
.
log
(
e
,
mateChosed
.
value
,
form
.
value
.
danceMate
.
passportUrl
)
if
(
form
.
value
.
danceMate
.
passportUrl
==
''
||!
form
.
value
.
danceMate
.
passportUrl
)
{
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
language.value == 0 ? '
提示
' : '
Tip
',
{
confirmButtonText: language.value == 0 ? '
确定
' : '
Yes
',
cancelButtonText: language.value == 0 ? '
取消
' : '
Cancel
'
}).
then
(()
=>
{
editMate
(
form
.
value
.
danceMate
)
}).
catch
(()
=>
{
})
}
getProjectList
()
...
...
@@ -716,13 +729,14 @@ function switchTabletype() {
}
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
lang=
"scss"
scoped
>
:deep
(
.el-checkbox__label
)
{
flex
:
1
1
auto
;
}
.flexBetweenBox
{
width
:
100%
;
margin-right
:
0
;
width
:
100%
;
margin-right
:
0
;
height
:
auto
;
border-bottom
:
1px
solid
#eee
;
padding
:
0
10px
;
...
...
@@ -735,7 +749,7 @@ function switchTabletype() {
.flexBetween
{
padding
:
10px
;
border-left
:
1px
solid
#eee
;
.l
{
div
{
margin
:
4px
0
0
;
...
...
@@ -766,16 +780,16 @@ function switchTabletype() {
margin
:
0
0
20px
;
display
:
flex
;
justify-content
:
space-between
;
button
{
position
:
relative
;
margin
:
10px
;
}
.choseItem
{
margin
:
10px
;
position
:
relative
;
.poClose
{
position
:
absolute
;
right
:
-6px
;
...
...
@@ -790,18 +804,18 @@ function switchTabletype() {
background
:
rgba
(
245
,
247
,
249
,
0.38
);
padding
:
20px
40px
10px
;
}
.el-checkbox
{
height
:
auto
;
margin-right
:
20px
;
}
:deep
(
.el-checkbox__input
)
{
position
:
absolute
;
right
:
0
;
top
:
0
;
}
.name
{
text-align
:
center
;
}
...
...
@@ -820,7 +834,7 @@ function switchTabletype() {
margin
:
5px
0
;
color
:
#4C5359
;
font-size
:
14px
;
label
{
font-size
:
14px
;
margin-right
:
14px
...
...
@@ -833,13 +847,13 @@ function switchTabletype() {
color
:
#4C5359
;
display
:
flex
;
justify-content
:
center
;
div
{
padding
:
20px
;
position
:
relative
;
cursor
:
pointer
;
}
div
:first-child::after
{
content
:
''
;
position
:
absolute
;
...
...
@@ -851,10 +865,10 @@ function switchTabletype() {
bottom
:
0
;
margin
:
auto
;
}
.active
{
color
:
var
(
--el-color-primary
);
&::before
{
width
:
33px
;
content
:
''
;
...
...
@@ -875,6 +889,13 @@ function switchTabletype() {
display
:
inline-block
}
}
.mName
{
color
:
#000
;
font-size
:
15px
;
display
:
inline-block
;
max-width
:
6.5em
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;}
.mName
{
color
:
#000
;
font-size
:
15px
;
display
:
inline-block
;
max-width
:
6.5em
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
</
style
>
...
...
src/viewsPc/match/chooseSportsman.vue
View file @
24c59e8
...
...
@@ -711,7 +711,7 @@ const goPersonInfo = (row) => {
function
downloadVoucher
()
{
// 下载凭证
proxy
.
download
(
`/pdf/getPayedOrderPdf/
${
matchId
.
value
}
/
${
groupId
.
value
||
0
}
`
,
{},
'报项凭证.pdf'
`/pdf/getPayedOrderPdf/
${
matchId
.
value
}
/
${
groupId
.
value
||
0
}
`
,
{},
'报项凭证.pdf'
,
{},
'application/pdf'
)
}
...
...
src/viewsPc/match/chooseSportsman_bak.vue
View file @
24c59e8
...
...
@@ -2,32 +2,37 @@
<div>
<div
class=
"box ph-30"
>
<el-card
class=
"mb20"
>
<team-sign-step
:active
Step=
"activeStep"
:language=
"language"
/>
<team-sign-step
:active
-step=
"activeStep"
:language=
"language"
/>
</el-card>
<el-card
:body-style=
"
{'padding-top': '0'}">
<el-row
class=
"mt20"
:gutter=
"
20"
>
<el-row
:gutter=
"20"
class=
"mt
20"
>
<el-col
:lg=
"8"
>
<div
class=
"panel border"
>
<div
class=
"panel-header "
>
<h3
class=
"panel-title"
v-if=
"language==0
"
>
选择参赛运动员清单
</h3>
<h3
class=
"panel-title"
v-else
>
Select list of participating athletes
</h3>
<h3
v-if=
"language==0"
class=
"panel-title
"
>
选择参赛运动员清单
</h3>
<h3
v-else
class=
"panel-title"
>
Select list of participating athletes
</h3>
<a
class=
"fr"
@
click=
"emptyChoosed"
>
{{
language
==
0
?
'清空'
:
'Empty'
}}
</a>
</div>
<div
class=
"panel-body"
style=
"padding: 10px"
>
<div
style=
"margin: 0 4px 10px"
>
<el-input
size=
"small"
v-model=
"athletesQuery.name"
:prefix-icon=
"Search"
@
change=
"queryAthletes"
clearable
/>
<el-input
v-model=
"athletesQuery.name"
:prefix-icon=
"Search"
clearable
size=
"small"
@
change=
"queryAthletes"
/>
</div>
<div
class=
"noPicChooseForm"
id=
"chooseArr
"
>
<div
id=
"chooseArr"
class=
"noPicChooseForm
"
>
<el-checkbox-group
v-model=
"choosedchoosed"
@
change=
"changechoosed"
>
<el-button
id=
"addRef"
plain
@
click=
"chooseSportman"
>
+
{{
language
==
0
?
'选择'
:
'add'
}}
</el-button>
<el-button
id=
"addRef"
plain
@
click=
"chooseSportman"
>
+
{{
language
==
0
?
'选择'
:
'add'
}}
</el-button>
<el-checkbox
v-for=
"c in choosedListBak"
:value=
"c.id"
border
>
<p
class=
"name"
>
{{
c
.
realName
}}
<!-- (
{{
c
.
sexStr
}}
)-->
<img
v-if=
"c.sex=='0'"
src=
"@/assets/img/female.png"
/
>
<img
v-if=
"c.sex=='1'"
src=
"@/assets/img/male.png"
/
>
<img
v-if=
"c.sex=='0'"
src=
"@/assets/img/female.png"
>
<img
v-if=
"c.sex=='1'"
src=
"@/assets/img/male.png"
>
</p>
</el-checkbox>
</el-checkbox-group>
...
...
@@ -38,25 +43,27 @@
<el-col
:lg=
"8"
>
<div
class=
"panel border"
>
<div
class=
"panel-header "
>
<h3
class=
"panel-title"
v-if=
"language==0
"
>
选择一个参赛组合
</h3>
<h3
class=
"panel-title"
v-else
>
Select a Participating team
</h3>
<h3
v-if=
"language==0"
class=
"panel-title
"
>
选择一个参赛组合
</h3>
<h3
v-else
class=
"panel-title"
>
Select a Participating team
</h3>
<a
class=
"fr"
@
click=
"emptyChangechoosed"
>
{{
language
==
0
?
'清空'
:
'Empty'
}}
</a>
</div>
<div
class=
"panel-body"
style=
"padding: 10px"
>
<div
class=
"mb20"
>
<el-input
size=
"small"
v-model=
"zuQuery.name"
:prefix-icon=
"Search"
@
change=
"queryTeam"
clearable
/>
<el-input
v-model=
"zuQuery.name"
:prefix-icon=
"Search"
clearable
size=
"small"
@
change=
"queryTeam"
/>
</div>
<div
class=
"chooseForm"
>
<el-checkbox-group
v-model=
"choosedchoosed"
@
change=
"changechoosed"
>
<!-- v-show="choosedchoosed.indexOf(c.id) !== -1"-->
<el-checkbox
v-for=
"c in choosed2Listbak"
:value=
"c.id"
checked
>
<el-avatar
fit=
"cover"
v-if=
"c.picUrl"
:size=
"60"
:src=
"fillImgUrl(c.picUrl)"
/>
<el-avatar
fit=
"cover"
v-else-if=
"c.sex == 0"
:size=
"60"
src=
"/img/head1.png"
/>
<el-avatar
fit=
"cover"
v-else-if=
"c.sex == 1"
:size=
"60"
src=
"/img/head0.png"
/>
<el-avatar
v-if=
"c.picUrl"
:size=
"60"
:src=
"fillImgUrl(c.picUrl)"
fit=
"cover"
/>
<el-avatar
v-else-if=
"c.sex == 0"
:size=
"60"
fit=
"cover"
src=
"/img/head1.png"
/>
<el-avatar
v-else-if=
"c.sex == 1"
:size=
"60"
fit=
"cover"
src=
"/img/head0.png"
/>
<p
class=
"name"
>
{{
c
.
realName
}}
<img
v-if=
"c.sex=='0'"
src=
"@/assets/img/female.png"
/
>
<img
v-if=
"c.sex=='1'"
src=
"@/assets/img/male.png"
/
>
<img
v-if=
"c.sex=='0'"
src=
"@/assets/img/female.png"
>
<img
v-if=
"c.sex=='1'"
src=
"@/assets/img/male.png"
>
<!--
<el-icon
@
click
.
stop=
"editPerson(c.id)"
>
-->
<!--
<Edit/>
-->
<!--
</el-icon>
-->
...
...
@@ -70,17 +77,19 @@
<el-col
:lg=
"8"
>
<div
class=
"panel border"
>
<div
class=
"panel-header "
>
<h3
class=
"panel-title"
v-if=
"language==0
"
>
可参与报名的项目
</h3>
<h3
class=
"panel-title"
v-else
>
Search Events
</h3>
<h3
v-if=
"language==0"
class=
"panel-title
"
>
可参与报名的项目
</h3>
<h3
v-else
class=
"panel-title"
>
Search Events
</h3>
<div
class=
"fr"
>
<el-input
size=
"small"
v-model=
"projectQuery.name"
:prefix-icon=
"Search"
@
change=
"getProjectList"
clearable
/>
<el-input
v-model=
"projectQuery.name"
:prefix-icon=
"Search"
clearable
size=
"small"
@
change=
"getProjectList"
/>
</div>
</div>
<div
v-loading=
"loadingProject"
id=
"projectbox
"
style=
"height: 60vh;overflow: auto;"
>
<div
id=
"projectbox"
v-loading=
"loadingProject
"
style=
"height: 60vh;overflow: auto;"
>
<el-checkbox-group
v-model=
"projectIds"
@
change=
"changeProject"
>
<el-checkbox
class=
"flexBetweenBox"
v-for=
"c in projectList"
:value=
"c.id"
:key=
"c.id
"
>
<el-checkbox
v-for=
"c in projectList"
:key=
"c.id"
:value=
"c.id"
class=
"flexBetweenBox
"
>
<div
class=
"flexBetween w100"
>
<div
class=
"l"
>
{{
c
.
code
}}
:
{{
c
.
name
}}
...
...
@@ -90,8 +99,10 @@
</div>
</el-checkbox>
</el-checkbox-group>
<el-empty
v-if=
"projectList.length==0"
:image=
"`/img/order_no.png`"
:image-size=
"228"
:description=
"language==0?'无可选项目':''"
/>
<el-empty
v-if=
"projectList.length==0"
:description=
"language==0?'无可选项目':''"
:image=
"`/img/order_no.png`"
:image-size=
"228"
/>
</div>
</div>
</el-col>
...
...
@@ -99,17 +110,19 @@
<el-row
class=
"mt20"
>
<el-col
:span=
"24"
>
<div
class=
"text-center"
>
<el-button
type=
"primary"
class=
"btn-lineG w200px"
id=
"signUpBtn"
:disabled=
"projectIds.length==0||choosedchoosed.length==0"
round
@
click=
"signUp"
>
<el-button
id=
"signUpBtn"
:disabled=
"projectIds.length==0||choosedchoosed.length==0"
class=
"btn-lineG w200px"
round
type=
"primary"
@
click=
"signUp"
>
{{
language
==
0
?
'确定'
:
'Confirm'
}}
</el-button>
</div>
</el-col>
</el-row>
</el-card>
<el-card
class=
"mt20"
:body-style=
"
{'padding': '0'}
">
<coach-info-row
:
match-id=
"matchId"
:group-id=
"groupId"
:language=
"language"
/>
<el-card
:body-style=
"
{'padding': '0'}" class="mt20
">
<coach-info-row
:
group-id=
"groupId"
:language=
"language"
:match-id=
"matchId"
/>
<div
class=
"m20"
>
<!--
<el-button
type=
"success"
@
click=
"importSportman"
>
批量导入人员
</el-button>
-->
<!--
<el-button
type=
"success"
@
click=
"addCoach"
>
新增运动员
</el-button>
-->
...
...
@@ -129,71 +142,75 @@
<!--
{{
language
==
0
?
'按组别查看报项'
:
'Check Registrations by Group'
}}
-->
<!--
</el-button>
-->
<!--
</div>
-->
<sign-info-table
v-if=
"tableType==0"
:match-id=
"matchId"
:extraform=
"extraform"
:list=
"signInfoList"
@
editExtra=
"goPersonInfo"
/>
<zu-table
v-else
:list=
"zuTableList"
@
delete=
"removeThis"
/>
<sign-info-table
v-if=
"tableType==0"
:extraform=
"extraform"
:list=
"signInfoList"
:match-id=
"matchId"
@
editExtra=
"goPersonInfo"
/>
<zu-table
v-else
:list=
"zuTableList"
@
delete=
"removeThis"
/>
<div
class=
"text-center mt20"
>
<el-button
type=
"primary"
class=
"w200px"
plain
round
@
click=
"goPrev()"
>
<el-button
class=
"w200px"
plain
round
type=
"primary"
@
click=
"goPrev()"
>
{{
language
==
0
?
"上一步"
:
'Go back'
}}
</el-button>
<el-button
type=
"primary"
class=
"btn-lineG w200px"
round
@
click=
"submitForm()"
>
<el-button
class=
"btn-lineG w200px"
round
type=
"primary"
@
click=
"submitForm()"
>
{{
language
==
0
?
'预览报名信息'
:
'Preview registration information'
}}
</el-button>
</div>
</div>
</el-card>
</div>
<dialogAddCoach
ref=
"dialogAddCoachRef"
/>
<dialogAllSportsmanList
ref=
"dialogAllSportsmanListRef"
@
transfer=
"getChoosed"
@
submitForm=
"getSignInfoList"
/>
<dialogImport
ref=
"dialogImportProps"
@
submitForm=
"getMySignInfo"
/>
<dialogAddCoach
ref=
"dialogAddCoachRef"
/>
<dialogAllSportsmanList
ref=
"dialogAllSportsmanListRef"
@
submitForm=
"getSignInfoList"
@
transfer=
"getChoosed"
/>
<dialogImport
ref=
"dialogImportProps"
@
submitForm=
"getMySignInfo"
/>
<el-dialog
v-model=
"showResult"
:close-on-click-modal=
"false"
:show-close=
"false"
>
<el-result
icon=
"success"
:title=
"language==0?'报名成功':'Sign up successful'
"
>
<el-result
:title=
"language==0?'报名成功':'Sign up successful'"
icon=
"success
"
>
<template
#
extra
>
<el-button
type=
"primary"
@
click=
"downloadVoucher"
>
下载凭证
</el-button>
<el-button
type=
"primary"
@
click=
"goMySign"
>
{{
language
==
0
?
'查看报项'
:
'View Entries'
}}
</el-button>
</
template
>
</el-result>
</el-dialog>
<dialogExtraForm
ref=
"popExtraForm"
@
submitForm=
"getSignInfoList"
/>
<dialogWdsf
ref=
"popWdsf"
@
submitForm=
"getSignInfoList"
/>
<dialogExtraForm
ref=
"popExtraForm"
@
submitForm=
"getSignInfoList"
/>
<dialogWdsf
ref=
"popWdsf"
@
submitForm=
"getSignInfoList"
/>
<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-step
:next-button-props=
"nextButtonProps"
description=
"点击选择运动员"
target=
"#addRef"
title=
"第一步"
/>
<el-tour-step
v-if=
"choosedList.length>0"
description=
"勾选报项运动员"
target=
"#chooseArr"
title=
"第二步"
/>
<el-tour-step
v-if=
"projectList.length>0"
description=
"选择报名项目"
target=
"#projectbox"
title=
"第三步"
/>
<el-tour-step
v-if=
"projectIds.length>0"
description=
"点击报项"
target=
"#signUpBtn"
title=
"第四步"
/>
</el-tour>
</div>
</template>
<
script
setup
>
import
{
ref
,
reactive
,
toRefs
,
watch
}
from
'vue'
import
{
ref
,
reactive
,
toRefs
,
watch
}
from
'vue'
import
*
as
match
from
'@/apiPc/match'
import
{
getCurrentInstance
,
onMounted
}
from
'@vue/runtime-core'
import
{
getCurrentInstance
,
onMounted
}
from
'@vue/runtime-core'
import
DialogAddCoach
from
'./components/addCoach'
import
DialogAllSportsmanList
from
'./components/allSportsmanList'
import
DialogImport
from
'./components/import'
import
DialogExtraForm
from
'./components/extraForm'
import
DialogWdsf
from
'./components/wdsfForm'
import
{
Search
,
Switch
}
from
"@element-plus/icons-vue"
;
const
{
proxy
}
=
getCurrentInstance
()
import
{
Search
,
Switch
}
from
'@element-plus/icons-vue'
const
{
proxy
}
=
getCurrentInstance
()
const
router
=
useRouter
()
const
route
=
useRoute
()
import
_
from
'lodash'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
cache
from
"@/plugins/cache"
import
TeamSignStep
from
"@/viewsPc/match/components/teamSignStep"
import
CoachInfoRow
from
"@/viewsPc/match/components/coachInfo-row"
import
SignInfoTable
from
"@/viewsPc/match/components/signInfo-table"
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
cache
from
'@/plugins/cache'
import
TeamSignStep
from
'@/viewsPc/match/components/teamSignStep'
import
CoachInfoRow
from
'@/viewsPc/match/components/coachInfo-row'
import
SignInfoTable
from
'@/viewsPc/match/components/signInfo-table'
import
ZuTable
from
'@/viewsPc/match/components/zu-table'
import
{
signgetSignInfoConflict
}
from
"@/apiPc/match"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
const
language
=
useStorage
(
'language'
,
0
)
import
{
signgetSignInfoConflict
}
from
'@/apiPc/match'
import
{
useStorage
}
from
'@vueuse/core/index'
const
language
=
useStorage
(
'language'
,
0
)
const
data
=
reactive
({
coachForm
:
{},
activeStep
:
2
,
tourCurrent
:
0
,
tourCurrent
:
0
,
tableData
:
[],
signInfoList
:
[],
zuTableList
:
[],
...
...
@@ -223,12 +240,35 @@ const data = reactive({
choosed2List
:
[],
choosed2Listbak
:
[],
projectQuery
:
{},
tableType
:
1
,
openTour
:
false
openTour
:
false
})
const
{
activeTeam
,
names
,
tableData
,
signInfoList
,
zuTableList
,
choosedList
,
choosedListBak
,
extraform
,
groupId
,
signType
,
coachOrLeaderFlag
,
showResult
,
noPhotoCanSign
,
projectIds
,
choosedchoosed
,
activeStep
,
projectList
,
choosed2List
,
choosed2Listbak
,
loadingProject
,
projectQuery
,
tableType
,
athletesQuery
,
zuQuery
,
openTour
,
tourCurrent
activeTeam
,
names
,
tableData
,
signInfoList
,
zuTableList
,
choosedList
,
choosedListBak
,
extraform
,
groupId
,
signType
,
coachOrLeaderFlag
,
showResult
,
noPhotoCanSign
,
projectIds
,
choosedchoosed
,
activeStep
,
projectList
,
choosed2List
,
choosed2Listbak
,
loadingProject
,
projectQuery
,
tableType
,
athletesQuery
,
zuQuery
,
openTour
,
tourCurrent
}
=
toRefs
(
data
)
const
nextButtonProps
=
ref
({})
const
matchId
=
ref
(
route
.
query
.
matchId
)
...
...
@@ -278,12 +318,12 @@ function getSignInfoList() {
function
submitForm
()
{
if
(
signInfoType
==
'1'
)
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'已报项,前往我的报项'
:
'Reported items, go to my submission'
,
language
.
value
==
0
?
'提示'
:
'Tips'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'OK'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
}).
then
(()
=>
{
router
.
push
({
name
:
'myMatch'
})
language
.
value
==
0
?
'提示'
:
'Tips'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'OK'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
}).
then
(()
=>
{
router
.
push
({
name
:
'myMatch'
})
})
return
}
...
...
@@ -346,7 +386,7 @@ function changechoosed(e) {
// console.log(e)
choosed2List
.
value
=
[]
choosed2Listbak
.
value
=
[]
for
(
var
c
of
choosedList
.
value
)
{
if
(
choosedchoosed
.
value
.
indexOf
(
c
.
id
)
>
-
1
)
{
choosed2List
.
value
.
push
(
c
)
...
...
@@ -362,13 +402,13 @@ function getProjectList() {
return
}
loadingProject
.
value
=
true
//根据已选人员id 获取项目列表
//
根据已选人员id 获取项目列表
projectQuery
.
value
.
cptId
=
matchId
.
value
projectQuery
.
value
.
perIds
=
choosedchoosed
.
value
.
toString
()
match
.
getProjectPageByPerIds
(
projectQuery
.
value
).
then
(
res
=>
{
projectList
.
value
=
res
.
rows
loadingProject
.
value
=
false
if
(
choosed2Listbak
.
value
.
length
>
0
&&
projectList
.
value
.
length
>
0
)
{
if
(
choosed2Listbak
.
value
.
length
>
0
&&
projectList
.
value
.
length
>
0
)
{
tourCurrent
.
value
=
2
}
}).
catch
(
err
=>
{
...
...
@@ -378,32 +418,32 @@ function getProjectList() {
}
function
queryAthletes
()
{
choosedListBak
.
value
=
[]
for
(
var
t
of
choosedList
.
value
)
{
if
(
t
.
realName
.
indexOf
(
athletesQuery
.
value
.
name
)
>
-
1
)
{
// 筛选
choosedListBak
.
value
.
push
(
t
)
}
choosedListBak
.
value
=
[]
for
(
var
t
of
choosedList
.
value
)
{
if
(
t
.
realName
.
indexOf
(
athletesQuery
.
value
.
name
)
>
-
1
)
{
// 筛选
choosedListBak
.
value
.
push
(
t
)
}
}
}
function
queryTeam
()
{
choosed2Listbak
.
value
=
[]
choosedchoosed
.
value
=
[]
for
(
var
t
of
choosed2List
.
value
)
{
if
(
t
.
realName
.
indexOf
(
zuQuery
.
value
.
name
)
>
-
1
)
{
// 筛选
choosed2Listbak
.
value
.
push
(
t
)
choosedchoosed
.
value
.
push
(
t
.
id
)
}
choosed2Listbak
.
value
=
[]
choosedchoosed
.
value
=
[]
for
(
var
t
of
choosed2List
.
value
)
{
if
(
t
.
realName
.
indexOf
(
zuQuery
.
value
.
name
)
>
-
1
)
{
// 筛选
choosed2Listbak
.
value
.
push
(
t
)
choosedchoosed
.
value
.
push
(
t
.
id
)
}
}
}
function
getChoosed
(
list
)
{
console
.
log
(
list
)
choosedList
.
value
=
list
choosedListBak
.
value
=
list
if
(
list
.
length
>
0
)
{
if
(
list
.
length
>
0
)
{
// openTour.value = false
tourCurrent
.
value
=
1
}
...
...
@@ -516,7 +556,7 @@ const goPersonInfo = (row) => {
ElMessageBox
.
alert
(
'已报项,前往我的报项'
,
'提示'
,
{
confirmButtonText
:
'OK'
,
callback
:
(
Action
)
=>
{
router
.
push
({
name
:
'myMatch'
})
router
.
push
({
name
:
'myMatch'
})
}
})
return
...
...
@@ -525,7 +565,7 @@ const goPersonInfo = (row) => {
console
.
log
(
row
)
// debugger
const
params
=
{
matchId
:
matchId
.
value
,
matchId
:
matchId
.
value
,
title
:
language
.
value
==
0
?
'完善补充信息'
:
'Complete the supplementary information'
,
participantsInfoArr
:
extraform
.
value
,
personId
:
row
.
personInfo
.
id
,
...
...
@@ -537,7 +577,7 @@ const goPersonInfo = (row) => {
function
downloadVoucher
()
{
// 下载凭证
proxy
.
download
(
`/pdf/getPayedOrderPdf/
${
matchId
.
value
}
/
${
groupId
.
value
||
0
}
`
,
{},
'报项凭证.
pdf'
`/pdf/getPayedOrderPdf/
${
matchId
.
value
}
/
${
groupId
.
value
||
0
}
`
,
{},
'报项凭证.pdf'
,
{},
'application/
pdf'
)
}
...
...
@@ -558,45 +598,45 @@ function switchTabletype() {
}
function
changeProject
(
e
)
{
console
.
log
(
projectIds
.
value
,
e
)
var
obj
obj
=
_
.
find
(
projectList
.
value
,
(
c
)
=>
{
return
e
.
indexOf
(
c
.
id
)
>
-
1
})
// if(obj.majorFlag==1){
// 需要填wdsf
const
params
=
{
title
:
'验证WDSF'
,
list
:
choosed2Listbak
.
value
}
proxy
.
$refs
[
'popWdsf'
].
open
(
_
.
cloneDeep
(
params
))
// }
console
.
log
(
projectIds
.
value
,
e
)
var
obj
obj
=
_
.
find
(
projectList
.
value
,
(
c
)
=>
{
return
e
.
indexOf
(
c
.
id
)
>
-
1
})
// if(obj.majorFlag==1){
// 需要填wdsf
const
params
=
{
title
:
'验证WDSF'
,
list
:
choosed2Listbak
.
value
}
proxy
.
$refs
[
'popWdsf'
].
open
(
_
.
cloneDeep
(
params
))
// }
}
watch
(
choosedchoosed
,
(
newVal
,
oldVal
)
=>
{
// console.log(choosedchoosed.value)
if
(
newVal
.
length
>
oldVal
.
length
)
{
if
(
newVal
.
length
>
oldVal
.
length
)
{
match
.
signgetSignInfoConflict
({
cptId
:
matchId
.
value
,
perId
:
_
.
last
(
newVal
),
groupId
:
groupId
.
value
}).
then
(
res
=>
{
if
(
!
res
.
data
){
ElMessage
.
warning
(
language
.
value
==
0
?
'该人员已在其他团队中报名,请重新选择'
:
'This person has already registered in another team, please select again'
)
choosedchoosed
.
value
=
_
.
without
(
choosedchoosed
.
value
,
_
.
last
(
newVal
))
for
(
var
c
of
choosed2List
.
value
){
if
(
c
.
id
==
_
.
last
(
newVal
)){
choosed2List
.
value
=
_
.
without
(
choosed2List
.
value
,
c
)
}
if
(
!
res
.
data
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'该人员已在其他团队中报名,请重新选择'
:
'This person has already registered in another team, please select again'
)
choosedchoosed
.
value
=
_
.
without
(
choosedchoosed
.
value
,
_
.
last
(
newVal
))
for
(
var
c
of
choosed2List
.
value
)
{
if
(
c
.
id
==
_
.
last
(
newVal
))
{
choosed2List
.
value
=
_
.
without
(
choosed2List
.
value
,
c
)
}
for
(
var
c
of
choosed2Listbak
.
value
){
if
(
c
.
id
==
_
.
last
(
newVal
))
{
choosed2Listbak
.
value
=
_
.
without
(
choosed2Listbak
.
value
,
c
)
}
}
for
(
var
c
of
choosed2Listbak
.
value
)
{
if
(
c
.
id
==
_
.
last
(
newVal
))
{
choosed2Listbak
.
value
=
_
.
without
(
choosed2Listbak
.
value
,
c
)
}
projectList
.
value
=
[]
console
.
log
(
choosedchoosed
.
value
,
choosed2List
.
value
,
choosed2Listbak
.
value
)
return
}
projectList
.
value
=
[]
console
.
log
(
choosedchoosed
.
value
,
choosed2List
.
value
,
choosed2Listbak
.
value
)
}
else
{
getProjectList
()
}
...
...
@@ -607,14 +647,15 @@ watch(choosedchoosed, (newVal, oldVal) => {
})
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
lang=
"scss"
scoped
>
:deep
(
.el-checkbox__label
)
{
flex
:
1
1
auto
;
}
.flexBetweenBox
{
width
:
100%
;
height
:
auto
;
margin-right
:
0
;
height
:
auto
;
margin-right
:
0
;
border-bottom
:
1px
solid
#eee
;
padding
:
0
10px
;
}
...
...
@@ -623,10 +664,11 @@ watch(choosedchoosed, (newVal, oldVal) => {
background
:
#FAFBFD
;
}
.flexBetween
{
white-space
:
normal
;
.flexBetween
{
white-space
:
normal
;
padding
:
10px
;
border-left
:
1px
solid
#eee
;
.l
{
div
{
margin
:
4px
0
0
;
...
...
@@ -657,16 +699,16 @@ watch(choosedchoosed, (newVal, oldVal) => {
margin
:
0
0
20px
;
display
:
flex
;
justify-content
:
space-between
;
button
{
position
:
relative
;
margin
:
10px
;
}
.choseItem
{
margin
:
10px
;
position
:
relative
;
.poClose
{
position
:
absolute
;
right
:
-6px
;
...
...
@@ -681,18 +723,18 @@ watch(choosedchoosed, (newVal, oldVal) => {
background
:
rgba
(
245
,
247
,
249
,
0.38
);
padding
:
20px
40px
10px
;
}
.el-checkbox
{
height
:
auto
;
margin-right
:
20px
;
}
:deep
(
.el-checkbox__input
)
{
position
:
absolute
;
right
:
0
;
top
:
0
;
}
.name
{
text-align
:
center
;
}
...
...
@@ -711,7 +753,7 @@ watch(choosedchoosed, (newVal, oldVal) => {
margin
:
5px
0
;
color
:
#4C5359
;
font-size
:
14px
;
label
{
font-size
:
14px
;
margin-right
:
14px
...
...
@@ -724,13 +766,13 @@ watch(choosedchoosed, (newVal, oldVal) => {
color
:
#4C5359
;
display
:
flex
;
justify-content
:
center
;
div
{
padding
:
20px
;
position
:
relative
;
cursor
:
pointer
;
}
div
:first-child::after
{
content
:
''
;
position
:
absolute
;
...
...
@@ -742,10 +784,10 @@ watch(choosedchoosed, (newVal, oldVal) => {
bottom
:
0
;
margin
:
auto
;
}
.active
{
color
:
var
(
--el-color-primary
);
&::before
{
width
:
33px
;
content
:
''
;
...
...
@@ -764,23 +806,23 @@ watch(choosedchoosed, (newVal, oldVal) => {
.noPicChooseForm
{
overflow
:
auto
;
//
height
:
70vh
;
.el-checkbox-group
{
display
:
flex
;
flex-wrap
:
wrap
;
text-align
:
justify
;
.el-button
{
width
:
31%
;
margin
:
1%
;
}
.el-checkbox
{
margin
:
1%
;
width
:
31%
;
overflow
:
hidden
;
}
.name
{
justify-content
:
left
;
}
...
...
@@ -791,7 +833,7 @@ watch(choosedchoosed, (newVal, oldVal) => {
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
img
{
height
:
20px
;
margin-left
:
4px
;
...
...
src/viewsPc/match/pay.vue
View file @
24c59e8
...
...
@@ -713,7 +713,7 @@ function exportPdf() {
fileName
=
'设项报名清单'
proxy
.
download
(
'/pdf/exportMySignInfoList'
,
{
...
obj
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.pdf`
,
{},
'application/pdf'
)
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.pdf`
,
{},
'application/pdf'
,
{},
'application/pdf'
)
}
else
{
fileName
=
'LIST OF REGISTERED COMPETITIONS'
proxy
.
download
(
'/pdf/exportMySignInfoList'
,
{
...
...
src/viewsPc/match/signPreview.vue
View file @
24c59e8
...
...
@@ -317,7 +317,7 @@ function exportSignList(n) {
}
proxy
.
download
(
'/league/sign/exportCn'
,
{
...
obj
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.xlsx`
)
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.xlsx`
,
{},
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
}
else
{
if
(
n
==
1
)
{
fileName
=
'Participant List'
...
...
@@ -326,7 +326,7 @@ function exportSignList(n) {
}
proxy
.
download
(
'/league/sign/exportEn'
,
{
...
obj
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.xlsx`
)
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.xlsx`
,
{},
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
}
}
...
...
@@ -341,12 +341,12 @@ function exportPdf() {
fileName
=
'设项报名清单'
proxy
.
download
(
'/pdf/exportMySignInfoList'
,
{
...
obj
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.pdf`
)
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.pdf`
,
{},
'application/pdf'
,
{},
'application/pdf'
)
}
else
{
fileName
=
'LIST OF REGISTERED COMPETITIONS'
proxy
.
download
(
'/pdf/exportMySignInfoList'
,
{
...
obj
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.pdf`
)
},
`
${
fileName
}
_
${
new
Date
().
getTime
()}
.pdf`
,
{},
'application/pdf'
)
}
}
</
script
>
...
...
vite.config.js
View file @
24c59e8
...
...
@@ -84,8 +84,8 @@ export default defineConfig(({ mode, command }) => {
},
'/dev-api'
:
{
// target: 'http://192.168.1.213:8081/',
// target: 'http://192.168.1.118
:8081',
target
:
'https://jijin.wtwuxicenter.com/stage-api'
,
target
:
'http://192.168.1.169
:8081'
,
//
target: 'https://jijin.wtwuxicenter.com/stage-api',
// target: 'https://wdsfwuxicenter.com/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