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
bd56e62c
authored
2025-05-27 11:53:14 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
2ef19ff1
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
26 deletions
src/viewsPc/booking/pay.vue
src/viewsPc/booking/ticket/confirmOrder.vue
src/viewsPc/booking/ticket/index.vue
src/viewsPc/booking/pay.vue
View file @
bd56e62
This diff is collapsed.
Click to expand it.
src/viewsPc/booking/ticket/confirmOrder.vue
View file @
bd56e62
...
...
@@ -14,36 +14,54 @@
<div
class=
"info"
>
<div
class=
"name"
>
{{
TickForm2
.
ticketTypeName
}}
</div>
<div
class=
"address"
>
{{
TickForm2
.
stadiumName
}}
</div>
<div
class=
"address"
>
{{
TickForm2
.
sessionType
==
'1000'
?
'日间场'
:
'夜间场'
}}
</div>
<div
class=
"address"
>
{{
TickForm2
.
ticketName
}}
</div>
<div
class=
"address"
>
{{
TickForm2
.
stadiumName
}}
|
<span
v-if=
"TickForm2.sessionType=='1000'"
>
{{
language
==
0
?
'日间场'
:
'Day'
}}
</span>
<span
v-else
>
{{
language
==
0
?
'夜间场'
:
'Night'
}}
</span>
|
{{
TickForm2
.
ticketName
}}
</div>
<div
v-if=
"TickForm2.ticketType=='0'"
class=
"address"
>
剩余数量:
{{
leftCount
}}
</div>
</div>
<div
class=
"ticket_info mb20"
>
<div
class=
"tit_box"
>
<div
class=
"line"
/>
<div
class=
"line"
/>
<div
class=
"txt"
>
{{
languageFormat
(
language
,
"订票信息"
,
"Ticket Info"
)
}}
</div>
</div>
<div
class=
"form"
>
<el-form
ref=
"formRef"
:model=
"orderForm"
:rules=
"rules"
label-width=
"1
2
0px"
>
<el-form
ref=
"formRef"
:model=
"orderForm"
:rules=
"rules"
label-width=
"1
4
0px"
>
<div
v-if=
"TickForm2.ticketType == '1'"
>
<el-form-item
:label=
"language == 0 ? '桌号' : 'zuohao'"
>
<el-form-item
:label=
"language == 0 ? '桌号' : 'Table'"
>
<el-popover
placement=
"right"
:width=
"400"
trigger=
"hover"
>
<template
#
reference
>
<div
class=
"text-primary underline pointer"
@
click=
"showImg"
>
{{
language
==
0
?
'查看区域布局'
:
' View Area Layout'
}}
</div>
</
template
>
<el-image
:src=
"fillImgUrl(tickImg)"
style=
"width: 100%;"
:preview-src-list=
"[fillImgUrl(tickImg)]"
/>
</el-popover>
<el-radio-group
v-model=
"currDesk"
>
<el-radio-button
v-for=
"(it, index) in deskList"
:key=
"index"
:label=
"it.deskNo"
:value=
"it"
:disabled=
"it.status!=0"
/>
<el-radio-button
v-for=
"(it, index) in deskList"
:key=
"index"
:label=
"it.deskNo"
:value=
"it"
:disabled=
"it.status!=0"
/>
</el-radio-group>
</el-form-item>
<el-form-item
:label=
"language == 0 ? '座位号' : '
zuoweihao
'"
>
<el-form-item
:label=
"language == 0 ? '座位号' : '
Seat
'"
>
<el-checkbox-group
v-model=
"currSeat"
>
<el-checkbox-button
v-for=
"(it, index) in currDesk?.seatList"
:key=
"index"
:label=
"it.seatNo"
:value=
"it"
:disabled=
"it.status!=0"
/>
<el-checkbox-button
v-for=
"(it, index) in currDesk?.seatList"
:key=
"index"
:label=
"it.seatNo"
:value=
"it"
:disabled=
"it.status!=0"
/>
</el-checkbox-group>
</el-form-item>
<el-form-item
label=
"已选座位号"
>
<el-tag
v-for=
"s in currSeat"
:key=
"s.id"
>
{{
s
.
deskNo
}}
-
{{
s
.
seatNo
}}
</el-tag>
<el-form-item
:label=
"language == 0 ?'已选座位号':'Selected Seat'"
>
<el-tag
class=
"mr10"
v-for=
"(s,index) in currSeat"
:key=
"s.id"
closable
@
close=
"delSeat(s,index)"
>
{{ s.deskNo }} - {{ s.seatNo }}
</el-tag>
</el-form-item>
</div>
<el-form-item
...
...
@@ -98,7 +116,7 @@
<el-col
:lg=
"8"
class=
"right"
>
<div
class=
"tit_box"
>
<div
class=
"line"
/>
<div
class=
"line"
/>
<div
class=
"txt"
>
{{ languageFormat(language, "订单明细", "Order summary") }}
</div>
...
...
@@ -109,7 +127,7 @@
<div
class=
"time"
>
{{ language == 0 ? '票价' : 'Cost Ticket' }}
</div>
<p
/>
<p/>
<div
class=
"ticket"
>
{{ language == 0 ? TickForm2.price : TickForm2.priceEn }}
<span>
{{ language == 0 ? '元' : 'Euro' }}
</span>
...
...
@@ -123,7 +141,9 @@
</div>
<div
class=
"price_num"
>
<span>
{{ language == 0 ? "¥" : "€" }}
</span>
{{
((
language
==
0
?
TickForm2
.
price
:
TickForm2
.
priceEn
)
*
orderForm
.
customerIds
.
length
).
toFixed
(
2
)
}}
{{
((language == 0 ? TickForm2.price : TickForm2.priceEn) * orderForm.customerIds.length).toFixed(2)
}}
</div>
</div>
</div>
...
...
@@ -137,7 +157,7 @@
</span>
<span
class=
"value"
>
<span>
{{ language == 0 ? "¥" : "€" }}
</span>
{{
((
language
==
0
?
TickForm2
.
price
:
TickForm2
.
priceEn
)
*
orderForm
.
customerIds
.
length
).
toFixed
(
2
)
}}
{{ ((language == 0 ?
TickForm2.price :
TickForm2.priceEn) * orderForm.customerIds.length).toFixed(2) }}
</span>
</div>
<div
class=
"pay"
@
click=
"paymentHandle"
>
...
...
@@ -150,7 +170,7 @@
</template>
<
script
setup
>
import
{
ref
,
computed
,
onMounted
}
from
'vue'
import
{
ref
,
computed
,
onMounted
}
from
'vue'
import
{
customerListApi
,
submitOrderTicket
,
...
...
@@ -160,12 +180,12 @@ import {
checkPurchasedCustomers
,
getDeskInfo
}
from
'@/apiPc/booking'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
{
languageFormat
}
from
'@/viewsPc/seat/utils/language.js'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
{
languageFormat
}
from
'@/viewsPc/seat/utils/language.js'
import
useUserStore
from
'/@/store/modules/user'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
useStorage
}
from
'@vueuse/core/index'
import
_
from
'lodash'
import
{
useRoute
,
useRouter
}
from
'vue-router'
import
{
useRoute
,
useRouter
}
from
'vue-router'
const
useStore
=
useUserStore
()
...
...
@@ -211,8 +231,9 @@ const leftCount = ref({})
const
deskList
=
ref
([])
const
currDesk
=
ref
(
null
)
const
currSeat
=
ref
([])
const
tickImg
=
ref
()
onMounted
(()
=>
{
tickImg
.
value
=
route
.
query
.
tickImg
customerList
()
getDetail
()
...
...
@@ -241,6 +262,10 @@ onMounted(() => {
})
})
function
delSeat
(
item
,
index
)
{
currSeat
.
value
.
splice
(
index
,
1
)
}
function
changeGroup
(
e
)
{
if
(
e
.
length
>
0
)
{
checkPurchasedCustomers
({
...
...
@@ -300,7 +325,7 @@ async function paymentHandle() {
confirmButtonText
:
language
.
value
==
0
?
'确定'
:
'Confirm'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'Cancel'
,
type
:
'warning'
}).
then
(
async
()
=>
{
}).
then
(
async
()
=>
{
try
{
const
orderCustomerList
=
[]
_
.
each
(
orderForm
.
value
.
customerIds
,
(
id
,
index
)
=>
{
...
...
@@ -369,7 +394,7 @@ async function paymentHandle() {
}
async
function
getDetail
()
{
const
res
=
await
getTicketInfoByActivityId
({
activityId
:
orderForm
.
value
.
activeId
})
const
res
=
await
getTicketInfoByActivityId
({
activityId
:
orderForm
.
value
.
activeId
})
TickForm
.
value
=
res
.
data
}
...
...
@@ -379,6 +404,10 @@ function addPeopl() {
path
:
'/booking/ticket/peopleManage'
})
}
const
showImg
=
()
=>
{
}
</
script
>
...
...
@@ -503,7 +532,7 @@ div {
.name
{
font-size
:
16px
;
color
:
#929aa0
;
//
color
:
#929aa0
;
margin-bottom
:
20px
;
.tag_t
{
...
...
src/viewsPc/booking/ticket/index.vue
View file @
bd56e62
...
...
@@ -221,8 +221,8 @@
<div
class=
"container bottom"
>
<div
style=
"display: flex"
>
<div
:class=
"{'bg':active==1}"
class=
"buBg"
@
click=
"active=1"
>
购票说明
</div>
<div
:class=
"{'bg' :active==2}"
class=
"buBg"
@
click=
"active=2"
>
购票须知
</div>
<div
:class=
"{'bg':active==1}"
class=
"buBg"
@
click=
"active=1"
>
{{ language==0?'购票说明':'Notice' }}
</div>
<div
:class=
"{'bg' :active==2}"
class=
"buBg"
@
click=
"active=2"
>
{{ language==0?'购票须知':'Instructions' }}
</div>
</div>
<div
v-show=
"active==1"
class=
"rich_content"
v-html=
"matchForm.ticketDes"
/>
<div
v-show=
"active==2"
class=
"rich_content"
v-html=
"matchForm.ticketNotice"
/>
...
...
@@ -394,6 +394,9 @@ function toSelectSeat() {
params
:
{
activeId
:
activeId
.
value
,
latstId
:
selectForm
.
value
.
latstId
},
query
:
{
tickImg
:
currTick
.
value
.
images
}
})
}
else
{
...
...
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