Merge branch 'dev' of https://code.itechtop.cn/yangyang/dance-pc into dev
Showing
6 changed files
with
116 additions
and
58 deletions
| ... | @@ -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; | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -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' | ... | ... |
-
Please register or sign in to post a comment