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() { ...@@ -237,7 +237,7 @@ async function changeSelectIn() {
237 async function changeSelectOut() { 237 async function changeSelectOut() {
238 const res = await booking.getVehicleByCheckIn({ 238 const res = await booking.getVehicleByCheckIn({
239 activityId: route.params.cptId, 239 activityId: route.params.cptId,
240 checkIn: form1.value.checkIn, 240 checkIn: form2.value.checkIn,
241 category: '1' 241 category: '1'
242 }) 242 })
243 form2.value.checkOut = '' 243 form2.value.checkOut = ''
...@@ -273,13 +273,21 @@ async function handleSubmit(v) { ...@@ -273,13 +273,21 @@ async function handleSubmit(v) {
273 // category: v 273 // category: v
274 // }) 274 // })
275 } 275 }
276 await router.push({ 276 const res = await booking.checkOrderPay('1')
277 name: 'carList', 277 if (!res.data) {
278 params: { 278 await proxy.$modal.confirm(language == 0 ? '您有未支付的订单,请前往支付!' : 'You have unpaid orders, please proceed to payment!')
279 id: route.params.cptId 279 await router.push({
280 }, 280 path: '/center/myReservation'
281 query: obj 281 })
282 }) 282 } else {
283 await router.push({
284 name: 'carList',
285 params: {
286 id: route.params.cptId
287 },
288 query: obj
289 })
290 }
283 } 291 }
284 292
285 293
......
...@@ -271,19 +271,26 @@ ...@@ -271,19 +271,26 @@
271 <el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}</el-col> 271 <el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}</el-col>
272 </el-row> 272 </el-row>
273 <el-row v-if="type == 'ticket'" style="width: 100%"> 273 <el-row v-if="type == 'ticket'" style="width: 100%">
274 <el-col :lg="12"> 274 <el-col :lg="8">
275 {{ language == 0 ? '联系人' : 'Contact' }}{{ form.contacts }} 275 {{ language == 0 ? '联系人' : 'Contact' }}{{ form.contacts }}
276 </el-col> 276 </el-col>
277 <el-col :lg="12"> 277 <el-col :lg="8">
278 {{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }}
279 </el-col>
280 <el-col :lg="8">
278 {{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }} 281 {{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }}
279 </el-col> 282 </el-col>
280 <el-row v-for="(v,i) in form.extJson?.orderCustomerList" :key="i" style="width: 100%"> 283 <el-row v-for="(v,i) in form.extJson?.orderCustomerList" :key="i" style="width: 100%">
281 <el-col :lg="12" :md="12" :sm="12" :xs="24"> 284 <el-col :lg="8" :md="8" :sm="12" :xs="24">
282 {{ v.name }} - 285 {{ v.name }} -
283
284 <span class="text-gray">{{ v.idCard }}</span> 286 <span class="text-gray">{{ v.idCard }}</span>
285 </el-col> 287 </el-col>
286 <el-col :lg="12" :md="12" :sm="12" :xs="24" class="text-right"> 288 <el-col :lg="8" :md="8" :sm="12" :xs="24" class="">
289 <span v-if="v.deskNo" class="">{{ language == 0 ? '座位号' : 'Seat Number' }}{{
290 v.deskNo + '-' + v.seatNo
291 }}</span>
292 </el-col>
293 <el-col :lg="8" :md="8" :sm="12" :xs="24" class="text-right">
287 <span v-if="language == 0 " class="text-primary">{{ form.price }}</span> 294 <span v-if="language == 0 " class="text-primary">{{ form.price }}</span>
288 <span v-else>{{ form.priceEn || 0 }}</span> 295 <span v-else>{{ form.priceEn || 0 }}</span>
289 </el-col> 296 </el-col>
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <!-- top --> 3 <!-- top -->
4 <div class="container top"> 4 <div class="container top father">
5 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img"> 5 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img">
6 <div class="info"> 6 <div class="info">
7 <div class="title">{{ matchForm.name }}</div> 7 <div class="title">{{ matchForm.name }}</div>
...@@ -114,6 +114,7 @@ ...@@ -114,6 +114,7 @@
114 > 114 >
115 {{ it.name }} 115 {{ it.name }}
116 </div> 116 </div>
117 <div v-if="remarks" class="remarks">{{ remarks }}</div>
117 </div> 118 </div>
118 </div> 119 </div>
119 120
...@@ -151,15 +152,15 @@ ...@@ -151,15 +152,15 @@
151 {{ triggerLanguage(language, "票型", "Ticket Type") }} : 152 {{ triggerLanguage(language, "票型", "Ticket Type") }} :
152 </div> 153 </div>
153 <div> 154 <div>
154 <span 155 <!-- <span-->
155 v-if="currTick?.images" 156 <!-- v-if="currTick?.images"-->
156 style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px" 157 <!-- style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"-->
157 @click="showUrl=currTick.images;show=true" 158 <!-- @click="showUrl=currTick.images;show=true"-->
158 > <span style="color: red;font-size: 18px">*</span> 159 <!-- > <span style="color: red;font-size: 18px">*</span>-->
159 {{ 160 <!-- {{-->
160 language == 0 ? '点击查看区域布局' : 'View Area Layout' 161 <!-- language == 0 ? '点击查看区域布局' : 'View Area Layout'-->
161 }} 162 <!-- }}-->
162 </span> 163 <!-- </span>-->
163 </div> 164 </div>
164 </div> 165 </div>
165 <div class="select_item_box"> 166 <div class="select_item_box">
...@@ -221,7 +222,15 @@ ...@@ -221,7 +222,15 @@
221 </div> 222 </div>
222 223
223 </div> 224 </div>
224 225 <el-image
226 v-if="currTick?.images"
227 :preview-src-list="[fillImgUrl(currTick?.images)]"
228 :src="fillImgUrl(currTick?.images) "
229 class="son"
230 fit="cover"
231 preview-teleported
232 style="width:200px"
233 />
225 </div> 234 </div>
226 </div> 235 </div>
227 236
...@@ -278,6 +287,7 @@ const active = ref(1) ...@@ -278,6 +287,7 @@ const active = ref(1)
278 const props = defineProps({ 287 const props = defineProps({
279 activityId: [String, Number] 288 activityId: [String, Number]
280 }) 289 })
290 const remarks = ref()
281 const timeData = ref() 291 const timeData = ref()
282 const endTime = ref() 292 const endTime = ref()
283 const matchForm = ref({}) 293 const matchForm = ref({})
...@@ -336,6 +346,7 @@ async function getVenueList() { ...@@ -336,6 +346,7 @@ async function getVenueList() {
336 venueList.value = res.rows 346 venueList.value = res.rows
337 currVenue.value = res.rows[0] 347 currVenue.value = res.rows[0]
338 selectForm.value.latsId = res.rows[0]?.id 348 selectForm.value.latsId = res.rows[0]?.id
349 if (venueList.value.length > 0) remarks.value = res.rows[0].remarks
339 await getTicketListType() 350 await getTicketListType()
340 } 351 }
341 352
...@@ -345,10 +356,10 @@ async function getTicketListType() { ...@@ -345,10 +356,10 @@ async function getTicketListType() {
345 tickList.value = res.data 356 tickList.value = res.data
346 selectForm.value.sessionType = Object.keys(res.data)[0] 357 selectForm.value.sessionType = Object.keys(res.data)[0]
347 358
348 currTick.value = tickList.value[selectForm.value.sessionType][0] 359 // currTick.value = tickList.value[selectForm.value.sessionType][0]
349 selectForm.value.latstId = currTick.value?.id 360 // selectForm.value.latstId = currTick.value?.id
350 selectForm.value.price = currTick.value?.price 361 // selectForm.value.price = currTick.value?.price
351 selectForm.value.priceEn = currTick.value?.priceEn 362 // selectForm.value.priceEn = currTick.value?.priceEn
352 } 363 }
353 364
354 function select(v) { 365 function select(v) {
...@@ -371,19 +382,20 @@ function selectVenue(v) { ...@@ -371,19 +382,20 @@ function selectVenue(v) {
371 selectForm.value.id = null 382 selectForm.value.id = null
372 selectForm.value.price = '--' 383 selectForm.value.price = '--'
373 selectForm.value.priceEn = '--' 384 selectForm.value.priceEn = '--'
374 385 remarks.value = v.remarks
375 getTicketListType() 386 getTicketListType()
376 } 387 }
377 388
378 function selectSessionType(key) { 389 function selectSessionType(key) {
379 selectForm.value.sessionType = key 390 selectForm.value.sessionType = key
380 391
381 currTick.value = tickList.value[selectForm.value.sessionType][0] 392 // currTick.value = tickList.value[selectForm.value.sessionType][0]
382 selectForm.value.latstId = currTick.value?.id 393 selectForm.value.latstId = currTick.value?.id
383 selectForm.value.price = currTick.value?.price 394 selectForm.value.price = currTick.value?.price
384 selectForm.value.priceEn = currTick.value?.priceEn 395 selectForm.value.priceEn = currTick.value?.priceEn
385 } 396 }
386 397
398 // 选择票型
387 function selectTick(v) { 399 function selectTick(v) {
388 currTick.value = v 400 currTick.value = v
389 selectForm.value.latstId = v.id 401 selectForm.value.latstId = v.id
...@@ -760,4 +772,20 @@ getmatchData() ...@@ -760,4 +772,20 @@ getmatchData()
760 text-align: center; 772 text-align: center;
761 } 773 }
762 774
775 .father {
776 position: relative;
777 }
778
779 .son {
780 position: absolute;
781 bottom: 30px;
782 right: 50px;
783 }
784
785 .remarks {
786 font-size: 17px;
787 margin-left: 20px;
788 line-height: 40px;
789 color: #2b2f3a;
790 }
763 </style> 791 </style>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 <div> 2 <div>
3 <!-- top --> 3 <!-- top -->
4 <div class="container top"> 4 <div class="container top">
5 <img :src="fillImgUrl(travel.cover)" alt="" class="cover_img" st> 5 <img :src="fillImgUrl(travel.cover)" alt="" class="cover_img">
6 <div class="info"> 6 <div class="info">
7 <div class="title">{{ travel.name }}</div> 7 <div class="title">{{ travel.name }}</div>
8 <div class="select_item_box"> 8 <div class="select_item_box">
...@@ -30,10 +30,10 @@ ...@@ -30,10 +30,10 @@
30 <br> 30 <br>
31 <div v-for="v in ticketList" v-show="v.leftNum!=0" :key="v.id"> 31 <div v-for="v in ticketList" v-show="v.leftNum!=0" :key="v.id">
32 <div class="select_item_box"> 32 <div class="select_item_box">
33 <div class="label ticket"> 33 <div class="ticket ticket-row">
34 {{ v.name }} : 34 <span class="label">
35 </div> 35 {{ v.name }} :
36 <div class="rowBox"> 36 </span>
37 <span class="titleTick"> 37 <span class="titleTick">
38 {{ 38 {{
39 triggerLanguage(language, v.price, v.priceEn) 39 triggerLanguage(language, v.price, v.priceEn)
...@@ -42,11 +42,17 @@ ...@@ -42,11 +42,17 @@
42 triggerLanguage(language, '¥/人', '€/person') 42 triggerLanguage(language, '¥/人', '€/person')
43 }} 43 }}
44 </span> 44 </span>
45 <el-input-number 45 </div>
46 v-model="v.count" :max="v.leftNum" :min="0" :precision="0" class="inputNumber" 46 <div class="rowBox">
47 @change="countTotal" 47
48 /> 48 <span>
49 <i class="residue">{{ language == 0 ? '剩余票数' : 'Remaining votes' }}{{ v.leftNum }}</i> 49 <el-input-number
50 v-model="v.count" :max="v.leftNum" :min="0" :precision="0" class="inputNumber"
51 @change="countTotal"
52 />
53 <i class="residue">{{ language == 0 ? '剩余票数' : 'Remaining votes' }}{{ v.leftNum }}</i>
54 </span>
55
50 </div> 56 </div>
51 </div> 57 </div>
52 </div> 58 </div>
...@@ -79,14 +85,18 @@ ...@@ -79,14 +85,18 @@
79 </div> 85 </div>
80 86
81 <div 87 <div
82 v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px" 88 v-if="endTime<=0" class="btn"
89 style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px"
83 @click="toSelectClosed" 90 @click="toSelectClosed"
84 > 91 >
85 {{ 92 {{
86 triggerLanguage(language, "售票结束", "Sale closed") 93 triggerLanguage(language, "售票结束", "Sale closed")
87 }} 94 }}
88 </div> 95 </div>
89 <div v-else class="btn" style="margin-left: 40px;margin-top: 10px" @click="toSelectSeat()"> 96 <div
97 v-else v-show="travel?.dateList?.length>0" class="btn" style="margin-left: 40px;margin-top: 10px"
98 @click="toSelectSeat()"
99 >
90 {{ 100 {{
91 triggerLanguage(language, "立即购票", "Buy tickets now") 101 triggerLanguage(language, "立即购票", "Buy tickets now")
92 }} 102 }}
...@@ -202,8 +212,8 @@ function countTotal() { ...@@ -202,8 +212,8 @@ function countTotal() {
202 })] 212 })]
203 } 213 }
204 } 214 }
205 selectForm.value.price = price 215 selectForm.value.price = price?.toFixed(2)
206 selectForm.value.priceEn = priceEn 216 selectForm.value.priceEn = priceEn?.toFixed(2)
207 } 217 }
208 218
209 async function toSelectSeat() { 219 async function toSelectSeat() {
...@@ -348,23 +358,29 @@ function toSelectClosed() { ...@@ -348,23 +358,29 @@ function toSelectClosed() {
348 .ticket { 358 .ticket {
349 height: 40px; 359 height: 40px;
350 line-height: 40px; 360 line-height: 40px;
351 width: 100px; 361 width: 320px;
362 }
363
364 .ticket-row {
365 display: flex;
366 justify-content: space-between;
367 align-items: center;
352 } 368 }
353 369
370 .titleTick {
371 color: #493ceb;
372 cursor: pointer;
373 font-weight: 600;
374 font-size: 18px;
375 margin-right: 30px;
376 height: 40px;
377 line-height: 40px;
378 }
379
380
354 .rowBox { 381 .rowBox {
355 display: flex; 382 display: flex;
356 383
357 .titleTick {
358 color: #493ceb;
359 cursor: pointer;
360 font-weight: 600;
361 font-size: 18px;
362 margin-right: 30px;
363 height: 40px;
364 line-height: 40px;
365 width: 180px;
366 //text-align: center;
367 }
368 384
369 .inputNumber { 385 .inputNumber {
370 height: 35px; 386 height: 35px;
......
...@@ -430,7 +430,6 @@ function next() { ...@@ -430,7 +430,6 @@ function next() {
430 obj.passportUrl = wdsfData.value.passportUrl || '' 430 obj.passportUrl = wdsfData.value.passportUrl || ''
431 } 431 }
432 registerSingle(obj).then(res => { 432 registerSingle(obj).then(res => {
433 debugger
434 setToken(res.data.token) 433 setToken(res.data.token)
435 afterR() 434 afterR()
436 }) 435 })
...@@ -445,7 +444,7 @@ function next() { ...@@ -445,7 +444,7 @@ function next() {
445 passportNumber: wdsfData.value.passportNumber, 444 passportNumber: wdsfData.value.passportNumber,
446 picUrl: wdsfData.value.picUrl, 445 picUrl: wdsfData.value.picUrl,
447 birth: wdsfData.value.birthday, 446 birth: wdsfData.value.birthday,
448 personId: wdsfData.value.personId, 447 // personId: wdsfData.value.personId,
449 username: wdsfData.value.email, 448 username: wdsfData.value.email,
450 password: form.value.password, 449 password: form.value.password,
451 ocrFlag: '1' 450 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!