bafb8f2d by 杨炀

Merge branch 'dev' of https://code.itechtop.cn/yangyang/dance-pc into dev

2 parents 1227a2db a957eab0
......@@ -237,7 +237,7 @@ async function changeSelectIn() {
async function changeSelectOut() {
const res = await booking.getVehicleByCheckIn({
activityId: route.params.cptId,
checkIn: form1.value.checkIn,
checkIn: form2.value.checkIn,
category: '1'
})
form2.value.checkOut = ''
......@@ -273,13 +273,21 @@ async function handleSubmit(v) {
// category: v
// })
}
await router.push({
name: 'carList',
params: {
id: route.params.cptId
},
query: obj
})
const res = await booking.checkOrderPay('1')
if (!res.data) {
await proxy.$modal.confirm(language == 0 ? '您有未支付的订单,请前往支付!' : 'You have unpaid orders, please proceed to payment!')
await router.push({
path: '/center/myReservation'
})
} else {
await router.push({
name: 'carList',
params: {
id: route.params.cptId
},
query: obj
})
}
}
......
......@@ -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>
......
<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>
......@@ -114,6 +114,7 @@
>
{{ it.name }}
</div>
<div v-if="remarks" class="remarks">{{ remarks }}</div>
</div>
</div>
......@@ -151,15 +152,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 +222,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>
......@@ -278,6 +287,7 @@ const active = ref(1)
const props = defineProps({
activityId: [String, Number]
})
const remarks = ref()
const timeData = ref()
const endTime = ref()
const matchForm = ref({})
......@@ -336,6 +346,7 @@ async function getVenueList() {
venueList.value = res.rows
currVenue.value = res.rows[0]
selectForm.value.latsId = res.rows[0]?.id
if (venueList.value.length > 0) remarks.value = res.rows[0].remarks
await getTicketListType()
}
......@@ -345,10 +356,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) {
......@@ -371,19 +382,20 @@ function selectVenue(v) {
selectForm.value.id = null
selectForm.value.price = '--'
selectForm.value.priceEn = '--'
remarks.value = v.remarks
getTicketListType()
}
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 +772,20 @@ getmatchData()
text-align: center;
}
.father {
position: relative;
}
.son {
position: absolute;
bottom: 30px;
right: 50px;
}
.remarks {
font-size: 17px;
margin-left: 20px;
line-height: 40px;
color: #2b2f3a;
}
</style>
......
......@@ -2,7 +2,7 @@
<div>
<!-- top -->
<div class="container top">
<img :src="fillImgUrl(travel.cover)" alt="" class="cover_img" st>
<img :src="fillImgUrl(travel.cover)" alt="" class="cover_img">
<div class="info">
<div class="title">{{ travel.name }}</div>
<div class="select_item_box">
......@@ -30,10 +30,10 @@
<br>
<div v-for="v in ticketList" v-show="v.leftNum!=0" :key="v.id">
<div class="select_item_box">
<div class="label ticket">
{{ v.name }} :
</div>
<div class="rowBox">
<div class="ticket ticket-row">
<span class="label">
{{ v.name }} :
</span>
<span class="titleTick">
{{
triggerLanguage(language, v.price, v.priceEn)
......@@ -42,11 +42,17 @@
triggerLanguage(language, '¥/人', '€/person')
}}
</span>
<el-input-number
v-model="v.count" :max="v.leftNum" :min="0" :precision="0" class="inputNumber"
@change="countTotal"
/>
<i class="residue">{{ language == 0 ? '剩余票数' : 'Remaining votes' }}{{ v.leftNum }}</i>
</div>
<div class="rowBox">
<span>
<el-input-number
v-model="v.count" :max="v.leftNum" :min="0" :precision="0" class="inputNumber"
@change="countTotal"
/>
<i class="residue">{{ language == 0 ? '剩余票数' : 'Remaining votes' }}{{ v.leftNum }}</i>
</span>
</div>
</div>
</div>
......@@ -79,14 +85,18 @@
</div>
<div
v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px"
v-if="endTime<=0" class="btn"
style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px"
@click="toSelectClosed"
>
{{
triggerLanguage(language, "售票结束", "Sale closed")
}}
</div>
<div v-else class="btn" style="margin-left: 40px;margin-top: 10px" @click="toSelectSeat()">
<div
v-else v-show="travel?.dateList?.length>0" class="btn" style="margin-left: 40px;margin-top: 10px"
@click="toSelectSeat()"
>
{{
triggerLanguage(language, "立即购票", "Buy tickets now")
}}
......@@ -202,8 +212,8 @@ function countTotal() {
})]
}
}
selectForm.value.price = price
selectForm.value.priceEn = priceEn
selectForm.value.price = price?.toFixed(2)
selectForm.value.priceEn = priceEn?.toFixed(2)
}
async function toSelectSeat() {
......@@ -348,23 +358,29 @@ function toSelectClosed() {
.ticket {
height: 40px;
line-height: 40px;
width: 100px;
width: 320px;
}
.ticket-row {
display: flex;
justify-content: space-between;
align-items: center;
}
.titleTick {
color: #493ceb;
cursor: pointer;
font-weight: 600;
font-size: 18px;
margin-right: 30px;
height: 40px;
line-height: 40px;
}
.rowBox {
display: flex;
.titleTick {
color: #493ceb;
cursor: pointer;
font-weight: 600;
font-size: 18px;
margin-right: 30px;
height: 40px;
line-height: 40px;
width: 180px;
//text-align: center;
}
.inputNumber {
height: 35px;
......
......@@ -430,7 +430,6 @@ function next() {
obj.passportUrl = wdsfData.value.passportUrl || ''
}
registerSingle(obj).then(res => {
debugger
setToken(res.data.token)
afterR()
})
......@@ -445,7 +444,7 @@ function next() {
passportNumber: wdsfData.value.passportNumber,
picUrl: wdsfData.value.picUrl,
birth: wdsfData.value.birthday,
personId: wdsfData.value.personId,
// personId: wdsfData.value.personId,
username: wdsfData.value.email,
password: form.value.password,
ocrFlag: '1'
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!