no message
Showing
5 changed files
with
92 additions
and
6 deletions
| ... | @@ -79,7 +79,8 @@ export function submitMasterApply(data) { | ... | @@ -79,7 +79,8 @@ export function submitMasterApply(data) { |
| 79 | } | 79 | } |
| 80 | export function masterClassList(query) { | 80 | export function masterClassList(query) { |
| 81 | return request({ | 81 | return request({ |
| 82 | url: `/league/courseItem/list`, | 82 | // url: `/league/courseItem/list`, |
| 83 | url: `/league/courseItem/getCoursrItemByCourseId`, | ||
| 83 | method: 'get', | 84 | method: 'get', |
| 84 | params: query | 85 | params: query |
| 85 | }) | 86 | }) | ... | ... |
| ... | @@ -440,12 +440,24 @@ export const constantRoutes = [ | ... | @@ -440,12 +440,24 @@ export const constantRoutes = [ |
| 440 | meta: { title: 'pay' } | 440 | meta: { title: 'pay' } |
| 441 | }, | 441 | }, |
| 442 | { | 442 | { |
| 443 | path: 'payticket', | ||
| 444 | component: () => import('@/viewsPc/booking/payticket'), | ||
| 445 | name: 'payticket', | ||
| 446 | meta: { title: '票务' } | ||
| 447 | }, | ||
| 448 | { | ||
| 443 | path: 'payOk', | 449 | path: 'payOk', |
| 444 | component: () => import('@/viewsPc/booking/payOk'), | 450 | component: () => import('@/viewsPc/booking/payOk'), |
| 445 | name: 'bookingPayOk', | 451 | name: 'bookingPayOk', |
| 446 | meta: { title: 'payOk' } | 452 | meta: { title: 'payOk' } |
| 447 | }, | 453 | }, |
| 448 | { | 454 | { |
| 455 | path: 'payticketOk', | ||
| 456 | component: () => import('@/viewsPc/booking/payticketOk'), | ||
| 457 | name: 'payticketOk', | ||
| 458 | meta: { title: '票务-paypal' } | ||
| 459 | }, | ||
| 460 | { | ||
| 449 | path: 'invoice', | 461 | path: 'invoice', |
| 450 | component: () => import('@/viewsPc/booking/invoicing'), | 462 | component: () => import('@/viewsPc/booking/invoicing'), |
| 451 | name: 'invoice', | 463 | name: 'invoice', | ... | ... |
src/viewsPc/booking/payticket.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/viewsPc/booking/payticketOk.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="box"> | ||
| 4 | <el-card class="mb60 mt30" v-loading="loading"> | ||
| 5 | <div class="text-center mt30"> | ||
| 6 | <el-icon color="#32B16C" size="80"> | ||
| 7 | <SuccessFilled/> | ||
| 8 | </el-icon> | ||
| 9 | <p class="text-success mb20">{{ language == 0 ? '支付成功' : 'successfully!' }}</p> | ||
| 10 | |||
| 11 | <el-button type="primary" class="btn-lineG mb60" @click="goBillDetail" round> | ||
| 12 | {{ language == 0 ? '返回订单详情' : 'Return order details' }} | ||
| 13 | </el-button> | ||
| 14 | </div> | ||
| 15 | </el-card> | ||
| 16 | </div> | ||
| 17 | </div> | ||
| 18 | </template> | ||
| 19 | |||
| 20 | <script setup> | ||
| 21 | import {ref} from "vue"; | ||
| 22 | import {useRoute, useRouter} from "vue-router"; | ||
| 23 | import {onMounted} from "@vue/runtime-core"; | ||
| 24 | import {callbackPalPay} from "@/apiPc/booking"; | ||
| 25 | import {useStorage} from "@vueuse/core/index"; | ||
| 26 | |||
| 27 | const route = useRoute() | ||
| 28 | const router = useRouter() | ||
| 29 | const language= useStorage('language',0) | ||
| 30 | const orderId = ref(route.query.orderId) | ||
| 31 | const type = ref('') | ||
| 32 | const loading = ref(false) | ||
| 33 | |||
| 34 | onMounted(() => { | ||
| 35 | var code = decodeURIComponent(orderId.value) | ||
| 36 | console.log(code) | ||
| 37 | loading.value = true | ||
| 38 | callbackPalPay(code).then(res => { | ||
| 39 | loading.value = false | ||
| 40 | type.value = res.data.orderType | ||
| 41 | }) | ||
| 42 | }) | ||
| 43 | |||
| 44 | function goBillDetail() { | ||
| 45 | router.push({ | ||
| 46 | name: 'bookingPay', | ||
| 47 | query: { | ||
| 48 | orderId: route.query.orderId, | ||
| 49 | orderType: type.value | ||
| 50 | } | ||
| 51 | }) | ||
| 52 | } | ||
| 53 | </script> | ||
| 54 | |||
| 55 | <style scoped lang="scss"> | ||
| 56 | |||
| 57 | </style> |
| ... | @@ -11,8 +11,19 @@ | ... | @@ -11,8 +11,19 @@ |
| 11 | <el-step :title="language==0?'选择课程':'Courses'" /> | 11 | <el-step :title="language==0?'选择课程':'Courses'" /> |
| 12 | </el-steps> | 12 | </el-steps> |
| 13 | <div v-if="activeStep==0"> | 13 | <div v-if="activeStep==0"> |
| 14 | <div class="mb60" style="max-height: 50vh;overflow: auto"> | 14 | <div class="mb60 xzRich" style="max-height: 50vh;overflow: auto"> |
| 15 | 15 | <div v-if="language==0"><br/> | |
| 16 | 报到时间:2024年7月14日13:30 -17:00<br/><br/> | ||
| 17 | 报到地点:无锡君来世尊酒店<br/><br/> | ||
| 18 | 江苏省 无锡市 滨湖区 和风路111号 | ||
| 19 | </div> | ||
| 20 | <div v-else style="width: 350px;margin: auto"><br/> | ||
| 21 | Check in from 13:30 to 17:00 on July 14, 2024.<br/> | ||
| 22 | Check in address: Worldhotel Grand Juna Wuxi<br/> | ||
| 23 | No.111 Hefeng Road, Binhu District, Wuxi, Jiangsu<br/> | ||
| 24 | Contact Person:Oliver Zhu<br/> | ||
| 25 | Tel: +86 10 67183764<br/> | ||
| 26 | </div> | ||
| 16 | </div> | 27 | </div> |
| 17 | <div class="text-center"> | 28 | <div class="text-center"> |
| 18 | <el-button type="primary" v-if="courseList.length>0" class="btn-lineG" round @click="setActive(1)">{{ language == 0 ? '下一步' : 'NEXT' }}</el-button> | 29 | <el-button type="primary" v-if="courseList.length>0" class="btn-lineG" round @click="setActive(1)">{{ language == 0 ? '下一步' : 'NEXT' }}</el-button> |
| ... | @@ -98,8 +109,10 @@ | ... | @@ -98,8 +109,10 @@ |
| 98 | <div class="tip text-danger mb20" v-else>*Select the courses to enroll in (at least one, no more than two)</div> | 109 | <div class="tip text-danger mb20" v-else>*Select the courses to enroll in (at least one, no more than two)</div> |
| 99 | <el-checkbox-group size="large" v-model="form.courseId" @change="courseChange"> | 110 | <el-checkbox-group size="large" v-model="form.courseId" @change="courseChange"> |
| 100 | <div v-for="c in courseList" class="mb20"> | 111 | <div v-for="c in courseList" class="mb20"> |
| 101 | <el-checkbox :value="c.id" border class="w100" :disabled="(form.courseId?.length>=2&&form.courseId.indexOf(c.id)==-1)||disChoose">{{language == 0 ?c.name:c.nameEn}}</el-checkbox> | 112 | <el-checkbox :value="c.id" border class="w100" :disabled="(form.courseId?.length>=2&&form.courseId.indexOf(c.id)==-1)||disChoose||(form.nationality==240&&c.viewStateCn == 0)||(form.nationality!=240&&c.viewStateEn == 0)"> |
| 102 | 113 | {{language == 0 ?c.name:c.nameEn}} | |
| 114 | <el-tag class="ml20" v-if="(form.nationality==240&&c.viewStateCn == 0)||(form.nationality!=240&&c.viewStateEn == 0)" type="danger" effect="dark">{{language == 0 ?'已报满':'Already full'}}</el-tag> | ||
| 115 | </el-checkbox> | ||
| 103 | </div> | 116 | </div> |
| 104 | </el-checkbox-group> | 117 | </el-checkbox-group> |
| 105 | 118 | ||
| ... | @@ -176,7 +189,7 @@ watch(show, (value) => { | ... | @@ -176,7 +189,7 @@ watch(show, (value) => { |
| 176 | function getCourse() { | 189 | function getCourse() { |
| 177 | // '1777256058082189313' | 190 | // '1777256058082189313' |
| 178 | masterClassList({cptId:cptId.value}).then(res=>{ | 191 | masterClassList({cptId:cptId.value}).then(res=>{ |
| 179 | courseList.value = res.rows | 192 | courseList.value = res.data |
| 180 | }) | 193 | }) |
| 181 | } | 194 | } |
| 182 | function setActive(n) { | 195 | function setActive(n) { |
| ... | @@ -236,6 +249,8 @@ function checkCard() { | ... | @@ -236,6 +249,8 @@ function checkCard() { |
| 236 | getByCard({card:form.value.passportNo}).then(res=>{ | 249 | getByCard({card:form.value.passportNo}).then(res=>{ |
| 237 | if(res.data){ | 250 | if(res.data){ |
| 238 | form.value = res.data | 251 | form.value = res.data |
| 252 | } else { | ||
| 253 | form.value.courseId = [] | ||
| 239 | } | 254 | } |
| 240 | }) | 255 | }) |
| 241 | } | 256 | } |
| ... | @@ -290,6 +305,7 @@ const close = () =>{ | ... | @@ -290,6 +305,7 @@ const close = () =>{ |
| 290 | </script> | 305 | </script> |
| 291 | 306 | ||
| 292 | <style scoped> | 307 | <style scoped> |
| 308 | .xzRich{line-height: 2;font-size: 14px;} | ||
| 293 | .boxInvitation { | 309 | .boxInvitation { |
| 294 | width: 90%; | 310 | width: 90%; |
| 295 | margin: auto | 311 | margin: auto | ... | ... |
-
Please register or sign in to post a comment