Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jijin
/
dance-pc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
83f265ca
authored
2025-06-09 16:25:35 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
场次
1 parent
11b2e06d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
121 additions
and
91 deletions
src/viewsPc/booking/pay.vue
src/viewsPc/booking/ticket/index.vue
src/viewsPc/center/myReservation.vue
src/viewsPc/booking/pay.vue
View file @
83f265c
...
...
@@ -271,19 +271,26 @@
<el-col
:span=
"24"
>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
remarks
}}
</el-col>
</el-row>
<el-row
v-if=
"type == 'ticket'"
style=
"width: 100%"
>
<el-col
:lg=
"
12
"
>
<el-col
:lg=
"
8
"
>
{{
language
==
0
?
'联系人'
:
'Contact'
}}
:
{{
form
.
contacts
}}
</el-col>
<el-col
:lg=
"12"
>
<el-col
:lg=
"8"
>
{{
language
==
0
?
'联系方式'
:
'Contact'
}}
:
{{
form
.
phone
}}
</el-col>
<el-col
:lg=
"8"
>
{{
language
==
0
?
'联系方式'
:
'Contact'
}}
:
{{
form
.
phone
}}
</el-col>
<el-row
v-for=
"(v,i) in form.extJson?.orderCustomerList"
:key=
"i"
style=
"width: 100%"
>
<el-col
:lg=
"
12"
:md=
"12
"
:sm=
"12"
:xs=
"24"
>
<el-col
:lg=
"
8"
:md=
"8
"
:sm=
"12"
:xs=
"24"
>
{{
v
.
name
}}
-
<span
class=
"text-gray"
>
{{
v
.
idCard
}}
</span>
</el-col>
<el-col
:lg=
"12"
:md=
"12"
:sm=
"12"
:xs=
"24"
class=
"text-right"
>
<el-col
:lg=
"8"
:md=
"8"
:sm=
"12"
:xs=
"24"
class=
""
>
<span
v-if=
"v.deskNo"
class=
""
>
{{
language
==
0
?
'座位号'
:
'Seat Number'
}}
:
{{
v
.
deskNo
+
'-'
+
v
.
seatNo
}}
</span>
</el-col>
<el-col
:lg=
"8"
:md=
"8"
:sm=
"12"
:xs=
"24"
class=
"text-right"
>
<span
v-if=
"language == 0 "
class=
"text-primary"
>
¥
{{
form
.
price
}}
</span>
<span
v-else
>
€
{{
form
.
priceEn
||
0
}}
</span>
</el-col>
...
...
src/viewsPc/booking/ticket/index.vue
View file @
83f265c
<
template
>
<div>
<!-- top -->
<div
class=
"container top"
>
<div
class=
"container top
father
"
>
<img
:src=
"fillImgUrl(matchForm.ticketImg)"
alt=
""
class=
"cover_img"
>
<div
class=
"info"
>
<div
class=
"title"
>
{{
matchForm
.
name
}}
</div>
...
...
@@ -151,15 +151,15 @@
{{ triggerLanguage(language, "票型", "Ticket Type") }} :
</div>
<div>
<
span
v-if=
"currTick?.images"
style=
"color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"
@
click=
"showUrl=currTick.images;show=true"
>
<span
style=
"color: red;font-size: 18px"
>
*
</span
>
{{
language == 0 ? '点击查看区域布局' : 'View Area Layout'
}}
<
/span
>
<
!-- <span-->
<!-- v-if="currTick?.images"-->
<!-- style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"-->
<!-- @click="showUrl=currTick.images;show=true"-->
<!-- > <span style="color: red;font-size: 18px">*</span>--
>
<!-- {{-->
<!-- language == 0 ? '点击查看区域布局' : 'View Area Layout'-->
<!-- }}-->
<
!-- </span>--
>
</div>
</div>
<div
class=
"select_item_box"
>
...
...
@@ -221,7 +221,15 @@
</div>
</div>
<el-image
v-if=
"currTick?.images"
:preview-src-list=
"[fillImgUrl(currTick?.images)]"
:src=
"fillImgUrl(currTick?.images) "
class=
"son"
fit=
"cover"
preview-teleported
style=
"width:200px"
/>
</div>
</div>
...
...
@@ -345,10 +353,10 @@ async function getTicketListType() {
tickList
.
value
=
res
.
data
selectForm
.
value
.
sessionType
=
Object
.
keys
(
res
.
data
)[
0
]
currTick
.
value
=
tickList
.
value
[
selectForm
.
value
.
sessionType
][
0
]
selectForm
.
value
.
latstId
=
currTick
.
value
?.
id
selectForm
.
value
.
price
=
currTick
.
value
?.
price
selectForm
.
value
.
priceEn
=
currTick
.
value
?.
priceEn
//
currTick.value = tickList.value[selectForm.value.sessionType][0]
//
selectForm.value.latstId = currTick.value?.id
//
selectForm.value.price = currTick.value?.price
//
selectForm.value.priceEn = currTick.value?.priceEn
}
function
select
(
v
)
{
...
...
@@ -378,12 +386,13 @@ function selectVenue(v) {
function
selectSessionType
(
key
)
{
selectForm
.
value
.
sessionType
=
key
currTick
.
value
=
tickList
.
value
[
selectForm
.
value
.
sessionType
][
0
]
//
currTick.value = tickList.value[selectForm.value.sessionType][0]
selectForm
.
value
.
latstId
=
currTick
.
value
?.
id
selectForm
.
value
.
price
=
currTick
.
value
?.
price
selectForm
.
value
.
priceEn
=
currTick
.
value
?.
priceEn
}
// 选择票型
function
selectTick
(
v
)
{
currTick
.
value
=
v
selectForm
.
value
.
latstId
=
v
.
id
...
...
@@ -760,4 +769,13 @@ getmatchData()
text-align
:
center
;
}
.father
{
position
:
relative
;
}
.son
{
position
:
absolute
;
bottom
:
30px
;
right
:
50px
;
}
</
style
>
...
...
src/viewsPc/center/myReservation.vue
View file @
83f265c
...
...
@@ -4,12 +4,12 @@
<div
class=
"indexTitle"
>
<h3
class=
"leftboderTT"
>
{{
language
==
0
?
'我的预订'
:
'My reservation'
}}
</h3>
<!--
<el-button
class=
"fr"
type=
"primary"
plain
@
click=
"toInvoice"
>
{{
language
==
0
?
'发票开具'
:
'Invoice'
}}
</el-button>
-->
<!--
<el-button
class=
"fr"
type=
"primary"
plain
@
click=
"toInvoice"
>
{{
language
==
0
?
'我的发票'
:
'My Invoice'
}}
</el-button>
-->
</div>
<el-empty
v-if=
"list?.length == 0"
:image=
"`/img/order_no.png`"
:image-size=
"228"
/>
<el-empty
v-if=
"list?.length == 0"
:image=
"`/img/order_no.png`"
:image-size=
"228"
/>
<div
class=
"pd20"
>
<div
v-for=
"b in list"
class=
"item"
>
<div
class=
"title"
>
...
...
@@ -20,27 +20,29 @@
<label
v-if=
"b.orderType == 4"
class=
"orangeTag"
>
{{
language
==
0
?
'拍摄'
:
'Shooting '
}}
</label>
<label
v-if=
"b.orderType == 5"
class=
"greenTag"
>
{{
language
==
0
?
'票务'
:
'TICKETING '
}}
</label>
<label
v-if=
"b.orderType == 6"
class=
"orangeTag"
>
{{
language
==
0
?
'旅游'
:
'Travel '
}}
</label>
<span>
{{
language
==
0
?
'订单编号:'
:
'No.'
}}
{{
b
.
id
}}
</span>
</div>
<div
class=
"status-po"
>
<span
v-if=
"b.status == '0'&&b.surplus!='0,0'&&b.surplus!='0'"
class=
"bg-warning"
>
{{
language
==
0
?
'待支付'
:
'Unpaid'
}}
</span>
<span
v-if=
"b.status == '0'&&(b.surplus=='0,0'||b.surplus=='0')"
class=
"bg-warning"
>
{{
language
==
0
?
'已取消'
:
'Canceled'
}}
</span>
<span
v-if=
"b.status == '0'&&(b.surplus=='0,0'||b.surplus=='0')"
class=
"bg-warning"
>
{{
language
==
0
?
'已取消'
:
'Canceled'
}}
</span>
<span
v-if=
"b.status == '1'"
class=
"bg-blue"
>
{{
language
==
0
?
'支付成功'
:
'successful'
}}
</span>
<span
v-if=
"b.status == '2'"
class=
"bg-warning"
>
{{
language
==
0
?
'已取消'
:
'Canceled'
}}
</span>
<span
v-if=
"b.status == '3'||b.status == '4'"
class=
"bg-danger"
>
{{
language
==
0
?
'已退订'
:
'Refunded'
}}
</span>
language
==
0
?
'已退订'
:
'Refunded'
}}
</span>
<span
v-if=
"b.status == '7'"
class=
"bg-danger"
>
{{
language
==
0
?
'退款审核中'
:
'Refund in review'
}}
</span>
language
==
0
?
'退款审核中'
:
'Refund in review'
}}
</span>
<span
v-if=
"b.status == '-1'"
class=
"bg-blue"
>
{{
language
==
0
?
'已核销'
:
'Completed'
}}
</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"
>
...
...
@@ -48,7 +50,7 @@
<p
v-if=
"language==0"
>
{{
b
.
messageObj
?.
roomStayDate
}}
</p>
<p
v-else
>
{{
b
.
messageObj
?.
roomStayDate
.
replace
(
'共'
,
' total '
).
replace
(
'晚'
,
' days'
)
}}
</p>
<p>
{{
b
.
messageObj
?.
roomInfo
}}
</p>
</div>
<div
v-if=
"b.orderType == 1"
>
<h3
class=
"name"
>
{{
b
.
name
}}
</h3>
...
...
@@ -68,7 +70,7 @@
</div>
<p>
{{
language
==
0
?
'配送日期'
:
'Delivery Date'
}}
:
{{
b
.
extJsonObj
.
dcEnd
}}
~
{{
b
.
extJsonObj
.
dcEnd
}}
</p>
</div>
<div
v-if=
"b.orderType==3 ||b.orderType == 4"
>
<h3
class=
"name"
>
{{
b
.
name
}}
</h3>
...
...
@@ -78,15 +80,19 @@
}}
</p>
</div>
<div
v-if=
"b.orderType==5"
>
<h3
class=
"name"
>
{{
b
.
name
}}
</h3>
<p
v-if=
"b.extJsonObj.ticketDate.name"
>
{{
b
.
extJsonObj
.
ticketDate
.
name
}}
</p>
<p>
{{
b
.
extJsonObj
.
atName
}}
|
{{
b
.
extJsonObj
.
atsName
}}
|
{{
b
.
extJsonObj
.
atstName
}}
</p>
<p
v-for=
"p in b.extJsonObj?.orderCustomerList"
>
<el-tag
class=
"mr10"
v-if=
"p.deskNo"
>
{{
p
.
deskNo
}}
-
{{
p
.
seatNo
}}
</el-tag>
<p>
{{
b
.
extJsonObj
.
atName
}}
|
{{
b
.
extJsonObj
.
atsName
}}
|
{{
b
.
extJsonObj
.
sessionType
==
'1000'
?
language
==
0
?
'日间场'
:
'Day'
:
language
==
0
?
'夜间场'
:
'Night'
}}
|
{{
b
.
extJsonObj
.
atstName
}}
</p>
<p
v-for=
"(p,i) in b.extJsonObj?.orderCustomerList"
:key=
"i"
>
<el-tag
v-if=
"p.deskNo"
class=
"mr10"
>
{{
p
.
deskNo
}}
-
{{
p
.
seatNo
}}
</el-tag>
{{
p
.
name
}}
-
{{
p
.
paymentType
==
'3'
?
'€'
:
'¥'
}}{{
b
.
extJsonObj
.
price
}}
</p>
</div>
...
...
@@ -101,8 +107,8 @@
<p>
{{
b
.
messageObj
?.
roomName
}}
</p>
<p>
{{
b
.
messageObj
?.
roomInfo
}}
</p>
</div>
<div
v-if=
"b.orderType == 1"
/>
<div
v-if=
"b.orderType == 2"
/>
<div
v-if=
"b.orderType == 1"
/>
<div
v-if=
"b.orderType == 2"
/>
<div
v-if=
"b.orderType == 3||b.orderType == 4"
>
<p>
{{
b
.
extJsonObj
.
packageName
}}
</p>
</div>
...
...
@@ -118,74 +124,73 @@
<el-col
:lg=
"6"
:md=
"16"
:sm=
"16"
:xs=
"16"
>
<div
class=
"text-right mb20 text-danger"
>
<el-countdown
v-if=
"b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
:value=
"b.countdown"
format=
"mm:ss"
value-style=
"color:#E60012;font-size:16px;"
@
finish=
"finish(b)"
v-if=
"b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
:value=
"b.countdown"
format=
"mm:ss"
value-style=
"color:#E60012;font-size:16px;"
@
finish=
"finish(b)"
/>
</div>
<div
class=
"text-right"
>
<el-button
v-if=
"(b.orderType == 0||b.orderType == 5)&&b.viewStatus!=0"
class=
"mb10"
plain
round
size=
"small"
type=
"success"
@
click=
"Rebook(b)"
v-if=
"(b.orderType == 0||b.orderType == 5)&&b.viewStatus!=0"
class=
"mb10"
plain
round
size=
"small"
type=
"success"
@
click=
"Rebook(b)"
>
{{
language
==
0
?
'再次预订'
:
'Rebook'
}}
</el-button>
<el-button
class=
"mb10"
plain
round
size=
"small"
type=
"primary"
@
click=
"goDetail(b)"
class=
"mb10"
plain
round
size=
"small"
type=
"primary"
@
click=
"goDetail(b)"
>
{{
language
==
0
?
'详情'
:
'Detail'
}}
</el-button>
<el-button
v-if=
"b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
class=
"mb10"
plain
round
size=
"small"
type=
"primary"
@
click=
"goDetail(b)"
v-if=
"b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
class=
"mb10"
plain
round
size=
"small"
type=
"primary"
@
click=
"goDetail(b)"
>
{{
language
==
0
?
'支付'
:
'Pay'
}}
</el-button>
<el-button
v-if=
"b.viewStatus==0"
class=
"mb10"
plain
round
size=
"small"
type=
"warning"
@
click=
"cancel(b)"
v-if=
"b.viewStatus==0"
class=
"mb10"
plain
round
size=
"small"
type=
"warning"
@
click=
"cancel(b)"
>
{{
language
==
0
?
'取消订单'
:
'Cancel Order'
}}
</el-button>
<el-button
v-if=
"b.viewStatus==5"
class=
"mb10"
plain
round
size=
"small"
type=
""
@
click=
"unsubscribe(b)"
v-if=
"b.viewStatus==5"
class=
"mb10"
plain
round
size=
"small"
type=
""
@
click=
"unsubscribe(b)"
>
{{
language
==
0
?
'退订'
:
'Unsubscribe'
}}
</el-button>
</div>
</el-col>
</el-row>
</div>
</div>
</el-card>
<div
class=
"pd20"
/>
<div
class=
"pd20"
/>
</div>
</
template
>
<
script
setup
>
import
{
onMounted
,
getCurrentInstance
}
from
'@vue/runtime-core'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
newbilllist
}
from
'@/apiPc/common'
import
{
onMounted
,
getCurrentInstance
}
from
'@vue/runtime-core'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
newbilllist
}
from
'@/apiPc/common'
import
useUserStore
from
'@/store/modules/user'
import
dayjs
from
'dayjs'
import
{
cancelOrder2
,
cancelOrder
}
from
'/@/apiPc/booking'
import
{
cancelOrder2
,
cancelOrder
}
from
'/@/apiPc/booking'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
const
router
=
useRouter
()
const
language
=
useStorage
(
'language'
,
0
)
const
list
=
ref
([])
const
user
=
useUserStore
().
user
const
{
proxy
}
=
getCurrentInstance
()
const
{
proxy
}
=
getCurrentInstance
()
onMounted
(()
=>
{
getList
()
...
...
@@ -197,7 +202,7 @@ function finish(bill) {
}
function
getList
()
{
newbilllist
({
createById
:
user
.
userId
}).
then
(
res
=>
{
newbilllist
({
createById
:
user
.
userId
}).
then
(
res
=>
{
list
.
value
=
res
.
rows
||
[]
for
(
const
b
of
list
.
value
)
{
b
.
messageObj
=
JSON
.
parse
(
b
.
message
)
||
{}
...
...
@@ -300,28 +305,28 @@ function toInvoice() {
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
}
...
...
@@ -332,11 +337,11 @@ function toInvoice() {
overflow
:
visible
;
padding
:
0
20px
15px
;
border-bottom
:
1px
solid
#e5e5e5
;
.fr
{
margin
:
-8px
0
0
}
h3
{
display
:
inline-block
;
font-size
:
16px
;
...
...
@@ -350,32 +355,32 @@ function toInvoice() {
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
;
}
}
.title
label
{
border-radius
:
5px
0
5px
0
;
font-size
:
12px
;
...
...
@@ -383,19 +388,19 @@ function toInvoice() {
padding
:
4px
10px
;
margin-right
:
10px
;
}
.blueTag
{
background-color
:
#1e62c8
;
}
.greenTag
{
background-color
:
#1EC886
;
}
.purpleTag
{
background-color
:
#717bef
;
}
.orangeTag
{
background-color
:
#ff8124
;
}
...
...
@@ -420,19 +425,19 @@ function toInvoice() {
right
:
10px
;
bottom
:
60px
;
white-space
:
nowrap
;
.warning
{
color
:
#ff8124
;
}
.danger
{
color
:
#da2a2a
;
}
.gary
{
color
:
#666
;
}
.success
{
color
:
#1EC886
;
}
...
...
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