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
5f9e708b
authored
2024-05-30 14:56:35 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
8297d405
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
865 additions
and
6 deletions
src/apiPc/common.js
src/routerPc/en.js
src/viewsPc/booking/payticket.vue
src/viewsPc/booking/payticketOk.vue
src/viewsPc/components/masterClass.vue
src/apiPc/common.js
View file @
5f9e708
...
...
@@ -79,7 +79,8 @@ export function submitMasterApply(data) {
}
export
function
masterClassList
(
query
)
{
return
request
({
url
:
`/league/courseItem/list`
,
// url: `/league/courseItem/list`,
url
:
`/league/courseItem/getCoursrItemByCourseId`
,
method
:
'get'
,
params
:
query
})
...
...
src/routerPc/en.js
View file @
5f9e708
...
...
@@ -440,12 +440,24 @@ export const constantRoutes = [
meta
:
{
title
:
'pay'
}
},
{
path
:
'payticket'
,
component
:
()
=>
import
(
'@/viewsPc/booking/payticket'
),
name
:
'payticket'
,
meta
:
{
title
:
'票务'
}
},
{
path
:
'payOk'
,
component
:
()
=>
import
(
'@/viewsPc/booking/payOk'
),
name
:
'bookingPayOk'
,
meta
:
{
title
:
'payOk'
}
},
{
path
:
'payticketOk'
,
component
:
()
=>
import
(
'@/viewsPc/booking/payticketOk'
),
name
:
'payticketOk'
,
meta
:
{
title
:
'票务-paypal'
}
},
{
path
:
'invoice'
,
component
:
()
=>
import
(
'@/viewsPc/booking/invoicing'
),
name
:
'invoice'
,
...
...
src/viewsPc/booking/payticket.vue
0 → 100644
View file @
5f9e708
<
template
>
<div
style=
"min-height: 100vh"
>
<div
class=
"box"
v-if=
"!errorBox"
>
<el-card
:body-style=
"
{ padding: '0px' }" class="mt20 mb60">
<div
slot=
"header"
>
<div
class=
"bg-lineg"
>
{{
language
==
0
?
'缴费清单'
:
'Payment List'
}}
</div>
</div>
<div
v-if=
"isLogin"
>
<div
class=
"pd20"
>
<div
v-if=
"type == 'hotel'"
>
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'酒店信息'
:
'Hotel Information'
}}
</div>
<div
class=
"border-info mt20"
>
<h3>
{{
form
.
hotelName
}}
</h3>
<el-row>
<el-col>
{{
language
==
0
?
'地址'
:
'Address'
}}
:
<span
v-if=
"language == 0"
>
{{
form
.
provinceName
}}
{{
form
.
cityName
}}
{{
form
.
areaName
}}
</span>
{{
form
.
address
}}
</el-col>
<el-col>
{{
language
==
0
?
'入住信息'
:
'Check-in&Check-out'
}}
:
{{
form
.
messageObj
?.
roomStayDate
}}
</el-col>
<el-col>
{{
language
==
0
?
'房间信息'
:
'Room Information'
}}
:
{{
form
.
messageObj
?.
roomName
}}
|
{{
form
.
roomNum
}}
{{
language
==
0
?
'间'
:
'rooms'
}}
</el-col>
</el-row>
</div>
</div>
<div
v-if=
"type == 'car'"
>
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'路线信息'
:
'Car Information'
}}
</div>
<div
class=
"border-info mt20"
>
<div
class=
"flex aic"
>
<h3
class=
"esp"
>
{{
form
.
checkIn
}}
</h3>
<img
class=
"w40px mlr20 "
style=
"height: 40px;"
src=
"@/assets/booking/wf.png"
/>
<h3
class=
"esp"
>
{{
form
.
checkOut
}}
</h3>
</div>
</div>
</div>
<div
v-if=
"type == 'food'"
>
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'饭店信息'
:
'Restaurant Information'
}}
</div>
<div
class=
"border-info mt20"
>
<h3>
{{
form
.
name
}}
</h3>
<!--
<p>
{{
language
==
0
?
'地址'
:
'Address'
}}
:
{{
form
.
address
}}
</p>
-->
<el-row>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
class=
"mb10"
>
{{
language
==
0
?
'送餐地址'
:
'Delivery Address'
}}
:
{{
form
.
address
||
'-'
}}
</div>
</el-col>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div>
{{
language
==
0
?
'送餐时间'
:
'Delivery Time'
}}
:
{{
form
.
psStart
}}
~
{{
form
.
psEnd
}}
</div>
</el-col>
</el-row>
</div>
</div>
<div
v-if=
"type == 'makeUp'"
>
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'化妆信息'
:
'Hotel Information'
}}
</div>
<div
class=
"border-info mt20"
>
<h3>
{{
formInfo
.
studioName
}}
</h3>
<el-row>
<el-col>
{{
language
==
0
?
'地址'
:
'Address'
}}
:
<span
>
{{
formInfo
.
remarks
}}
</span>
</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>
</el-col>
<el-col>
{{
language
==
0
?
'套餐说明'
:
'Package Description'
}}
:
{{
formInfo
.
introduction
}}
</el-col>
</el-row>
</div>
</div>
<div
v-if=
"type == 'photography'"
>
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'拍摄信息'
:
'Shooting Information'
}}
</div>
<div
class=
"border-info mt20"
>
<h3>
{{
formInfo
.
shootName
}}
</h3>
<el-row>
<el-col>
{{
language
==
0
?
'地址'
:
'Address'
}}
:
<span
>
{{
formInfo
.
remarks
}}
</span>
</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>
</el-col>
<el-col>
{{
language
==
0
?
'套餐说明'
:
'Package Description'
}}
:
{{
formInfo
.
introduction
}}
</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
}}
</el-col>
<el-col
:lg=
"8"
:md=
"12"
:sm=
"12"
:xs=
"24"
></el-col>
</el-row>
<el-row
v-if=
"type == 'car'"
>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
v-if=
"form.pickUpBo?.revTime"
>
<h4>
{{
language
==
0
?
'接站信息'
:
'Pick-up Information'
}}
</h4>
<div
class=
"st-info"
>
<div>
{{
language
==
0
?
'用车时间'
:
'Delivery Time'
}}
:
{{
form
.
pickUpBo
.
revTime
}}
</div>
<div
class=
"carLine"
v-for=
"(car,index) in form.pickUpBo.carsList"
:key=
"index"
>
<div
v-if=
"car.num > 0"
>
<label>
{{
car
.
name
}}
</label>
<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>
</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'
}}
:
{{
form
.
pickUpBo
.
noAddress
}}
</div>
<div>
{{
language
==
0
?
'送达地点'
:
'Delivery Place'
}}
:
{{
form
.
pickUpBo
.
deliveryAddress
}}
</div>
<div>
{{
language
==
0
?
'联系人'
:
'Contact Person'
}}
:
{{
form
.
dropOffBo
.
contacts
}}
</div>
<div>
{{
language
==
0
?
'联系电话'
:
'Contact Phone'
}}
:
{{
form
.
dropOffBo
.
phone
}}
</div>
<div>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
dropOffBo
.
remarks
||
'-'
}}
</div>
</div>
</el-col>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
v-if=
"form.dropOffBo?.revTime"
>
<h4>
{{
language
==
0
?
'送站信息'
:
'Drop-off Information'
}}
</h4>
<div
class=
"st-info"
>
<div>
{{
language
==
0
?
'用车时间'
:
'Delivery Time'
}}
:
{{
form
.
dropOffBo
.
revTime
}}
</div>
<div
class=
"carLine"
v-for=
"(car,index) in form.dropOffBo.carsList"
:key=
"index"
>
<div
v-if=
"car.num > 0"
>
<label>
{{
car
.
name
}}
</label>
<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>
</div>
<div>
{{
language
==
0
?
'人数'
:
'Counts'
}}
:
{{
form
.
dropOffBo
.
count
}}
</div>
<div>
{{
language
==
0
?
'联系人'
:
'Contact Person'
}}
:
{{
form
.
dropOffBo
.
contacts
}}
</div>
<div>
{{
language
==
0
?
'联系电话'
:
'Contact Phone'
}}
:
{{
form
.
dropOffBo
.
phone
}}
</div>
<div>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
dropOffBo
.
remarks
||
'-'
}}
</div>
</div>
</el-col>
</el-row>
<el-row
v-if=
"type == 'food'"
>
<el-col
:lg=
"8"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
v-for=
"f in form.messageObj?.foodsList"
>
<span
v-if=
"f.category==0"
>
{{
language
==
0
?
'早餐'
:
'Breakfast'
}}
</span>
<span
v-if=
"f.category==1"
>
{{
language
==
0
?
'午餐'
:
'Lunch'
}}
</span>
<span
v-if=
"f.category==2"
>
{{
language
==
0
?
'晚餐'
:
'Dinner'
}}
</span>
:
{{
f
.
name
}}
*
{{
f
.
num
}}
{{
language
==
0
?
'份'
:
'pcs'
}}
</div>
</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
||
'-'
}}
</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
}}
</el-col>
<el-col
:span=
"24"
>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
remarks
||
'-'
}}
</el-col>
</el-row>
<el-row
v-if=
"type == 'makeUp'"
>
<el-col
:lg=
"8"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
class=
"mb10"
>
{{
language
==
0
?
'化妆时间'
:
'Makeup time'
}}
:
<!--
{{
dayjs
(
form
.
dcStart
).
format
(
'YYYY-MM-DD'
)
+
' '
}}
~
{{
dayjs
(
form
.
dcStart
).
format
(
'YYYY-MM-DD'
)
+
' '
}}
-->
{{
dayjs
(
form
.
dcStart
).
format
(
'YYYY-MM-DD'
)
+
' '
+
form
.
nameStart
}}
~
{{
dayjs
(
form
.
dcStart
).
format
(
'YYYY-MM-DD'
)
+
' '
+
form
.
nameEnd
}}
</div>
</el-col>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
class=
"mb10"
>
{{
language
==
0
?
'预约数'
:
'Number of appointments'
}}
:
{{
form
.
num
}}
</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
}}
</el-col>
<el-col
:span=
"24"
>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
remarks
}}
</el-col>
</el-row>
<el-row
v-if=
"type == 'photography'"
>
<el-col
:lg=
"8"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
class=
"mb10"
>
{{
language
==
0
?
'拍摄时间'
:
'Makeup time'
}}
:
{{
dayjs
(
form
.
dcStart
).
format
(
'YYYY-MM-DD'
)
+
' '
+
form
.
nameStart
}}
~
{{
dayjs
(
form
.
dcStart
).
format
(
'YYYY-MM-DD'
)
+
' '
+
form
.
nameEnd
}}
</div>
</el-col>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
class=
"mb10"
>
{{
language
==
0
?
'预约数'
:
'Number of appointments'
}}
:
{{
form
.
num
}}
</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
}}
</el-col>
<el-col
:span=
"24"
>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
remarks
}}
</el-col>
</el-row>
</div>
<el-row
justify=
"space-between"
align=
"middle"
>
<el-col
:lg=
"12"
>
<div
v-if=
"form.payDate"
>
{{
language
==
0
?
'支付时间'
:
'Payment Time'
}}
:
{{
form
.
payDate
}}
</div>
<div
class=
"mt10"
v-if=
"form.payDate"
>
{{
language
==
0
?
'支付方式'
:
'Payment Method'
}}
:
<span
v-if=
"form.paymentType=='1'"
>
{{
language
==
0
?
'微信支付'
:
'WePay'
}}
</span>
<span
v-if=
"form.paymentType=='3'"
>
PayPal
</span>
</div>
</el-col>
<el-col
:lg=
"12"
class=
"result"
>
<div
class=
"priceb"
v-if=
"form.viewStatus=='0'"
>
{{
language
==
0
?
'待支付金额'
:
'Amount Due'
}}
:
<span
class=
"price"
>
{{
language
==
0
?
'¥'
:
'€'
}}{{
Number
(
totalFee
).
toFixed
(
2
)
}}
</span>
</div>
<div
class=
"priceb"
v-if=
"form.viewStatus=='1'||form.viewStatus=='5'"
>
{{
language
==
0
?
'已支付金额'
:
'Amount Due'
}}
:
<span
class=
"price"
>
{{
language
==
0
?
'¥'
:
'€'
}}{{
Number
(
totalFee
).
toFixed
(
2
)
}}
</span>
</div>
<div
class=
"priceb"
v-if=
"form.viewStatus=='4'"
>
{{
language
==
0
?
'已退订'
:
'Refunded'
}}
:
<span
class=
"price"
>
{{
language
==
0
?
'¥'
:
'€'
}}{{
Number
(
totalFee
).
toFixed
(
2
)
}}
</span>
</div>
<div
class=
"priceb"
v-if=
"form.viewStatus=='2'"
>
{{
language
==
0
?
'已取消'
:
'Canceled'
}}
:
<span
class=
"price"
>
{{
language
==
0
?
'¥'
:
'€'
}}{{
Number
(
totalFee
).
toFixed
(
2
)
}}
</span>
</div>
<div
class=
"priceb"
v-if=
"form.viewStatus=='7'"
>
{{
language
==
0
?
'退款审核中'
:
'Refund in review'
}}
:
<span
class=
"price"
>
{{
language
==
0
?
'¥'
:
'€'
}}{{
Number
(
totalFee
).
toFixed
(
2
)
}}
</span>
</div>
</el-col>
</el-row>
</div>
</div>
<div
v-else
class=
"pd20 skeletonBox"
>
<el-skeleton
:rows=
"8"
/>
<el-button
type=
"primary"
class=
"btn-lineG"
size=
"large"
:style=
"language == 0 ?'width:200px':'width:400px'"
round
@
click=
"showLogin"
>
{{
language
==
0
?
'登录后查看明细'
:
'View detailed information after logging in'
}}
</el-button>
</div>
<div
class=
"pd20"
v-if=
"form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')"
>
<div
class=
"leftboderTT"
>
{{
language
==
0
?
'选择支付方式'
:
'Choose payment method'
}}
</div>
<div
class=
"mt20"
>
<el-radio-group
v-model=
"payType"
>
<el-radio
value=
"2"
v-if=
"language==0"
border
>
<!-- 微信-->
<svg
t=
"1709002960407"
class=
"icon"
viewBox=
"0 0 3152 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"24747"
width=
"94"
height=
"40"
>
<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>
<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>
</svg>
</el-radio>
<el-radio
value=
"3"
v-if=
"language==1"
border
>
<!--paypal-->
<svg
t=
"1709002828937"
class=
"icon"
viewBox=
"0 0 4220 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"22654"
width=
"94"
height=
"40"
>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
</svg>
</el-radio>
</el-radio-group>
<div
v-if=
"payType == '2'&&wePayCodeUrl"
>
<div
class=
"payImgbox flexCenter"
>
<div>
<img
width=
"260"
class=
"border"
:src=
"wePayCodeUrl"
/>
<img
class=
"mt20"
src=
"@/assets/img/sm.png"
/>
</div>
<div
class=
"ml20"
>
<img
height=
"360"
src=
"@/assets/img/rr.jpg"
/>
</div>
</div>
<div
class=
"tip text-center text-danger"
v-if=
"language==0"
>
支付后不要关闭此窗口,等待确认支付成功.
若长时间未收到支付成功提醒,请刷新页面
</div>
<div
class=
"tip text-center text-danger"
v-else
>
After payment, do not close this window and wait for confirmation of successful payment.
<br/>
If you have not received a notification of successful payment for a long time,
please refresh the page
</div>
</div>
</div>
</div>
<el-row
class=
"mt20 mb60"
align=
"middle"
justify=
"center"
>
<el-col
:span=
"24"
class=
"text-center"
>
<el-button
v-if=
"!hideconfirmbtn&&form.viewStatus == '0'"
type=
"primary"
@
click=
"goPay"
round
class=
"btn-lineG w200px"
>
{{
language
==
0
?
'确定'
:
'Submit'
}}
</el-button>
<el-button
round
@
click=
"unsubscribe"
v-if=
"form.viewStatus == '5'"
>
{{
language
==
0
?
'退订'
:
'Unsubscribe'
}}
</el-button>
<el-button
link
class=
"underline"
@
click=
"cancel"
v-if=
"form.viewStatus == '0'"
>
{{
language
==
0
?
'取消订单'
:
'Cancel Order'
}}
</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/>
</el-icon>
<p
class=
"text-success"
>
{{
language
==
0
?
'支付成功'
:
'successful!'
}}
</p>
<h3
class=
"wePrice"
>
{{
language
==
0
?
'¥'
:
'€'
}}{{
totalFee
||
0
}}
</h3>
</div>
</div>
</el-card>
</div>
<div
class=
"box"
v-if=
"errorBox"
>
<el-result
icon=
"error"
:title=
"language==0?'未找到对应订单':'No corresponding order found'"
:sub-title=
"language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
>
<template
#
extra
>
<el-button
type=
"primary"
@
click=
"goHome"
class=
"btn-lineG w200px"
round
>
{{
language
==
0
?
'返回首页'
:
'Home'
}}
</el-button>
</
template
>
</el-result>
</div>
</div>
</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
MatchInfoRow
from
"@/viewsPc/match/components/matchInfo-row"
;
const
{
proxy
}
=
getCurrentInstance
()
const
route
=
useRoute
()
const
router
=
useRouter
()
const
matchInfo
=
ref
({})
const
approved
=
ref
(
true
)
const
tableData
=
ref
([])
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
}
from
"element-plus"
;
import
{
cancelOrder
,
cancelOrder2
,
getCarBilldetailbyId
,
getFoodBilldetailbyId
,
getMealOrderInfoByLogex
,
getPhotoOrderInfo
,
getPhotoOrderInfoByLogex
}
from
"@/apiPc/booking"
;
import
dayjs
from
'dayjs'
import
{
delPerson
}
from
"@/api/exam/person"
;
const
isLogin
=
ref
(
false
)
const
language
=
useStorage
(
'language'
,
0
)
const
totalFee
=
ref
(
''
)
const
wePayCodeUrl
=
ref
(
''
)
const
form
=
ref
({})
const
formInfo
=
ref
({})
const
type
=
ref
(
''
)
const
errorBox
=
ref
(
false
)
const
hideconfirmbtn
=
ref
(
false
)
const
user
=
useUserStore
().
user
if
(
useUserStore
().
user
)
{
isLogin
.
value
=
true
}
onMounted
(()
=>
{
if
(
language
.
value
==
0
)
{
payType
.
value
=
'2'
}
else
{
payType
.
value
=
'3'
}
if
(
route
.
query
.
type
){
type
.
value
=
route
.
query
.
type
}
if
(
route
.
query
.
orderType
){
switch
(
route
.
query
.
orderType
){
case
'0'
:
type
.
value
=
'hotel'
break
case
'1'
:
type
.
value
=
'car'
break
case
'2'
:
type
.
value
=
'food'
break
case
'3'
:
type
.
value
=
'makeUp'
break
case
'4'
:
type
.
value
=
'photography'
break
}
}
getData
()
})
function
getData
()
{
if
(
type
.
value
==
'car'
)
{
return
booking
.
getCarBilldetailbyId
({
orderId
:
orderId
.
value
}).
then
(
res
=>
{
form
.
value
=
res
.
data
if
(
language
.
value
==
0
){
totalFee
.
value
=
res
.
data
.
total
}
else
{
totalFee
.
value
=
res
.
data
.
totalEn
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
errorBox
.
value
=
true
})
}
if
(
type
.
value
==
'food'
)
{
return
booking
.
getFoodBilldetailbyId
({
orderId
:
orderId
.
value
}).
then
(
res
=>
{
if
(
language
.
value
==
0
){
totalFee
.
value
=
res
.
data
.
total
}
else
{
totalFee
.
value
=
res
.
data
.
totalEn
}
form
.
value
=
res
.
data
form
.
value
.
messageObj
=
JSON
.
parse
(
form
.
value
.
message
)
form
.
value
.
extJsonObj
=
JSON
.
parse
(
form
.
value
.
extJson
)
console
.
log
(
form
.
value
)
})
}
if
(
type
.
value
==
'hotel'
)
{
return
booking
.
getRoomBilldetailbyId
({
orderId
:
orderId
.
value
}).
then
(
res
=>
{
if
(
language
.
value
==
0
){
totalFee
.
value
=
res
.
data
.
total
}
else
{
totalFee
.
value
=
res
.
data
.
totalEn
}
form
.
value
=
res
.
data
form
.
value
.
messageObj
=
JSON
.
parse
(
form
.
value
.
message
)
||
{}
form
.
value
.
extJsonObj
=
JSON
.
parse
(
form
.
value
.
extJson
)
||
{}
matchId
.
value
=
form
.
value
.
extJsonObj
?.
activeId
}).
catch
(
err
=>
{
console
.
log
(
err
)
errorBox
.
value
=
true
})
}
if
(
type
.
value
==
'makeUp'
)
{
MakeUpOrder
()
// MakeUpIno()
}
if
(
type
.
value
==
'photography'
)
{
photographyOrder
()
// photographyInfo()
}
console
.
log
(
payType
.
value
)
}
function
goHome
()
{
router
.
push
(
'/'
)
}
function
goPay
()
{
if
(
payType
.
value
==
'2'
)
{
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
=>
{
if
(
res
.
data
)
{
location
.
href
=
res
.
data
}
})
}
}
let
handle
;
function
startforGetData
()
{
handle
=
setTimeout
(()
=>
{
if
(
type
.
value
==
'photography'
){
photographyOrder
().
then
(
res
=>
{
if
(
form
.
value
.
payDate
)
{
if
(
handle
)
{
clearTimeout
(
handle
)
handle
=
null
}
}
else
{
startforGetData
()
}
})
}
else
if
(
type
.
value
==
'makeUp'
){
MakeUpOrder
().
then
(
res
=>
{
if
(
form
.
value
.
payDate
)
{
if
(
handle
)
{
clearTimeout
(
handle
)
handle
=
null
}
}
else
{
startforGetData
()
}
})
}
else
{
getData
().
then
(
res
=>
{
if
(
form
.
value
.
payDate
)
{
if
(
handle
)
{
clearTimeout
(
handle
)
handle
=
null
}
}
else
{
startforGetData
()
}
})
}
},
2000
)
}
function
showLogin
()
{
useUserStore
().
setReLogin
()
}
function
MakeUpOrder
(){
return
booking
.
getMealOrderInfo
({
orderId
:
orderId
.
value
}).
then
(
res
=>
{
form
.
value
=
res
.
data
totalFee
.
value
=
language
.
value
==
0
?
form
.
value
.
total
:
form
.
value
.
totalEn
MakeUpIno
()
console
.
log
(
res
)
}).
catch
(
err
=>
{
console
.
log
(
err
)
errorBox
.
value
=
true
})
}
function
MakeUpIno
(){
booking
.
getMealOrderInfoByLogex
({
asmId
:
form
.
value
.
asmId
}).
then
(
res
=>
{
formInfo
.
value
=
res
.
data
console
.
log
(
res
)
})
.
catch
((
e
)
=>
{
console
.
log
(
e
)
errorBox
.
value
=
true
})
}
function
photographyOrder
(){
return
booking
.
getPhotoOrderInfo
({
orderId
:
orderId
.
value
}).
then
(
res
=>
{
form
.
value
=
res
.
data
totalFee
.
value
=
language
.
value
==
0
?
form
.
value
.
total
:
form
.
value
.
totalEn
photographyInfo
()
}).
catch
(
err
=>
{
console
.
log
(
err
)
errorBox
.
value
=
true
})
}
function
photographyInfo
(){
booking
.
getPhotoOrderInfoByLogex
({
aspId
:
form
.
value
.
aspId
}).
then
(
res
=>
{
formInfo
.
value
=
res
.
data
})
// .catch((e) => {
// console.log(e)
// errorBox.value = true
// })
}
const
cancel
=
()
=>
{
//取消订单
proxy
.
$modal
.
confirm
(
language
.
value
==
0
?
'确定取消订单吗 ?'
:
`Are you sure to cancel the order?`
).
then
(()
=>
{
return
cancelOrder2
(
orderId
.
value
).
then
(
res
=>
{
getData
()
ElMessage
({
message
:
language
.
value
==
0
?
'操作成功'
:
'Successful operation!'
,
type
:
'success'
})
})
})
}
const
unsubscribe
=
()
=>
{
proxy
.
$modal
.
confirm
(
language
.
value
==
0
?
`确定退款吗 ?`
:
'Are you sure to refund?'
).
then
(()
=>
{
return
cancelOrder
(
orderId
.
value
).
then
(
res
=>
{
getData
()
ElMessage
({
message
:
language
.
value
==
0
?
'已提交退款,请等待审核!'
:
'Refund has been submitted, please wait for review!'
,
type
:
'success'
})
})
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
.st-info
{
line-height
:
2
;
font-size
:
14px
;}
.underline
{
text-decoration
:
underline
;}
.wePrice
{
font-size
:
24px
;
font-family
:
"DIN Alternate"
;
font-weight
:
400
;
}
.el-radio.is-bordered
{
height
:
40px
;
}
.border
{
border
:
1px
solid
#e1e1e1
;
}
.leftboderTT
{
font-weight
:
600
;
font-size
:
16px
;
color
:
#453DEA
;
}
.bg-lineg
{
height
:
40px
;
line-height
:
40px
;
font-size
:
18px
;
text-align
:
center
;
}
.table
{
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
;
}
}
.text-gray
{
font-weight
:
400
;
font-size
:
12px
;
color
:
#929AA0
;
}
.size12
{
font-size
:
12px
;
}
.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
;
font-family
:
DIN
Alternate
;
color
:
#EB6100
;
}
}
}
.skeletonBox
{
position
:
relative
;
overflow
:
hidden
;
.btn-lineG
{
position
:
absolute
;
left
:
0
;
right
:
0
;
margin
:
auto
;
top
:
0
;
bottom
:
0
;
width
:
200px
;
box-shadow
:
0
0
1000px
500px
rgba
(
255
,
255
,
255
,
0.5
);
}
}
.payImgbox
{
text-align
:
center
;
border
:
1px
solid
#fff
;
padding
:
20px
;
}
.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
;
}
}
.rre
{
color
:
#333
;
font-size
:
16px
;
margin-top
:
10px
}
.price
{
color
:
orange
;
}
</
style
>
src/viewsPc/booking/payticketOk.vue
0 → 100644
View file @
5f9e708
<
template
>
<div>
<div
class=
"box"
>
<el-card
class=
"mb60 mt30"
v-loading=
"loading"
>
<div
class=
"text-center mt30"
>
<el-icon
color=
"#32B16C"
size=
"80"
>
<SuccessFilled/>
</el-icon>
<p
class=
"text-success mb20"
>
{{
language
==
0
?
'支付成功'
:
'successfully!'
}}
</p>
<el-button
type=
"primary"
class=
"btn-lineG mb60"
@
click=
"goBillDetail"
round
>
{{
language
==
0
?
'返回订单详情'
:
'Return order details'
}}
</el-button>
</div>
</el-card>
</div>
</div>
</
template
>
<
script
setup
>
import
{
ref
}
from
"vue"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
import
{
onMounted
}
from
"@vue/runtime-core"
;
import
{
callbackPalPay
}
from
"@/apiPc/booking"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
const
route
=
useRoute
()
const
router
=
useRouter
()
const
language
=
useStorage
(
'language'
,
0
)
const
orderId
=
ref
(
route
.
query
.
orderId
)
const
type
=
ref
(
''
)
const
loading
=
ref
(
false
)
onMounted
(()
=>
{
var
code
=
decodeURIComponent
(
orderId
.
value
)
console
.
log
(
code
)
loading
.
value
=
true
callbackPalPay
(
code
).
then
(
res
=>
{
loading
.
value
=
false
type
.
value
=
res
.
data
.
orderType
})
})
function
goBillDetail
()
{
router
.
push
({
name
:
'bookingPay'
,
query
:
{
orderId
:
route
.
query
.
orderId
,
orderType
:
type
.
value
}
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/viewsPc/components/masterClass.vue
View file @
5f9e708
...
...
@@ -11,8 +11,19 @@
<el-step
:title=
"language==0?'选择课程':'Courses'"
/>
</el-steps>
<div
v-if=
"activeStep==0"
>
<div
class=
"mb60"
style=
"max-height: 50vh;overflow: auto"
>
<div
class=
"mb60 xzRich"
style=
"max-height: 50vh;overflow: auto"
>
<div
v-if=
"language==0"
><br/>
报到时间:2024年7月14日13:30 -17:00
<br/><br/>
报到地点:无锡君来世尊酒店
<br/><br/>
江苏省 无锡市 滨湖区 和风路111号
</div>
<div
v-else
style=
"width: 350px;margin: auto"
><br/>
Check in from 13:30 to 17:00 on July 14, 2024.
<br/>
Check in address: Worldhotel Grand Juna Wuxi
<br/>
No.111 Hefeng Road, Binhu District, Wuxi, Jiangsu
<br/>
Contact Person:Oliver Zhu
<br/>
Tel: +86 10 67183764
<br/>
</div>
</div>
<div
class=
"text-center"
>
<el-button
type=
"primary"
v-if=
"courseList.length>0"
class=
"btn-lineG"
round
@
click=
"setActive(1)"
>
{{
language
==
0
?
'下一步'
:
'NEXT'
}}
</el-button>
...
...
@@ -98,8 +109,10 @@
<div
class=
"tip text-danger mb20"
v-else
>
*Select the courses to enroll in (at least one, no more than two)
</div>
<el-checkbox-group
size=
"large"
v-model=
"form.courseId"
@
change=
"courseChange"
>
<div
v-for=
"c in courseList"
class=
"mb20"
>
<el-checkbox
:value=
"c.id"
border
class=
"w100"
:disabled=
"(form.courseId?.length>=2&&form.courseId.indexOf(c.id)==-1)||disChoose"
>
{{
language
==
0
?
c
.
name
:
c
.
nameEn
}}
</el-checkbox>
<el-checkbox
:value=
"c.id"
border
class=
"w100"
:disabled=
"(form.courseId?.length>=2&&form.courseId.indexOf(c.id)==-1)||disChoose||(form.nationality==240&&c.viewStateCn == 0)||(form.nationality!=240&&c.viewStateEn == 0)"
>
{{
language
==
0
?
c
.
name
:
c
.
nameEn
}}
<el-tag
class=
"ml20"
v-if=
"(form.nationality==240&&c.viewStateCn == 0)||(form.nationality!=240&&c.viewStateEn == 0)"
type=
"danger"
effect=
"dark"
>
{{
language
==
0
?
'已报满'
:
'Already full'
}}
</el-tag>
</el-checkbox>
</div>
</el-checkbox-group>
...
...
@@ -176,7 +189,7 @@ watch(show, (value) => {
function
getCourse
()
{
// '1777256058082189313'
masterClassList
({
cptId
:
cptId
.
value
}).
then
(
res
=>
{
courseList
.
value
=
res
.
rows
courseList
.
value
=
res
.
data
})
}
function
setActive
(
n
)
{
...
...
@@ -236,6 +249,8 @@ function checkCard() {
getByCard
({
card
:
form
.
value
.
passportNo
}).
then
(
res
=>
{
if
(
res
.
data
){
form
.
value
=
res
.
data
}
else
{
form
.
value
.
courseId
=
[]
}
})
}
...
...
@@ -290,6 +305,7 @@ const close = () =>{
</
script
>
<
style
scoped
>
.xzRich
{
line-height
:
2
;
font-size
:
14px
;}
.boxInvitation
{
width
:
90%
;
margin
:
auto
...
...
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