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
1dafe2e5
authored
2025-05-26 14:48:20 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
2 parents
07827fbc
4d13c8e8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
235 additions
and
184 deletions
src/apiPc/booking.js
src/routerPc/en.js
src/viewsPc/booking/pay.vue
src/viewsPc/booking/ticket/confirmOrder.vue
src/viewsPc/booking/ticket/index.vue
src/viewsPc/booking/ticket/peopleManage.vue
vite.config.js
src/apiPc/booking.js
View file @
1dafe2e
...
...
@@ -511,6 +511,22 @@ export function getTicketInfoByActivityId(params) {
})
}
export
function
getActivityTypeVoById
(
params
)
{
return
request
({
url
:
`/ota/activityType/getActivityTypeVoById`
,
method
:
'get'
,
params
})
}
export
function
getListByAtstId
(
params
)
{
return
request
({
url
:
`/ota/activitySeat/getListByAtstId`
,
method
:
'get'
,
params
})
}
// 根据赛事ID获取票档
export
function
getTicketListApi
(
params
)
{
return
request
({
...
...
@@ -538,6 +554,22 @@ export function listApi(params) {
})
}
export
function
getStadiumList
(
params
)
{
return
request
({
url
:
`/ota/activityStadium/getStadiumList`
,
method
:
'get'
,
params
})
}
export
function
getActivityTypeVoListByLatsId
(
params
)
{
return
request
({
url
:
`/ota/activityType/getActivityTypeVoListByLatsId`
,
method
:
'get'
,
params
})
}
// 获取当前用户的观影人列表
export
function
customerListApi
(
params
)
{
return
request
({
...
...
src/routerPc/en.js
View file @
1dafe2e
...
...
@@ -362,7 +362,7 @@ export const constantRoutes = [
meta
:
{
title
:
'Ticket Booking'
}
},
{
path
:
'ticket/:activeId/:lat
Id/:at
tId'
,
path
:
'ticket/:activeId/:lat
s
tId'
,
component
:
()
=>
import
(
'@/viewsPc/booking/ticket/confirmOrder.vue'
),
name
:
'confirmOrder'
,
meta
:
{
title
:
'confirmOrder'
}
...
...
src/viewsPc/booking/pay.vue
View file @
1dafe2e
...
...
@@ -124,42 +124,12 @@
{{
matchForm
.
address
}}
</el-col>
<el-col>
{{
form
?.
extJson
?.
ticketType
?.
name
}}
:
{{
form
?.
extJson
?.
num
}}{{
language
==
0
?
'张'
:
'Tickets'
}}
{{
form
?.
extJson
?.
atName
}}
{{
form
?.
extJson
?.
atsName
}}
{{
form
?.
extJson
?.
sessionType
==
'1000'
?
'日间场'
:
'夜间场'
}}
{{
form
?.
extJson
?.
ticketName
}}
{{
form
?.
num
}}{{
language
==
0
?
'张'
:
'Tickets'
}}
</el-col>
<el-col>
{{
language
==
0
?
'时间'
:
'Time'
}}
:
{{
dayjs
(
form
?.
extJson
?.
ticketDate
?.
ticketStart
).
format
(
'YYYY-MM-DD'
)
}}{{
form
.
extJson
?.
ticketDate
?.
ticketType
==
1
?
'~'
+
dayjs
(
form
?.
extJson
?.
ticketDate
?.
ticketEnd
).
format
(
'YYYY-MM-DD'
)
:
''
}}
</el-col>
<el-col
v-if=
"form?.extJson?.ticketDate?.isCountSale==1"
>
{{
language
==
0
?
`满${form?.extJson?.ticketDate.counts
}
人优惠`
:
`Discount for up to ${form?.extJson?.ticketDate.counts
}
people`
}}
<
span
v
-
if
=
"language == 0"
>
{{
form
?.
extJson
?.
ticketDate
.
discount
}}
折
<
/span
>
<
span
v
-
else
>
{{
(
10
-
form
?.
extJson
?.
ticketDate
.
discount
)
*
10
+
'%'
}}
off
<
/span
>
<
/el-col
>
<!--
<
el
-
col
>-->
<!--
{{
-->
<!--
language
==
0
?
'原价票'
:
'Cost Ticket'
-->
<!--
}}
:
{{
-->
<!--
language
==
0
?
form
?.
extJson
?.
ticketDate
?.
price
:
form
?.
extJson
?.
ticketDate
?.
priceEn
-->
<!--
}}
{{
language
==
0
?
'元'
:
'Euro'
}}
x
1
-->
<!--
{{
language
==
0
?
'张'
:
'Tickets'
}}
-->
<!--
<
/el-col>--
>
<!--
<
el
-
col
>-->
<!--
{{
-->
<!--
language
==
0
?
'优惠票'
:
'Concession Ticket'
-->
<!--
}}
:
{{
-->
<!--
language
==
0
?
form
?.
extJson
?.
ticketDate
?.
rebatePrice
:
form
?.
extJson
?.
ticketDate
?.
rebatePriceEn
-->
<!--
}}
{{
language
==
0
?
'元'
:
'Euro'
}}
x
1
-->
<!--
{{
language
==
0
?
'张'
:
'Tickets'
}}
-->
<!--
<
/el-col>--
>
</el-row>
</div>
</div>
...
...
@@ -295,50 +265,36 @@
<el-col
:span=
"24"
>
{{
language
==
0
?
'备注'
:
'Remarks'
}}
:
{{
form
.
remarks
}}
</el-col>
</el-row>
<el-row
v-if=
"type == 'ticket'"
style=
"width: 100%"
>
<
el
-
row
v
-
for
=
"
v in form.extJson?.message
"
style
=
"width: 100%"
>
<el-row
v-for=
"
(v,i) in form.extJson?.orderCustomerList"
:key=
"i
"
style=
"width: 100%"
>
<el-col
:lg=
"8"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div>
{{
v
.
name
}}
</div>
</el-col>
<el-col
:lg=
"8"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<!--
<
div
>
{{
-->
<!--
!
v
.
discount
?
language
==
0
?
'原价票'
:
'Cost Ticket'
:
language
==
0
?
'优惠票'
:
'Concession Ticket'
-->
<!--
}}
-->
<!--
<
/div>--
>
<div>
{{
v
.
idCard
}}
</div>
</el-col>
<el-col
:lg=
"8"
:md=
"12"
:sm=
"12"
:xs=
"24"
>
<div
v-if=
"language == 0 "
>
{{
language
==
0
?
'¥'
:
'€'
}}
{{
!
v
.
discount
?
form
.
extJson
?.
ticketDate
?.
price
:
form
.
extJson
?.
ticketDate
?.
rebatePrice
}}
/{{ language == 0
?
'张' : 'Tickets'
}}
¥
{{
form
.
price
}}
/张
</div>
<div
v-else
>
{{
language
==
0
?
'¥'
:
'€'
}}
{{
!
v
.
discount
?
form
.
extJson
?.
ticketDate
?.
priceEn
:
form
.
extJson
?.
ticketDate
?.
rebatePriceEn
}}
/{{ language == 0
?
'张' : 'Tickets'
}}
€
{{
form
.
priceEn
}}
/Tickets
</div>
</el-col>
</el-row>
<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'
}}
<div>
{{
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
}}
<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"
>
{{
language
==
0
?
'共计'
:
'total'
}}
:{{
language
==
0
?
'¥'
:
'€'
{{
form
.
paymentType
==
'1'
?
'共计'
:
'total'
}}
:
{{
form
.
paymentType
==
'1'
?
'¥'
:
'€'
}}{{
Number
(
totalFee
).
toFixed
(
2
)
}}
</el-col>
</el-row>
...
...
@@ -407,31 +363,7 @@
</div>
</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
-
icon
>-->
<!--
<
Upload
/>-->
<!--
<
/el-icon>--
>
<!--
{{
language
==
0
?
'导出酒店预订单'
:
'Export PDF'
}}
-->
<!--
<
/el-button>--
>
<!--
<
el
-
button
-->
<!--
v
-
if
=
"(form.viewStatus=='1'||form.viewStatus=='5')&&(type=='makeUp'||type=='hotel'||type=='ticket')"
-->
<!--
class
=
"mt20 btn-lineG"
round
-->
<!--
size
=
"large"
-->
<!--
type
=
"primary"
-->
<!--
@
click
=
"downInvoice"
-->
<!--
>-->
<!--
<
el
-
icon
>-->
<!--
<
Download
/>-->
<!--
<
/el-icon>--
>
<!--
{{
language
==
0
?
'下载收据'
:
'DownLoad Invoice'
}}
-->
<!--
<
/el-button>--
>
<
/div
>
<div
class=
"text-center"
/>
</el-col>
</el-row>
</div>
...
...
@@ -764,11 +696,8 @@ async function getTicketOrderInfoFN() {
form
.
value
=
res
.
data
form
.
value
.
extJson
=
JSON
.
parse
(
form
.
value
.
extJson
)
try
{
form
.
value
.
extJson
.
ticketDate
=
JSON
.
parse
(
form
.
value
.
extJson
.
ticketDate
)
form
.
value
.
extJson
.
ticketType
=
JSON
.
parse
(
form
.
value
.
extJson
.
ticketType
)
form
.
value
.
extJson
.
message
=
JSON
.
parse
(
form
.
value
.
extJson
.
message
)
await
getDetail
(
form
.
value
.
extJson
.
ticketDate
.
activityId
)
matchId
.
value
=
form
.
value
.
extJson
.
ticketDate
.
activityId
await
getDetail
(
form
.
value
.
activeId
)
matchId
.
value
=
form
.
value
.
activeId
totalFee
.
value
=
language
.
value
==
0
?
form
.
value
.
total
:
form
.
value
.
totalEn
}
catch
(
e
)
{
...
...
@@ -776,7 +705,6 @@ async function getTicketOrderInfoFN() {
}
finally
{
}
console
.
log
(
form
.
value
)
}
async
function
getDetail
(
activeId
)
{
...
...
src/viewsPc/booking/ticket/confirmOrder.vue
View file @
1dafe2e
This diff is collapsed.
Click to expand it.
src/viewsPc/booking/ticket/index.vue
View file @
1dafe2e
...
...
@@ -66,10 +66,34 @@
<div
class=
"label"
>
{{ triggerLanguage(language, "票档", "Tickets") }} :
</div>
<div
v-if=
"matchForm.ticketLayout"
>
</div>
<div
class=
"select_item_box"
>
<div
class=
"select_item"
>
<div
v-for=
"(it, index) in tickClass"
:key=
"index"
:class=
"[
it.id == selectForm.latId ? 'tagActive' : 'tag',
]"
@
click=
"select(it)"
>
{{ it.ticketTypeName }}
<span
v-if=
"it.ticketPackage==1"
class=
"tao"
>
{{
language == 0 ? '套票' : 'Package ticket'
}}
</span>
</div>
</div>
</div>
<!-- 场馆 -->
<div
class=
"select_item_box"
>
<div
class=
"label"
>
{{ triggerLanguage(language, "场馆", "Venues") }} :
</div>
<div>
<span
v-if=
"currVenue?.images"
style=
"color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"
@
click=
"show=true"
@
click=
"show
Url=currVenue.images; show
=true"
>
<span
style=
"color: red;font-size: 18px"
>
*
</span>
{{
language == 0 ? '点击查看场馆布局' : 'View Venue Layout'
...
...
@@ -80,19 +104,20 @@
<div
class=
"select_item_box"
>
<div
class=
"select_item"
>
<div
v-for=
"(it, index) in
tickClass
"
v-for=
"(it, index) in
venueList
"
:key=
"index"
:class=
"[
it.id == selectForm.latId ? 'tagActive' : 'tag',
it.id == selectForm.latsId ? 'tagActive' : 'tag',
it.isView==0?'forbid':''
]"
@
click=
"select(it)"
@
click=
"select
Venue
(it)"
>
{{ it.name }}
</div>
</div>
</div>
<!--
时间
-->
<!--
场次
-->
<div
class=
"select_item_box"
>
<div
class=
"label"
>
{{ triggerLanguage(language, "场次", "Session") }} :
...
...
@@ -101,21 +126,53 @@
<div
class=
"select_item_box"
>
<div
class=
"select_item"
>
<div
v-for=
"(it,
index
) in tickList"
:key=
"
index
"
v-for=
"(it,
key
) in tickList"
:key=
"
key
"
:class=
"[
it.id == selectForm.id ? 'tagActive' : 'tag',
key == selectForm.sessionType ? 'tagActive' : 'tag',
it.isView==0?'forbid':''
]"
@
click=
"selectSessionType(key)"
>
{{ key=='1000'?'日间场':'夜间场' }}
</div>
</div>
</div>
<!-- 票型 -->
<div
class=
"select_item_box"
>
<div
class=
"label"
>
{{ 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>
</div>
</div>
<div
class=
"select_item_box"
>
<div
class=
"select_item"
>
<div
v-for=
"it in tickList[selectForm.sessionType]"
:key=
"it.id"
:class=
"[
it.id == selectForm.latstId ? 'tagActive' : 'tag',
it.isView==0?'forbid':''
]"
@
click=
"selectTick(it)"
>
{{ it.name }}
<span
v-if=
"it.ticketType==1"
class=
"tao"
>
{{
language == 0 ? '套票' : 'Package ticket'
}}
</span>
{{ it.name }}
</div>
</div>
</div>
<!-- 价格 -->
<div
class=
"select_item_box"
>
<div
class=
"label"
>
...
...
@@ -172,7 +229,7 @@
<el-dialog
v-model=
"show"
title=
""
width=
"1000px"
>
<div>
<img
:src=
"fillImgUrl(
matchForm.ticketLayout
)"
alt=
""
style=
"width: 100%"
>
<img
:src=
"fillImgUrl(
showUrl
)"
alt=
""
style=
"width: 100%"
>
</div>
</el-dialog>
</div>
...
...
@@ -181,16 +238,23 @@
<
script
setup
>
import
{
ref
,
computed
}
from
'vue'
import
{
listApi
,
getTicketInfoByActivityId
,
getTicketListApi
,
checkNonPayment
}
from
'@/apiPc/booking'
import
{
ref
,
computed
,
watch
}
from
'vue'
import
{
getTicketInfoByActivityId
,
getTicketListApi
,
checkNonPayment
,
getStadiumList
,
getActivityTypeVoListByLatsId
}
from
'@/apiPc/booking'
import
{
dayjs
}
from
'element-plus'
import
{
ElMessageBox
,
ElMessage
}
from
'element-plus'
import
{
languageFormat
,
getDayName
}
from
'@/viewsPc/seat/utils/language'
import
{
getDayName
}
from
'@/viewsPc/seat/utils/language'
import
{
fillImgUrl
}
from
'/@/utils/ruoyi'
import
useUserStore
from
'/@/store/modules/user'
import
{
triggerLanguage
}
from
'@/utils/ruoyi'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
useRoute
,
useRouter
}
from
'vue-router'
const
language
=
useStorage
(
'language'
,
0
)
const
useStore
=
useUserStore
()
...
...
@@ -198,10 +262,9 @@ const user = computed(() => useUserStore().user)
const
route
=
useRoute
()
const
router
=
useRouter
()
const
show
=
ref
(
false
)
const
showUrl
=
ref
(
''
)
const
activeId
=
ref
(
route
.
params
.
activeId
)
const
flag
=
ref
(
false
)
const
active
=
ref
(
1
)
const
countDown
=
ref
(
false
)
const
props
=
defineProps
({
activityId
:
[
String
,
Number
]
})
...
...
@@ -211,11 +274,22 @@ const matchForm = ref({})
const
tickClass
=
ref
([])
const
selectForm
=
ref
({
latId
:
null
,
id
:
null
,
latsId
:
null
,
sessionType
:
null
,
latstId
:
null
,
price
:
'--'
,
priceEn
:
'--'
})
const
venueList
=
ref
([])
const
tickList
=
ref
([])
const
currVenue
=
ref
(
null
)
const
currTick
=
ref
(
null
)
watch
(
show
,
(
val
)
=>
{
if
(
!
val
)
{
showUrl
.
value
=
''
}
})
// 获取票务信息
getDetail
()
...
...
@@ -241,48 +315,74 @@ async function getTicketList() {
tickClass
.
value
=
res
.
rows
if
(
tickClass
.
value
.
length
>
0
)
{
selectForm
.
value
.
latId
=
tickClass
.
value
?.[
0
]?.
id
await
get
TicketListType
()
await
get
VenueList
()
}
}
// 根据票档获取场次
async
function
getVenueList
()
{
const
res
=
await
getStadiumList
({
latId
:
selectForm
.
value
.
latId
})
venueList
.
value
=
res
.
rows
currVenue
.
value
=
res
.
rows
[
0
]
selectForm
.
value
.
latsId
=
res
.
rows
[
0
]?.
id
await
getTicketListType
()
}
// 根据票档获取场次
async
function
getTicketListType
()
{
const
arr
=
[]
const
res
=
await
listApi
({
latId
:
selectForm
.
value
.
latId
})
tickList
.
value
=
res
.
rows
for
(
const
v
of
res
.
rows
)
{
if
(
v
.
isView
==
0
)
arr
.
push
(
v
)
}
for
(
const
v
of
res
.
rows
)
{
if
(
arr
.
length
>
0
&&
v
.
ticketType
==
1
)
{
for
(
const
c
of
arr
)
{
if
((
c
.
ticketStart
>=
v
.
ticketStart
)
&&
(
c
.
ticketStart
<=
v
.
ticketEnd
))
{
v
.
isView
=
0
}
}
}
}
const
res
=
await
getActivityTypeVoListByLatsId
({
latsId
:
selectForm
.
value
.
latsId
})
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
}
function
select
(
v
)
{
selectForm
.
value
.
latId
=
v
.
id
selectForm
.
value
.
latsId
=
null
selectForm
.
value
.
sessionType
=
null
selectForm
.
value
.
latstId
=
null
selectForm
.
value
.
id
=
null
selectForm
.
value
.
price
=
'--'
selectForm
.
value
.
priceEn
=
'--'
getVenueList
()
}
function
selectVenue
(
v
)
{
currVenue
.
value
=
v
selectForm
.
value
.
latsId
=
v
.
id
selectForm
.
value
.
sessionType
=
null
selectForm
.
value
.
latstId
=
null
selectForm
.
value
.
id
=
null
selectForm
.
value
.
price
=
'--'
selectForm
.
value
.
priceEn
=
'--'
getTicketListType
()
}
function
selectSessionType
(
key
)
{
selectForm
.
value
.
sessionType
=
key
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
)
{
if
(
v
.
isView
!=
0
)
{
selectForm
.
value
.
i
d
=
v
.
id
currTick
.
value
=
v
selectForm
.
value
.
latstI
d
=
v
.
id
selectForm
.
value
.
price
=
v
.
price
selectForm
.
value
.
priceEn
=
v
.
priceEn
}
}
function
toSelectSeat
()
{
if
(
!
selectForm
.
value
.
latId
)
return
ElMessage
.
error
(
language
.
value
==
0
?
'请选择票档'
:
'Please select a ticket file'
)
if
(
!
selectForm
.
value
.
id
)
return
ElMessage
.
error
(
language
.
value
==
0
?
'请选择时间'
:
'Please select time'
)
//
if (!selectForm.value.latId) return ElMessage.error(language.value == 0 ? '请选择票档' : 'Please select a ticket file')
//
if (!selectForm.value.id) return ElMessage.error(language.value == 0 ? '请选择时间' : 'Please select time')
if
(
!
user
.
value
)
{
useStore
.
setVisitor
()
return
...
...
@@ -293,8 +393,7 @@ function toSelectSeat() {
name
:
'confirmOrder'
,
params
:
{
activeId
:
activeId
.
value
,
latId
:
selectForm
.
value
.
latId
,
attId
:
selectForm
.
value
.
id
latstId
:
selectForm
.
value
.
latstId
}
})
}
else
{
...
...
src/viewsPc/booking/ticket/peopleManage.vue
View file @
1dafe2e
...
...
@@ -8,14 +8,13 @@
{{
languageFormat
(
language
,
"观影人管理"
,
"Viewers"
)
}}
</span>
<span
class=
"fr"
style=
"cursor: pointer"
@
click=
"$router.go(-1)"
>
{{
language
==
0
?
'返回'
:
'Back'
}}
</span>
<span
class=
"fr"
style=
"cursor: pointer"
@
click=
"$router.go(-1)"
>
{{
language
==
0
?
'返回'
:
'Back'
}}
</span>
</div>
<div
class=
"content"
>
<div
class=
"people_box"
>
<div
v-for=
"(it, index) in personnelList"
:key=
"index"
class=
"people_item"
>
<div
v-for=
"(it, index) in personnelList"
:key=
"index"
class=
"people_item"
>
<div
class=
"name"
>
{{
it
.
name
}}
</div>
<div
class=
"idcard"
>
{{
languageFormat
(
language
,
"证件号"
,
"ID number"
)
}}
:
{{
it
.
idCard
}}
...
...
@@ -33,33 +32,31 @@
center
width=
"700"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
size=
"large"
style=
"margin: 80px"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
size=
"large"
style=
"margin: 80px"
>
<el-form-item
:label=
"language==0?'姓名':'name'"
prop=
"name"
required
>
<el-input
v-model=
"form.name"
:placeholder=
"language==0?'请输入':'Please input'"
/>
<el-input
v-model=
"form.name"
:placeholder=
"language==0?'请输入':'Please input'"
/>
</el-form-item>
<el-form-item
:label=
"language==0?'证件类型':'ID Type'"
prop=
"idcType"
required
>
<el-select
v-model=
"form.idcType"
:placeholder=
"language==0?'请选择':'Please choose'"
>
<el-option
:label=
"language==0?'身份证':'Identity card'"
value=
"0"
/>
<el-option
:label=
"language==0?'护照':'Passport'"
value=
"1"
/>
<el-option
:label=
"language==0?'其他':'Other'"
value=
"2"
/>
<el-option
:label=
"language==0?'身份证':'Identity card'"
value=
"0"
/>
<el-option
:label=
"language==0?'护照':'Passport'"
value=
"1"
/>
<el-option
:label=
"language==0?'其他':'Other'"
value=
"2"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"language==0?'证件号':'ID number'"
prop=
"idCard"
required
>
<el-input
v-model=
"form.idCard"
:placeholder=
"language==0?'请输入证件号':'Please enter the ID after ah'"
/>
<el-input
v-model=
"form.idCard"
:placeholder=
"language==0?'请输入证件号':'Please enter the ID after ah'"
/>
</el-form-item>
</el-form>
<br>
<br>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
class=
"dialog-footer"
>
<div
style=
"text-align: center"
>
<el-button
class=
"can_pay"
@
click=
"show = false"
>
{{
language
==
0
?
'取 消'
:
'cancel'
}}
</el-button>
<el-button
class=
"pay"
type=
"primary"
@
click=
"submit"
>
{{
language
==
0
?
'确 定'
:
'confirm'
}}
</el-button>
</div>
</span>
<br>
<br>
<br>
</el-dialog>
</el-card>
...
...
@@ -67,13 +64,14 @@
<
script
setup
>
import
{
ref
,
computed
}
from
"vue"
;
import
{
aadCustomer
,
customerListApi
,
delCustomer
}
from
'@/apiPc/booking'
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
{
triggerLanguage
}
from
'@/utils/ruoyi'
import
{
ref
,
computed
}
from
'vue'
import
{
aadCustomer
,
delCustomer
,
getMyFriends
}
from
'@/apiPc/booking'
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
{
triggerLanguage
}
from
'@/utils/ruoyi'
import
{
useRoute
}
from
'vue-router'
const
user
=
computed
(()
=>
useUserStore
().
user
)
const
useStore
=
useUserStore
()
...
...
@@ -85,29 +83,25 @@ const form = ref({})
const
formRef
=
ref
(
null
)
const
rules
=
ref
({
name
:
[
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请输入姓名'
,
'Please input'
),
trigger
:
"blur"
},
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请输入姓名'
,
'Please input'
),
trigger
:
'blur'
}
],
idCard
:
[
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请输入证件号'
,
'Please enter the ID after ah'
),
trigger
:
"blur"
}
,
trigger
:
'blur'
}
],
idcType
:
[
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请选择证件类型'
,
'Please choose'
),
trigger
:
"blur"
},
]
,
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请选择证件类型'
,
'Please choose'
),
trigger
:
'blur'
}
]
})
customerList
()
async
function
customerList
()
{
const
res
=
await
customerListApi
({
activeId
:
route
.
query
.
activeId
,
attId
:
route
.
query
.
attId
,
atId
:
route
.
query
.
atId
})
personnelList
.
value
=
res
.
rows
const
res
=
await
getMyFriends
()
personnelList
.
value
=
res
.
data
}
function
addPeople
()
{
...
...
@@ -125,19 +119,18 @@ function submit() {
if
(
valid
)
{
aadCustomer
(
form
.
value
).
then
(
res
=>
{
if
(
res
.
data
==
-
100
)
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'该观影人已存在'
:
"The viewer already exists"
,
language
.
value
==
0
?
'提示'
:
'Reminder'
,
{
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'该观影人已存在'
:
'The viewer already exists'
,
language
.
value
==
0
?
'提示'
:
'Reminder'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确认'
:
'confirm'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'cancel'
,
type
:
"warning"
,
draggable
:
true
,
type
:
'warning'
,
draggable
:
true
})
}
else
if
(
res
.
data
==
-
101
)
{
return
ElMessageBox
.
confirm
(
language
.
value
==
0
?
'该观影人实名认证未通过'
:
'The real name authentication of the moviegoer failed'
,
language
.
value
==
0
?
'提示'
:
'Reminder'
,
{
confirmButtonText
:
language
.
value
==
0
?
'确认'
:
"confirm"
,
confirmButtonText
:
language
.
value
==
0
?
'确认'
:
'confirm'
,
cancelButtonText
:
language
.
value
==
0
?
'取消'
:
'cancel'
,
type
:
"warning"
,
draggable
:
true
,
type
:
'warning'
,
draggable
:
true
})
}
else
{
show
.
value
=
false
...
...
@@ -153,23 +146,22 @@ function submit() {
async
function
deletePeople
(
v
)
{
await
ElMessageBox
.
confirm
(
languageFormat
(
language
.
value
,
"确认删除该观影人吗?"
,
"Are you sure to delete this viewer?"
),
languageFormat
(
language
.
value
,
"提示"
,
"Reminder"
),
languageFormat
(
language
.
value
,
'确认删除该观影人吗?'
,
'Are you sure to delete this viewer?'
),
languageFormat
(
language
.
value
,
'提示'
,
'Reminder'
),
{
confirmButtonText
:
languageFormat
(
language
.
value
,
"确认"
,
"confirm"
),
cancelButtonText
:
languageFormat
(
language
.
value
,
"取消"
,
"cancel"
),
type
:
"warning"
,
draggable
:
true
,
confirmButtonText
:
languageFormat
(
language
.
value
,
'确认'
,
'confirm'
),
cancelButtonText
:
languageFormat
(
language
.
value
,
'取消'
,
'cancel'
),
type
:
'warning'
,
draggable
:
true
}
)
.
then
(
async
()
=>
{
.
then
(
async
()
=>
{
const
res
=
await
delCustomer
(
v
)
if
(
res
.
code
===
200
)
{
ElMessage
.
success
(
'删除成功'
)
await
customerList
()
}
})
}
</
script
>
...
...
vite.config.js
View file @
1dafe2e
...
...
@@ -81,8 +81,8 @@ export default defineConfig(({ mode, command }) => {
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
dev-api
\/
ztx-webSite/
,
''
)
},
'/dev-api'
:
{
//
target: 'http://192.168.1.118:8081/',
target
:
'http://192.168.1.243:8081'
,
target
:
'http://192.168.1.118:8081/'
,
//
target: 'http://192.168.1.243:8081',
// target: 'https://jijin.wtwuxicenter.com/stage-api',
// target: 'https://wdsfwuxicenter.com/stage-api/',
changeOrigin
:
true
,
...
...
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